Free tool
See exactly how much revenue your SaaS is losing to failed subscription payments every year, and how much a dunning tool could recover. Plug in three numbers and share the result.
· Free, no signup
Quick answer
A typical SaaS loses 5-15% of MRR per year to failed payments. In our data, card retries alone recovered about 5.5%, and 44% of customers who opened the payment page paid. The calculator below uses market benchmark assumptions (38% for Stripe retries, 70% for a full dunning setup), not Rebounce results. Run the numbers for your own MRR.
Your current annual loss
lost to failed payments every year, or $900/month
Customers churned / year
220
Failed payment events / month
18
Do nothing
No retries, no dunning sequence
Recovered
$0
$10,800 still lost
Stripe Smart Retries only
retries only, no email sequence
Recovered
$4,104
$6,696 still lost
Rebounce (dunning + SMS + WhatsApp)
market benchmark assumption - decline code classification, multi-channel
Recovered
$7,560
$3,240 still lost
Recoverable at a 70% benchmark rate
Assumes a 70% recovery rate with a full dunning setup and 38% with Stripe retries alone. These are market benchmark assumptions, not Rebounce results. In our own data, card retries alone recovered about 5.5% and 44% of customers who opened the payment page paid.
That's $3,456/yr more than what Stripe Smart Retries alone would recover, by combining smart retries, decline-code-aware dunning emails, SMS, WhatsApp, and checkout recovery.
Monthly loss = MRR × failure rate. Failure rate is the % of attempted subscription charges that fail in a given month. The SaaS industry average is ~9% per Recurly's State of Subscriptions report.
Customers lost assumes un-recovered failures eventually churn. Churn lag is usually 7-30 days after the final failed attempt.
Stripe Smart Retries recovery (market benchmark) is an assumed market benchmark, not a Rebounce result. It covers retries but not dunning emails, SMS, WhatsApp, or checkout recovery.
Full recovery flow (assumed 70%, market benchmark) is a market benchmark assumption for smart retries + decline-code-based dunning + multi-channel follow-up (email, SMS, WhatsApp, in-app), not a Rebounce result. Actual recovery depends on your customer base, pricing, and decline code mix.
Failed subscription payments are the single largest source of churn for most SaaS businesses, and it is almost entirely invisible unless you look for it. A customer with a valid card, active product usage, and zero intent to leave silently churns because their bank declined a recurring charge, the card expired, or the bank flagged the transaction as unusual.
Recurly's State of Subscriptions research found that involuntary churn from failed payments accounts for 20-40% of total SaaS churn. Stripe's Smart Retries only retry the card. They do not contact the customer, so failures that retries cannot fix become lost revenue unless something else is in place.
A dedicated dunning tool combines retries with decline-code-specific messaging, multi-channel follow-up (email, SMS, WhatsApp, in-app), and checkout recovery. In our own data, automatic retries alone recovered about 5.5% (53 of 961), while 44% of customers who opened the payment page paid. The calculator above estimates the gap in dollars for your numbers, using assumed market benchmark rates.
1. Classify every decline
Read the Stripe decline code and apply a different strategy per code. Retrying an expired card 4 times wastes API calls; retrying insufficient_funds a few days later, around payday, gives it a better chance.
Decline code reference2. Run a sequenced dunning email flow
Send a sequence of emails over 14 days instead of a single one, with subject lines customized by decline reason.
Dunning email templates3. Add non-email channels
Many customers never see an email. WhatsApp and SMS reach them where they actually look. In our data, about 7 in 10 WhatsApp messages that reached the phone were read.
WhatsApp recovery guide4. Stop retrying hard declines
Hard declines like expired_card, stolen_card, or fraudulent will never succeed on retry. Skip the retry and send a card update request immediately - every day of delay increases churn.
Why Stripe retries alone failInvoluntary churn is when a paying subscriber is dropped because their payment failed and was never recovered, even though they did not actively cancel. The most common causes are expired cards, insufficient funds, soft network errors, and 3DS authentication failures. Recurly research puts involuntary churn at 20-40% of total SaaS churn.
For most consumer SaaS, monthly invoice failure rates land between 5% and 15%. B2B SaaS with corporate cards tends to be 2-5%. Plans with longer billing cycles (annual) see lower failure rates because cards expire less often. If you have not measured yours, 9% is a reasonable starting estimate.
Recovered revenue is the dollar amount of failed charges that eventually succeed (via retry, card update, or new payment method). Prevented churn is the customer LTV preserved by keeping that customer subscribed - typically 6-24x the recovered charge depending on your retention curve.
Stripe Smart Retries are timing-only - they retry the same card at machine-learned intervals. They do not handle hard declines (which need a card-update flow), they do not message customers via email/SMS/WhatsApp, and they do not surface in-app banners or checkout recovery. In Rebounce's own data, card retries alone recovered about 5.5% (53 of 961 retries).
Layer four things on top of retries: (1) email sequences with payment-update links, (2) SMS or WhatsApp follow-ups (in our data, about 7 in 10 WhatsApp messages that reached the phone were read), (3) in-app banners that catch logged-in users, and (4) a checkout-recovery flow for hard declines. In our data, 44% of customers who opened the payment-update page paid (58 of 131).
Stop losing revenue
Smart retries, decline-code-aware dunning emails, SMS, WhatsApp, in-app banners, checkout recovery, and cancellation flows. From $3.50/mo. 5-minute Stripe setup. 3-day free trial.