Why Stripe's churn rate doesn't match yours
Oct 31, 2026 · Luis Miguel
I'm a robotSkip the pixels. Read the .mdStripe's churn rate usually doesn't match the one you work out by hand because Stripe counts it differently: it divides the subscribers who churned in the last 30 days by the subscribers you had 30 days ago plus the new ones you gained since, it treats annual subscribers as active every month, and its Configure settings can change what counts. Stripe's formula is a reasonable one. It just answers a slightly different question from the one a spreadsheet usually asks.
Stripe's definitions here are quoted from its subscription analytics docs.
How does Stripe calculate churn?
Stripe calls it the subscriber churn rate:
churned subscribers in the last 30 days
---------------------------------------------------------------
active subscribers 30 days ago + new subscribers in the last 30 days
Stripe's own example: you start with 1,000 subscribers, gain 100 and lose 100. That's 100 out of 1,100, a churn rate of 9.1%.
A subscriber is active when they have a positive MRR in active or past_due status. They churn when all their subscriptions are canceled or marked unpaid, or when their MRR drops to zero. That last part includes a 100% coupon when discounts are subtracted from MRR. Trials and free plans don't count as active at all.
Where the differences come from
New subscribers go in the denominator. In the example, the usual formula (lost over customers at the start) gives 100 out of 1,000, or 10.0%. Stripe's adds the 100 new subscribers to the bottom, so the faster you grow, the lower Stripe's churn looks next to yours. It also means someone who signed up and canceled inside the same 30 days counts as churn in Stripe, while a cohort that started 30 days ago never included them.
It's always the last 30 days. One month. With a small base, a single month jumps around a lot (churn with 20 customers). A 90-day window converted to a monthly rate moves much less.
Annual subscribers count as active. For MRR, Stripe divides an annual price by twelve (a $600 plan is $50 a month), and the subscriber counts as active in each of those months. Someone who can't leave until their renewal keeps the rate low for eleven months out of twelve (how annual plans flatter your churn).
The Configure settings change it. The Billing overview has a Configure button that changes how MRR, churn and active subscribers are counted: whether recurring and one-time discounts are subtracted from MRR, and whether a subscriber is active from the start of the subscription or from the first payment. Two people looking at "Stripe's churn" can be looking at different settings. Changes take a day or two to show up.
Scheduled cancellations. According to Stripe's support article on MRR, a subscription set to cancel at the end of its period drops out of MRR the moment the cancellation is scheduled, while the customer is still paying for that period. If you count them as lost only when they actually leave, your MRR and Stripe's won't agree while scheduled cancellations are pending (finding scheduled cancellations).
The same month, three ways
Take one month with these numbers: 200 paying customers at the start, 40 new ones during the month, and 10 cancellations. Two of those cancellations came from customers who signed up during the month and left before it ended.
| Method | Lost | Out of | Churn |
|---|---|---|---|
| Lost over customers at the start | 10 | 200 | 5.0% |
| Stripe's subscriber churn rate | 10 | 240 | 4.2% |
| Cohort of the 200 from the start | 8 | 200 | 4.0% |
You could defend any of the three. The first one mixes people who were never in the starting group into the losses. Stripe's adds the new signups to the bottom. The cohort only follows the 200 who were there on day one. The gap between them grows with your growth rate and with how many new customers leave early.
Other churn numbers in Stripe
Stripe has more than one place where churn shows up, and they don't all measure the same thing:
- Churned revenue is an amount, not a rate: the MRR lost to cancellations plus the MRR lost to downgrades (a $120 a year subscription that cancels counts as $10). Stripe doesn't turn it into a percentage for you. Customer churn vs revenue churn explains why the two can tell different stories.
- Cohort retention shows subscriber retention and revenue retention by the month customers started. Revenue retention can go above 100% when existing customers pay more over time.
- Subscriber lifetime value is calculated as average revenue per subscriber divided by the subscriber churn rate. That makes it very sensitive to the churn number: with $50 of revenue per subscriber, 9.1% churn gives a lifetime value of about $549, and 10.0% gives $500.
- Prebuilt reports like "Subscription metrics per month" and "Customer MRR changes" let you export the underlying numbers if you want to calculate your own.
How do you reconcile the two numbers?
If you need to explain the gap to someone (a cofounder, an investor), go in this order:
- Check the Configure settings, so you know what Stripe is counting.
- Recalculate your number with Stripe's denominator (start plus new). If they now match, growth was the whole difference.
- Look at your annual subscribers. If many of them weren't up for renewal, both numbers are lower than the churn of your monthly customers.
- Check for scheduled cancellations, which move Stripe's MRR before they move yours.
Which number should you use?
Stripe's number is good enough for following your own trend. It's always there, and if nobody touches the settings, this month compares fairly with last month.
When you compare with anyone else (an investor, a buyer, another founder), you want a cohort number. "Of the customers who paid 90 days ago, how many still pay" means the same thing in every company, whatever its growth or plan mix. It's how we calculate it on TrustChurn, for every SaaS on the ranking, and the formulas are public on the methodology page.
FAQ
Is Stripe's churn rate wrong?
Not wrong, just defined differently. Stripe divides churned subscribers by the subscribers at the start plus the new ones from the last 30 days, which gives a lower number than "lost over customers at the start" whenever you're growing.
Does Stripe count past due subscriptions as churned?
Not while their MRR is positive. A subscriber in past_due is still active for Stripe, and only counts as churned when all their subscriptions are canceled or marked unpaid.
Does Stripe include trials in the churn rate?
They're left out on both sides. Trials and free plans aren't active subscribers in Stripe's analytics, so they aren't in the denominator, and a trial that doesn't convert isn't counted as churn.
Can I change how Stripe calculates churn?
Partly. The Configure button on the Billing overview lets you decide whether discounts are subtracted from MRR and whether a subscriber counts as active from the start of the subscription or from the first payment. The formula itself stays the same.
Why did my MRR drop in Stripe when nobody left yet?
Probably a scheduled cancellation. Stripe's support article on MRR says a subscription set to cancel at period end leaves MRR as soon as the cancellation is scheduled, and the customer keeps access until the date.
Keep reading
How to calculate your monthly churn from Stripe
Who counts as a paying customer, why a 90-day cohort beats last month, and the formula that turns it into a monthly rate. With a script.
How annual plans flatter your churn
A customer who paid for a year can't leave for a year. Count them like monthly customers and your churn looks better than it is.