been heads-down on Lirova (tool that recovers revenue lost to failed subscription payments) and the thing that surprised me most isn't technical — it's how invisible this leak is to the founders living with it.
most people running a subscription business assume Stripe handles failed payments. it does, partially. but here's what actually happens under the hood:
when a renewal fails (expired card, bank decline, insufficient funds), Stripe runs its default retries and recovers a chunk. the rest just... lapses. no churn event, no cancellation, no email to you. the customer never chose to leave — their card died and nobody followed up. it shows up as "MRR went down a bit this month" and you blame it on the market.
a few things i didn't expect when i dug into the numbers:
expired cards alone are ~42% of all payment failures. a retry won't fix those — the card is dead, you need to actually reach the customer
the decline reason completely changes what you should do. "insufficient funds" wants a retry in 3 days when paychecks land. "lost/stolen" should NEVER be retried — hammering a flagged card makes your Stripe account look like a fraud risk. most tools retry everything blindly
for a typical subscription SaaS this is 5-9% of MRR walking out the door every month, unnoticed
i'm not posting this to pitch (pre-launch, no customers yet, genuinely). more that i keep talking to founders who are surprised this is even a category. if you run anything on Stripe subscriptions, it's worth pulling your invoice.payment_failed events for the last quarter and just looking at the decline codes. the breakdown is usually eye-opening.
curious if anyone here has actually measured their involuntary churn vs assumed it was voluntary. what'd you find?
The retry timing point is the one I would push further. "Insufficient funds, retry in 3 days when paychecks land" is the right instinct with the wrong mechanism.
Pay dates are not universal, and a fixed offset lands wherever it lands.
What actually matters is crossing a pay boundary, so a retry that moves to a different day of the month beats one that moves by a fixed number of days, and a second attempt in the same calendar week as the first is mostly wasted.
The other thing I would add to the list: for a lot of businesses the biggest single gap is not the retry logic at all, it is that nobody is told.
No event fires anywhere a human sees, so the first signal is the monthly number being slightly lower, which is exactly the thing you described.
Getting the failure in front of a person, with the decline reason attached, is usually a bigger change than anything clever done afterwards.
I am building in the same space and I am in the same place you are, live and nobody using it, so I have no measured involuntary churn of my own to give you. Happy to be the person who compares notes rather than the person who tells you what the number should be.