DEV Community

Diven Rastdus
Diven Rastdus

Posted on • Originally published at rebill.astraedus.dev

Involuntary Churn: The Revenue Leak Every SaaS Founder Ignores

There are two types of churn in SaaS:

  1. Voluntary churn: Customer decides to cancel. They're unhappy, found a competitor, or no longer need your product.
  2. Involuntary churn: Customer's payment fails. Their card expired, hit its limit, or the bank flagged the transaction. The customer never decided to leave.

Most SaaS founders obsess over voluntary churn (better onboarding, more features, customer success) while ignoring involuntary churn entirely. This is a mistake.

The numbers are brutal

  • Involuntary churn accounts for 20-40% of total churn in most SaaS businesses
  • The average failed payment rate is 5-9% of charges
  • Without intervention, 50-70% of failed payments result in permanent churn
  • A $100K MRR SaaS loses $5,000-$9,000/month to failed payments alone

The cruel irony: these are your best customers. They didn't choose to leave. They just had a payment issue.

Why payments fail

Understanding failure reasons helps you fix them:

Reason % of Failures Fix
Insufficient funds ~35% Retry in 3-5 days (payday)
Card expired ~25% Pre-expiry email alerts
Card declined (generic) ~20% Email customer to update card
Bank fraud block ~10% Customer must whitelist
Invalid card number ~5% Card was replaced
Other ~5% Varies

Notice that the top 3 reasons (80% of failures) are all fixable with the right communication.

The recovery playbook

Step 1: Let Stripe retry automatically

Stripe Smart Retries uses machine learning to pick the best time to retry a failed charge. It looks at patterns across millions of transactions. Don't build your own retry logic -- Stripe's is better.

Enable Smart Retries in your Stripe Dashboard under Settings > Billing > Subscriptions and emails.

Step 2: Send dunning emails immediately

Dunning emails are the messages you send to customers when their payment fails. They should:

  • Go out within 1 hour of failure
  • Include a direct link to update payment method
  • Escalate in urgency over 12 days
  • Be plain and helpful, not pushy

A 4-email sequence (day 0, 3, 7, 12) typically recovers 35-45% of failed payments.

Step 3: Prevent failures with pre-expiry alerts

The cheapest recovery is prevention. Monitor your customers' card expiration dates and email them 30 days before:

"Hi [Name], your card ending in 4242 expires next month. Update your payment method now to avoid any interruption to your [Product] subscription."

This prevents 20-30% of future payment failures from happening at all.

Step 4: Win back cancelled subscriptions

If a subscription does cancel due to payment failure, don't give up. Send a win-back email 3-7 days after cancellation:

"We noticed your [Product] subscription was cancelled. If this wasn't intentional, you can reactivate your account here."

Win-back emails recover an additional 5-10% of churned customers.

Tools for the job

You have three options:

  1. Build it yourself: Stripe webhooks + email service + cron jobs. Takes 2-4 weeks. Full control but ongoing maintenance.
  2. Stripe's built-in emails: Free but basic. No analytics, limited customization, no win-back campaigns.
  3. Dedicated dunning tool: Rebill ($19/mo), Churn Buster ($249/mo), or Baremetrics Recover ($58/mo). Set up in minutes, proven email sequences.

The math on dedicated tools is straightforward: if you recover even one $50/month subscription, the tool pays for itself.

Quick wins you can do today

  1. Check your Smart Retries setting in Stripe. Make sure it's enabled.
  2. Look at your failed payment rate in Stripe Dashboard > Payments > Failed. If it's above 5%, you have a problem.
  3. Calculate your involuntary churn cost: (monthly failed payments) x (average subscription value) x 0.5 = revenue you're losing.
  4. Set up basic dunning emails -- even a single email on payment failure beats doing nothing.

Don't let failed payments silently drain your MRR. The fix is straightforward and the ROI is immediate.


Want to calculate exactly how much you're losing? Try our free SaaS Churn Calculator.

Top comments (0)