Revenue retention · Documentation-based guide with original exercise

GRR and NRR: how much revenue the same customers retain

Content updated:

Short answer

GRR retains the initial base after churn and contraction; NRR adds expansion from those same customers. Both require a fixed cohort and comparable monetary basis. New customers acquired during the period are excluded. NRR above one hundred percent can coexist with customer losses and deteriorating gross retention.

Key verification: The starting customer list remains fixed and each movement explains the difference between opening and closing amounts.

Sources and limitations

An agency grows billing through new accounts while losing older contracts. The total increases without answering how much of its original portfolio remains. This guide uses comparable monthly recurring amounts, keeping full annual invoices and overdue cash receipts out of the recurring revenue comparison.

Fictional revenue bridge

GRR and NRR: how much revenue the same customers retain: table 1
Starting portfolio movementMonthly amount EUR
Starting base10000
Churn1000
Contraction500
Expansion2000
Closing cohort amount10500

GRR = (10000 − 1000 − 500) / 10000 = 85%. NRR = (10000 − 1000 − 500 + 2000) / 10000 = 105%. An additional 3000 EUR from new customers helps total growth but is excluded from these numerators. With a zero starting base, the divisions are undefined; do not publish an invented percentage.

Revenue bridge for the starting cohortStacked bar from left to right. Starting base of 10000 euros a month. 1000 of churn and 500 of contraction are subtracted, leaving 8500, the GRR cut-off. From there, 2000 of expansion is added to reach 10500, the NRR cut-off. New accounts acquired during the period do not appear in this bridge. Starting base 10000 − Churn 1000 − Contr. 500 GRR 8500 85% + Expansion 2000 NRR 10500 105%
The GRR cut-off is reached after subtracting churn and contraction; the NRR cut-off is reached by adding expansion on top of that same point. Neither block includes revenue from new accounts.

Fix definitions before comparing

The ChartMogul definitions distinguish retention with and without expansion: NRR includes expansion from existing customers and GRR excludes it, to show only how much prior revenue is retained. Our example is fictional arithmetic rather than an industry benchmark. Define period, currency and treatment of pauses or reactivations consistently. A currency movement alone does not establish a contracted expansion.

GRR and NRR: how much revenue the same customers retain: table 2
Observed resultWhat may be happening
GRR and NRR both high and close togetherA stable portfolio with little churn and little expansion
Low GRR and high NRRSignificant churn or contraction exists; expansion from a few accounts is masking it in the total without resolving it
Low GRR and low NRRBroad erosion of the portfolio with not enough expansion to offset it

Preparing the data with Riibase

Riibase presents CRM, pipelines and reporting. When evaluating it for this task, request a demonstration of account identifiers and exportable dated movements; we do not claim a native NRR report without verification, because the page describes pipeline, automation and sales analytics rather than that specific calculation. A spreadsheet can solve the example. Reconstruct closing amounts customer by customer and check that no new account entered the cohort. Keep both GRR and NRR so a large expansion does not hide churn.

Rebuild the cohort customer by customer

Before using the earlier total, reproduce this fictional breakdown in a worksheet. All four accounts were active at the start. Amounts represent comparable monthly recurring revenue, not bank balances. New account N is shown to expose accidental inclusion and is excluded from both indicators.

GRR and NRR: how much revenue the same customers retain: table 3
AccountOpening EUR/monthClosing EUR/monthClassification in this exercise
A10000Churn: 1000
B30002500Contraction: 500
C40006000Expansion: 2000
D20002000Unchanged
N, new03000Outside the cohort

For GRR, sum the smaller opening or closing amount for each account: 0 + 2500 + 4000 + 2000 = 8500. For NRR, sum closing revenue for the starting accounts: 0 + 2500 + 6000 + 2000 = 10500. Dividing each by 10000 reproduces 85% and 105%. Incorrectly including N would increase NRR to 135%. Total company closing revenue is 13500, answering a different question.

