Tabellab
Business & operations

Net revenue retention (NRR) formula, with an Excel example

Net revenue retention (NRR) measures how much recurring revenue you keep and grow from the customers you already had. The formula is NRR = (starting MRR + expansion − contraction − churn) ÷ starting MRR, or simply today's MRR of the starting accounts ÷ their MRR a year ago. New customers do not count. In the example below, a cohort that paid $30,000 a month a year ago pays $28,800 today: an NRR of 96.0% and a GRR of 83.0%. Divide all of today's MRR by last year's instead and you get a flattering, wrong 114.0%.

Updated 21 Oct 2026 5 min read By Tabellab team

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.

Worked example: 12 accounts, NRR and GRR over one year
ABCDE
1AccountMRR Jan 2025 ($)MRR Jan 2026 ($)Capped for GRR ($)Movement
2A-1014,0004,8004,000Expansion
3A-1022,5002,5002,500Flat
4A-1031,80000Churn
5A-1046,0007,2006,000Expansion
6A-1053,2002,6002,600Contraction
7A-1061,5001,5001,500Flat
8A-1072,20000Churn
9A-1085,0006,5005,000Expansion
10A-1092,8002,3002,300Contraction
11A-1101,0001,4001,000Expansion
12A-11103,0000New
13A-11202,4000New
14
15Starting MRR of the cohort30,000
16+ Expansion3,900
17− Contraction1,100
18− Churn4,000
19Ending MRR of the same accounts28,800
20Net revenue retention (NRR)96.0%
21NRR from the movements (check)96.0%
22Gross revenue retention (GRR)83.0%
23New-customer MRR (not in NRR)5,400
24Wrong: all MRR now ÷ MRR then114.0%
Key formulas
  • 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%.

Practise it in a lab

Related guides

Reading is step one. Doing is step two.

Every guide links to a lab where you build the same calculation in an online spreadsheet and get instant feedback.

Open the lab