Churn and Retention

GRR

GRR is the most honest retention metric in SaaS because it cannot be improved by upsells. You cannot hide a weak product behind aggressive cross-sell or a rising average contract value. GRR answers one question only: if your customers stopped buying anything new tomorrow, how much of today's recurring revenue would still be there?

Language: Read this article in Russian

GRR

GRR (Gross Revenue Retention): what happens to revenue when you strip expansion out

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 churn8−$16,000
Involuntary churn4−$3,200
Downgrade (Pro → Basic)6−$4,200
Seat reduction10−$5,000
Usage reduction15−$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.

See GRR logic in the demo

CTA

Dnoise calculates GRR from source data and makes revenue retention quality visible without letting expansion mask the problem.

MAP

Related Reading

CTA

Dnoise calculates GRR from source data and makes revenue retention quality visible without letting expansion mask the problem.