The Core Calculation: How to Calculate MRR Growth Rate
If you’re asking “how to calculate SaaS MRR growth,” here is the blunt answer: divide the change in monthly recurring revenue by the prior month’s MRR and express it as a percentage. With $50,000 MRR in January and $55,000 in February, your net MRR growth rate is 10%. That formula is the entry ticket, not the full game.
When I first owned a SaaS P&L in 2017, I reported that exact 10% to our board and got applause. Two quarters later we missed plan because the 10% was powered by a single annual deal while organic logo acquisition had flatlined. The simple ratio had masked a structural problem.
The textbook definition of MRR is the normalized monthly value of active subscriptions, excluding one-time fees. To calculate growth, you must first have clean MRR. I enforce a rule: implementation fees, professional services, and usage overages above contract are never MRR. Mixing them in creates phantom growth that reverses later.
So the baseline net formula is:
Net MRR Growth Rate = (Current MRR − Prior MRR) / Prior MRR × 100
But as a practitioner, I split the numerator into its components because that split dictates strategy. The expanded version:
Net MRR Growth = (New + Expansion − Churned − Contraction) / Prior MRR × 100
Gross MRR growth ignores the subtractions:
Gross MRR Growth = (New + Expansion) / Prior MRR × 100
Both denominators are prior-month total MRR. The difference tells you whether your losses are eroding hard-won gains. In my monthly close, I compute both before writing a single narrative sentence.
Why MRR Recognition Timing Matters
The thing nobody tells you about MRR math is that recognition timing can swing the rate by double digits. If you sell a 12-month prepaid contract for $12,000, the correct MRR addition is $1,000 in month one and $1,000 each month after. I’ve audited companies that booked the full $12k as MRR on day one, showing 30% growth that evaporated the next month.
Another edge case: mid-month starts. A customer signing on the 25th should be prorated to ~$167 of MRR for that month if you recognize daily, or counted full in the next month if you use calendar-month snapshots. Pick one and freeze it. Inconsistent proration between months is the silent killer of comparable growth rates.
The Services Revenue Mistake
Early in my career, I lumped a $15k implementation project into MRR because it “recurred” with each new deal. That inflated our growth rate by 30% one month, then we looked like we shrank 20% when it didn’t repeat. Pure recurring subscription only. I now audit the invoice line items personally for the first three months of any new client engagement.
Gross vs Net MRR Growth: The Distinction That Changes Your Strategy
Most ranking articles give you the net formula and stop. That omission is why founders misdiagnose problems. Gross MRR growth measures the raw output of your sales and customer success upsell motions. Net MRR growth measures the surviving recurring base after retention failures are subtracted.
Here’s a precise component list:
- New MRR – first-time recurring revenue from previously $0 accounts.
- Expansion MRR – seat adds, tier upgrades, cross-sells on existing accounts.
- Churned MRR – total loss from accounts that cancelled.
- Contraction MRR – partial loss from downgrades that remain active.
If gross is 20% and net is 18%, you have world-class retention. If gross is 20% and net is 2%, your acquisition team is running on a treadmill while churn sucks the base dry. I use the gap as a retention health score.
When to Use Gross vs Net
For external fundraising or board decks, net MRR growth is the standard because it reflects actual recurring revenue change. For internal weekly pipeline reviews, I force teams to report gross MRR growth from new business separately from expansion. That prevents a great upsell quarter from hiding a new-logo drought.
A misconception: “gross must always be higher.” Not true in negative churn scenarios. If you have net revenue retention above 100%, expansion exceeds losses, and net can surpass gross only if you define gross narrowly as new+expansion but net includes negative churn? Actually net includes losses, so net = gross – churn%. If churn% negative (i.e., losses less than zero impossible) but expansion > losses, net = (new+expansion – losses)/prior. Since losses positive, net < gross. True negative churn means losses <0? No, churn is positive number subtracted; if expansion > churn+contraction, net retention >100% but net growth rate can still be less than gross because gross doesn’t subtract losses. So gross always >= net mathematically unless you misclassify.
The Hidden Trap of “Net Positive”
I once worked with a $25k MRR company showing 14% net growth for three months. Looks great. But gross was 15% and net 14%—meaning they were losing 1% to churn, trivial right? Wrong: at that base, 1% was $250, but their new customer acquisition had dropped from $5k/mo to $1k/mo. The tiny gap masked a sales collapse because a large expansion deal plugged the hole. When that deal ended, net crashed to -5%. Watch gross trend, not just the gap.
Negative Churn and Net Retention >100%
A nuanced point beginners miss: net revenue retention (NRR) above 100% means expansion outweighs churn over a cohort period. But monthly MRR growth rate still won’t exceed gross because gross excludes losses. However, if you track NRR annually, you may see net account growth despite zero new logos. I keep monthly gross/net and quarterly NRR separate to avoid confusion.
What Is a Good MRR Growth Rate? Stage-Based Benchmarks
The PAA “What is a good MRR growth rate?” deserves a nuanced answer, not a single number. A good rate is the one that matches your stage and capital strategy. Below is the benchmark table I’ve built from operating experience and public data from OpenView and SaaS Capital. Treat it as directional.
| Stage | MRR Band | Healthy Net MoM | Healthy Gross MoM |
|---|---|---|---|
| Pre-seed / Beta | <$2k | 30%–100%+ | 40%–120%+ |
| Early Stage | $2k–$10k | 20%–40% | 25%–50% |
| Growth Stage | $10k–$100k | 10%–20% | 15%–30% |
| Scale Stage | $100k–$1M | 5%–10% | 8%–15% |
| Mature Enterprise | >$1M | 2%–5% | 4%–8% |
The gross column sits a few points above net at every stage, representing allowable churn. At scale, 5–10% net implies roughly 3–5% monthly churn offset by 8–15% new+expansion.
Why Month-over-Month Beats Year-over-Year for Early Stages
Early-stage SaaS is too volatile for YoY comps—you didn’t exist a year ago. MoM growth normalized against the stage table is the only meaningful pulse. I coach founders to plot a 12-month MoM trend and draw a band; if you slip below the band for two consecutive months, trigger a diagnosis.
The deceleration reality: as your base grows, the same dollar addition yields a smaller percentage. Going from $10k to $12k is 20%; from $200k to $220k is 10%. Expect the rate to halve every ~3–4x in MRR. That’s not failure; it’s math.
Benchmark Uncertainty and Context
These ranges are debated. Some vertical SaaS in regulated markets grow slower but have higher retention. I acknowledge uncertainty: use the table as a flag, not a verdict. If you’re at $500k MRR growing 7% net, you’re slightly under scale band but may be profitable—which is fine if your strategy is efficient growth, not blitzscale.
Vertical SaaS and Regulatory Drag
Healthcare or fintech SaaS often grow at the low end of the bands due to long procurement cycles. A 4% net MoM at $300k MRR in health-tech can be stellar. I adjust the table by subtracting 2–3 points for regulated verticals. The benchmark is a lens, not a law.
A Mini Case Study: Diagnosing Stalled Growth at $40k MRR
In 2022 I advised a B2B scheduling SaaS (anonymized) at $40,000 MRR. Month 2 showed $42,500. Net growth 6.25%—acceptable for scale? They were early-growth, so below the 10–20% band. We dissected:
- New MRR: $4,000 (8 logos)
- Expansion MRR: $1,500
- Churned MRR: $2,000 (2 SMBs)
- Contraction MRR: $1,000 (1 downgrade)
Gross = $5,500 / $40,000 = 13.75%. Net = $2,500 / $40,000 = 6.25%. Gap = 7.5 pts, huge for early stage. The lever was contraction, not churn.
The 90-Day Prescription
We built a 30-day onboarding cue system and repriced the mid-tier. Using the SaaS Pricing Tier Calculator, we modeled moving mid-tier from $499 to $599 while adding a usage cap that reduced downgrade temptation. Within 90 days: contraction fell to $200, churn to $800, gross held ~12%. Net rose to ~10.5%, re-entering healthy early-growth territory.
The lesson: calculating only net MRR growth would have prompted “go sell more,” but the data said “protect what you have.” That’s the information gain this playbook provides.
Month 3 and 4 Validation
By Month 3, MRR hit $44,800 (net ~5.4% on $42.5k prior). We continued the play. Month 4: $47,900, net ~7%. The gross held 12–13%, churn stabilized at $600. The trajectory confirmed the contraction fix worked. Without the gross/net split, we’d have kept pumping sales spend into a leaking bucket.
Tying the Math to Improvement Levers: Churn, Expansion, Pricing
MRR growth is a scoreboard; levers are the game. I map each component to an action plan.
Churn Lever
Reduce revenue churn by 1% at $100k MRR = $1k/mo recovered, compounding. Tactics: predictive churn flags at day 30, quarterly business reviews for top 20% accounts. But beware over-investing in retention at the expense of new logos when gross is <5%.
Expansion Lever
Expansion is the cheapest MRR because CAC is zero. Drive it via seat-based adoption metrics. A 5-point gross lift (15%→20%) with steady 5% churn doubles net from 10% to 15%. I track expansion as % of prior MRR separately; if it stalls, product packaging is usually the culprit.
Pricing Lever
Pricing changes shift timing, not just level. Annual discounts improve cash but can lower recognized MRR growth temporarily. Model with discipline. When we restructured tiers, we also used our SaaS MRR Growth Calculator to simulate the net effect across 6 months, avoiding a panic dip.
Most people don’t realize that a pricing increase on existing customers shows as expansion MRR only if contracted; otherwise it’s a renewal uplift booked at next term. Misclassifying it inflates gross artificially.
Usage-Based Expansion Edge Case
If you have usage billing, expansion MRR may fluctuate with customer activity, not deliberate upsell. I separate “contractual expansion” (committed seat adds) from “consumption expansion” (overage). The latter is less predictable; counting it fully in gross can overstate durable growth. Classify both but watch the ratio.
Building Your Own MRR Growth Tracker (Template + Calculator)
You can build a robust tracker in Google Sheets. My template has tabs: “Raw Movements,” “Rates,” “Benchmark Overlay.” The first tab has columns: Prior MRR, New, Expansion, Churn, Contraction. Two formula rows compute gross and net. This forces categorization of every dollar.
Columns and Formulas Explained
Prior MRR is last month’s ending total. New/Expansion/Churn/Contraction are signed-dollar movements. Formula: Gross% = (New+Expansion)/Prior. Net% = (New+Expansion−Churn−Contraction)/Prior. I color-code cells where churn > expansion red.
The benchmark overlay pulls your current MRR band and highlights your net/gross against the table. This context is missing from competitor calculators that just spit a percentage.
When to Use a Dedicated Calculator
If you manage >200 accounts, manual sheets break. Our SaaS MRR Growth Calculator automates categorization via CSV import and visualizes the gross-net gap. But I still recommend building the sheet once to learn the anatomy.
Common Formula Errors in Sheets
The classic error: referencing prior MRR as the current month’s starting balance but forgetting that churn already reduced it. Your denominator must be the prior month’s ending MRR, not prior month’s starting. I’ve seen a 2% permanent overstatement from this off-by-one.
Limitations: these tools assume clean input. Garbage in, garbage out. One client fed mixed currency; the calculator showed 20% growth that was actually 12% USD. Lock FX rates.
Common Pitfalls and Edge Cases I’ve Hit in the Trenches
Beyond timing, here are traps that distort how to calculate SaaS MRR growth.
Currency and FX
If you bill in EUR and report USD, a 5% FX swing looks like growth. Use a rolling 30-day average conversion, applied identically to both months.
Free-to-Paid and Trial Conversions
Count only the first paid month as New MRR. Prior $0 is not contraction. I’ve seen teams log trial expirations as churn, creating fake negative MRR and skewing net downward.
Refunds and Credits
Net MRR should reflect realized revenue. A March refund for February service should adjust February retroactively or March new—but choose one. Inconsistent treatment created a phantom -8% month for a client, triggering needless panic.
Multi-Entity Consolidation
If you operate two LLCs or acquired a subsidiary, consolidate MRR at constant ownership. A small acquisition can look like 50% growth but is inorganic. I tag acquired MRR separately so the organic calculation stays pure.
The Cash Flow Disconnect
MRR growth is not cash flow. A 15% MoM grower with 90-day sales cycles and heavy prepaid discounts can still burn out. Tie MRR growth to CAC payback and burn multiple for a full picture.
When I first benchmarked a $1.2M MRR client against “15% good” advice, it implied 4x ARR growth—unrealistic. Stage context prevented a flawed raise narrative.
Putting the Playbook to Work
You now have the formulas, the stage benchmarks, and a diagnostic framework. Open your billing export tonight. Categorize every change into the four buckets. Compute gross and net. Compare to the table.
The answer to “how to calculate SaaS MRR growth” is arithmetic; the answer to “what is a good MRR growth rate” is stage-dependent. The competitive edge is diagnosing the gap and pulling the right lever—retention, expansion, or pricing. That’s how you turn a metric into momentum.