Edge case: if all four accounts churned completely, GRR and NRR would both be 0%, a defined though extreme result; that differs from a zero starting base, which leaves the division undefined. Between those extremes, a single dominant account like C can carry the whole cohort's NRR: before presenting the indicator, check how much of the expansion comes from just one account.

What NRR above 100% can hide

Three of the four starting accounts remain: customer retention = 3 / 4 = 75%. C's expansion offsets revenue losses but does not recover account A. Publish cohort size and both kinds of retention so one large account cannot obscure commercial dependence. Neither 75% nor 105% is a recommended target in this article.

Common mistakes and how to spot them

GRR and NRR: how much revenue the same customers retain: table 4
MistakeSymptomCheck
Including new customers in the numerator or denominatorGRR or NRR exceed 100% without any real expansionVerify every account in the calculation was active at the start of the period
Calculating with a zero starting baseThe result is a huge percentage or a division errorCheck that the cohort had recurring revenue at the start
Mixing currencies without separating the exchange effectThe apparent expansion matches an exchange-rate movementRecalculate with a fixed exchange rate and show the difference separately
Comparing periods of different length without normalisingA quarter and a month appear in the same table with no noticeNormalise every amount to the same time unit before comparing
Confusing revenue retention with customer retentionA high NRR is presented as if no customer had leftPublish the count of accounts still active alongside the indicator

Checks before comparing months

  • Retain a stable customer identifier through name or account-owner changes. Two contracts for one account do not necessarily represent two customers.
  • Normalise annual contracts to the chosen monthly unit. A uniform recurring service costing EUR 12000/year would be EUR 1000/month; exclude a EUR 500 one-off setup fee from this exercise. State clearly whether amounts include or exclude VAT, and apply the same rule to every account in the cohort.
  • Write down how pauses and reactivations are treated. This calculation compares two snapshots; it cannot detect churn followed by a return between them. Investigating that sequence requires a movement log.
  • For multiple currencies, use a comparable policy and show currency effects separately. Do not credit the team with expansion caused solely by exchange-rate movements.

Retain the opening export alongside the calculation and explain subsequent corrections. The indicator can then be reconstructed when someone asks which customer caused the difference.

From the author's experience

On projects where I've had to reconcile sales and billing data, the disagreement I see most often between sales and finance over what counts as "expansion" from an existing customer is failing to properly separate a recurring increase, a one-off service and a brand-new account; I get that classification agreed in writing before calculating any retention. When an agency tells me its CRM calculates NRR automatically, the first things I check are the starting cohort, the period and which components are included, and I recalculate a sample against actual billing to validate the figure before trusting it.

When an agency presents an NRR above 100%, the first question I ask is what GRR and what customer churn accompany that number, because significant expansion in a handful of accounts can offset losses elsewhere and hide them in the total. When reviewing recurring billing data, the mixing mistake I see most often is adding up amounts without separating currencies or service periods; amounts need converting with a documented, comparable method across cut-offs before anything gets summed.

When I try to reconstruct, months later, which customer caused a difference in the portfolio, what's usually missing is a stable customer identifier and a breakdown of movements by account. Without both, an aggregated portfolio difference is nearly impossible to explain accurately after the fact.

Sources and limitations

Documentary review: . Content type: Documentation-based guide with original exercise.

Linked sources describe the terms and capabilities each provider publishes. Examples that use fictional data are labelled in the text.

Scope: Documentation reviewed on 16 October 2026. Examples are fictional and tests are proposed; CallsIQ has not performed product tests.

How to report a correction

Check current terms

Consider these options if they solve the problem described. Confirm features, limits and availability in your country.

Riibase CRMAffiliate link

The labelled commercial links may earn CallsIQ a commission or referral reward. Our commercial policy.

How this guide was prepared

Official sources, explained calculations and clearly labelled examples. Read about our methodology and use of AI in writing.