RONBUILDSBook →

Cluster: Churn Analysis

Static retry recovers 12-18%. Smart retry recovers 35%+.

The difference is whether your billing system thinks about decline reasons or just retries every 24 hours and gives up. Heres the actual mechanics: decline-reason-aware timing, network rules per card brand, and the day-by-day schedule I run on every dunning rebuild.

TL;DR

Static daily retry leaves 15-20 percentage points of recoverable revenue on the table. Smart retry uses the decline reason, the card network, and your historical patterns to time the next attempt. Insufficient-funds wants 2-3 days. Soft declines want same-day. Hard declines should never retry. Pair with the 7-stage sequence in the dunning playbook.

Tbh, if your billing system is retrying every failed payment the same way every 24 hours for 3 days, youre torching money you could have recovered.

Heres the operating point. Static retry (the default in almost every billing system) treats an insufficient-funds decline the same as an expired card the same as a hard fraud flag. The card networks dont treat them the same, the issuing banks dont treat them the same, and your recovery rate suffers because of it. The fix is sorting retries by the decline reason and the card network, then timing the next attempt against what actually recovers for that specific signal.

This piece is the technical companion to the 7-stage dunning playbook which covers the email side. Both sit under the churn analysis cornerstone because involuntary churn is half of most retention work people never measure.

01 The default problem

Why static retry leaves money on the table.

The default in Stripe Billing, Recurly, Chargebee, and most homegrown systems is some flavor of static daily retry. Try every 24 hours, give up after 3 attempts. Its the path of least resistance because it requires zero logic, and its also a recovery ceiling around 12-18% of declines on average.

Two problems with it. First, the card networks have rules about how often a merchant can retry a declined transaction within a window. Visa flags excessive retries against your merchant profile. Mastercard tolerance bands differ. Burn through your retries on a hard decline and youre training the network to flag you as a problem merchant, which affects authorization rates on every transaction going forward.

Second, retrying tomorrow doesnt help when the user actually gets paid in two days. Insufficient-funds declines are the largest single bucket of soft declines for subscription SaaS and they have a clean pattern: retry around payday and the bank approves. Retry the morning after the decline and you get the same answer. Same retry attempt, three days later, completely different outcome. Static retry has no way of knowing that.

The lift from sorting your retries by decline reason alone runs 5-15 percentage points over static daily retry on shipped builds. Layered with network-aware timing and historical pattern matching, total recovery rates land in the 30-40% range. The 35%+ benchmark in the hero is the operating range when all three signals are in play.

02 Decline categories

Decline reason determines the retry strategy.

Every smart retry decision starts with the decline reason your payment processor returned. The categories below are the operational buckets that actually drive different retry behavior. The mapping from raw decline codes (Stripe error codes, ISO 8583 response codes) to these categories is the work most teams skip.

Decline reasonRetry?TimingRecovery rate
Insufficient fundsRetry48-72 hours (post-payday)50-65%
Expired cardNo retrySend card-update email30-50% (via update)
Soft decline / networkAggressive same-day2h, 6h, 24h max40-60%
Hard decline / fraudZero retriesEscalate immediately0% (uncollectable)
Authentication requiredNo retrySurface 3DS flow60-80% (post-auth)

Insufficient funds.

The single largest soft-decline bucket for most subscription SaaS. The card is valid, the account is active, the user just doesnt have the money in the account at that moment. Recovery rate when retried 2-3 days later (post-payday for most users) lands around 50-65%. Same-day retry recovers under 10% because nothing actually changed in the user's account in 24 hours.

Retry strategy: skip same-day. Wait 48-72 hours from the initial decline. If thats still failing, the user is probably between paychecks or has a real cash issue, escalate to the email sequence and offer a pause-or-downgrade option.

Expired card.

The card on file expired. No amount of retrying recovers this because the card is dead. The only path to recovery is the user updating the card on file. Pre-decline notification (T-3 days for known expiry, covered in the dunning playbook stage 1) prevents this from happening in the first place 30-50% of the time.

Retry strategy: none. Skip retry entirely. Fire the email with a one-click card-update flow and stop trying to process the dead card.

Soft decline (network, timeout, do-not-honor).

Temporary issues. Network outage at the issuing bank, processor timeout, do-not-honor responses that often resolve in hours. Recovery rates on same-day retry within 2-6 hours of the initial decline land around 40-60%. After 24 hours, recovery drops sharply because the underlying issue (if temporary) is already resolved or the user has updated something.

Retry strategy: aggressive same-day. Retry within 2 hours, retry again within 6 hours, retry once more within 24 hours. After that, escalate to the email sequence because the issue isnt actually temporary anymore.

Hard decline (closed account, fraud flag, lost/stolen).

The card is permanently unusable for your charge. Closed account, fraud flag, lost or stolen designation, do-not-honor with permanent flag. Repeated retries on hard declines damage your merchant risk profile because the card network sees the pattern and downgrades your authorization rates on all transactions.

