A SaaS growth model is supposed to answer a deceptively simple question: if we keep doing the work, what happens to revenue?
Most models answer a much easier question instead: what happens if every assumption behaves itself?
That distinction is where planning gets weird. A founder sees a tidy ARR curve. A sales leader sees a hiring plan. Customer Success sees a renewal target that quietly assumes every account receives meaningful attention. Finance gets a forecast that looks precise enough to frame. Then reality ships a different build.
The useful model is not the one with the prettiest hockey stick. It is the one that makes the wiring visible: where new revenue enters, where it leaks, where it compounds, and which team capacity is doing the actual work.
Start with revenue, not a single growth rate
A single monthly growth rate is fine for a napkin. It is terrible for operating a company. It hides the mechanisms that produce growth, which means it cannot tell you what to fix when growth misses.
Build the model around a monthly recurring revenue bridge:
Ending MRR = Starting MRR + New MRR + Expansion MRR - Contraction MRR - Churned MRR
That is the whole machine at its most useful level. It is also a better meeting agenda than a top-line target.
New MRR is an acquisition problem. Expansion and contraction are value realization problems. Churn is usually a product fit, onboarding, support, pricing, or stakeholder problem wearing one ugly number on a dashboard. Keeping them separate makes the discussion sharper.
For example, two companies can each grow 20% year over year. One gets there by pouring new logo revenue into a leaky bucket. The other grows fewer new accounts but retains and expands the ones it has. Their ARR may look similar from far away. Their valuation story, cash needs, customer experience, and stress level will not.
Build the model from cohorts
The fastest way to lie to yourself is to treat all customers as one blob.
A better SaaS growth model groups customers by the month or quarter they started paying. Each cohort gets an opening customer count, an average starting contract value, a retention curve, and an expansion curve. Then the model shows how that cohort behaves as it ages.
A January cohort might have 100 customers at $500 MRR. If 95% remain after month one, 90% remain after month six, and the surviving customers expand by 8% over a year, you can see the actual revenue life of that acquisition work. Repeat this for each new cohort.
This matters because early-stage companies often have a hidden timing issue. They acquire customers faster than they have had time to observe meaningful renewals. The first few months can look like an arcade game with unlimited credits. Twelve months later, the retention pattern finally enters the room.
Use different cohort assumptions when segments behave differently. Self-serve customers, sales-led mid-market accounts, and enterprise accounts should not share a single churn rate just because they all use the same app. Their sales cycles, onboarding needs, support burden, contract structures, and expansion paths are different products in practice.
Gross retention tells you where the floor is
Gross revenue retention measures what remains after churn and contraction, before expansion. It answers a sober question: if we stopped landing new customers and stopped expanding anyone, how much recurring revenue would survive?
For a mature B2B SaaS business, strong gross retention creates room to experiment. Weak gross retention makes acquisition feel like sprinting uphill in dress shoes.
Do not use gross retention as a moral score. Some models naturally have more volatility. Usage-based products can contract when customer demand changes. Small-business products may have higher logo churn but still work economically because acquisition is cheap and activation is fast. The point is to understand the physics of your own business.
Net retention shows the compounding behavior
Net revenue retention adds expansion back in. It is powerful because a healthy installed base can reduce the amount of new revenue required to hit a plan.
But NRR can also conceal a problem. A few large expansions may make the aggregate number glow while smaller customers quietly disappear. Always view NRR beside logo retention, gross retention, and segment-level results. If expansion comes from five accounts, your forecast should treat those five accounts as named opportunities, not as a permanent law of nature.
Make acquisition assumptions earn their place
Pipeline is not revenue. A sales rep is not productive on day one. A marketing channel is not repeatable because it had a good month.
Model acquisition as a chain of conversion and timing assumptions: qualified pipeline, win rate, average contract value, sales cycle, and start date. For self-serve, substitute traffic, activation, trial-to-paid conversion, and time to first payment. The numbers are less important than the sequence.
If you need $50,000 in new MRR next quarter and average new MRR is $2,500, you need 20 wins. At a 20% win rate, that means 100 qualified opportunities. If the sales cycle is 75 days, you cannot create that pipeline halfway through the quarter and call it a plan.
This is where the model becomes operational. It reveals whether the answer is more demand, better conversion, larger deal sizes, a shorter sales cycle, or a smaller target. Sometimes it is all five. More often, one assumption is carrying an unreasonable amount of weight.
I like to keep a visible confidence label next to major inputs: observed, directional, or wishful. It sounds almost childish. It is remarkably effective at stopping a forecast from becoming fan fiction.
Put capacity inside the spreadsheet
Revenue plans often assume an infinite supply of human follow-through. Every new account gets a great implementation. Every at-risk customer gets a thoughtful save play. Every expansion opportunity gets discovered at exactly the right moment. Cute.
Capacity belongs in the model because service levels affect retention and expansion. A customer success manager may be able to manage 30 complex enterprise accounts or 150 lighter-touch accounts, depending on product maturity, implementation work, support load, and stakeholder complexity. There is no universal ratio worth copying blindly.
Map customers to coverage tiers, then set a practical account capacity for each role. As the customer base grows, the model should flag the month when the current team exceeds its coverage limit. Add hiring lead time and ramp time. A person hired in June may not materially change renewal outcomes until fall.
The same logic applies to sales, support, onboarding, and product. If a new product motion requires custom integrations, your model needs implementation capacity. If a usage-based pricing change increases support tickets, someone will absorb that work. Spreadsheets do not need feelings, but they do need consequences.
Use scenarios, not one sacred forecast
A base case is useful. A single base case presented as destiny is not.
Run at least three versions: expected, constrained, and upside. The constrained case should not be cartoonishly pessimistic. It should reflect plausible misses: sales cycles extend by 15 days, one large renewal contracts, paid acquisition converts a little worse, or a Customer Success hire starts later than planned.
Then ask a better question than โWill we hit the number?โ Ask what must be true for each case to happen.
If the upside requires NRR to rise from 105% to 120%, define the mechanism. Is there a proven feature adoption path? A new pricing tier? An account expansion program with identified stakeholders and budget timing? If not, label it as a bet. Bets are allowed. Sneaking them into the base plan is how teams lose trust in planning.
Turn the model into a monthly operating loop
The model should be recalculated every month with actuals, not admired quarterly like a framed poster.
At each review, compare expected and actual new MRR, churn, contraction, expansion, and operating capacity. Then change future assumptions only when there is evidence. A miss does not always mean the strategy is broken. It may mean the timing was wrong, the segment mix shifted, or one deal slipped. But repeated variance is the model asking for a new rule.
The best version is simple enough that the people doing the work recognize it. Sales can see their pipeline math. Customer Success can see the renewal and coverage load. Product can see why activation or adoption matters to revenue six months from now. Finance can see cash and hiring implications without translating three different dashboards.
At Slam Dunks Studios, the interesting part of building revenue tools is not making a dashboard look expensive. It is making the assumptions hard to hide.
A good growth model will not make the future predictable. Nothing will. It gives you a smaller, more useful superpower: you can see which lever you are pulling, what it costs, and how long it takes before the machine moves.
