Free, no account required

Stripe Failed Payment Benchmark

See how your recovery rate compares to similar SaaS. Enter your failed payment rate and monthly revenue to estimate the recovery opportunity hiding in Stripe declines.

Public SaaS baseline

~5.0%

Based on public Stripe and ProfitWell baselines while Dunlo builds an anonymized benchmark from beta users.

Is my failed payment rate normal?

Mini calculator for Stripe SaaS subscriptions.

You're above the ~5% industry average

At your MRR level, that's approximately $115/mo in recoverable revenue.

Biggest opportunity

insufficient_funds typically averages 1.9%

Empathetic retry notice. Let them know you will try again later.

See your full breakdown - connect Stripe free

Benchmarks by failure code

Hardcoded Phase 1 public baselines.

Stripe SaaS average

card_expired

The saved card is past its expiry date.

Average

~0.8%

Recoverable

63%

insufficient_funds

The bank declined because funds or credit were not available.

Average

~1.9%

Recoverable

31%

do_not_honor

The issuing bank blocked the charge for a private reason.

Average

~0.7%

Recoverable

44%

card_declined

Stripe returned a generic decline without a precise customer-safe reason.

Average

~1.6%

Recoverable

28%

Recovery playbook

What each code means for your recovery

card_expired

Card expired

63% recovery avg

Meaning: The saved card is past its expiry date. The customer probably has no idea anything broke.

Email: Friendly card-update note with a one-click billing link.

Timing: Send immediately on day 0. Do not make it sound urgent or accusatory.

insufficient_funds

Insufficient funds

31% recovery avg

Meaning: The bank declined because funds or credit were not available. The customer may know cash is tight or may be waiting for a reset.

Email: Empathetic retry notice. Let them know you will try again later.

Timing: Wait at least 3 days before retrying. Do not demand a card update as the first response.

do_not_honor

Do not honor

44% recovery avg

Meaning: The issuing bank blocked the charge for a private reason. The card can work elsewhere, which makes this feel confusing.

Email: Explain the bank block and offer two fixes: call the bank or use another card.

Timing: Send on day 0 before another retry. Do not retry repeatedly without customer action.

card_declined

Card declined

28% recovery avg

Meaning: Stripe returned a generic decline without a precise customer-safe reason. The customer has little useful context and needs options.

Email: Conservative dual-option email: approve with bank or add another card.

Timing: Send on day 1 after one clean delayed retry window. Do not pretend you know the exact cause.

Phase 2

Your personal benchmark will be built from your Stripe data.

Connect Stripe to see your real failure-code mix, recoverable revenue, and best next email sequence. Dunlo is free during beta.

Connect Stripe to see your personal benchmark