involuntary churn
Involuntary Churn: How to Measure What Failed Payments Actually Cost You
Measure involuntary churn before you buy a dunning tool. Decline taxonomy, a four-number audit you can run this week, and how to attribute failed-payment loss to acquisition source.
Involuntary churn is a different problem wearing the same number
Concise answer
Voluntary churn means a customer chose to stop paying. Involuntary churn means a customer still wants the product and the payment did not go through. Reported together, they average into a number that points at no fix at all.
Churn is usually reported as a single monthly percentage: subscriptions that stopped paying, over subscriptions that were paying at the start of the period. That definition is operationally useless the moment you try to act on it, because it merges two populations with nothing in common.
The voluntary population made a decision. They cancelled in your billing portal, they replied to a renewal email, they stopped seeing value, they got acquired, they switched to a competitor. The intervention is product, pricing, onboarding, or support. It is slow, it is qualitative, and improving it takes quarters.
The involuntary population made no decision at all. Their card expired. Their bank declined a recurring charge it did not recognise. Their corporate card hit a limit on the first of the month. Their issuer flagged a foreign-currency transaction. In many of these cases the customer is still logged in, still using the product, and entirely unaware that their subscription is in a failing state. The intervention here is mechanical: retries, card updates, an email that reaches a human, a payment method on file that is still valid. It is fast, it is quantitative, and it can move in a single billing cycle.
The practical consequence of merging them is that the number never tells you which lever to pull. A founder who sees churn rise from 4 percent to 6 percent in a month will usually go looking for a product cause, because that is the story churn implies. If the rise came entirely from a batch of cards that expired at the end of a quarter, every hour spent on the product hypothesis is wasted. Splitting the number is not a reporting nicety. It is the difference between fixing the right thing and fixing nothing.
This is the same class of problem as attributing revenue to a source: you are refusing to accept an aggregate that hides the decision you need to make. If you have not yet split your revenue by acquisition channel, the MRR attribution by source guide covers that half; this article covers the retention half.
A failed payment is not yet churn
The single most common measurement error is treating the first failed charge as a lost customer. It is not. A failed renewal opens a window: the provider will typically retry, the customer may update a card, and the subscription may resume with no interruption to service. Only when that window closes without a successful payment has the revenue actually been lost.
This matters because the two events belong in different periods. A charge that fails on the 28th of March and succeeds on the 2nd of April was never churn, but a naive month-end snapshot records it as March churn and April new revenue. Run that across a few hundred subscriptions and your churn and expansion numbers both develop a systematic monthly wobble that has nothing to do with your business.
The fix is to define the recovery window explicitly and hold the judgement open until it closes. Thirty days after the first failure is a defensible default for monthly subscriptions because it exceeds the retry schedules most providers use. Whatever you choose, write it down and apply it to every month, including the historical ones you are comparing against.
Why the distinction changes who owns the fix
Voluntary churn belongs to product and to whoever owns the customer relationship. Involuntary churn belongs to whoever owns the billing integration, which in a small SaaS is usually one engineer who has not looked at the webhook handler since it was written.
That ownership gap is why involuntary churn persists in companies that are otherwise metrics-literate. Nobody's dashboard shows it, so nobody's weekly review surfaces it, so the engineer who could fix it in an afternoon never learns it is worth an afternoon.
Why you cannot borrow someone else's recovery benchmark
Concise answer
Published failed-payment recovery rates come almost entirely from companies selling recovery software, are computed on incompatible denominators, and span a range so wide that any number inside it can be made to look like success or failure.
Search for failed-payment benchmarks and you will find confident percentages. They disagree with each other by a factor of six. Some sources report a median attempted-recovery rate in the low teens; others report best-in-class recovery of 70 to 85 percent. Both can be technically accurate and still describe entirely different measurements.
The disagreement is mostly definitional, and the definitions are rarely stated:
- Numerator: recovered payments, recovered subscriptions, or recovered monthly revenue. A single high-value annual plan recovered can swing a revenue-based rate while barely moving a count-based one.
- Denominator: all failed charges, all distinct failing subscriptions, or only the subset the vendor's tool was allowed to attempt. Excluding hard declines from the denominator raises the published rate without recovering a single extra dollar.
- Attribution of the recovery: a customer whose card is retried automatically by the payment provider and succeeds on attempt two has been recovered by the provider, not by any layered tool. Tools that count provider-native retry successes as their own recoveries report much higher numbers.
- Window: recovery measured at 7 days, 30 days, or open-ended. Longer windows always look better.
- Business mix: consumer subscriptions on personal cards, B2B on corporate cards, and annual enterprise invoices have structurally different failure and recovery profiles. A blended benchmark describes none of them.
| Choice | Option A | Option B | Effect on the published rate |
|---|---|---|---|
| Numerator unit | Count of recovered charges | Recovered monthly revenue | Diverges whenever plan prices are unevenly distributed |
| Denominator | Every failed charge, including retries | Distinct subscriptions that failed | Counting retries inflates the denominator and deflates the rate |
| Hard declines | Included | Excluded as unrecoverable | Exclusion raises the rate with no change in outcome |
| Credit for provider retries | Counted as tool recovery | Excluded from tool recovery | Largest single source of vendor-to-vendor disagreement |
| Window | 7 days | 30 or 60 days | Longer windows monotonically increase the rate |
What to do instead
Treat every external benchmark as UNKNOWN for your business and compute your own. You need three months of your own history before a recovery rate means anything, because the failure mix in any single month is dominated by whatever happened to expire that month.
Once you have your own baseline, external benchmarks become useful in exactly one way: as a sanity check on the order of magnitude. If your recovery rate is 4 percent and every published range starts at 30, you almost certainly have a broken retry configuration rather than an unusually difficult customer base. If yours is 90 percent, check whether you are counting the denominator correctly.
What actually makes a payment fail
Concise answer
Stripe documents three distinct reasons a payment fails: issuer declines, blocked payments, and invalid API calls. Only issuer declines are your customer's bank saying no, and only some of those are worth retrying.
Before you can measure recovery you have to know what you are trying to recover. Stripe's declines documentation states that there are three reasons a payment might fail: issuer declines, blocked payments, and invalid API calls. Collapsing these into one bucket labelled failed payments is how integration bugs end up counted as churn.
An issuer decline is the customer's card issuer refusing the charge. Stripe describes this as the issuer's automated systems and models deciding whether to authorize, analysing signals such as spending habits, account balance, and card data. When the issuer gives a specific explanation, it returns to Stripe as a network decline code, surfaced through Stripe decline codes.
A blocked payment never reaches the network at all. Stripe Radar evaluates the payment and blocks it based on risk score or your own custom rules. The documentation notes that when Stripe blocks a payment, it doesn't obtain authorization from the card issuer, and the resulting charge outcome carries a network_status of not_sent_to_network. A blocked payment on a real, long-standing customer is a Radar rule problem, not a churn problem.
An invalid API call is your code. Stripe's documentation notes that invalid API calls typically don't result in a payment appearing in your Dashboard, though they might in a few cases. If these are reaching your failed-payment counter, you have a bug, and the correct response is a code fix, not a dunning email.
| Failure class | Reached the card network? | Typical cause | Correct response |
|---|---|---|---|
| Issuer decline, soft | Yes | Insufficient funds, temporary issuer refusal | Retry on the provider's schedule; usually recoverable |
| Issuer decline, hard | Yes | Expired card, lost or stolen card, incorrect card data | Ask the customer for a new payment method; retrying alone rarely helps |
| Blocked payment | No | Radar risk score or your own custom rule | Review the rule; a false positive on a paying customer is a configuration bug |
| Invalid API call | No | Your integration sent a malformed or incorrect request | Fix the code; never count as churn |
Soft versus hard, and why it decides your ceiling
The soft/hard split is the single most useful cut in your failure data. A soft decline is a temporary condition: the money was not there this morning, the issuer's model was cautious, the limit resets. Retrying the same card later has a real chance of working. A hard decline is a state change: that card is not going to work again, at any hour, on any schedule.
Your maximum achievable recovery rate is bounded by your soft/hard mix. A business whose failures are 70 percent expired cards has a low ceiling for retry-based recovery and a high ceiling for card-update-based recovery, and should invest accordingly. A business whose failures are mostly insufficient funds has the opposite profile. If you do not know your mix, any recovery target you set is arbitrary.
Stripe's documentation is explicit that retries are not unlimited: it notes that card networks limit the number of times you can reattempt a single charge and recommends a maximum of eight retries for charges that permit retries. Retry budgets are a real constraint, and burning them on hard declines wastes attempts you could have spent on the recoverable population.
The subscription-state layer sitting on top
Beneath the individual charge is the subscription's own state machine, and that is where the revenue consequence actually lands. A charge fails, the subscription moves into a delinquent state, retries run against the open invoice, and eventually the subscription either recovers or is terminated according to your configuration.
That configuration is a decision you made, possibly by accepting a default, and it directly sets how much of your at-risk revenue is even eligible for recovery. If your provider is configured to cancel a subscription after two failed attempts across four days, you have chosen a very short recovery window regardless of what any tool promises. Go and read the setting before you benchmark anything.
Stripe documents its recovery tooling under revenue recovery, and describes Smart Retries as automatically retrying failed payments to prevent involuntary churn due to temporary issues, alongside recovery analytics, automatic customer emails, no-code automations, and automatic card updates. Most of it requires no code. It is worth confirming which of these are actually switched on in your account before concluding you have a recovery problem that needs new software.
The four-number audit
Concise answer
Four numbers per month, computed the same way every month: subscriptions that failed, amount at risk, amount recovered within the window, and net involuntary churn. Everything else is commentary.
This is the smallest measurement that supports a decision. It can be computed from your payment provider's data alone, and it should be computed for at least the last three complete months before you change anything.
1. Distinct failing subscriptions
Count distinct subscriptions, not failed charge events. A single subscription retried four times produces four failure events and one failing subscription. Counting events instead of subscriptions is the most common way teams accidentally quadruple their own churn number and then panic.
Group by whatever identity your provider gives you: the subscription identifier if you have one, and the customer identifier if you do not. Metrivo's failed-payment records group repeated failures for the same customer into a single entry with a retry count, a first-failure timestamp, and a last-failure timestamp, precisely so that the count and the intensity stay separable.
2. Amount at risk
Sum the monthly recurring amount of every distinct failing subscription, in its original currency. Do not convert currencies for this number, and do not use the charge amount if the charge was a partial or prorated one. You are measuring the recurring revenue that would stop if none of these recovered.
Keep currencies separate. A single blended figure produced by converting at today's rate is a number that changes when the exchange rate moves, which makes month-over-month comparison meaningless. Metrivo reports amount at risk grouped by currency for this reason.
3. Amount recovered inside the window
For each failing subscription, look forward across your chosen window and ask a single question: did this subscription produce a successful payment? If yes, its monthly amount moves to recovered. If no, it stays lost.
Do not credit a recovery to any particular mechanism at this stage. You do not yet know whether the provider's automatic retry, your dunning email, or the customer noticing on their own produced the payment, and guessing will bias every downstream conclusion. The mechanism question is a second, separate analysis, and it needs a controlled comparison to answer honestly.
4. Net involuntary churn, and the rate
Amount at risk minus amount recovered is the involuntary churn for that month, in currency. Divide it by the total recurring revenue at the start of the month to get an involuntary churn rate that is directly comparable to your overall churn rate.
Now subtract it from your reported churn. What remains is voluntary churn: the number you should actually be running product experiments against. Many teams find that the two halves have been moving in opposite directions for months, which explains why the blended number looked stubbornly flat.
The three-month rule
One month of this data will mislead you. Card expiry dates cluster: issuers commonly set expiry to the end of a month, and annual cohorts of customers who signed up in the same period tend to churn involuntarily in the same period three or four years later. A single month can be dominated by one such cluster.
Three months is the minimum that lets you distinguish your baseline from a cluster. Twelve is better, and if you have twelve months you should also plot the failure count by calendar month, because the seasonal shape is often obvious once drawn and completely invisible in a single figure.
Attributing failed-payment loss back to the source
Concise answer
The subscription that failed belongs to a customer, and that customer arrived through a channel. Joining involuntary churn to acquisition source frequently changes which channel looks profitable, because payment-failure rates are not uniform across channels.
This is the part almost nobody does, and it is where involuntary churn stops being a billing chore and becomes a growth decision.
Channel economics are usually computed on acquisition: cost per signup, cost per first payment, sometimes MRR by source. All of those are gross-of-payment-failure. If one channel brings customers whose payments fail at twice the rate of another, its real contribution is materially lower than its acquisition numbers suggest, and no acquisition dashboard will ever tell you.
The mechanism is not exotic. Payment method quality correlates with buyer type, and buyer type correlates with channel. Customers who arrive from a comparison-shopping context and pay with a personal debit card behave differently at renewal than customers who arrive from a documentation page and pay with a company card. Geography compounds it: cross-border charges carry different issuer behaviour, and channels rarely deliver identical geographic mixes.
The join you need
Work backwards from the failure. The failed payment names a subscription or a customer. The customer has a first successful payment. That first payment, if your attribution is wired through to the payment record, carries the source that produced it. That gives you failing subscriptions grouped by acquisition source.
This only works if source data actually reaches the payment record rather than stopping at the signup. That handoff is the part that breaks in most setups, and it breaks in specific, findable places; the UTM parameters lost at checkout guide covers where. Metrivo's approach is documented under source-to-revenue tagging, and it carries first-touch and last-touch records into checkout metadata so the payment webhook arrives already carrying its origin.
If the join is impossible for your historical data, say so and start collecting forward rather than inventing a mapping. A wrong attribution here is worse than an absent one, because it will be used to move budget.
Reading the result honestly
Two guardrails. First, sample size: a channel with nine customers has no measurable failure rate, and the difference between one failure and two is not a signal. Set a floor, state it, and report small channels as UNKNOWN rather than ranking them.
Second, confounding: channels differ in plan mix, geography, and tenure, and all three affect failure rates independently of the channel itself. A channel that skews towards your cheapest monthly plan will show more failures than one that skews annual, and that is a plan-mix fact, not a channel-quality fact. Segment by plan before you draw a conclusion about the channel.
Metrivo labels attribution confidence rather than asserting certainty; the distinction between a confirmed match and an inferred one is documented under attribution confidence. Failure-rate comparisons built on inferred matches deserve the same hedging as any other inferred number.
What the answer changes
If a channel's involuntary churn rate is meaningfully above your average, you have three options, and they are not equivalent. You can accept it and reprice the channel's cost per retained customer, which is the honest accounting fix. You can address the payment-method quality at the point of purchase, for example by offering an alternative payment method that fails less often in that channel's dominant geography. Or you can shift budget, which is the right answer only after you have ruled out the first two.
This is also where the failed-payment number stops being a support problem and starts belonging in the same review as your acquisition spend. Once involuntary churn is attributable, it is just another leak with a location, which is how the revenue leak detection framework treats every other one.
The fix order
Concise answer
Configuration before software. Most SaaS companies with an involuntary churn problem have a provider feature switched off, a retry window set too short, or an email that never reaches an inbox.
Ordered by cost of implementation, lowest first. Do not skip ahead, because the later steps are hard to evaluate while the earlier ones are misconfigured.
- Read your provider's current retry and cancellation settings. Write down the actual retry schedule and the exact condition that cancels a subscription. Many teams discover here that they are cancelling well before their recovery window closes.
- Confirm automatic card updates are enabled if your provider offers them. Stripe lists automatic card updates among its revenue recovery features, describing them as automatically updating a customer's card information when they get a new card number. This addresses the expired-card population without any customer contact at all.
- Check that failed-payment emails are actually being sent and actually arriving. Test with a real address on a real domain, not a seed inbox. A dunning email in a spam folder is indistinguishable from no dunning email.
- Verify that a customer in a failing state can find and fix their payment method inside your product, in fewer than three clicks, without contacting support. This is the step most often missing, and it is the one that converts your email into a recovery.
- Audit your Radar or fraud rules against your existing paying customers. A rule tuned to block first-time fraud can quietly block renewal charges from legitimate long-term customers.
- Only now evaluate additional recovery software, against the baseline you computed, on the population your provider's own retries did not recover.
Instrument the alert, not just the report
A monthly report tells you the size of the problem. It does not help the individual customer whose payment failed on the 3rd and who will be cancelled on the 17th. For that you need the failure to reach a human while the window is open.
Metrivo sends a failed-payment digest with amount at risk, the customers affected, and the retry count for each, and it groups repeated failures for the same customer rather than paging you once per retry. What it deliberately does not do is contact your customers: recovery emails and retry sequences stay with your payment provider, where the payment method and the billing relationship already live. The full behaviour is documented under failed payments and subscription metrics.
That division of labour is the right one for a measurement tool. A system that both reports the failure and attempts the recovery has an incentive problem when it comes to reporting recovery rates, which is exactly the problem described earlier in this article.
Limits of this measurement
Concise answer
The audit gives you a defensible involuntary churn number. It does not give you causality for individual recoveries, and it inherits every gap in your provider's event coverage.
State these alongside the number, every time you present it.
- Recovery attribution is unresolved by design. The audit tells you a subscription recovered, not what recovered it. Separating provider retry from customer action requires a controlled comparison you probably have not run.
- Provider event coverage varies. If a provider does not emit a distinguishable failure event, or your webhook handler drops it, the failure is invisible and your number is an undercount. The payment webhook audit checklist covers how to prove your pipeline actually receives what you think it does.
- Delayed cancellations blur the window. A customer who fails in March, is cancelled in April, and resubscribes in May is one story told as three events. Decide how you treat reactivation and apply it consistently.
- Attribution of failures to source is only as good as the source data on the first payment. Where the source is unknown, report it as unknown rather than distributing it proportionally across known channels.
- Annual plans distort monthly rates. One annual failure can exceed a month's worth of monthly-plan failures. Report annual and monthly cohorts separately or the average describes neither.
Frequently asked questions
What is involuntary churn?
Involuntary churn is recurring revenue lost because a payment failed rather than because a customer chose to cancel. Typical causes are expired cards, insufficient funds, issuer declines on recurring charges, and fraud rules blocking legitimate renewals. It is measured separately from voluntary churn because the fixes are mechanical rather than product-related.
How do I calculate my involuntary churn rate?
Count the distinct subscriptions whose payment failed during the month, sum their monthly recurring amounts as amount at risk, then check which of those subscriptions produced a successful payment within a fixed recovery window such as 30 days. Amount at risk minus recovered amount, divided by recurring revenue at the start of the month, is your involuntary churn rate for that month.
What is a good failed-payment recovery rate?
There is no reliable industry answer. Published recovery rates come mostly from vendors selling recovery software and use incompatible definitions of numerator, denominator, recovery window, and whether provider-native retries count. The reported range spans roughly 13 percent to 85 percent. Compute at least three months of your own history and use that as your baseline instead.
Should I count a failed charge as churn immediately?
No. A failed charge opens a recovery window during which retries and customer action can still produce a payment. Counting the first failure as churn overstates churn in one month and overstates new or reactivated revenue in the next. Define an explicit recovery window, apply it to every period including historical ones, and only count the loss once the window closes.
Can failed payments be attributed to a marketing channel?
Yes, if source data reaches your payment records. The failing subscription belongs to a customer, that customer has a first successful payment, and that payment can carry the acquisition source. Channels do not have identical payment-failure rates, so a channel's real contribution can be lower than its acquisition metrics suggest. Report channels below a stated sample-size floor as unknown rather than ranking them.
Does Metrivo retry failed payments or email my customers?
No. Metrivo records failed payments from Stripe, Razorpay, Dodo, Paddle, Lemon Squeezy, Polar, and the Manual Payment API, groups repeated failures for the same customer into a retry count, reports amount at risk by currency, and sends you a digest. Retry sequences and customer-facing recovery emails remain the job of your payment provider.
