Start with the sales motion, not a revenue target
A B2B SaaS forecast should show how accounts discover the product, become qualified opportunities, start paying and either renew or leave. The original model separates a self-service website path, inbound conversations and outbound sales. Keep these paths distinct: each has different lead times, conversion rates, staff capacity and acquisition costs.
Define the unit before entering a conversion rate. A website visitor, trial workspace, qualified account, signed contract and active paying customer are not interchangeable. Decide whether the contract is billed per organization, seat or usage unit, and identify when a customer first becomes billable.
1. Model website acquisition as a sequence of conversions
Forecast organic and paid visits separately. Paid traffic should depend on spend and an assumed cost per click or other measurable acquisition input. Then estimate the share of visits that become relevant trials or demo requests, the share that qualifies, and the share that pays. Use actual analytics where available; search visits and unique accounts are different measures.
B2B SaaS model · website inputs
Paid visits = channel spend ÷ cost per visit
Qualified trials = relevant visits × visit-to-trial rate × qualification rate
New self-service customers = qualified trials × trial-to-paid rate
Measure acquisition by cohort rather than applying the same conversion rate indefinitely. A new content channel may take months to bring relevant visitors. Likewise, a free trial started near month-end may convert in the next month. Represent that lag explicitly when it matters to the runway.
2. Match inbound leads to the team that can handle them
Inbound sales begins with a request from a potential customer, but a request is not yet a qualified deal. Forecast source, qualification, meeting attendance, proposal and close rates in the same order you use in your CRM. Set a maximum number of new conversations a manager can handle alongside follow-ups and existing customers. If the lead volume exceeds that capacity, carry the excess into a backlog or lower the effective response rate.
B2B SaaS model · inbound sales
Handled qualified leads = MIN(qualified inbound demand, sales-team lead capacity)
Closed inbound accounts = handled leads × stage-to-close rate
Marketing attribution requires care. A buyer who first finds a guide and later books a demo should not be counted once in the self-service funnel and again in inbound. Set one rule for assigning a paying account to a channel and use it consistently in the model and in reporting.
3. Forecast outbound from outreach and sales-cycle timing
Outbound depends on prospecting activity, the quality of the target account list, contact and meeting rates, qualification, proposals and closing. Separate the number of sellers hired from the number operating at full productivity. New team members need onboarding time, and enterprise deals often close several months after the first contact.
Qualified outbound meetings = productive sellers × contacted accounts per seller × meeting rate × qualification rate
New outbound customers in month t = prior qualified opportunities closing in month t × win rate
A simple same-month conversion shortcut can overstate early cash. If a typical deal takes three months, track opportunity cohorts or apply a lag distribution. Include commissions, sales tools and support or onboarding effort where they arise. Avoid counting an account expansion as both a new customer and expansion revenue.
4. Roll customers, seats and recurring revenue forward
Bring the three acquisition paths together only after each produces paying accounts. Then roll opening accounts through new wins, cancellations and reactivations. For a seat-based product, forecast seats per account and any expansion or contraction separately; for usage billing, forecast units and realized rates. A customer count alone cannot explain revenue when contract sizes differ.
Ending paying accounts = opening accounts + new accounts + reactivated accounts − churned accounts
Ending MRR = opening MRR + new MRR + expansion MRR − contraction MRR − churned MRR
| Measure | Example | Meaning |
|---|---|---|
| Opening accounts | 100 | Paying at the start of the month |
| New / churned accounts | +30 / −5 | Across all channels, net of duplicates |
| Ending accounts | 125 | 100 + 30 − 5 |
| Ending MRR at $80 per account | $10,000 | Run-rate at month-end, not automatically revenue earned during the month |
Calculate churn on the opening eligible base, not on every website visitor or this month's new accounts by default. Review both customer churn and revenue churn; losing one large account can matter more than several small wins. Model renewal dates and annual contracts explicitly if they materially change retention.
5. Separate contracts, earned revenue and collections
A signed annual agreement, an invoice and cash in the bank are three different events. A customer may prepay for a year, yet revenue for that service is generally earned across the service period under the applicable accounting policy. Alternatively, a monthly invoice on 30-day terms creates revenue and a receivable before the cash arrives. Build a simple billing schedule and collections assumptions rather than using ending MRR as cash receipts.
Costs should include hosting or infrastructure and service delivery, product development, sales and marketing, support, administration, and the cost of acquiring and onboarding customers. Compute contribution or gross margin with consistent cost definitions. If annual prepayment funds growth, stress-test how cash changes when customers choose monthly billing or renewals weaken.
Make the model useful for channel and hiring choices
Compare channels on incremental customers, payback and retention—not just lead volume. If inbound demand is already above sales capacity, another seller may be more valuable than extra advertising. If outbound payback is longer than available runway, test a narrower target segment or slower hiring. Update funnel assumptions from actual CRM cohorts as the product matures, while keeping the original version of each scenario for comparison.