Revenue recovery for subscription creators

Some of your subscribers never chose to leave.

Cards expire. Banks decline. The charge fails and the member silently drops. Stripe catches a good share of these on its own — we work what it misses, and the pile of people who lapsed and never came back. You only pay on what we add, measured against what you already recover today.

Free · starts with a CSV, no account access · recover nothing, pay nothing

TheyStayed · RecoveryLIVE
They stayed — this month
46members
$2,300
back in your Stripe
PRODUCT PREVIEW · EXAMPLE MONTH
Works with StripeSubstack · Ghost · beehiiv · your own billingStarts with a CSVNo platform switch

The leak

Your churn number is lying to you.

Open your dashboard and every lost member looks the same: cancelled. But a big slice of them never made a decision at all. Here's how the money disappears:

Beat 01

A card quietly dies

Expired card, new bank card, spending limit, a flaky decline. Nobody did anything wrong. Nobody was told.

Beat 02

The renewal fails

Retries run on a schedule. Some land. When they don't, the subscription lapses and the member loses access.

Beat 03

It gets logged as churn

To you it reads as "they left." To them, the subscription just… stopped. Most never come back on their own.

Industry-wide, involuntary churn is 20–40% of all subscription churn — roughly half of it starts with a failed card — and it added up to an estimated $129B lost across the subscription economy in a single year. It's the most recoverable money in your business, because these people didn't want to leave.

The honest math

Stripe already recovers most of this. We're not selling you that.

Stripe says businesses using it recover about 55% of failed payments on average, through automatic retries and payment-failure emails. That part is already working, it's already yours, and we would never charge you for it. Here's what actually happens to a failed payment:

Stripe gets it back

Automatic retries and failure emails do their job. Already yours. Never billed.

Gone for good

Stolen and fraudulent cards. Retrying these wastes effort and can trigger network penalties. We write them off.

The slice we work

Expired cards, insufficient funds, temporary declines that the default schedule gave up on. Still recoverable.

These proportions are industry averages, not yours. Your real split is sitting in your Stripe dashboard under Revenue Recovery — failure rate, recovery rate, and your top decline codes. Most people have never opened it. The audit starts by pulling your actual numbers, because a generic benchmark is worth nothing when the real figure is one click away.

Where we actually work

Two leaks. The second one nobody touches.

Leak 01 — the remainder

Failures the default schedule gave up on

A generic retry cadence treats an expired card the same as a fraud flag. It isn't. Expired cards are roughly 80% recoverable; stolen cards are closer to 10%. Insufficient funds wants a retry after payday, not tomorrow morning.

We retry by decline reason and timing, past the point the default schedule quits, and follow up in your voice rather than a generic receipt.

Incremental only — measured above your current rate
Leak 02 — the pile

The people who lapsed and stayed on your list

When recovery fails, the subscription ends. On Substack they're converted to a free subscriber — still on your list, still opening your emails, no longer paying. Elsewhere they simply go quiet.

Nobody works this pile. Not the platform, not Stripe, not the creator. And it's warmer than any normal win-back list, because these people never chose to cancel — a card expired and the system moved on without them.

Clean attribution — they were already gone

Your number

See what's actually left on the table.

Two inputs, and one assumption you can correct with your real figure. No email needed to see the result.

Your numbers

$
Charges that fail each month10%
What you already recover today55%

Find your real number: Stripe Dashboard → Billing → Revenue Recovery. The "recovery rate" figure there is exactly this input. Default shown is Stripe's stated average.

Estimated annual impact

$0

Recovered charges plus the remaining lifetime of the subscribers who come back.

Stripe already recovers — yours, never billed$0
Permanently lost each year$0
Subscribers in the lapsed pile after 12 months0
What we'd realistically add back$0
Get the real figure →The audit runs on your data, not these assumptions.

The fix

Starts with a spreadsheet, not a password.

Most tools ask you to connect your billing before you've seen anything. We do it the other way around.

STEP 1 — AUDIT

Send a CSV. That's it.

Export your failed charges from the last 90 days and send the file. No connection, no login, no permissions granted. You get three numbers back within 48 hours.

Prefer live data? Add us as a View-only member in Stripe. Removable in one click.
STEP 2 — RECOVER

Decline-aware retries and warm win-backs

