PAYMENTS

Stripe Smart Retries: How They Work, Recovery Rates, and Where They Fail

Stripe says businesses recover 55% of failed payments on average. Our data from 200+ B2C Stripe Billing accounts representing $500M+ in failed-payment volume shows the real B2C number is 25–35%. Here's how Smart Retries works and where it falls short.
10 minutes
May 1, 2026

Stripe Smart Retries is Stripe's built-in feature that automatically re-attempts failed subscription charges using a machine-learning model trained on billions of historical transactions. Instead of retrying on a fixed schedule, it picks the time window most likely to succeed for each individual card.

Stripe publishes that businesses using Stripe Billing recover 55% of failed payments on average. That's the headline figure on stripe.com/billing. But after auditing 200+ Stripe Billing accounts at Redux Payments (all B2C subscriptions, representing over $500M in failed-payment volume), the recovery rate we consistently see lands in the 25–35% range. That's a 20+ point gap from Stripe's headline number, and the gap isn't a mistake. It's structural, and it matters if you're running a B2C subscription on Stripe and benchmarking against the wrong number.

This guide explains how Smart Retries actually works, why the recovery rate B2C operators experience on involuntary failures is materially lower than Stripe's published aggregate, and where Stripe's recovery suite leaves money on the table for consumer subscriptions.

How Stripe Smart Retries Works

When a subscription charge fails, Smart Retries doesn't immediately try again on a fixed cadence. Instead, the model scores the probability of success for each potential retry window over the next several days, then schedules the retry attempts at the highest-probability times.

Per Stripe's engineering team, the model is trained on "billions of data points" with "more than 500 attributes," using an Auto-ML–based ensemble architecture that replaced their original XGBoost setup in 2023. The signals it incorporates include the card brand, issuing bank, original decline code, the customer's historical payment behavior, and time-of-day patterns from across Stripe's network. The recommended default configuration in Stripe's docs is up to 8 retries within 14 days. When a charge returns a hard-decline code (e.g. incorrect number, lost card, stolen card), retries are still scheduled and the attempt count still increments, but they only execute once Stripe detects a new payment method on the customer.

It's worth being precise about scope: Smart Retries itself is just the ML retry timer. Stripe Billing pairs it with Customer Emails, a sibling feature inside the same revenue-recovery suite that sends failed-payment notifications with a hosted payment-update page where the customer can update their card. When this article cites a 25–35% B2C recovery rate, we mean Stripe's full recovery suite (Smart Retries plus Customer Emails) working together, not Smart Retries in isolation.

What Recovery Rate to Expect: Stripe's Number vs. the B2C Reality

Stripe's official line is 55% of failed payments recovered on average, published on stripe.com/billing alongside claims of $8.2B recovered across the platform in 2025 and "$14 recovered for every $1 spent." Stripe also publishes that Smart Retries specifically helps businesses "recover $9 in revenue for every $1 spent on Billing."

Those numbers are real. They're also aggregate. Stripe doesn't segment recovery rates by business type, which means the headline figure blends every Stripe Billing customer, from B2B SaaS with $50K annual contracts and dedicated AP teams to B2C subscriptions charging $14.99 to consumer debit cards. The B2B half of that population pulls the average up substantially.

Independent data from Recurly confirms the gap. In their published benchmarks:

  • B2B past-due invoice recovery rate: 53.5%
  • B2C past-due invoice recovery rate: 34.6%
  • B2B at-risk subscribers saved by automated dunning: ~75%
  • B2C at-risk subscribers saved by automated dunning: 60%

Recurly states it directly: "B2B businesses had higher recovery rates than their B2C counterparts across all decline reasons."

Our internal data, drawn from auditing 200+ Stripe Billing accounts that are exclusively B2C subscriptions and representing over $500M in failed-payment volume, shows the same pattern. The recovery rate we observe across these accounts using Stripe's recovery suite (Smart Retries combined with Customer Emails and the hosted payment-update page) sits at 25–35% of involuntary failures. That sits right alongside Recurly's 34.6% B2C number from a completely independent dataset, which is meaningful corroboration.

The takeaway: if you're running a B2C subscription and you're benchmarking yourself against Stripe's 55%, you're benchmarking against a number that includes the B2B half of Stripe's book. The B2C-relevant baseline is closer to 30%.

Why B2B Recovers Higher Than B2C

The gap isn't random. It's driven by structural differences in how the two populations behave when a card fails:

  • Payment method mix. B2B customers pay via ACH, wire, and corporate cards far more often than B2C. ACH failure rates run around 0.5% versus card failure rates of 6.5–10% (per GoCardless data). When a B2B card fails, there's usually another payment vector available. B2C is almost entirely consumer debit and credit cards.
  • Decline-code distribution. Recurly's research shows B2C accounts see a disproportionate share of "Insufficient Funds" and "Temporary Hold" declines compared to B2B, both of which are timing-dependent and harder to recover than B2B-typical declines like CVV mismatches or expired cards. (For a full breakdown of every Stripe decline code and how to handle it, see our 2026 Guide to Stripe Decline Codes.)
  • Customer attention. Recurly notes B2B customers "treat the service as mission-critical and will not let it lapse," while B2C sees more soft abandonment where the customer never updates the card.
  • Recovery vectors. B2B has named billing contacts, NET-30 terms, AP teams that proactively chase invoices, and customer-initiated retries. B2C subscriptions are typically charged silently in the background to a card-on-file with no human in the loop on the customer side.

None of these favor B2C. They're the reason the same Stripe recovery suite produces a 53.5% recovery rate for one cohort and a 34.6% rate for the other.

