Definition and Core Formula
GRR is the percentage of recurring revenue from the starting customer base that remains after churn and contraction, but before any expansion is counted.
GRR = (Starting MRR − Churned MRR − Contraction MRR) / Starting MRR × 100
It can also be written through Revenue Churn:
GRR = 100% − Revenue Churn Rate
GRR has one hard constraint: it can never exceed 100%. Even if every customer upgrades, GRR stays between 0% and 100% because expansion is intentionally excluded.
GRR = (300,000 − 9,000 − 6,000) / 300,000 × 100 = 95%
NRR = (300,000 − 9,000 − 6,000 + 25,000) / 300,000 × 100 = 103.3%
NRR looks healthy at 103.3%, but GRR shows the hard truth: without upsells, the company is still losing 5% of recurring revenue every month.
Why GRR and NRR Are Both Needed
GRR and NRR are not duplicates. They answer different questions.
- GRR asks: how good is the product at retaining revenue without help from expansion?
- NRR asks: how much is the installed base growing in value over time?
Those two numbers combine into four very different situations:
- High GRR + High NRR: ideal. Customers stay and expand.
- High GRR + Low NRR: customers stay, but expansion motion is weak.
- Low GRR + High NRR: dangerous. Upsells are masking weak retention.
- Low GRR + Low NRR: systemic problem. Customers leave and the base is shrinking.
What Lowers GRR
Only two things reduce GRR. Nothing else does.
Churned MRR
Churned MRR Rate = Churned MRR / Starting MRR × 100
Full revenue loss from customers who left.
Churned MRR = Voluntary Churned MRR + Involuntary Churned MRR
Contraction MRR
Contraction MRR Rate = Contraction MRR / Starting MRR × 100
Partial revenue loss from customers who stayed but now pay less.
Contraction MRR = Downgrade MRR + Seat Reduction MRR + Usage Reduction MRR + Discount MRR
Full decomposition of GRR:
GRR = 100% − Voluntary Churn Rate − Involuntary Churn Rate − Downgrade Rate − Seat Reduction Rate − Usage Reduction Rate − Discount Rate
Every line points to a different problem with a different fix. GRR as one number hides that structure.
GRR Across Contract Types
Monthly subscriptions: use the standard monthly formula directly.
Annual contracts: monthly GRR can look artificially high because customers cannot leave before renewal.
Annual GRR = (ARR(start) − Churned ARR − Contraction ARR at renewals) / ARR(start) × 100
Usage-based contracts: GRR is naturally more volatile, so a rolling 3-month view is often more honest.
Usage Contraction MRR = MAX(0, prior-month MRR − current-month MRR) for customers who did not cancel
Hybrid models: it is often useful to split committed GRR from variable GRR.
Cohort GRR
Cohort GRR(month t) = Cohort MRR in month t without Expansion / Cohort MRR in month 0 × 100
Cohort GRR shows whether retention quality is improving over time for newer cohorts. The curve usually falls quickly in the earliest months, then flattens as a loyal core remains.
Derived Metrics
Revenue Churn Rate
Revenue Churn Rate = 100% − GRR
If GRR is 94%, Revenue Churn is 6%.
Conservative LTV
LTV (conservative) = ARPA × Gross Margin / (1 − GRR)
GRR gives a conservative lower bound for LTV because it excludes expansion.
Expansion Rate Through GRR and NRR
Expansion Rate = NRR − GRR
This is a quick way to see how much NRR depends on expansion. If the gap is large, retention quality may be fragile.
Annualized GRR
Annual GRR = Monthly GRR^12
A monthly GRR that looks "only slightly below perfect" can become brutal when annualized. Monthly GRR of 96% implies annual GRR of about 61.3%.
GRR by Segment
Aggregate GRR can hide a catastrophic SMB problem under otherwise decent enterprise retention. Segment-level GRR is essential.
Common GRR Calculation Mistakes
- Including Expansion in GRR. That turns GRR into NRR.
- Ignoring Contraction. GRR must include both churned revenue and partial revenue loss.
- Using customer count instead of MRR. GRR is a revenue metric, not a logo metric.
- Including new customers. Starting MRR contains only customers active at the beginning of the period.
- Treating annual GRR as Monthly GRR × 12. It compounds, it does not scale linearly.
- Ignoring recurring discounts. Permanent discounts and credits should be treated as contraction.
- Comparing GRR across very different segments without context. Enterprise and SMB norms are not the same.
Worked GRR Example with Diagnosis
Quarter data: Starting MRR from existing customers = $400,000
| Event | Customers | Churned / Contraction MRR |
|---|---|---|
| Voluntary churn | 8 | −$16,000 |
| Involuntary churn | 4 | −$3,200 |
| Downgrade (Pro → Basic) | 6 | −$4,200 |
| Seat reduction | 10 | −$5,000 |
| Usage reduction | 15 | −$3,600 |
| Expansion (upsells) | 20 | +$28,000 |
Churned MRR: $19,200
Contraction MRR: $12,800
Total losses: $32,000
GRR: (400,000 − 19,200 − 12,800) / 400,000 × 100 = 92%
NRR: (400,000 − 19,200 − 12,800 + 28,000) / 400,000 × 100 = 99%
Revenue Churn Rate: 8%
Expansion Rate: 7%
Expansion Efficiency: 28,000 / 32,000 = 0.875
Diagnosis: GRR at 92% is below where most teams want it. NRR looks close to neutral only because expansion nearly covers the losses. Expansion Efficiency below 1 means upsells are not fully offsetting what the business is losing.
The operating goal is straightforward: reduce involuntary churn through better dunning, reduce downgrades with stronger feature adoption, improve seat utilization, and catch usage decline before renewal.
How to Improve GRR
GRR improves in exactly two ways: lower Churned MRR and lower Contraction MRR. There is no third lever.
To reduce Churned MRR:
- Improve onboarding and shorten time to first value.
- Monitor early-warning signals such as lower login frequency, weak feature adoption, unresolved support tickets, champion loss, and failed payments.
- Optimize dunning by decline type: expired card, insufficient funds, do-not-honor, generic decline.
To reduce Contraction MRR:
- Understand why customers downgrade: low adoption, weak value perception, or external budget pressure.
- Track downgrade risk through feature usage and seat utilization.
- Proactively intervene before renewal when accounts are clearly underusing the product.
Dnoise calculates GRR automatically from Stripe data, with strict separation between Churned MRR and Contraction MRR. Expansion is intentionally excluded. Contraction is broken out into Downgrade, Seat Reduction, Usage Reduction, and Discount. Cohort GRR and segment-level GRR update in real time.
CTA
Dnoise calculates GRR from source data and makes revenue retention quality visible without letting expansion mask the problem.