Retry strategy: zero retries. Escalate immediately to the user via email with a card-update flow and a clear explanation that the card on file cant be charged.

Authentication required (3DS, SCA).

The issuer is requiring strong customer authentication for the transaction to clear. This is dominant in EU markets under PSD2/SCA and increasingly common in other markets. The user has to authenticate via their banking app or 3DS challenge before the charge will clear.

Retry strategy: surface the authentication flow immediately via email or in-app prompt. Retrying without authentication will return the same error every time because the issuer wont approve the charge until the user authenticates.

03 The schedule

The retry schedule that actually works.

Below is the day-by-day schedule I run on dunning rebuilds. Times are local to the user's billing timezone, not your servers timezone, which matters more than people think because retrying a US user's card at 3 AM their local time is below the recovery rate of retrying at noon.

DayActionWhy this timing
T+0 (decline)Categorize decline reason. Soft-decline retry within 2h. Hard-decline skip retry.Soft declines often resolve within hours; hard declines never resolve via retry.
T+0 (6h)Soft-decline second retry. Fire branded recovery email if no retry cleared.Recovery rate on soft-decline 6h retry still meaningful; email starts the user-facing recovery loop.
T+1Soft-decline final retry. Insufficient-funds skip (too early).Soft-decline window closing; insufficient-funds wont recover yet.
T+2Insufficient-funds first retry.Approaching typical payday cycle.
T+3Insufficient-funds second retry. Recovery push email fires.Post-payday window for most users; email shifts to urgency framing.
T+5Final retry across all soft categories. CSM touch for high-ACV accounts.Diminishing recovery curve; human touch unit-economics-justified at high ACV.
T+7Stop retrying. Final notice email with grace-period offer.Beyond this, recovery rates approach zero; convert to suspension + pause/downgrade.

Two operating notes on this schedule. First, the retry attempts compound with the email cadence in the 7-stage dunning sequence, where each failed retry fires the next email stage. Second, every retry that clears suppresses the in-flight email so the user never gets a recovery email for a decline that already cleared, which preserves trust and prevents the "your payment failed... actually never mind" sequence that erodes the brand.

The schedule above assumes a non-EU merchant without SCA requirements. If youre processing EU cards, the soft-decline retries get replaced with 3DS authentication prompts because EU issuers will return authentication-required errors instead of approving an unauthenticated retry. Same operating logic, different mechanism.

04 Network rules

Visa, Mastercard, Amex play by different rules.

Card networks each have their own rules about retry frequency and merchant behavior. Most modern payment processors (Stripe, Adyen, Braintree) handle network compliance in their adaptive retry layer so you usually dont have to think about it. If youre on an older billing system or rolled your own, you need to respect the network rules directly because violating them either gets your retries permanently declined or downgrades your merchant authorization rates.

Visa. Limits retry attempts within a 16-day window for certain decline categories. Visa Account Updater (VAU) automatically updates card-on-file for cards that have been reissued by the bank, which catches a meaningful share of expired-card scenarios before they decline. Make sure your billing system is enrolled in VAU because its essentially free recovery.

Mastercard. Different tolerance bands. Mastercard Automatic Billing Updater (ABU) is the Mastercard equivalent of VAU and serves the same purpose. Same operating logic, enroll in it.

Amex. More conservative on retry tolerance than Visa or Mastercard. Amex CardRefresher is the equivalent updater service. Amex declines often want a longer retry interval than Visa or Mastercard would because the issuer is more sensitive to repeated attempts.

The practical takeaway here is that if youre on Stripe, Adyen, or a modern processor, your retry logic should be using their adaptive retry feature (Stripe Smart Retries, Adyen Auto Rescue, etc.) rather than a static schedule. Those features bake in the network rules and the historical recovery patterns from across all merchants on the platform, which is a better signal than what you can build with your own merchant-only data.

05 Next step

Where smart retry pays back.

Stack the math. Involuntary churn is 20-40% of total subscription SaaS churn. Smart retry over static retry lifts recovery 15-20 percentage points. Multiplied through, smart retry alone moves total churn 3-7%, often as much as the voluntary-churn initiative the same team will ship in the same quarter, and the only work required is sorting retries by decline reason and respecting network rules.

Pair this with the 7-stage dunning sequence for the email side and youve covered the involuntary-churn surface area completely. The churn analysis cornerstone places both inside the broader retention diagnostic so you know which archetype youre actually fighting.

If your billing system is on static daily retry and you want to know what the smart-retry lift would look like at your scale, send me a DM with current monthly failed-payment volume and current recovery rate, and Ill ballpark the recoverable revenue. Or book a discovery call if you want a full dunning rebuild scope.

Book a discovery call

Think your lifecycle is leaking?

Book a 30-minute call. One-page scope inside a week if there’s a fit. Clear no if there isn’t.

Book a discovery call