One SAMPLE year, ten opening customers, and the formulas that do not land on the same rate.
On this page
The short answer
NRR on the sample cohort is $10,560 divided by the $10,000 those customers paid at the start of month 1, which is 105.6%. GRR on the same rows is $7,600 divided by that $10,000, which is 76.0%. Dividing the $11,260 book, new customers included, by the same $10,000 produces 112.6%. The year is illustrative example data for a fictional product, not real customer data.
What net revenue retention counts
Net revenue retention is the MRR you still have from one starting group, divided by the MRR that group paid at the start. Expansion from that group raises the numerator. Contraction and churn from that group lower it. A customer who shows up later is a different group.
The monthly price on each row is MRR, from How to calculate MRR. An annual contract is divided by 12 before it is written down. MRR times 12, and the rows that do not belong in that yearly figure, are in MRR vs ARR. Logo churn and revenue churn, on one sample month, are in How to calculate churn rate. What it cost to acquire a new customer, and how many months that cost takes to come back, is a different sheet: CAC payback period. This page starts from the monthly number.
Stripe’s NRR page, updated May 7, 2026, prints this formula: beginning recurring revenue, minus MRR lost to churn, minus MRR lost to downgrades, plus upgrades, divided by the beginning revenue. Stripe’s own example on that page is $100,000, minus $5,000 of churn, minus $2,000 of downgrades, plus $8,000 of upgrades. They state the result as 101%. Those are Stripe’s figures. The rates below are the sample sheet.
The same Stripe page says to count revenue from existing customers and to exclude customers acquired during the period. One sentence in that section also lists new customers among the sources the metric takes into account. The formula under that sentence has no new-customer term. On this sheet those two readings are 105.6% and 112.6%.
ChartMogul’s NRR page, updated September 8, 2026, writes the cohort form: MRR today from the customers you had a year ago, divided by the MRR of that same group a year ago. Their example there is 800 divided by 770, which they state as 103.9%. The Net MRR Retention report, last updated October 22, 2026, builds the rate from movements instead: starting MRR, plus expansion, plus reactivation, minus contraction, minus churn, divided by starting MRR. The report says it excludes new business, and that starting MRR comes from subscriptions that were active or past due. This sample has no past-due row and no trial.
ChartMogul’s metrics page says the cohort snapshot and the movement formula match, and that a customer who churns and comes back inside the window is the case the movement formula shows on its own line. The base year here has no comeback. C05’s $960 sits in a scenario column for that case.
The sample cohort
Sample Ledger is fictional. The sheet is a SAMPLE year of 12 months. The rows are illustrative example data, not real customer data. Nothing here was measured from a live business. It is also a different sheet from the Sample Desk month in the churn guide. Do not add the two together.
The cohort is the ten customers paying on the morning of month 1. Their MRR is $10,000. Someone who joins during month 1 is new. They are not part of the $10,000.
A price change is booked as the full monthly difference in the month it happens. The sheet does not prorate a day inside the month.
Download the NRR template (CSV)
| Row | MRR at the open | What changed | MRR at month 12 |
|---|---|---|---|
| C01 | $2,500 | +$1,000 in month 4, +$960 in month 8 | $4,460 |
| C02 | $1,500 | Stays | $1,500 |
| C03 | $1,500 | Stays | $1,500 |
| C04 | $1,000 | +$1,000 in month 4 | $2,000 |
| C05 | $960 | Cancels in month 2 | $0 |
| C06 | $1,040 | Cancels in month 2 | $0 |
| C07 | $800 | Down $400 in month 6 | $400 |
| C08 | $400 | Stays | $400 |
| C09 | $200 | Stays | $200 |
| C10 | $100 | Stays | $100 |
2,500 + 1,500 + 1,500 + 1,000 + 960 + 1,040 + 800 + 400 + 200 + 100 = 10,000 at the open.
The close is 4,460 + 1,500 + 1,500 + 2,000 + 400 + 400 + 200 + 100 = 10,560. C05 and C06 are $0. C01’s $4,460 is 2,500 + 1,000 + 960.
Expansion is 1,000 + 1,000 + 960 = 2,960. Contraction is 400. Churn is 960 + 1,040 = 2,000.
10,000 + 2,960 − 400 − 2,000 = 10,560.
| Month | Open | Expansion | Contraction | Churn | Close | NRR |
|---|---|---|---|---|---|---|
| 1 | $10,000 | $0 | $0 | $0 | $10,000 | 100.0% |
| 2 | $10,000 | $0 | $0 | $2,000 | $8,000 | 80.0% |
| 3 | $8,000 | $0 | $0 | $0 | $8,000 | 100.0% |
| 4 | $8,000 | $2,000 | $0 | $0 | $10,000 | 125.0% |
| 5 | $10,000 | $0 | $0 | $0 | $10,000 | 100.0% |
| 6 | $10,000 | $0 | $400 | $0 | $9,600 | 96.0% |
| 7 | $9,600 | $0 | $0 | $0 | $9,600 | 100.0% |
| 8 | $9,600 | $960 | $0 | $0 | $10,560 | 110.0% |
| 9 | $10,560 | $0 | $0 | $0 | $10,560 | 100.0% |
| 10 | $10,560 | $0 | $0 | $0 | $10,560 | 100.0% |
| 11 | $10,560 | $0 | $0 | $0 | $10,560 | 100.0% |
| 12 | $10,560 | $0 | $0 | $0 | $10,560 | 100.0% |
Each month’s NRR uses that month’s opening cohort MRR as the denominator. Month 4 is 10,000 / 8,000 = 125.0%. Month 6 is 9,600 / 10,000 = 96.0%. Month 8 is 10,560 / 9,600 = 110.0%. Month 2 is 8,000 / 10,000 = 80.0%.
Three customers are on the sheet and outside the cohort.
| Row | Joined | Left | MRR while active | New MRR at month 12 |
|---|---|---|---|---|
| N01 | Month 1 | Still paying | $200 | $200 |
| N02 | Month 6 | Still paying | $500 | $500 |
| N03 | Month 6 | Month 8 | $300 | $0 |
200 + 500 + 0 = 700 of new MRR at the close. The whole book at month 12 is 10,560 + 700 = 11,260. N03’s $300 is in neither of those totals. They joined and left inside the year, so both ends are $0 for them.
The month-end balances are the table above. Month 4 ends at $10,000, after the churn in month 2 and the expansion in month 4. The waterfall adds the year’s expansion before it subtracts the year’s churn, so it passes through $12,960. That step is the formula. It is not a balance the cohort held.
- One row per customer who was paying on the morning of the period, with starting MRR and ending MRR
- Expansion, contraction, and churn from that group only, each as its own column
- A separate column for customers who arrived during the period, so their MRR cannot slip into the cohort
The same dollars, different formulas
Hold the opening $10,000 still. The readings below change the numerator, or they change which column is allowed in.
| Reading | Division | Rate |
|---|---|---|
| Cohort close over cohort open | 10,560 / 10,000 | 105.6% |
| Movements, reactivation at $0 | (10,000 + 2,960 + 0 − 400 − 2,000) / 10,000 | 105.6% |
| C05’s $960 added back as reactivation | (10,000 + 2,960 + 960 − 400 − 2,000) / 10,000 | 115.2% |
| Contraction left out of the subtraction | (10,000 + 2,960 − 2,000) / 10,000 | 109.6% |
| Paddle’s printed line | (400 − (2,000 + 2,960)) / 10,000 | −45.6% |
| New MRR included | 11,260 / 10,000 | 112.6% |
| N02’s $500 added to the cohort close | 11,060 / 10,000 | 110.6% |
| N03’s $300 subtracted from the cohort close | 10,260 / 10,000 | 102.6% |
| GRR, churn and contraction | (10,000 − 400 − 2,000) / 10,000 | 76.0% |
| GRR, churn only | (10,000 − 2,000) / 10,000 | 80.0% |
| Month 2’s 80.0%, raised to the 12th | 16,777,216 / 244,140,625 | 6.9% |
The first two rows match. 10,560 is the cohort close, and it is also 10,000 + 2,960 − 400 − 2,000. ChartMogul’s metrics page calls that equivalence the normal case.
The reactivation row is the edge case, and it is a scenario, not the base year. C05 canceled in month 2 at $960 and stays at $0 in the month table. The scenario column puts that $960 back. 10,000 + 2,960 + 960 − 400 − 2,000 = 11,520, and 11,520 / 10,000 = 115.2%. ChartMogul’s help page says a control that removes reactivation from the numerator lowers the rate. On this sheet, taking the $960 back off returns the rate from 115.2% to 105.6%.
The contraction row is the other control on that help page. Removing contraction from the numerator raises the rate. 10,000 + 2,960 − 2,000 = 10,960, and 10,960 / 10,000 = 109.6%. The gap from 105.6% is 4.0 percentage points, which is the $400.
Paddle’s article, dated April 25, 2022, was checked on October 26, 2026. The paragraph says to subtract churn and contraction from starting revenue plus expansion, then divide by the starting amount. That paragraph, on these dollars, is the 105.6% row. The next line on the page prints contraction MRR, minus the sum of churn MRR and expansion MRR, divided by starting MRR. 400 − (2,000 + 2,960) = −4,560, and −4,560 / 10,000 = −45.6%. The image under that line describes the standard sum in its alt text: starting MRR, plus expansion, minus contraction, minus churn, divided by starting MRR. Same page, two rates, 105.6% and −45.6%.
-
105.6%
Cohort NRR for the year
Sample sheet -
76.0%
GRR, churn and contraction
Sample sheet -
112.6%
New MRR left in the numerator
Sample sheet -
6.9%
Month 2's 80% compounded 12 times
Sample sheet
The −45.6% reading is in the table and off this chart. A bar chart that starts at zero cannot place a negative rate on the same scale without a second axis. The division is −4,560 / 10,000.
The same form is the NRR calculator.
The form starts on the base row: reactivation 0, new MRR 0, NRR 105.6%, GRR 76.0%. Type 960 into reactivation to land on 115.2%. Type 700 into new MRR to land on 112.6%. Both figures are on the sheet.
Why new MRR stays out
N01 joins during month 1 and is still paying $200 in month 12. They were a customer for almost the whole year. The cohort was counted on the morning of month 1, before they joined. The $200 is new MRR.
N02 joins in month 6 and is still paying $500 in month 12. Add that $500 to the cohort close and the numerator is 10,560 + 500 = 11,060. Divided by 10,000, that is 110.6%. N02 was not in the denominator.
N03 joins in month 6 and leaves in month 8. The price while active was $300. Both ends of the year are $0, so the $300 is outside new MRR and outside cohort churn. Subtract it from the cohort close anyway and the numerator is 10,560 − 300 = 10,260. Divided by 10,000, that is 102.6%. The denominator never held them.
Put all of the new MRR in, and none of the N03 subtraction: 10,560 + 700 = 11,260, and 11,260 / 10,000 = 112.6%. That rate is the growth of the whole book against the old cohort’s starting MRR. It is a real ratio. It is a different question from NRR.
Inside the cohort
Add the $500 to the close
N02 joined in month 6 and is still paying $500 in month 12. Putting that $500 on the cohort close makes 11,060 divided by 10,000, which is 110.6%.
- $11,060 close
- 110.6%
Outside the cohort
Leave the $500 in new MRR
N02 was not in the $10,000 on the morning of month 1. The cohort close stays $10,560, and 10,560 divided by 10,000 is 105.6%. The $500 sits in the $700 of new MRR.
- $10,560 close
- 105.6%
ChartMogul’s help page says the report excludes new business. Stripe’s formula has no term for it. Paddle’s article says net revenue retention does not include new customers. The 112.6%, the 110.6%, and the 102.6% are what this sheet does when that rule is dropped.
Monthly NRR and the 12-month number
Month 2’s cohort NRR is 80.0%. Raise 0.80 to the 12th power and the product is 16,777,216 / 244,140,625, which is 0.068719476736. Rounded to one decimal, that is 6.9%. The sheet stores both.
That 6.9% answers a question the year did not ask. It pretends every month lost 20% of the cohort MRR it opened with. Month 4 gained 25%. Month 8 gained 10%. Month 6 lost 4%. Eight months were flat.
Multiply the twelve rates that actually happened. Eight of them are 1.00, so they leave the product where it is.
0.80 × 1.25 = 1.00. That is month 2 times month 4. The $8,000 cancels.
1.00 × 0.96 = 0.96. That is month 6.
0.96 × 1.10 = 1.056. That is month 8.
1.056 is 105.6%, the same figure as 10,560 / 10,000.
The product matches the year because each month’s close is the next month’s open. Write the twelve fractions in a line and every close except the last one cancels with the next open. What remains is the month-12 close over the month-1 open. Compounding a single month never looks at the other eleven.
- M1100%
- M280%
- M3100%
- M4125%
- M5100%
- M696%
- M7100%
- M8110%
- M9100%
- M10100%
- M11100%
- M12100%
Use the product of the monthly cohort rates when you have the months. Use 10,560 / 10,000 when you have the two ends. They agree on this sheet. Use 80.0% to the 12th only when you mean “what if month 2 repeated.” Label that rate as a repeat, so nobody reads 6.9% as the year.
How NRR relates to GRR
GRR on the base sheet subtracts contraction and churn, and leaves expansion where it is. (10,000 − 400 − 2,000) / 10,000 = 7,600 / 10,000 = 76.0%.
The $2,960 of expansion is 29.6% of the opening $10,000. 76.0 + 29.6 = 105.6. With reactivation at $0, cohort NRR is GRR plus expansion divided by starting MRR.
Stripe’s GRR formula is beginning recurring revenue, minus churn, minus downgrades, divided by the beginning revenue. Stripe’s page says GRR cannot go above 100%, including the case with no churn and no downgrades, because upgrades stay out. Both GRR readings on this sheet are under 100%, so a cap at 100% does not move them.
Paddle’s article says GRR subtracts churn from total revenue and leaves expansion and contraction out of consideration. The printed formula there is total revenue minus churn, divided by total revenue. Using the opening $10,000 as that total: (10,000 − 2,000) / 10,000 = 80.0%. The $400 downgrade is the 4.0 point gap between 76.0% and 80.0%.
ChartMogul’s metrics page says GRR leaves expansion out, cannot exceed 100%, and that NRR is at least GRR because expansion only adds. On this sheet expansion is $2,960, so 105.6% sits 29.6 points above 76.0%.
Add the reactivation scenario to NRR and leave it out of GRR. NRR becomes 115.2%. GRR stays 76.0%. The extra 9.6 points are 960 / 10,000. 76.0 + 29.6 + 9.6 = 115.2.
A high NRR can sit on top of a low GRR. This sheet does that: 105.6% and 76.0% are the same ten customers. The expansion is doing the lifting. The two canceled customers, C05 and C06, are still in the 76.0%.
Copy the template
The file is the SAMPLE year. Ten cohort customers, three new customers, twelve month rows, then the totals. Every customer row is marked example data. Replace the rows. Do not add your own customers on top of Sample Ledger.
Download the NRR template (CSV)
in_opening_cohort is 1 for the morning of month 1. reactivation_scenario_mrr is filled only for C05, and the base month rows ignore it. mrr_while_active is filled for the three new customers. N03’s 300.00 is the amount people sometimes subtract by mistake. Summary value cells are the totals and the rates, and the notes column shows the division.
section,id,joined_month,left_month,in_opening_cohort,mrr_open,expansion_mrr,contraction_mrr,churn_mrr,reactivation_scenario_mrr,mrr_close,new_mrr_close,mrr_while_active,value,notes
customer,C01,,,1,2500.00,1960.00,0.00,0.00,0.00,4460.00,0.00,,,Example data. Expansion of 1000.00 in month 4 and 960.00 in month 8. Both booked in full. Not prorated. Not a real customer.
customer,C02,,,1,1500.00,0.00,0.00,0.00,0.00,1500.00,0.00,,,Example data. Illustrative. Not a real customer. Active at the open of month 1 and still active at the close of month 12.
customer,C03,,,1,1500.00,0.00,0.00,0.00,0.00,1500.00,0.00,,,Example data. Illustrative. Not a real customer. Active at the open of month 1 and still active at the close of month 12.
customer,C04,,,1,1000.00,1000.00,0.00,0.00,0.00,2000.00,0.00,,,Example data. Expansion of 1000.00 in month 4. Booked in full. Not prorated. Not a real customer.
customer,C05,,,1,960.00,0.00,0.00,960.00,960.00,0.00,0.00,,,Example data. Canceled in month 2. Cohort churn of 960.00. The reactivation scenario column is 960.00 and is not in the base month path or the base close. Not a real customer.
customer,C06,,,1,1040.00,0.00,0.00,1040.00,0.00,0.00,0.00,,,Example data. Canceled in month 2. Cohort churn of 1040.00. Not a real customer.
customer,C07,,,1,800.00,0.00,400.00,0.00,0.00,400.00,0.00,,,Example data. Contraction of 400.00 in month 6. Booked in full. Not prorated. Not a real customer.
customer,C08,,,1,400.00,0.00,0.00,0.00,0.00,400.00,0.00,,,Example data. Illustrative. Not a real customer. Active at the open of month 1 and still active at the close of month 12.
customer,C09,,,1,200.00,0.00,0.00,0.00,0.00,200.00,0.00,,,Example data. Illustrative. Not a real customer. Active at the open of month 1 and still active at the close of month 12.
customer,C10,,,1,100.00,0.00,0.00,0.00,0.00,100.00,0.00,,,Example data. Illustrative. Not a real customer. Active at the open of month 1 and still active at the close of month 12.
new_customer,N01,1,,0,0.00,0.00,0.00,0.00,0.00,0.00,200.00,200.00,,"Example data. Joined during month 1, after the cohort open. Still paying at the close of month 12. New MRR. Not a real customer."
new_customer,N02,6,,0,0.00,0.00,0.00,0.00,0.00,0.00,500.00,500.00,,Example data. Joined during month 6. Still paying at the close of month 12. New MRR. The mid-period signup. Not a real customer.
new_customer,N03,6,8,0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,300.00,,"Example data. Joined during month 6. Left in month 8, the first month they are not a customer. Excluded from cohort churn and from new MRR at the close. Not a real customer."
month,M01,,,,10000.00,0.00,0.00,0.00,,10000.00,,,100.0%,Month 1. No cohort movement. 10000.00 / 10000.00.
month,M02,,,,10000.00,0.00,0.00,2000.00,,8000.00,,,80.0%,Month 2. C05 and C06 cancel. 8000.00 / 10000.00.
month,M03,,,,8000.00,0.00,0.00,0.00,,8000.00,,,100.0%,Month 3. No cohort movement. 8000.00 / 8000.00.
month,M04,,,,8000.00,2000.00,0.00,0.00,,10000.00,,,125.0%,Month 4. C01 expands by 1000.00 and C04 expands by 1000.00. 10000.00 / 8000.00.
month,M05,,,,10000.00,0.00,0.00,0.00,,10000.00,,,100.0%,Month 5. No cohort movement. 10000.00 / 10000.00.
month,M06,,,,10000.00,0.00,400.00,0.00,,9600.00,,,96.0%,Month 6. C07 contracts by 400.00. N02 and N03 join and are not in these cohort columns. 9600.00 / 10000.00.
month,M07,,,,9600.00,0.00,0.00,0.00,,9600.00,,,100.0%,Month 7. No cohort movement. 9600.00 / 9600.00.
month,M08,,,,9600.00,960.00,0.00,0.00,,10560.00,,,110.0%,Month 8. C01 expands by 960.00. N03 leaves and is not in these cohort columns. 10560.00 / 9600.00.
month,M09,,,,10560.00,0.00,0.00,0.00,,10560.00,,,100.0%,Month 9. No cohort movement. 10560.00 / 10560.00.
month,M10,,,,10560.00,0.00,0.00,0.00,,10560.00,,,100.0%,Month 10. No cohort movement. The reactivation scenario is not applied here. 10560.00 / 10560.00.
month,M11,,,,10560.00,0.00,0.00,0.00,,10560.00,,,100.0%,Month 11. No cohort movement. 10560.00 / 10560.00.
month,M12,,,,10560.00,0.00,0.00,0.00,,10560.00,,,100.0%,Month 12. No cohort movement. Cohort close for the year is 10560.00. 10560.00 / 10560.00.
summary,about,,,,,,,,,,,,,SAMPLE year of 12 months for fictional Sample Ledger. Illustrative example data. Not real customer data. Not the Sample Desk month on the churn page. Replace the customer rows. Do not add real customers on top of these.
summary,customers_opening,,,,,,,,,,,,10,Count of customer rows. Sum of in_opening_cohort.
summary,mrr_opening,,,,,,,,,,,,10000.00,"Sum of customer mrr_open. The cohort on the morning of month 1, before N01 joins."
summary,expansion_mrr,,,,,,,,,,,,2960.00,"Sum of customer expansion_mrr. C01 is 1000.00 plus 960.00, and C04 is 1000.00."
summary,contraction_mrr,,,,,,,,,,,,400.00,"Sum of customer contraction_mrr. C07, 800.00 down to 400.00, in month 6."
summary,churn_mrr,,,,,,,,,,,,2000.00,"Sum of customer churn_mrr. C05 is 960.00 and C06 is 1040.00, both in month 2."
summary,reactivation_base,,,,,,,,,,,,0.00,Base year. The reactivation scenario is not added to the month rows or to mrr_close.
summary,reactivation_scenario,,,,,,,,,,,,960.00,C05 only. Used solely in the reactivation formula variant. Not in the base close of 10560.00.
summary,mrr_close_cohort,,,,,,,,,,,,10560.00,Sum of customer mrr_close. 10000.00 + 2960.00 - 400.00 - 2000.00.
summary,new_mrr_close,,,,,,,,,,,,700.00,Sum of new_mrr_close. N01 is 200.00 and N02 is 500.00. N03 is 0.00.
summary,book_close,,,,,,,,,,,,11260.00,Cohort close 10560.00 plus new MRR close 700.00.
summary,n03_mrr_while_active,,,,,,,,,,,,300.00,N03 only. Excluded from cohort churn and from new_mrr_close.
summary,nrr_cohort,,,,,,,,,,,,105.6%,10560.00 divided by 10000.00. Month-12 cohort close over month-1 open.
summary,nrr_movements,,,,,,,,,,,,105.6%,(10000.00 + 2960.00 + 0.00 - 400.00 - 2000.00) divided by 10000.00.
summary,nrr_with_reactivation,,,,,,,,,,,,115.2%,(10000.00 + 2960.00 + 960.00 - 400.00 - 2000.00) divided by 10000.00. Equals 11520.00 / 10000.00.
summary,nrr_contraction_left_out,,,,,,,,,,,,109.6%,(10000.00 + 2960.00 + 0.00 - 2000.00) divided by 10000.00. Equals 10960.00 / 10000.00.
summary,nrr_paddle_printed_line,,,,,,,,,,,,-45.6%,(400.00 - (2000.00 + 2960.00)) divided by 10000.00. Equals -4560.00 / 10000.00.
summary,nrr_new_included,,,,,,,,,,,,112.6%,11260.00 divided by 10000.00. Book close over cohort open.
summary,nrr_n02_stuffed_into_cohort,,,,,,,,,,,,110.6%,(10560.00 + 500.00) divided by 10000.00. Equals 11060.00 / 10000.00.
summary,nrr_n03_subtracted,,,,,,,,,,,,102.6%,(10560.00 - 300.00) divided by 10000.00. Equals 10260.00 / 10000.00.
summary,grr_churn_and_contraction,,,,,,,,,,,,76.0%,(10000.00 - 400.00 - 2000.00) divided by 10000.00. Equals 7600.00 / 10000.00.
summary,grr_churn_only,,,,,,,,,,,,80.0%,(10000.00 - 2000.00) divided by 10000.00. Equals 8000.00 / 10000.00.
summary,compound_month2_exact,,,,,,,,,,,,0.068719476736,"16,777,216 divided by 244,140,625. Month 2 rate 0.80 raised to the 12th power."
summary,compound_month2_one_decimal,,,,,,,,,,,,6.9%,0.068719476736 rounded to one decimal percent.
summary,product_of_monthly_rates,,,,,,,,,,,,105.6%,"Product of the 12 month value rates. 0.80 times 1.25 times 0.96 times 1.10, with the other eight months at 1.00. Equals the cohort NRR."More of the money work for a one-person SaaS sits on Money and ops.
NRR calculator The sample cohort as a form. New MRR stays out of NRR. The starting dollars are sample data. Free tool How to calculate MRR, and what not to count The monthly price of the subscriptions you still have. Annual plans are divided by 12 there. This page starts from that monthly price. Guide MRR vs ARR: the difference, and how to convert The same recurring base as one month or as a year. A fictional sample converts MRR times 12, and leaves the setup fee out of both. Blog How to calculate churn rate when formulas disagree Customer churn, gross revenue churn, and net revenue churn on one sample month. A different sheet from this cohort. GuideFAQ
How do you calculate NRR?
Divide the ending MRR of the customers you already had by the MRR those same customers paid at the start. On the sample sheet that is $10,560 divided by $10,000, which is 105.6%. The movement form is starting MRR, plus expansion, plus reactivation, minus contraction, minus churn, divided by starting MRR. With reactivation at $0, that is the same 105.6%.
Why leave new customers out of NRR?
NRR answers what happened to the group you already had. On the sample sheet the opening group paid $10,000. Three later customers end the year at $700 of new MRR. Folding that $700 into the numerator produces $11,260 divided by $10,000, which is 112.6%. ChartMogul’s Net MRR Retention report says the calculation excludes new business.
What is the difference between NRR and GRR?
GRR leaves expansion out. On the sample sheet, starting MRR minus $400 of contraction minus $2,000 of churn is $7,600, and $7,600 divided by $10,000 is 76.0%. Cohort NRR on the same rows is 105.6%. The gap is the $2,960 of expansion, which is 29.6 percentage points. A GRR that also leaves the $400 contraction out of the subtraction is 80.0%.
Does compounding a monthly NRR give you the annual NRR?
Only if you multiply the real monthly cohort rates. On the sample sheet those twelve rates multiply to 105.6%, the same figure as $10,560 divided by $10,000. Raising month 2’s 80.0% to the 12th power is 6.9% to one decimal. The exact product is 16,777,216 divided by 244,140,625. That second figure pretends every month lost 20%.
Does a signup during the year count in NRR?
Not in the starting cohort. N02 joins in month 6 and is still paying $500 at month 12. Adding that $500 to the cohort close produces $11,060 divided by $10,000, which is 110.6%. N03 joins in month 6, leaves in month 8, and paid $300 while active. Subtracting that $300 produces 102.6%. Neither customer was in the opening $10,000.
What is a good NRR?
This page does not pick one. Every rate in the tables is the sample cohort. ChartMogul’s NRR page, updated September 8, 2026, says a December 2025 analysis of 3,500 software companies found a median NRR of 82% for B2B SaaS, and 97% at the top quartile. That 82% is their figure. Stripe’s NRR page, updated May 7, 2026, says a rate above 100% generally indicates healthy retention and expansion, and walks through its own example of 101%.