Net revenue retention: what the benchmark actually depends on

Net revenue retention measures what happens to a cohort of existing customers over twelve months, counting expansion, contraction and churn but excluding anything new. Above 100% means your existing base grows on its own. Below 100% means you are refilling a leaking bucket before you can grow at all.
That much every article agrees on. Where they go wrong is the next sentence, the one that names a single benchmark number you should be hitting.
Table of contents
- The formula, and the part people get wrong
- Why one benchmark number is useless
- What the retention data actually shows
- Gross revenue retention is the honest sibling
- Where the calculation breaks in practice
- What NRR cannot tell you
- How to use it without fooling yourself
- Frequently asked questions
The formula, and the part people get wrong
Net revenue retention divides the current recurring revenue of a fixed cohort by what that same cohort paid twelve months earlier.
NRR = (starting MRR + expansion - contraction - churn) / starting MRR
The cohort is fixed at the start of the window. A customer who signed up in month three does not appear in the numerator or the denominator. That exclusion is the entire point: NRR asks whether the business you already won is getting bigger or smaller, with acquisition held out of the picture.
NRR and churn rate are often confused, and the difference is expansion: churn counts only what you lost, while NRR nets expansion against it, which is why NRR can exceed 100% while revenue churn is still positive.
Two mistakes are common enough to be worth naming. The first is including new customers, which inflates the number into meaninglessness and is really just growth rate wearing a different hat. The second is measuring month over month and annualising it. Expansion is lumpy and renewals cluster, so a single month multiplied by twelve tells you about that month, not about the year.
Why one benchmark number is useless
The single most useful thing to know about NRR benchmarks is that the spread within any dataset is wider than the difference between a good company and a bad one.
Price point drives it more than execution does. A product at $9 a month sells to individuals who churn when their project ends, and there is nowhere for the account to expand to. A product at $2,000 a month sells to teams that add seats, add departments, and take a quarter to leave even when they want to. Same discipline, same product quality, completely different retention curve.
So when a post tells you the benchmark is 110%, ask which population produced it. Usually it is growth-stage enterprise software, which is the least representative segment there is.
What the retention data actually shows
ChartMogul's SaaS Retention Report analysed more than 2,100 SaaS businesses using 2022 data, and the split by average revenue per account is stark.
| ARPA | Top-quartile NRR | Share above 100% NRR |
|---|---|---|
| Under $10/month | 65.1% | 2.7% |
| Over $500/month | 109.3% | 41.1% |
Read that carefully. Among businesses under $10 ARPA, the top quartile reached 65.1%. Not the median. The top quartile. Meanwhile 41.1% of the high-ARPA group cleared 100% entirely.
By ARR band the same pattern shows up more gently. Top-quartile NRR runs 94% at $1-3M ARR, 99% at $3-15M, and above 105% at $15-30M. Larger companies retain better partly because they have had time to build expansion motions, and partly because surviving to $30M selects for businesses whose customers stay.
Bessemer's widely quoted good-better-best framing of 100%, 110% and 120% is a reasonable target ladder. It was also framed for growth-stage enterprise cloud companies, which is why a seed-stage product-led tool measuring itself against 120% concludes it is failing when it is performing normally for its segment.
Gross revenue retention is the honest sibling
Gross revenue retention counts contraction and churn but ignores expansion, so it is capped at 100% and cannot be rescued by upsells.
That cap is what makes it useful. A company can post 115% NRR while quietly losing a third of its customers, if the survivors expand hard enough to cover the gap. The NRR line looks healthy. The GRR line does not, and GRR is the one that tells you whether the product is actually holding on to people.
In the same ChartMogul dataset, top-quartile GRR reaches 90%+ above $500 ARPA and falls to roughly 60-70% below $50 ARPA, with best-in-class across all stages sitting above 86%.
Track both. When NRR rises and GRR falls in the same quarter, you have a concentration problem forming: fewer, larger customers carrying the number. That is fragile in a way the headline does not show.
Where the calculation breaks in practice
Every clean formula meets messy billing data, and NRR has four specific failure points.
Failed payments. An involuntary churn event looks identical to a deliberate
cancellation in most revenue tables. A card expires, the retry schedule runs out,
and the customer becomes churn in your NRR even though they never decided to
leave. Stripe's subscription lifecycle docs
describe the states involved; the important part is that past_due and
canceled need to be treated as different things in your query.
Mid-cycle plan changes. Proration creates partial-month amounts that are not the customer's actual run rate. Measure the subscription's normalised monthly value, not what landed on the invoice that month.
Annual and monthly mixed together. An annual contract signed in March contributes nothing to expansion until the following March, which is the same lumpiness that makes annual recurring revenue move in steps rather than smoothly. Mixing billing frequencies into one NRR figure produces a number that jumps on renewal anniversaries and means nothing in between.
Small cohorts. Below roughly 50 accounts in the starting cohort, one enterprise customer moves NRR by ten points. The number becomes a story about that customer, not about retention.
What NRR cannot tell you
NRR is a lagging, aggregate measure, and it hides the two things you would most want to know.
It cannot tell you why. A quarter where NRR drops six points is compatible with a pricing change, a competitor launch, a broken onboarding flow, a support backlog, and a single large account leaving. The metric is identical in all five cases, and the response is different in all five.
It also cannot tell you when it started. By the time contraction has become churn and churn has landed in a twelve-month window, the moment you could have intervened is months behind you. Seats came off in June, the renewal conversation went badly in September, and the NRR line moves in December.
This is the same problem as reading a single MRR figure without decomposing it, and it has the same fix: the number is a starting point, and the useful work is connecting it back to the accounts and events that produced it.
How to use it without fooling yourself
Segment before you compare. Split NRR by ARPA band and by plan at minimum, and compare each segment to itself last quarter rather than to an industry number drawn from a different population.
Report GRR next to it, every time, so expansion cannot mask retention.
Then attach the accounts. A retention number that you cannot expand into a list of who contracted, who churned, and what happened to them in the weeks before is a number you can report but cannot act on. That gap between reporting and acting is where most retention programs stall, and it is the specific thing worth detecting automatically.
Frequently asked questions
What is a good net revenue retention rate?
It depends almost entirely on your price point. Above $500 ARPA, top-quartile performers reach roughly 109% and clearing 100% is realistic. Below $10 ARPA, top-quartile is closer to 65% and only 2.7% of businesses exceed 100%, per ChartMogul's 2022 dataset. Compare against your own segment, not a headline figure.
What is the difference between NRR and GRR?
Net revenue retention includes expansion revenue and can exceed 100%. Gross revenue retention excludes expansion, counting only contraction and churn, so it is capped at 100%. NRR tells you whether the base is growing; GRR tells you whether you are keeping people. Healthy businesses track both, because strong expansion can hide weak retention in the NRR figure.
Should net revenue retention include new customers?
No. NRR measures a cohort fixed at the start of the period. Including customers acquired during the window turns it into a growth rate and destroys the thing that makes NRR useful, which is isolating the behaviour of the existing base from acquisition.
How often should you calculate NRR?
Calculate it on a trailing twelve-month basis, refreshed monthly. Shorter windows annualised up are unreliable because expansion is lumpy and renewals cluster around contract anniversaries. The trailing window smooths that without hiding a real trend.
Ready to see which accounts moved your retention?
A retention number tells you the direction. It does not tell you which accounts contracted, what happened in the weeks before they did, or how much of next quarter is already at risk.
GainSignal decomposes revenue movements into new, expansion, contraction and churn, connects each one back to the accounts and the events behind it, and reports the finding with the evidence attached.