How to calculate GRR
Take the customers you had at the start of the period, usually twelve months ago, and their MRR at that moment. Subtract the MRR those same customers lost to downgrades (contraction) and to cancellations (churn). Divide what is left by the starting MRR.
Expansion stays out. A customer who upgraded from $100 to $300 counts as $100 kept, not $300. That is what separates GRR from net revenue retention (NRR): NRR adds expansion back in, so it can rise above 100%, while GRR is capped at 100% and only goes down.
Customers who joined during the period stay out of both, because their revenue was never at risk for the whole window.
GRR = (starting MRR − contraction − churned MRR) ÷ starting MRR
NRR = (starting MRR + expansion − contraction − churned MRR) ÷ starting MRR
Worked example
Twelve months ago a business had $20,000 of MRR from its customers at the time. Since then downgrades cost $600, customers who canceled took $1,400, and upgrades and extra seats from the same customers added $2,500. New customers signed during the year are left out.
- Starting MRR
- $20,000
- Contraction from downgrades
- −$600
- Churned MRR from cancellations
- −$1,400
- MRR kept, before any upgrade
- $18,000
- GRR: $18,000 ÷ $20,000
- 90%
- Expansion (left out of GRR)
- +$2,500
- NRR: $20,500 ÷ $20,000
- 102.5%
NRR says the existing base grew. GRR says it lost a tenth of its revenue first, and upgrades from the customers who stayed covered the gap.
Why GRR matters
GRR is the honest floor under your recurring revenue. It shows how much of the base survives a year on its own, before any sales motion or upgrade path helps. A high NRR built on a few large expansions can hide a leaking base; GRR cannot hide it.
Because it ignores expansion, GRR points straight at the problems you can fix: customers downgrading because they use less, and customers leaving because of price, product or failed payments. When GRR falls, the next question is which of those it was.
Common mistakes
- Letting expansion offset losses If one customer's upgrade is netted against another's downgrade, the figure is NRR, not GRR. Keep expansion out entirely.
- Counting new customers Revenue from customers who joined during the period is new revenue. It belongs in neither the starting MRR nor the MRR kept.
- Reporting GRR above 100% GRR can only fall or stay level. A figure above 100% means expansion or new revenue slipped in somewhere.
- Counting failed payments as cancellations A customer lost to an expired card lowers GRR just like one who chose to leave, but the fix is a retry schedule, not a product change. Split the churned MRR by cause.