Revenue forecasting for subscription businesses
Subscription revenue should be easy to forecast because most of next month's revenue is already on the books. Most forecasts still miss because of optimistic assumptions. Here is a component model with a worked example, three scenarios and a monthly routine that keeps it honest.
A subscription business starts every month with most of its revenue already committed. That should make forecasting easy, and the arithmetic is. The misses come from the assumptions: new sales that arrive later than planned, churn that is higher than hoped, expansion nobody modeled. This guide builds a forecast that makes those assumptions visible and checks them every month.
The component model
Split monthly recurring revenue (MRR) into five parts:
- Starting MRR: what you had at the start of the month. A known number.
- New MRR: from customers who start paying this month.
- Expansion MRR: existing customers paying more (upgrades, seats, add-ons).
- Churned MRR: customers who cancel.
- Contraction MRR: customers who downgrade but stay.
Ending MRR = starting MRR + new + expansion minus churned minus contraction
Each month's ending MRR is the next month's starting point, so small errors compound. That is why each component gets its own assumption.
A worked example
Start with 100,000 MRR and these assumptions: 8,000 new per month, expansion of 3% of starting MRR, churn of 3%, contraction of 1%.
| Month | Start | New | Expansion | Churn | Contraction | End |
|---|---|---|---|---|---|---|
| 1 | 100,000 | 8,000 | 3,000 | 3,000 | 1,000 | 107,000 |
| 2 | 107,000 | 8,000 | 3,210 | 3,210 | 1,070 | 113,930 |
| 3 | 113,930 | 8,000 | 3,418 | 3,418 | 1,139 | 120,791 |
Note what happens: expansion and churn cancel out here, so growth comes almost entirely from new MRR minus contraction. Change churn from 3% to 4% and month 3 ends near 117,600 instead of 120,800. One point of churn matters more than most people expect. The MRR calculator and churn rate calculator help you get the inputs right.
Forecasting new MRR
New MRR is the hardest part, because it depends on marketing, sales and the market.
Pipeline-based (if you have a sales team). For each open deal, multiply its value by the historical win rate at its current stage, then add them up. If you have 20 deals at the proposal stage worth 1,000 MRR each and proposals historically close 40% of the time, expect about 8,000. This works for the current quarter. Further out, the pipeline does not exist yet, so switch to the next method.
Run-rate (self-serve, or beyond the pipeline). Take average new MRR over the last three to six months and adjust for trend and known events (a price change, a launch, a seasonal dip).
Guardrails. Teams almost always overestimate new MRR. Keep a pipeline-backed number separate from the target, and compare last quarter's forecast with what actually happened before trusting this quarter's.
Forecasting churn
Churn is steadier than new business because it comes from customers you already have.
- Use a trailing average, three or six months, not last month alone. Single months are noisy.
- Split voluntary from involuntary churn. Failed payments and expired cards are often a large share and respond to better dunning, not to product work.
- Account for renewal timing. With annual contracts, churn arrives in lumps. If 20,000 of MRR renews in October and your renewal rate is 85%, expect about 3,000 of churn that month.
- Adjust for known risks: accounts customer success has flagged, a planned price increase, seasonal patterns such as year-end budget cuts.
Cohort analysis shows whether newer customers churn faster or slower than older ones, which changes the rate you should use.
Forecasting expansion and contraction
Expansion is the most often forgotten component. Look at history:
- What share of customers expand each month, and by how much on average?
- Is it rising or falling?
- Is it concentrated in one plan or segment?
If 3% of 500 customers expand each month by an average of 200 MRR, forecast 3,000 of expansion a month. Treat contraction the same way; it tends to rise when customers are cutting costs.
Three scenarios, not one number
A single forecast figure is always wrong. The useful question is how wrong. Build three:
- Base: trailing averages for every component.
- Optimistic: new and expansion 20% higher, churn 20% lower.
- Conservative: new 30% lower, churn 30% higher, expansion flat.
The gap between optimistic and conservative tells leadership how much uncertainty to plan for. If the conservative case still covers payroll, hiring decisions get easier.
Where a statistical forecast helps
The component model encodes what you know about the business. A statistical forecast of the MRR series itself is a useful check on it: it looks only at the history and has no optimism built in. If your component forecast is well above the statistical one, you should be able to name the reason (a launch, a new sales hire).
In clariBI, Forecasting (Starter and above) runs a walk-forward backtest over several methods on your own history, keeps the one with the smallest error, and shows 50, 80 and 95% ranges. It also tests your other metrics, such as trial sign-ups or ad spend, as possible leading indicators with a lag of up to 14 days. The forecasting launch post explains the method. The statistics cannot see a price change you have planned, so use it next to your component model rather than instead of it.
A rolling forecast routine
Once a month, after the books close:
- Replace the forecast for last month with the actual numbers.
- Compare forecast and actual for each component. Was the miss in new, churn, expansion or contraction?
- Update the assumptions that were off, and add a new month at the end.
- Recalculate the three scenarios.
Track forecast error as a metric of its own. If you have been 10% too optimistic three quarters running, apply a correction until you fix the cause.
Mistakes to avoid
- Hockey sticks. Growth that jumps in month three because of a launch or a new hire. New reps usually take months to ramp, and launches slip.
- Ignoring seasonality. Many B2B businesses slow in August and December. Look at at least 12 months of history.
- Planning on gross new MRR. 50,000 new with 30,000 lost is 20,000 net. Plan on net.
- Confusing revenue and cash. Annual prepayments bring cash in early while MRR spreads it evenly. Forecast cash separately.
Setting it up with your billing data
Connect Stripe (or your billing database) and ask Ask clariBI (how to ask your first question) for the history behind each assumption: "What was MRR at the end of each month this year?", "What was average monthly churn over the last six months?", "How much MRR came from upgrades each month?" Put the components on one dashboard, run a forecast on MRR if your plan includes it, and compare it with your spreadsheet model at the next month-end close. For the definitions behind each metric, see the SaaS metrics guide.