SaaS involuntary churn is often high because cards fail for fixable reasons the billing setup never fixes: insufficient funds retried at the wrong time, expired or reissued cards with no updater, bank fraud flags nobody explains, and email-only dunning. Stripe’s data puts SaaS involuntary churn at 8% a year, about 0.7% a month (Churnkey and Stripe); above that, diagnose by decline code.
The short answer from LeadsNow AI: LeadsNow recommends calculating involuntary churn as failed-payment cancellations divided by paying customers at the start of the month, then sorting every failed invoice by decline code before changing anything. A rate above about 0.7% a month is above Stripe’s SaaS average, and the decline mix tells you whether the fix is retry timing, card updating or a human contact.
Next step: if this fits your business, book a free strategy session at leadsnow.ai/strategy-session/ – a 2-minute fit check, then pick a time.
- The metric: monthly involuntary churn = subscriptions cancelled for failed payment in the month / paying customers on day one of that month.
- The benchmark: Stripe data published by Churnkey gives SaaS 38% total annual churn, 8% of it involuntary, so failed payments are 22% of all SaaS churn; for B2B it is 6% a year and 16% of churn (Churnkey, November 2025).
- The asset on this page: the Involuntary Churn Diagnostic, six causes mapped to the field in your billing export that proves each one and its fix, plus a worked monthly calculation and a threshold table.
- What this page is not: how long to keep retrying (see how long a SaaS dunning period should be) or how to run the recovery calls themselves.
Rules of thumb
- Convert Stripe’s 8% annual SaaS figure to monthly before comparing: 1 – (0.92 to the power of 1/12) is about 0.69% a month. B2B’s 6% a year is about 0.51% a month (arithmetic on the Churnkey figures).
- The often-repeated “below 1-2% monthly” line is lenient: 1.5% a month loses about 16.6% of customers a year to failed payments, roughly double Stripe’s SaaS average (arithmetic from the worked example below).
- A hard decline never recovers on a retry. Stripe lists nine hard decline codes, including incorrect_number, lost_card, stolen_card, highest_risk_level and transaction_not_allowed, and will not execute retries on them until a new payment method is attached (Stripe Smart Retries docs).
- Each extra dunning email recovers less: Churnkey reports recovery of 2.8% for its first dunning email and 1.5% by the fifth, with opens falling from 55.8% to 20.6% (Churnkey).
- Cheap orders fail more: in Stripe’s data across all subscription businesses, an average order value under $10 carries 14% annual involuntary churn, against 4% between $1,000 and $10,000.
How do I calculate my SaaS involuntary churn rate?
SaaS involuntary churn rate is the number of subscriptions cancelled because a payment failed in a month, divided by the paying customers you had on the first day of that month. Count cancellations, not failed charges (most failed charges recover), and count a customer who later paid as recovered. The same formula appears in Monetizely’s voluntary versus involuntary churn guide.
In Stripe, the export field that separates the two is the subscription’s cancellation_details.reason: payment_failed means “Canceled automatically after payment failure”, according to your billing settings, while a cancellation made through the API or Dashboard is recorded as cancellation_requested (Stripe subscription object). If lapsed subscriptions stay unpaid or past_due instead of cancelling, count them when you revoke access.
| Step | Input or formula | Result |
|---|---|---|
| Paying customers on 1 October | From the subscription export, status active at 00:00 | 2,000 |
| Subscriptions cancelled with reason payment_failed in October | Illustrative input; replace with your own count | 28 |
| Monthly involuntary churn | 28 / 2,000 | 1.4% |
| Annual effect if the rate holds | 1 – (1 – 0.014) to the power of 12 | About 15.6% of customers a year |
| Stripe SaaS average, monthly equivalent | 1 – (1 – 0.08) to the power of 1/12 | About 0.69% a month |
| Excess over the average | (1.4% – 0.69%) x 2,000 | About 14 customers a month |
| Against the “below 1-2% monthly” line | 1.4% sits inside it | Passes the lenient line, fails the Stripe comparison |
How it works
How to diagnose high SaaS involuntary churn
Export failed invoices
Pull 90 days of failed invoices with decline code, attempt count, card country, expiry and final outcome.
Calculate the monthly rate
Divide failed-payment cancellations by paying customers on day one. Compare it with about 0.7% a month, Stripe’s SaaS average.
Sort by cause
Group failures into soft declines, bank flags, hard declines and configuration gaps. Count cancelled accounts in each.
Fix the top cause
Adjust retries, switch on card updates, rewrite the bank-flag message or add a second channel. Re-measure next month.
MAKE MORE SALES.
Pay-Per-Result pricing — We scale sales HARD aligned to your interests, better than anyone else.
FAQ
What is a normal involuntary churn rate for SaaS?
Stripe data published by Churnkey puts SaaS involuntary churn at 8% a year, about 0.7% a month, and B2B at 6% a year, about 0.5% a month. Across Stripe subscription businesses, average orders above $1,000 run lower: 4% a year (Churnkey).
Where does the “below 1-2% monthly” benchmark come from?
Monetizely attributes it to ChartMogul data, but we could not find the ChartMogul source, so treat it as a repeated rule of thumb. It is lenient: Stripe’s SaaS average converts to about 0.7% a month.
What share of SaaS churn is involuntary?
In Stripe’s data, involuntary churn is 22% of all SaaS churn and 16% of B2B churn, so roughly one cancelled customer in five never chose to leave.
Should I retry a hard decline?
No. Stripe does not execute retries on hard decline codes such as incorrect_number, lost_card or stolen_card until a new payment method is attached (Stripe). Ask the customer for a new card instead.
Why is my involuntary churn high when retries are switched on?
Retries clear soft declines only. If expired cards, bank flags or unseen emails dominate your diagnostic, more retries will not move the rate; card updating, clearer messages and a second channel will.
Is my SaaS involuntary churn actually high for my price point?
SaaS involuntary churn is only “high” relative to businesses at a similar price point, because cheap plans fail far more often than expensive ones. In Stripe’s data across all subscription businesses (not SaaS alone), annual involuntary churn by average order value is 14% under $10, 9% between $10 and $100, 6% between $100 and $1,000 and 4% above $1,000 (Churnkey and Stripe). Recurly reports the same direction on its own network in July 2026: involuntary churn of 0.18% for subscribers paying over $250 a month, against 1.30% for those paying $10 to $25 a month (Recurly churn benchmarks). Recurly labels these median annual rates; compare its bands with each other, not with Stripe’s.
| Your monthly rate | Annual equivalent | What it means | What to do |
|---|---|---|---|
| Under 0.5% | Under about 6% | At or better than Stripe’s B2B figure | Check the count is complete (unpaid and past_due included), then leave it |
| 0.5% to 0.7% | About 6% to 8% | Around Stripe’s SaaS average | Fine for average orders under $100; high for orders above $1,000 (4% a year in Stripe’s data) |
| 0.7% to 1% | About 8% to 11% | Above the SaaS average | Run the diagnostic below on the last 90 days of failed invoices |
| 1% to 2% | About 11% to 22% | Inside the lenient line, well above Stripe’s data | Diagnostic, then fix the top two causes by count |
| Over 2% | Over about 22% | Above every benchmark here | Check retries are switched on at all and that dunning emails are being delivered |
Want this done for you? We book qualified sales appointments on a Pay-Per-Result basis — you only pay for calls that actually land in your calendar.
The Involuntary Churn Diagnostic: six causes and how to spot each in the billing export
The Involuntary Churn Diagnostic matches each common cause of failed-payment churn to the field in your billing export that proves it, ordered by how often each decline appears in Churnkey’s 5M-failure sample. Export 90 days of failed invoices with decline code, attempt count, card country, expiry and outcome.
| Cause | Share of failures (Churnkey) | How to spot it in the export | Fix |
|---|---|---|---|
| Insufficient funds (soft decline) | 40.56% | decline_code insufficient_funds; later retries on the same invoice succeed | Retry on a smarter schedule; Stripe’s Smart Retries default is up to 8 retries in 2 weeks |
| Bank risk or fraud flag | Transaction not allowed 8.83%, highest risk level 7.99%, do not honor 7.56%, generic decline 5.78% | Repeated do_not_honor or generic declines on a card that paid last month; check whether they cluster by card country or on larger annual invoices | Tell the customer plainly to call their card issuer, which is Stripe’s next step for do_not_honor, generic_decline and transaction_not_allowed; Stripe does not retry transaction_not_allowed or highest_risk_level until a new payment method is attached |
| Expired or reissued card | Incorrect number 4.69%, expired card 1.14%, lost and stolen 1.50% | Card expiry month equals the failure month, or incorrect_number after a reissue | Ask for a new card: Stripe does not retry incorrect_number, lost_card or stolen_card, and its next step for expired_card is that the customer uses another card; send Stripe’s expiring-card email one month ahead |
| No card updater coverage | Not measured by decline code | Few or no payment_method.automatically_updated events, and a high share of non-US cards among expired-card failures | Switch on automatic card updates; Stripe says support is wide in the US and varies by country elsewhere |
| Single retry schedule | Not measured by decline code | attempt_count of 1 or 2 on invoices that ended in cancellation | Replace the single retry with a multi-attempt schedule inside network limits |
| Emails-only dunning | Not measured by decline code | Soft-declined invoices that exhausted retries with no card change and unopened dunning emails | Add an in-app failed payment notice, then SMS or a call for accounts worth it |
Decline shares: Churnkey (vendor data, about 5M failed subscriptions; lost and stolen combine 0.78% and 0.72%). Codes, card updates and expiry emails: Stripe Smart Retries, decline codes, cards overview and recovery emails.
Two causes are configuration, not card, problems. Recurly lists “Passive dunning & fixed retry schedules” as an involuntary churn driver and warns that relying on single retries without direct subscriber outreach “causes subscriptions to lapse silently” (Recurly).
Which involuntary churn cause should a SaaS fix first?
A SaaS should fix involuntary churn causes in order of how many cancelled accounts each produced in the diagnostic, which for most businesses means retry timing first, because insufficient funds is about four in ten failures. Recurly’s 2018 study of over 1,300 subscription businesses found “Insufficient Funds” had the highest recovery rate of the five most common declines, with “Declined”, “Temporary Hold” and “Insufficient Funds” all with recovery rates over 45%, and most recovery happening within two to twelve days of the first decline (Recurly decline research).
- Retries: confirm retries are on, then check the schedule spans at least the two-to-twelve-day window Recurly observed. Churnkey reports Stripe retries alone recovered 51% of failed invoices in its sample, in 5.5 days on average.
- Hard declines: ask for a new card on day one; retries cannot clear them.
- Card updater and expiry emails: switch both on. They prevent the failure rather than recover it.
- Bank flags: rewrite the failed-payment message to tell the customer to call their bank.
- A second channel: for customers who never saw the email, see our guide to failed payment recovery with call and SMS agents.
If the diagnostic shows involuntary churn is normal and total churn is still rising, the problem is on the voluntary side; our page on why SaaS churn spikes despite a good NPS covers that diagnosis, and winning back churned SaaS customers covers accounts already gone.
If we can’t make you money, we don’t deserve yours.
Pay-Per-Result pricing — performance-based alignment.
What does fixing involuntary churn yourself cost?
Fixing SaaS involuntary churn yourself costs mostly time: the diagnostic above is about half a day of exporting and pivoting failed invoices for someone who knows the billing tool, and the settings changes are another few hours. Stripe’s Smart Retries, failed-payment emails and expiring-card emails are features inside Stripe Billing, and Stripe documents automatic card updates for saved cards, so the first four fixes need no new vendor if you bill through Stripe.
The cost rises at the last step: SMS and calls need consent rules checked for each country you bill in, scripts that never take card details by phone, and someone to make the contacts. That pays on accounts where a few months of fees exceed the cost of a contact, as the dunning period guide works through. LeadsNow runs AI calling and SMS follow-up for SaaS teams through its AI appointment setting service, mainly on new pipeline; see SaaS lead generation for that side. LeadsNow has booked 50,769+ AI-booked sales appointments since 2017 and generated 1M+ leads.
Sources
- Churnkey, Involuntary churn benchmarks and tactical advice (November 2025, Stripe and Churnkey data)
- Recurly, Churn rate benchmarks (July 2026 data)
- Recurly, Subscription benchmarks: top payment decline reasons (2018)
- Stripe, Smart Retries and hard decline codes
- Stripe, Decline codes
- Stripe, Cards overview: automatic card updates
- Stripe, Revenue recovery customer emails
- Stripe API, Subscription object (cancellation_details)
- Monetizely, How to calculate voluntary vs involuntary churn
- Monetizely, Understanding involuntary churn (1-2% monthly line attributed to ChartMogul)
Pay-Per-Result appointments
See if we’re a fit
We book qualified sales appointments for you and you pay on results, not retainers. Our booking page asks a few quick questions so you find out in two minutes whether that model suits your business.
- 50,769+ appointments booked without cold calling.
- Pay-Per-Result pricing — you pay for booked, qualified calls.
- Pick your own time on our live calendar, no phone tag.
