Definitions
Recovery Rate: the Formula
How Churn Buster calculates recovery rate: recovered campaigns divided by all campaigns in complete cohort days, with cancellations in and voided campaigns out.
Recovery rate measures dunning recovery, the campaign that starts when a subscription payment fails. Cancel flows settle into definitive sessions within a 24 hour window and use save rate instead.
Recovery rate is the share of campaigns in complete cohort days that ended in a successful payment.
The formula
Recovery Rate
= Recovered Campaigns / All Campaigns in Complete Cohort Days
- Recovered Campaigns = Card Update + Successful Retry.
- All Campaigns = Recovered + Lost (Cancellation + Passive Churn). Voided campaigns are excluded: the customer or merchant cancelled the underlying order (skip, pause, or delay), so the charge no longer exists and there is no recovery to measure.
- Complete Cohort Days = dates where every campaign has reached a final state (recovered, lost, or voided).
In-progress campaigns and any cohort that contains them are excluded from the rate entirely until they complete. We don't partial-count them. We don't assume them lost. We don't assume them recovered.
Every outcome is accounted for, the denominator doesn't move, and a campaign belongs to the cohort of the day it started.
Worked example: cancellation handling
A cohort day of 25 campaigns has resolved:
- 10 Card Updates (recovered)
- 8 Successful Retries (recovered)
- 4 Cancellations (lost)
- 3 Passive Churn (lost)
Recovery rate = 18 / 25 = 72%.
Remove the 4 Cancellations from the denominator and the math becomes 18 / 21 = 85.7%. Same data, 13.7 points of false improvement. Cancellations stay in because the recovery experience itself can cause the cancel (billing confusion, friction in the card update flow, a badly timed retry).
Before the last 5 resolved, this same cohort is the in-progress example on Daily Cohorts and Complete Cohorts.
Worked example: a cohort that isn't finished
1,000 payments fail on the same day and enter a campaign that runs 20 days. On day 7, 400 have recovered, 100 have cancelled, and 500 are still in progress.
- 400 / 500 = 80% drops the 500 active campaigns from the denominator. Their outcome is unknown, so you can't drop them.
- 400 / 1,000 = 40% keeps the 500 in the denominator and counts them as unrecovered. Their outcome is unknown, so you can't count them as lost either.
Both numbers are wrong. On day 7 this cohort day has no recovery rate yet. If no campaigns are voided, then once every campaign resolves, all 1,000 sit in the denominator, including the cancellations.
Count-based and dollar-weighted
Both formulations are canonical. They apply the same formula to the same outcomes and weight them differently.
Count-based weights every campaign equally: recovered campaigns over all campaigns, by number. It removes subscription value as a variable, so a shift in your price mix doesn't look like a shift in dunning performance. It's the analytical primary for comparing across time, segments, and cohorts.
Dollar-weighted is dollars recovered over dollars at risk. A $500 campaign counts for more than a $20 one. It's the right lens for business decisions and headline reporting, because it carries the financial impact at a glance.
The two can move apart. Lose a few high value campaigns and the dollar rate drops while the count rate barely moves.
Source of recovery doesn't determine credit
A successful payment is a successful payment, whether it came from a card update, a retry we ran, or a retry the platform ran. A platform retry that succeeds on the original payment method is a Successful Retry and counts the same. Counting only the recoveries one tool triggered would reward retrying early and aggressively to beat the platform to the payment, rather than recovering the customer.
How long to wait
Plan on 30+ days of completed cohorts before judging your performance, and 60+ days before comparing a before and an after. Campaign length sets when the first complete cohort day arrives; Daily Cohorts and Complete Cohorts has that math.
Not a single number
There is no single Churn Buster recovery rate. Each account sits somewhere on a range. The range is on Realistic Recovery Rate Range.
Don't measure it this way
- Excluding cancellations from the denominator. Cancellations are a dunning outcome; they stay in.
- Dropping in-progress campaigns from a row while keeping the resolved ones. Set the whole cohort day aside.
- Publishing a final rate for a cohort with campaigns still in progress. No rate until the last campaign reaches a final state.
- Attributing recoveries by which system got there first. Count outcomes, not credit.
- Quoting a single recovery rate as if it were one number rather than a distribution. Report the range.
These are the rejected practices this formula page needs before you calculate a recovery rate.
Prerequisites: The Four Outcomes, which defines every term in the numerator and denominator; Daily Cohorts and Complete Cohorts, which defines when a day enters the calculation. Next: Rolling Analysis for tracking the rate over time.