How to Forecast SaaS Revenue

Top-down TAM slices are fiction. Forecast from drivers you can count.

9 min read

Most SaaS revenue forecasts are theater. A founder takes a $10B market, claims 1% of it, and produces a chart that no operational decision can survive contact with. A forecast you can actually use is built bottom-up from four drivers you control and measure: leads, conversion rate, average revenue per account, and churn. This guide walks through the driver model, cohort thinking, expansion revenue, and scenario bands, plus the mistakes that quietly turn a model into fiction. You can build the whole thing in a spreadsheet in an afternoon. The point is not to predict the future perfectly; it is to know which assumption breaks first and what to do when it does.

Top-down forecasting is fiction. Stop doing it.

The top-down move goes like this: the market is $10B, we will capture 1% in five years, so year five revenue is $100M. There is no mechanism in that sentence. It contains no leads, no conversion rate, no price, and no churn, which means it contains nothing you can measure next month to check whether you are on track.

Top-down numbers exist for one purpose: signaling market size to investors on a single slide. The moment a TAM slice becomes your revenue plan, you have a plan with no steering wheel. Every number in a real forecast should be something a specific activity produces and a specific report can verify.

The driver model: leads x conversion x ARPA minus churn

The core of a bottom-up forecast is one line of arithmetic, repeated monthly. New MRR equals leads times conversion rate times ARPA. Lost MRR equals your existing base times revenue churn. Net new MRR is the difference, and next month's MRR is this month plus net new.

Concrete example: 400 signups a month, 5% convert to paid within 30 days, ARPA of $80. That is 20 new customers and $1,600 in new MRR. If you have 250 paying customers churning at 3% monthly, you lose about 8 customers and $600. Net new MRR is roughly $1,000 a month, and your growth rate falls out of the model instead of being asserted.

Each driver comes from somewhere real: leads from channel history, conversion from funnel data, ARPA from billing, churn from cohorts. If you have under 6 months of data, use what you have and flag the guesses. A guessed driver you can correct later beats a made-up total you cannot.

  • New MRR = leads x conversion rate x ARPA
  • Churned MRR = existing MRR x monthly revenue churn
  • Net new MRR = new + expansion - churned - contraction
  • Next month's MRR = this month's MRR + net new MRR

Think in cohorts, not blended averages

Blended churn lies. New customers churn at 2x to 4x the rate of customers past month 6, so a fast-growing SaaS shows a blended churn number far worse than its mature retention, and a slowing one shows the opposite. Forecasting off the blended number bakes that distortion into every future month.

Track each monthly cohort separately: of the customers who started in January, how many remain and what do they pay at month 1, 3, 6, and 12. Most SaaS retention curves drop hard early and then flatten. In the forecast, apply early-life churn to young cohorts and the flattened rate to old ones. A two-rate model, say 6% monthly for months 1 to 3 and 1.5% after, is a large accuracy jump over one blended rate.

Expansion and contraction change the shape

A forecast with churn but no expansion misses the mechanism that makes mature SaaS compound. Upgrades, seat additions, and usage growth add MRR from existing customers; downgrades take it away. Model both as monthly percentages of existing MRR, the same way you model churn.

The numbers do not need to be big to matter. At $50k MRR, 1% monthly expansion against 2.5% churn means you are replacing more than a third of your losses without a single new lead. If expansion consistently exceeds churn, your net revenue retention is over 100% and every cohort grows after landing. The forecast should show that curve, and your pricing tiers should be built to produce it.

Scenario bands: base, bear, bull

One forecast line is a coin flip. Build three: base uses your current driver values, bear cuts the two most fragile drivers (usually lead volume and conversion rate) by 25 to 30%, and bull raises them by the same. Do not touch every variable; vary the two or three that actually swing the output and hold the rest constant, or you will never know what explains the difference between scenarios.

The bands exist for decisions, not decoration. If bear still covers payroll in month 9, you can make the hire. If bear means you are out of runway in month 6, you know that today instead of in month 5. Write down the driver values behind each band so that when reality picks a lane, you know which scenario you are living in.

The classic mistakes, and when to re-forecast

Most broken forecasts break the same three ways. The hockey stick: months 1 to 6 are flat and month 7 mysteriously triples, always powered by a launch or a channel that does not exist yet. Flat churn forever: churn pinned at 1% because that is what good companies report, with no cohort evidence behind it. And ignored seasonality: B2B lead flow drops 20 to 40% in July, August, and late December, and a model that misses this reads a normal summer as a crisis.

Re-forecast on a schedule and on a trigger. Monthly, log actuals against the model. Quarterly, rebuild driver assumptions from the last 90 days of data. And any time a driver misses its base value by more than 20% for two consecutive months, re-forecast immediately. That is not noise; that is the model being wrong.

Key takeaways

  • Forecast bottom-up: leads x conversion x ARPA minus churn, repeated monthly. A TAM slice is not a forecast
  • Use cohort retention, not blended churn; a simple two-rate churn model beats one average
  • Build base, bear, and bull cases by varying only the 2 or 3 drivers that swing the output
  • Re-forecast quarterly, or immediately when any driver misses base by 20% for two straight months

Put it to the test in 8 minutes.

Run your idea through Olune for a build-or-kill verdict on live Reddit signals, competitor maps, and keyword volume. Free to start.

Keep reading

Common questions

How far out should a SaaS revenue forecast go?

Model 12 to 18 months at monthly resolution. Beyond that, the error bars swallow the signal for an early-stage company. If someone insists on years 2 and 3, show them as annual ranges and label them as ranges.

What if I do not have enough historical data?

Use what exists, borrow the rest from published benchmarks for your segment, and label every borrowed number. Treat the first 3 months as calibration. The forecast becomes useful once your own funnel data replaces the borrowed values.

Should I forecast MRR or cash?

Both, separately. MRR tracks the health of the subscription engine; cash includes annual prepays, refunds, and payment delays. Annual plans make cash arrive in lumps while MRR stays smooth, and confusing the two burns founders on runway math.

How accurate should a SaaS forecast be?

Within 10% at 3 months and within 25% at 12 months is respectable for early stage. If actuals beat your bull case or trail your bear case for two straight months, the model needs new assumptions, not applause or panic.