How it's calculated

You can open Stripe and check our arithmetic. We would rather you did. Here is every definition, including the ones that make our number smaller than a naive count would.

1. We count invoices, not payment attempts

When a payment fails, Stripe retries it automatically — up to several attempts spread over three to four weeks. A $60 invoice that failed three times produces three failed charges, but it is still one $60 problem.

Counting failed charges would report that invoice as $180 of lost revenue. Some tools do exactly that, and the resulting figure is two to three times too large. We count the invoice: one dollar owed is one dollar counted, however many attempts it took.

2. What we include

The report covers recurring revenue that Stripe charged automatically. An invoice is included when:

That last one deserves a sentence. Stripe voids the unpaid invoice when it cancels a subscription after retries run out — so a voided invoice is often the clearest record of money you definitively lost. We exclude a voided invoice only when no payment was ever attempted on it, which means someone cancelled it deliberately.

3. The time window, and why recent failures are held back

The report covers the last 12 months, or the full life of your account if it is younger.

But an invoice that failed ten days ago may still be inside Stripe's retry schedule. Calling it "lost" would overstate your losses. So the window is split in two:

4. What counts as a failure

An included invoice is treated as having failed when either:

An invoice paid on the first attempt is not a failure. An invoice never attempted is not a failure either — and by definition it falls in the "still in play" period.

5. The figures

All of these are computed over the settled period only, and weighted by amount rather than by invoice count.

Billed volumeTotal amount due across all included invoices.
At riskTotal amount due across invoices that failed.
RecoveredTotal amount eventually paid on invoices that failed.
Failure rateAt risk ÷ billed volume.
Recovery rateRecovered ÷ at risk.
Net lossAt risk − recovered.
Loss per monthNet loss ÷ number of months in the settled period.

"Recovered" means recovered by any means — Stripe's automatic retry, the customer updating their card, or you chasing them personally. That is deliberate: the recovery rate should describe your real situation today, not the performance of one mechanism in isolation.

We also compute the same rates by invoice count and show them alongside. The gap between the two is informative: if your amount-weighted failure rate is higher than your count-weighted one, your larger subscriptions are the ones failing.

6. Customers lost

A subscription is counted as lost to a failed payment when all three hold:

A customer who cancelled deliberately while their payments were current is not counted, and never will be.

7. Subscriptions that never started

When the very first payment on a new subscription is declined, Stripe expires the subscription within 24 hours and voids the invoice. That money is genuinely lost — but it is not lost recurring revenue, because the subscription never ran.

It is a signup problem, not a retention problem, and it has a different fix. So we report it on its own line and keep it out of the headline figure, out of the recovery rate, and out of the customers-lost count. Counting someone who was never a customer as a lost customer would make that number worthless.

8. What we deliberately do not do

9. Benchmarks are benchmarks, not promises

Where the report compares your recovery rate to a range seen elsewhere in the industry, that range is context for reading your own number. It is not a prediction of what you would achieve, and it is not a commitment on our part.

Methodology version 1.1 — last updated 2026-08-09.