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.