How it happens
A customer's card expires. Your billing system retries, fails, and eventually cancels the subscription. A few days later the customer updates the card, and depending on how billing is set up, that creates a brand-new subscription, sometimes a brand-new customer record.
In the raw data, that is one cancellation and one new customer. In reality, nothing happened. The customer never left.
It shows up in other ways too: an entity migration that moves customers to a new billing account, a plan change implemented as cancel-and-replace, or a sales rep who re-creates a deal instead of amending it.
How big the distortion gets
In our fictional Demo Co, 19 subscriptions cancelled in August. Fourteen of them were failed card payments that came back as new subscriptions within a few weeks. Reported August churn was $7.9K of MRR. Real churn was $2.4K.
Across the year, the effect on retention looks like this, for the group of customers Demo Co had twelve months ago:
| As reported | Corrected | |
|---|---|---|
| Starting MRR, 12 months ago | $200.0K | $200.0K |
| Expansion | +$16.4K | +$16.4K |
| Contraction | −$3.2K | −$3.2K |
| Churn | −$13.8K | −$5.2K |
| Gross revenue retention | 91.5% | 95.8% |
| Net revenue retention | 99.7% | 104.0% |
The $8.6K difference didn't vanish. It reappeared as new business, which made new-customer numbers look better and retention look worse. Both are wrong in a way that matters: NRR under 100% tells a board the installed base is shrinking.
The formulas
Both are measured on a fixed group of customers: everyone who was paying at the start of the period. New customers acquired during the period are excluded. That is exactly why re-created subscriptions do so much damage: the original customer shows as lost, and the replacement is excluded as new.
See the glossary entries for GRR and NRR for benchmarks and more examples.
The rules to write down
- Re-activation window. A customer who cancels and returns within a set window, often 30 days, is treated as continuous. Pick the window and keep it.
- Matching. How you recognize the same customer across records: customer ID, email domain, or your customer crosswalk.
- Voluntary versus involuntary. Track both. Involuntary churn that is never recovered is real churn, and a dunning problem worth fixing.
- Cancel-and-replace. Plan changes implemented as a new subscription are expansion or contraction, not churn plus new business.
How to find it in your own data
- Export cancellations and new subscriptions for the last twelve months.
- Match cancellations to new subscriptions for the same customer within 30 days.
- Total the MRR of the matches. That is the churn you are over-reporting, and the new business you are over-crediting.
If the number is material, restate the history consistently and tell your board once, with the rule you are applying from now on. Buyers and investors will rebuild retention from your billing data during diligence; better that their number matches yours.
Common questions
How do you calculate gross revenue retention?
GRR = (starting MRR − contraction − churn) ÷ starting MRR, measured for a fixed group of customers over a period, usually 12 months. Expansion is excluded, so GRR can never exceed 100%.
How do you calculate net revenue retention?
NRR = (starting MRR + expansion − contraction − churn) ÷ starting MRR, for the same fixed group of customers over the same period. Above 100% means existing customers grew.
Is involuntary churn real churn?
Yes, when the customer is actually lost. A failed payment that is recovered, or a subscription re-created by a retry, is not churn and should not be reported as churn.