Retry timing set by the reason the card failed, past where the default schedule stops. Then short, personal messages to the lapsed pile — written in your voice, not ours.

You approve every message before a single one sends. Nothing is automatic on day one.
STEP 3 — KEEP

One number: they stayed

Members kept and dollars back in your Stripe, measured against the recovery rate you had before we started. If the line doesn't move, there's nothing to bill.

Every recovered dollar is verifiable in your own Stripe account, not just our dashboard.

The deal

Paid on the lift, not on the total.

Before anything starts, we record what you recover today. That figure becomes the line. We're only paid on revenue that lands above it — never on what Stripe was already getting for you. No monthly fee during the pilot, no setup fee, no contract.

  • $0/month during the pilot — performance only
  • Your baseline is recorded first — we can't bill on what you already had
  • Verifiable in your Stripe — you're the source of truth, not our dashboard
  • Walk away anytime — one click, no exit process
75% to you

of every dollar recovered above your baseline. Our 25% only exists on money that was already gone and wasn't coming back on its own.

The human

A note from the founder

TheyStayed is new, and I'd rather tell you that than fake it. No wall of logos, no cherry-picked testimonials — I'm onboarding the first creators by hand, one at a time.

I'll also tell you the thing most tools in this category leave out: Stripe is already good at this. It recovers roughly 55% of failed payments on its own. If you came here expecting me to claim that number as mine, I can't. What I can do is work the part it misses and the pile of people who lapsed and never came back — and prove it against your own baseline.

What I won't do: spam your members, write to them in a voice that isn't yours, or touch anything in your Stripe you haven't approved. Your list's trust in you is worth more than any recovered payment.

R
Renato — founder, TheyStayed
@renatoryanhq · building this in public

Questions

The things you're right to ask.

Stripe already retries failed payments. What's left for you? +
A real amount, but less than most tools in this space imply — which is why we measure it before quoting it. Stripe's automatic retries recover about 55% on average. The remainder splits into cards that will never work again (stolen, fraudulent — we don't touch those) and soft declines the default schedule gave up on: expired cards, insufficient funds, temporary issues that need different timing. On top of that sits the lapsed pile, which Stripe doesn't address at all because those subscriptions are already closed.
Do I have to connect my Stripe account? +
Not to get the audit. It starts with a CSV export of your failed charges — you send a file, we send back numbers, and you've granted nothing. If you'd rather we work from live data, the lighter option is adding us as a View-only team member in Stripe, which you can remove in one click. Card numbers never leave Stripe in either case; we never see or store them.
Will you annoy my subscribers? +
Messages are short, personal, written in your voice, and only go to people whose payment actually failed — most of whom still want access. You approve every template before anything sends, and the cadence is hard-capped. Someone who gets their access back is a happier subscriber, not an annoyed one.
I'm on Substack. Doesn't Substack handle failed payments? +
It does, and we deliberately stay out of that window — running a second dunning sequence alongside theirs would just mean your subscriber gets two emails about the same card. Our work starts where Substack stops. After roughly two weeks of failed attempts, Substack converts the person to a free subscriber and the story ends there. They're still on your list, still reading, no longer paying, and nobody ever goes back to them. That pile is the reason Substack writers are the first people we're working with.
What does the free audit actually involve? +
You send a CSV export of declined charges (or add View-only access). Within about 48 hours you get three numbers: what you lost to failed payments over 90 days, how much of it is realistically recoverable given your decline codes, and how many subscribers are sitting in your lapsed pile. No call, fully async, and the numbers are yours to keep whether or not we work together. If the figure is too small to be worth doing, I'll tell you that.
I sell through Whop, Skool, Patreon or Gumroad. +
Those platforms are the merchant of record — they process the payments, so there's no Stripe account of your own for us to work with. Honest answer: we can't help you today. If your billing runs through your own Stripe account — Substack, Ghost, beehiiv, or a custom setup — we can. Ask if you're not sure; it takes one click to check.

Free leak audit

Find out what you're losing. Free, async, no call.

Drop your email and I'll reply personally with the two ways to start — a CSV export or View-only access. About 48 hours later you'll have your real numbers, and they're yours to keep either way.

First creators only · pilot pricing locked for life · recover nothing, pay nothing