Subscriber Churn Rate: Formulas, Cohorts and What to Fix
Calculate subscriber churn with matched cohorts, distinguish cancellation from access loss, and compare subscriber, revenue and renewal measures with worked examples.
Subscriber churn rate describes losses from a subscription population over a defined interval. To use it well, specify who counts as a subscriber, which event counts as a loss, and which population supplies the denominator. A cancellation request, an expired subscription and an inactive app user are different observations.
For a clear starting point, this guide uses opening-cohort subscriber loss: the percentage of people who had qualifying paid access at the start of an interval and no longer have that access at its end. This is an explicit measurement contract for the worked examples, not a claim that every billing dashboard uses the same formula. All example numbers are hypothetical.
Choose the question before calculating a percentage
A product team might ask whether new subscribers reach their second renewal. Finance might ask how much recurring revenue the existing customer base lost. Support might ask how many people experienced an interruption while a payment was recovered. Each deserves a useful measure; combining their definitions can make an accurate dashboard answer the wrong question.
| Decision | Example contract | Why it matters |
|---|---|---|
| Counting unit | One identified person, across qualifying paid subscriptions | Losing one of two subscriptions need not mean losing the person. |
| Eligibility | Paid access active at the opening instant; trials and free plans excluded | Trial conversion is a separate population and outcome. |
| Loss | No qualifying paid access at the closing instant | Turning off renewal can precede expiration by months. |
| Interval | A settled calendar month in a named timezone | A rolling 30-day view is not always the same window. |
| Recovery | An opening subscriber restored before close counts as retained | A first-interruption measure would still record that earlier interruption. |
| Identity | The same stable person key at opening and close | Restore, account changes and duplicate identities can create false losses. |
Keep a short definition beside the chart, including its data source and effective-date rules. If you change the contract, mark the change and recalculate comparable history where possible. A lower rate after changing the denominator is not evidence that the product improved.
The subscriber churn formula, with a matched cohort
Under this guide's contract:
Opening-cohort subscriber loss = original subscribers without qualifying access at close ÷ qualifying subscribers at opening × 100.
Freeze the opening set, then look up each member's closing state. Count distinct people rather than notifications. Late-arriving notifications, repeated delivery and store reconciliation can change the recorded state; use a settled cutoff and retain the event's effective time as well as its arrival time. Missing state needs investigation rather than automatic classification as a loss.
New subscribers belong in acquisition and growth reports, but they do not enter this opening-cohort calculation. If the opening set is empty, its loss rate is undefined. Show that explicitly instead of reporting 0%.
A worked example: growth and churn can happen together
Suppose a subscription app starts a settled 30-day interval with 100 paid subscribers. Each person has one subscription. Ten original subscribers lose access. Twenty newcomers start paying, and four of those newcomers also lose access before the interval closes. There are no trials, refunds, pauses, recoveries, reactivations or product changes.
| Question | Calculation | Result |
|---|---|---|
| Opening subscribers lost at close | 10 ÷ 100 | 10% |
| Opening subscribers retained at close | 90 ÷ 100 | 90% |
| Paid subscribers at close, including newcomers | 100 − 10 + 20 − 4 | 106 people |
| Total distinct losses in the interval | 10 original + 4 newcomers | 14 people |
The subscriber base grew by six people while losing 10% of its opening cohort. Now consider the shortcut opening + new − closing: 100 + 20 − 106 = 14. Here it recovers total losses under the stated assumptions, but four belong to newcomers. Dividing 14 by 100 would not measure the proportion of original subscribers lost. With reactivations or other movements, even that residual needs a fuller ledger.
Why billing dashboards can disagree
Check the dashboard definition before interpreting a mismatch as broken data. As reviewed on October 13, 2026:
- RevenueCat Charts v3 uses net paid-subscription access-loss movements over paid subscriptions active at the interval's start. Newly started subscriptions can enter the numerator if they expire during the interval. Its docs therefore allow rates above 100%; recoveries and certain access restorations can also produce negative churn. This is not opening-cohort loss.
- Stripe Billing divides churned subscribers over the preceding 30 days by opening active subscribers plus new subscribers. It counts a customer with multiple active subscriptions once. Its MRR-based eligibility and configuration are separate from an app's entitlement contract.
- ChartMogul's standard customer churn formula excludes customers who joined and churned during the interval, and those who churned and reactivated. Its churn recognition and account configuration still matter.
Applied to the simplified example above, those cited formulas yield 14%, approximately 11.67%, and 10%, respectively. These are arithmetic illustrations of their documented rules, not results verified in vendor accounts. They do not establish which system is right for your reporting question.
Cancellation, expiration and failed payment need separate states
For ordinary auto-renewing mobile subscriptions, disabling renewal can leave current access intact. Apple's subscription-retention technical guidance distinguishes renewal preference from expiration. Google Play's lifecycle guide likewise distinguishes canceled subscriptions, grace periods, account hold and expiry. Installment commitments and other cancellation choices need their own timing rules.
Track the renewal preference, current entitlement, next access boundary, unresolved payment state and effective loss time separately. Grace can preserve access after a failed payment; a recovered payment can avoid or end an interruption. An unrenewed annual subscriber can remain entitled for a substantial period. A refund also needs its actual access consequence checked.
This separation changes the intervention. A renewal-disabled subscriber may warrant an optional question about their reason. A payment problem may warrant the store or billing provider's supported recovery flow. Someone who has already lost access needs a different message. An absence of app sessions alone proves none of these states.
Keep subscriber loss and revenue loss separate
Headcount gives every subscriber equal weight. Recurring-revenue loss also reflects prices and changes among retained subscribers. Use a consistent monthly-normalized revenue basis, currency and discount treatment. Cash collected, annual billings, store proceeds and profit are different quantities; see the MRR guide for the measurement boundary.
Consider another hypothetical opening cohort: 100 subscribers, each contributing $10 MRR, for $1,000 opening MRR. Ten leave, losing $100. Ten different retained subscribers downgrade to $8, losing another $20. Five other retained subscribers upgrade to $20, adding $50. No other movements occur.
- Subscriber loss is 10 ÷ 100 = 10%.
- Gross recurring-revenue loss, including contraction, is ($100 + $20) ÷ $1,000 = 12%.
- Net recurring-revenue loss is ($100 + $20 − $50) ÷ $1,000 = 7%.
- Closing MRR from the opening cohort is $930, so net revenue retention is 93%.
ChartMogul's gross MRR churn documentation includes churn and contraction in its standard measure, with configurable treatment. Confirm your own definition before reconciling a report. Negative net revenue loss is possible when increases outweigh decreases in the existing cohort. It does not imply that no people left, nor does it prove profitability or product-market fit.
Compare subscribers at the same age and renewal opportunity
Calendar-month churn mixes subscribers at different ages. A paid-start cohort asks how subscribers progress after starting payment. A monthly subscriber can face renewal much sooner than an annual subscriber, so separate product durations and compare mature renewal opportunities.
Suppose all 100 members of a cohort have enough follow-up for two renewals. Eighty reach the first renewal, and 70 reach the second without an intervening loss. Cumulative retention is 80%, then 70%. The conditional loss between those renewals is 10 ÷ 80 = 12.5%; cumulative loss by the second is 30 ÷ 100 = 30%. Those denominators answer different questions.
A person observed for ten days has not failed a day-30 outcome. Keep incomplete follow-up out of a mature day-30 proportion. For time-to-first-loss analysis, use a defined event and a method that handles incomplete observation; do not simply count every unfinished record as churn. If you count restored people as retained at later dates, label the chart as current cohort membership rather than uninterrupted survival. RevenueCat's retention documentation explains its paid-start and renewal-period rules.
App usage retention is another question. Someone can stop opening the app while remaining subscribed. Connect usage and billing evidence to investigate the relationship, while preserving each definition.
Turn a measured problem into a specific action
Start with a segment that has a meaningful count and a comparable observation window. Break it down by subscription duration, store, subscriber age and acquisition channel where the data supports that detail. Then inspect failed tasks, support cases, payment state and voluntary reasons before choosing a response.
| Evidence | Candidate action | Outcome and guardrail |
|---|---|---|
| New subscribers fail a necessary setup task | Repair the task and test clearer contextual guidance | Task success and mature paid retention; watch errors and support burden |
| Confirmed payment failures precede access loss | Check supported billing recovery and clear status communication | Recovered access; watch duplicate messages and inappropriate offers |
| Respondents report unclear value or packaging | Clarify the benefit and available plan choices | Net retained value; watch refunds, complaints and margin |
| Lost subscribers return after a relevant product change | Test a bounded, relevant win-back message | Durable paid return; watch opt-outs and repeat loss |
Exit surveys are evidence from respondents, not a census of every lost subscriber. Report invitations, response count, question wording and whether people could select several reasons. Treat a proposed cause as a hypothesis until other evidence supports it. Do not obstruct cancellation while collecting feedback.
For a product change, define assignment, the primary outcome, observation horizon and guardrails before launch. An earlier signup cohort and a later one can differ in channels, prices or seasonality; their before-and-after difference is not proof that onboarding caused an improvement. A cancellation-screen save is an early signal. Mature retention, refunds and retained value decide whether it helped. The retention planning guide covers this investigation-to-experiment workflow.
What is a good subscriber churn rate?
There is no useful universal target without a matching population and definition. A benchmark needs its dataset date, product duration, subscriber age, store or market, eligibility, numerator, denominator and observation horizon. A cancellation-preference percentage is not an expiration percentage, and a SaaS customer metric is not automatically a mobile-subscription benchmark.
Start with a reproducible baseline and the economics of the segment. Keep absolute counts beside percentages. Investigate a meaningful change, test one supported hypothesis, and return when the outcome has matured. Better measurement makes a retention decision reviewable; it does not promise a particular uplift.