MRR looks trivial to calculate and is wrong in most spreadsheets, always in the flattering direction.
The definition
The normalised monthly value of all active recurring subscriptions, as of a point in time.
Every word is load-bearing. Normalised - annual plans divided by twelve. Recurring - one-off charges excluded. Active - cancelled and failed subscriptions excluded.
The four ways it goes wrong
Annual plans booked as a spike
A $1,200 annual plan is $100 of MRR, not $1,200 in the month it was paid.
Booking the full amount makes that month look enormous and every following month look like a collapse. It also makes your growth rate meaningless, because it depends on billing cycles rather than on the business.
One-off charges included
Setup fees, overage charges, professional services and consulting are revenue, and they are not recurring. Including them inflates MRR and hides the fact that a chunk of your income is not repeatable.
Track them separately as non-recurring revenue. Both numbers matter; conflating them means neither is usable.
Discounts booked at list price
If a customer pays $80 on a $100 plan, that is $80 of MRR. Booking list price and treating the discount as a marketing expense produces a number that will not reconcile to your bank account.
Same for annual plans sold at a discount - normalise the amount actually paid.
Failed payments counted as active
A subscription in dunning is not revenue. Depending on your processor's retry schedule, a meaningful share of those never recover.
Exclude them from MRR while they are failing. If they collect, they come back.
The breakdown that makes it useful
A single MRR figure tells you almost nothing. The movements do:
Starting MRR
+ New first-time customers
+ Expansion upgrades, seats, usage from existing customers
− Contraction downgrades
− Churn cancellations
= Ending MRR
Two businesses both growing 10% a month:
- A: +10% new, 0% churn.
- B: +30% new, −20% churn.
Identical headline growth, completely different companies. B is filling a leaking bucket and will stall the moment acquisition slows. Only the breakdown shows it.
Net revenue retention
Once you have the movements:
NRR = (Starting + Expansion − Contraction − Churn) ÷ Starting
Above 100% means your existing customers generate more revenue over time than you lose - revenue grows even with zero new customers. It is the strongest signal in SaaS and rare below a few hundred customers.
ARR is not a separate metric
ARR is MRR × 12. Nothing more.
Quoting ARR for a business on monthly plans with 8% monthly churn implies a year of revenue that will not exist. Use ARR when contracts are genuinely annual; otherwise it is a bigger number rather than a better one.
Reconcile MRR to your payment processor's actual deposits every month. If they diverge and you cannot explain the gap, one of the four errors above is in your spreadsheet.
Launch it where the numbers are checked
RankCert ranks products on domain control we verify ourselves. Listing is free and the link stays dofollow whether or not you display the badge.
