Retrying Failed Subscription Payments: Stripe’s Smart Retries Deep Dive
Roughly one in four lapsed subscriptions can be traced to a single, avoidable cause: the payment simply didn’t go through. Known as involuntary churn, this occurs when a card is declined due to insufficient funds, an expired number, or a transient technical glitch. The financial upside of fixing these failures is substantial—recovered subscriptions often continue for an additional seven months on average, making each save as valuable as acquiring a brand-new subscriber.
Still, many businesses leave this revenue on the table because building a robust retry system in-house is costly and complex. Stripe’s Billing team decided to tackle this problem at the platform level. The result is Smart Retries, a machine learning-driven system that predicts the optimal moment to reattempt a declined payment. For engineers, the real interest lies not just in the algorithm, but in the series of architectural decisions that make large-scale predictions both accurate and practically deployable.
The Signal Pool Behind the Model
Stripe’s vantage point over hundreds of billions of dollars in annual transactions yields a vast set of behavioral signals. Smart Retries distills these into more than 500 attributes that inform each retry decision. The categories are broad and overlapping:
- Customer attributes: Location, historical payment patterns, and success rates across the Stripe network.
- Business attributes: Industry, currency, and geographic reach. The ideal retry window shifts, for example, when a business and its customer are in different regions.
- Payment attributes: A mix of long-term card history and real-time data such as specific decline codes from the issuing bank.
- Seasonality attributes: Time of day, day of week, and week of year, particularly when combined with geographical and currency data.
- Billing attributes: The behavior of similar subscriptions within the broader product mix.
Zeroing in on these signals wasn’t purely a data-mining exercise. Payments domain expertise guided the initial selection, with feature engineering techniques adding further refinements over time.
Why Heavyweight Models Win Here
Most ML deployments force a tradeoff: lighter models respond quickly but with lower accuracy, while complex models are more precise but slower. Smart Retries sidesteps that dilemma by exploiting the nature of the problem itself. When a subscription payment fails, often because a customer needs time to add funds or replace a card, the optimal retry point may be days or even weeks in the future. That latency budget makes computational heft worthwhile.
In 2023, Stripe replaced its earlier XGBoost-based approach with an Auto-ML ensemble architecture. The system employs multiple intentionally “weak” base models whose predictions are combined in a stacked ensemble. A final layer applies ensemble selection to weight individual model outputs. This approach capitalizes on the central limit theorem—averaging diverse predictions reduces variance and yields a more stable, accurate forecast. The extra milliseconds of compute are negligible when the reward is a higher-probability recovery attempt days later.
Bringing Multimodal Data to the Ensemble
While tabular models like XGBoost excel at structured numerical data, they struggle to interpret textual context. Smart Retries broadens its view through embeddings generated by Sentence Transformers. This technique maps a blend of text (like product descriptions) and numerical inputs (such as decline codes and temporal patterns) into a shared, lower-dimensional space.
This multimodal transformation is integrated directly into the model stack. The transformer models act as one component within the larger ensemble, feeding their outputs into subsequent layers. The practical payoff is precision. The retry strategy that works for a consumer goods product won’t necessarily align with the billing rhythm of an enterprise SaaS contract. By recognizing the nuanced interplay between these data types, the model achieves significantly better predictive performance.
Balancing Flexibility With Performance
The ML core is powerful, but it’s only useful if businesses can steer it. Smart Retries offers customers configurable levers, including a maximum number of retry attempts and a “drop-dead day” after which no further attempts are made. Businesses can also define what happens to an invoice or subscription when recovery ultimately fails.
The design allows for granular, per-product strategy rather than forcing a single company-wide policy. A software vendor serving both small businesses and large enterprises, for instance, can tune recovery behavior differently for each segment. A key technical requirement during this rollout was preserving predictions for already-failed payments—new retry policy settings must apply only to future failures, so the system carefully separates historical states from active configurations.
Benchmarking Provides a Decision-Making Floor
Giving customers flexibility introduces a new dilemma: how long is too long to let a churned subscriber keep using the product for free during the recovery window? To anchor these decisions, Stripe provides an optimal global default setting. This recommendation draws on network-wide patterns to maximize recovered revenue while minimizing free-usage exposure.
The data highlights, however, that context matters heavily. For instance, when a debit card fails due to insufficient funds, the suggested retry window must stretch beyond the customer’s next likely pay period to improve the odds of success. The benchmarks are therefore a starting guide rather than a rigid rule.
A Feature Set Built for Greater Recovery
The results indicate the impact of these investments. Deliveroo recovered over £100 million in a single year using Smart Retries alongside other Stripe recovery features. Retool, an enterprise software builder, recovered more than $600,000 in one year alone by activating the tool.
Smart Retries sits within a broader suite of revenue recovery tools in Stripe Billing. Beyond retry automation, recent updates encompass configurable retries, automated customer notifications, and detailed state management for invoices and subscriptions. A new Dashboard analytics page centralizes monitoring of payment failures and recovery rates, with drill-down reporting available through downloadable reports in Stripe Sigma. Longer term, Stripe says customers will be able to apply customized retry behavior based on billing cycles (monthly versus annual) and build specific logic for out-of-band payment methods. The cumulative goal is to offer a recovery framework sophisticated enough to handle distinct financial and technical realities for every type of subscription business.



