SaaS metrics

Payment recovery rate

Payment recovery rate measures how many failed payments were eventually collected, out of every payment that failed, with a worked example.

Last reviewed

Why it matters

Once a payment fails, recovery decides whether the revenue is lost or only late. The recovery rate shows how well your retries and messages win it back, in the one number that connects billing work to revenue.

Read it together with the failed payment rate. A business with a low failure rate and poor recovery loses more than it expects, and a business with a high failure rate and strong recovery loses less than it fears. The rate also shows whether a change to your retry schedule helped, which is hard to see from revenue alone.

The formula

In words: the failed payments that were later collected, divided by all failed payments, then multiplied by 100. Give the same period and the same recovery window to every cohort.

In symbols:

text
payment_recovery_rate = recovered_payments / failed_payments x 100
  • The denominator is all failed payments, not all payments.
  • Wait until the recovery window has closed before you read the rate for a cohort.
  • Report soft and hard declines separately when you can, because they recover at very different rates.

A worked example

Example numbers (made up for illustration): in one month 200 payments failed, and over the following weeks some of them were collected.

Type of failureFailed paymentsRecoveredRecovery rate
Soft declines1408460.0%
Hard declines60610.0%
All failed payments2009045.0%

90 recovered out of 200 failed payments is a payment recovery rate of 45.0%. The two groups behave very differently, so the blended rate depends on how many failures are soft and how many are hard.

Payment recovery rate by failure type (example numbers)
03060Soft declines60.0%Hard declines10.0%All failed payments45.0%

What published data says

A processor’s published average is a reference point and not a target. It depends on the mix of declines, the products and the retry settings behind it.

  • Average failed-payment recovery rate Stripe publishes for businesses using Stripe Billing: 55%. Stripe states 55% on its Billing product page. Read on 18 Oct 2026. Source.

How to improve it

Recovery improves when each failure gets the right response at the right time.

  • Spread retries over several days and skip them for hard declines.
  • Send a message with a one click link to update the card as soon as a payment fails.
  • Keep the customer’s access running through a short grace period, so they can fix the card without losing the product.
  • Make the card update page work on a phone and ask for nothing but the new card.
  • Track recovery by step so you can see which retry or message earns its place.

Common mistakes

  • Dividing by all payments instead of failed payments, which shrinks the rate to a meaningless figure.
  • Reading a cohort before its recovery window has closed, so late recoveries are missed.
  • Counting a customer who signs up again as a recovered payment while the original charge stays unpaid.
  • Blending soft and hard declines, which hides the fact that most hard declines never recover.

Work it out with your own numbers

The failed payment recovery calculator shows what a change in recovery is worth in revenue. Open the failed payment recovery calculator and enter your own figures. It runs in your browser and shows each step of the sum.

Questions

What counts as a recovered payment?

A payment that failed and was later collected on the same invoice, whether by a retry or after the customer updated their card.

Why use failed payments as the denominator?

The rate measures how well you win back what failed. Dividing by all payments would mix in payments that never needed recovering.

When should I measure a cohort?

After the recovery window has closed. A cohort read too early understates the rate because late recoveries have not yet arrived.

Do soft and hard declines recover alike?

No. Soft declines often succeed on a later attempt, while hard declines usually need a new card, so track them as separate groups.