How to measure involuntary churn rate?
- Khushi Lunkad

- Dec 24, 2025
- 4 min read
The first step to managing churn is to track your voluntary and involuntary churn rates separately.
I cannot stress how important it is to break it down, especially as you begin to hit scale.
I’ll share a few ways you can calculate your involuntary churn rate, starting from the simplest to a more comprehensive one.
Method 1: Use Stripe
...or any billing provider.
Step 1: Export the Recoveries Report
Navigate to: Stripe Dashboard > Revenue Recovery > Failed Payments
Set your date range (e.g., last 3 months, or custom range).
For custom range, you may need to use Sigma. Open to view code.
You can customize the date window.
select reporting_currency, initial_payment_decline_reason as decline_reason, sum(initial_failed_amount) as initial_failed_amount, count(*) as initial_failed_count from recoveries where coalesce(initial_payment_failed_at, paid_at) between cast('2025-11-01 00:00:00' as timestamp) and cast('2025-12-01 00:00:00' as timestamp) and initial_payment_decline_reason is not null and initial_payment_failed_at is not null group by 1, 2 order by 3, 4
Click "Export" and download the recoveries data as CSV

This gives you the Recoveries_[date_range].csv file
Step 2: Get Your Starting Subscriber Count
Navigate to: Stripe Dashboard > Billing > Subscribers
Set the date to the start of your analysis period (e.g., Oct 1)
Note the total number of active subscribers

This is your denominator.
Step 3: Calculate Involuntary Churns from CSV
Open the CSV and filter/count rows where:
retries_exhausted = "true" AND
amount_paid = "0.00" AND
recovered_at is empty
This count is your involuntary churn.
Step 4: Calculate the Rate
Involuntary Churn Rate = (Involuntary Churns / Starting Subscribers) × 100
Example using your data:
Involuntary churn = 40 (from Step 3)
Starting subscribers = 1000 (from Step 2)
Involuntary churn rate = 40/1000*100 = 4%
This is a rough, back of the napkin method to calculate your involuntary churn rate.
❌ Don't use this Stripe's "Failed Payments" chart because it includes:
Payments that eventually recovered (through retries/dunning)
Temporary failures that customers fixed

You can extend this calculation to the voluntary churn piece as well.
Step 5: Extract the total churned subscribers.
Make sure you set the exact time period as your exported CSV. It might look something like (Oct 1st to Dec 23rd) if you're exporting mid-month.

Let's assume this was 200 subscribers when exported for ~2.5 months.
So subscribers lost due to voluntary churn is 200 minus 40.
= 160
Voluntary churn rate is 160/1000 = 16%
80% of your churn is voluntary (customers actively choosing to cancel), while 20% is involuntary (payment failures).
The biggest downside of this method is it only captures permanent involuntary churn (customers you lost), not total involuntary churn risk (all customers who experienced payment failures, including those you successfully recovered).
Method 2: Use Proper Tracking
Larger companies track churn at the moment of cancellation by capturing the cancellation trigger, not retrospectively analyzing payment data.
Step 1: Extract reason code
Every subscription cancellation gets tagged with a reason code:

This is how Stripe treats it:
"cancellation_requested" → Voluntary
"payment_failed" → Involuntary
"payment_disputed" → Involuntary (chargeback)
Voluntary churn would encompass when the user clicks on the cancel button, user doesn't renew, user downgrades to the free tier.
Involuntary churn would encompass if subscriptions are cancelled due to a payment failure and when dunning retries are exhausted.
Step 2: Use an internal system
Beyond Stripe, we would also want to use an internal system.
You should track all the payment methods you use, the locations where users come from, reasons why they churn, their card network, and so on.
Your churn rate calculation should also be a rolling churn rate instead of a point-in-time snapshot. The simple method won't work if you're growing fast.
You'll want a lot more granularity in the data. And you need help from data scientists.
Step 3: Draw conclusions and hypothesis
You'd want to start cleaning up the data for all your important regions (e.g., if the US is very important for subscriptions) so you can measure the idiosyncrasies of each market. You might find that Brazilian users tend to wait quite a while before subscribing, even way past their 30-day free trial, up to 45 days for conversion.
If you discover that you have higher involuntary churn, paired with customers returning about 60 to 90 days later, it might point at payment friction. You can switch payment providers in particular regions as an experiment.
Through data mining work, you'd discover insights like price sensitivity by region, preferred payment methods by country, and behavioral patterns that differ across markets.
Realization of churn
One accounting question that decides churn rate is when should a failed payment be realized? And when should a voluntary cancellation be realized?
I'll leave you with this note from Netflix to make a decision,
"A membership is canceled and ceases to be reflected in the above metrics as of the effective cancellation date. Voluntary cancellations generally become effective at the end of the prepaid membership period. Involuntary cancellations, as a result of a failed method of payment, become effective immediately."
Stripe allows you to customize this in their platform.

Benchmarks
Involuntary churn benchmarks across billions in subscriptions look somewhat like this:
Industry | Total Annual Churn | Annual Involuntary Churn | % of Total from Involuntary |
Digital goods | 38% | 11% | 29% |
Business services | 40% | 10% | 26% |
Personal services | 36% | 9% | 25% |
Education | 40% | 10% | 24% |
Merchandise | 39% | 9% | 23% |
SaaS | 38% | 8% | 22% |
Travel & lodging | 43% | 8% | 18% |
Leisure | 36% | 6% | 17% |
Insurance | 37% | 3% | 9% |
Business Model | Annual Churn | Annual Involuntary Churn | % from Involuntary |
B2C | 39% | 9% | 24% |
B2B | 38% | 6% | 16% |
Price Tier | Annual Churn | Involuntary Churn | % from Involuntary |
<$10 | 40% | 14% | 35% |
$10–$30 | 37% | 9% | 23% |
$30–$100 | 34% | 9% | 26% |
$100–$1,000 | 30% | 6% | 19% |
$1,000–$10,000 | 24% | 4% | 15% |
>$10,000 | 15% | 4% | 24% |
Hope this helps :)
~ Khushi Lunkad



Comments