The NRR and GRR formulas
NRR = (starting MRR + expansion − contraction − churn) ÷ starting MRR
GRR = (starting MRR − contraction − churn) ÷ starting MRR
Both start from a fixed cohort: the accounts that were customers at the start of the period. Expansion is upsells, more seats and price increases. Contraction is downgrades. Churn is the MRR of accounts that cancelled. Gross revenue retention (GRR) ignores expansion, so it can never be above 100%. It shows how leaky the bucket is underneath the upsells. NRR is usually measured over 12 months, on MRR or ARR, which gives the same percentage.
Step 1: classify every account
Put each account's MRR at the start and at the end of the year side by side, then label the movement with one formula:
=IF(B2=0,"New",IF(C2=0,"Churn",IF(C2>B2,"Expansion",IF(C2<B2,"Contraction","Flat"))))
Of the twelve accounts in the example, four expanded, two contracted, two churned, two stayed flat and two are new. The starting MRR of the cohort is $30,000. Expansion adds $3,900, contraction takes $1,100 and churn $4,000. The two new accounts bring $5,400 of MRR, but they were not customers a year ago, so they are left out.
Step 2: NRR and GRR in Excel
Today's MRR of the same accounts is =SUMIFS(C2:C13,B2:B13,">0"), the accounts that had MRR at the start. That is $28,800, so NRR = 28,800 ÷ 30,000 = 96.0%. The movements give the same answer: (30,000 + 3,900 − 1,100 − 4,000) ÷ 30,000. If you track customers by start date rather than by a zero, filter on the customer-since date with SUMIFS(…,date_range,"<="&cohort_date).
For GRR, cap each account at its starting MRR with =MIN(B2,C2), which removes expansion but keeps contraction and churn. The capped total is $24,900, so GRR = 24,900 ÷ 30,000 = 83.0%. The 13-point gap between GRR and NRR is the expansion that is covering for churn.
Worked example: 12 accounts, NRR and GRR over one year
Monthly recurring revenue per account a year apart (yellow inputs). Column D caps each account at its starting MRR for GRR, column E labels the movement, and the bottom rows calculate NRR, GRR and the wrong version.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Account | MRR Jan 2025 ($) | MRR Jan 2026 ($) | Capped for GRR ($) | Movement |
| 2 | A-101 | 4,000 | 4,800 | 4,000 | Expansion |
| 3 | A-102 | 2,500 | 2,500 | 2,500 | Flat |
| 4 | A-103 | 1,800 | 0 | 0 | Churn |
| 5 | A-104 | 6,000 | 7,200 | 6,000 | Expansion |
| 6 | A-105 | 3,200 | 2,600 | 2,600 | Contraction |
| 7 | A-106 | 1,500 | 1,500 | 1,500 | Flat |
| 8 | A-107 | 2,200 | 0 | 0 | Churn |
| 9 | A-108 | 5,000 | 6,500 | 5,000 | Expansion |
| 10 | A-109 | 2,800 | 2,300 | 2,300 | Contraction |
| 11 | A-110 | 1,000 | 1,400 | 1,000 | Expansion |
| 12 | A-111 | 0 | 3,000 | 0 | New |
| 13 | A-112 | 0 | 2,400 | 0 | New |
| 14 | |||||
| 15 | Starting MRR of the cohort | 30,000 | |||
| 16 | + Expansion | 3,900 | |||
| 17 | − Contraction | 1,100 | |||
| 18 | − Churn | 4,000 | |||
| 19 | Ending MRR of the same accounts | 28,800 | |||
| 20 | Net revenue retention (NRR) | 96.0% | |||
| 21 | NRR from the movements (check) | 96.0% | |||
| 22 | Gross revenue retention (GRR) | 83.0% | |||
| 23 | New-customer MRR (not in NRR) | 5,400 | |||
| 24 | Wrong: all MRR now ÷ MRR then | 114.0% |
- D2
=MIN(B2,C2)Cap each account at its starting MRR (no expansion) - B19
=SUMIFS(C2:C13,B2:B13,">0")Today's MRR of the starting accounts only - B20
=B19/B15NRR - B22
=SUM(D2:D13)/B15GRR - B24
=SUM(C2:C13)/SUM(B2:B13)The classic mistake: new customers mixed in
Fictional accounts. Benchmarks vary by segment and company size, so compare NRR with businesses that sell to similar customers.
What is a good NRR?
An NRR of 100% means the existing base exactly replaces what it loses. Above 100%, revenue grows even without a single new sale, one of the strongest signals in subscription businesses. Many investors treat an NRR above 100% as healthy for B2B SaaS and 120% or more as excellent, while products for small businesses and consumers typically retain less because their customers churn more.
Read NRR together with GRR. A 105% NRR on a 90% GRR is a solid base with good upsells. A 105% NRR on a 75% GRR means a quarter of the revenue leaves every year and a few large expansions hide it, which is fragile. Retention also drives customer lifetime value, the top half of the LTV:CAC ratio.
The classic NRR mistake
Dividing all of today's MRR by last year's MRR mixes new customers into the result. Here that gives (28,800 + 5,400) ÷ 30,000 = 114.0%, which looks like a business that grows its base, when in fact the existing customers pay 4% less than a year ago. That is revenue growth, not retention.
Two more traps: count one-time fees and usage spikes consistently, or leave them out, because NRR is about recurring revenue. And state the period. A monthly NRR of 99% is not the same as an annual one of 99%. Compounded, 99% a month is about 89% a year.
Common mistakes
- Including new customers. NRR follows a fixed cohort. New accounts belong in growth metrics, not in retention.
- Forgetting contraction. Downgrades reduce NRR and GRR just like churn, only less visibly.
- Letting GRR exceed 100%. GRR caps every account at its starting MRR. Use MIN(start, end) per account.
- Mixing monthly and annual rates. State the period, and compound monthly retention instead of multiplying it by 12.
- Counting one-time revenue. Setup fees and services are not recurring. Leave them out of MRR before measuring retention.
Frequently asked questions
How do you calculate net revenue retention?
Take the accounts that were customers at the start of the period. Add their expansion to their starting MRR, subtract contraction and churn, and divide by the starting MRR. New customers are excluded.
What is the difference between NRR and GRR?
NRR includes expansion revenue from existing customers, GRR does not. GRR shows only what is lost to contraction and churn, so it is at most 100%, while NRR can be above 100%.
What is a good net revenue retention rate?
Above 100% means the existing base grows on its own. Many investors see more than 100% as healthy for B2B SaaS and 120% or more as excellent, with lower typical values for products sold to small businesses and consumers.
Can NRR be above 100%?
Yes. When upsells and expansion from existing customers are larger than the revenue lost to downgrades and cancellations, NRR is above 100%. GRR can never be above 100%.