Where Stripe's Recovery Suite Falls Short for B2C

Stripe's recovery suite is a great baseline, but it's a generalist solution. It treats a $2,000 B2B invoice the same way it treats a $79 B2C subscription. The Smart Retries model is trained on Stripe's entire transaction graph, which means it's optimizing for the average merchant across the platform, not for B2C consumer subscriptions specifically.

The places it consistently underperforms for B2C subscriptions:

  • Payday cycles. Consumer cards routinely fail with code 51 (insufficient funds) right before a paycheck hits. Smart Retries doesn't know your customer's pay schedule. A retry timed three hours later vs three days later can be the difference between recovery and churn.
  • Soft declines that need different timing, not more attempts. Codes like 05 ("do not honor"), 19 ("try again later"), or generic 10 declines often clear with the right window, but Smart Retries treats them similarly to harder failures.
  • Bank-level velocity limits. Some issuing banks block multiple charge attempts in a short window regardless of intent. Smart Retries can compound this by retrying within a window the bank has already flagged.
  • Email-only customer outreach with limited customization. Stripe Billing's Customer Emails feature does send failed-payment notifications with a hosted payment-update page, but it's email-only (no SMS, no push, no in-app), the templates are Stripe-branded, and the copy doesn't adapt to the underlying decline reason. For B2C app subscriptions where users live in the app and rarely check email, this leaves a substantial recovery channel unused (and over time, generic recovery emails create their own problem; see dunning fatigue).

By relying solely on "good enough" native recovery, B2C subscription companies unknowingly accept a recovery rate that leaves six or seven figures of revenue on the table every year.

The $1M Leak: How Small Failures Compound

"It's just a $79 fail," he laughed over the Teams call.

Ten seconds later, he wasn't laughing.

The math was simple, but the realization was heavy. At a $79 monthly price point and an average subscriber lifespan of 6.1 months, that single failed payment represented $481.90 in lost LTV. When we looked at the data, they had 800 of those failures last quarter.

He went silent. He scrolled through the audit, then scrolled again. Finally, the question came: "Wait... are we losing over $1M a year?"

The answer was a definitive yes.

That "small" failure is a signal. It's the difference between a healthy, compounding LTV and a leaky bucket that requires you to spend more on acquisition just to stay in the same place.

We often think of retention as something that happens at the end of a customer's journey, on the "cancellation page." In reality, retention starts at the failed payment. If your growth feels stagnant and your revenue feels like it's leaking, it's often because your "plumbing" is broken. You're losing customers who actually wanted to stay, but were forced out by a technical glitch or a poorly timed retry.

The B2C-First Alternative: Why We Recommend Replacing Stripe's Recovery

The conventional advice from third-party recovery vendors is to keep Smart Retries on and bolt their tool on top. We don't recommend that, and as the company building one, we have a specific reason for the opposite recommendation.

Redux is not a stack-on-top recovery layer. It's a full recovery suite purpose-built for B2C subscriptions, and we recommend turning Smart Retries off when you switch over. Stripe Smart Retries is a generalist ML model trained on every transaction type that flows through Stripe: B2B invoices, B2C subscriptions, e-commerce, marketplaces, all averaged together. Redux is built exclusively for B2C consumer subscriptions: no B2B invoices pulling the model toward enterprise patterns, no aggregate averaging, no generalist assumptions. It passively outperforms Stripe's recovery suite on consumer subscriptions because it doesn't have to optimize for anything else.

The way this typically works in practice:

  1. We benchmark your existing recovery rate while Stripe Smart Retries and Customer Emails are running. That gives us your true B2C baseline, usually somewhere in the 25–35% range we documented above.
  2. You turn Smart Retries off and route failed payments through Redux's recovery suite instead.
  3. We measure incremental lift against your benchmarked baseline, and Redux only charges for the lift above it.

That last point matters: because Redux replaces Stripe's recovery rather than supplementing it, we have to actually outperform Smart Retries to make money. If we don't beat your benchmarked baseline, you don't pay. (For how the lift number is computed, see our breakdown of incremental lift. For more on why purpose-built B2C recovery beats traditional dunning, see silent recovery vs. traditional dunning.)

The B2C-only design produces concrete differences from Stripe's generalist approach:

  • Retry timing trained on consumer payday cycles, bank-velocity limits, and B2C-specific issuer behavior, not the average across all merchant types
  • Decline-reason-specific recovery flows: a code 51 (insufficient funds) plays differently from a code 05 (do not honor), which plays differently from a code 19 (try again later)
  • Hard declines that physically can't recover are skipped entirely rather than retried
  • Customer-side recovery, when needed, runs through email, SMS, in-app, and push, with copy that adapts to the decline reason instead of a single Stripe-branded template

Stop benchmarking yourself against the wrong number. If you want to see what your true B2C baseline looks like, and what's recoverable above it, we'll run the audit before you commit to anything.

Start your zero-risk pilot with Redux Payments today

Methodology & Sources

Methodology: The 25–35% recovery rate cited throughout this article is drawn from Redux Payments' internal data across 200+ Stripe Billing accounts, all of which are B2C subscription businesses, representing over $500M in cumulative failed-payment volume. The rate represents the percentage of involuntary payment failures recovered through Stripe's native recovery suite (Smart Retries combined with Customer Emails and the hosted payment-update page) measured as a baseline before customers switch to Redux's B2C-only recovery suite. Recovery-rate calculation window: rolling 12 months ending Q1 2026.

Primary sources cited:

AUTHOR
Philip Pages
CEO, Redux Payments

Recover More Failed Payments On Stripe

Recent blog & articles