Revenue recovery rate is the percentage of failed payments you manage to get back. If 100 payments fail and you recover 65, your recovery rate is 65%.
This is THE metric for evaluating the effectiveness of your dunning strategy. A good rate means money coming in. A bad rate means avoidable involuntary churn.
How to calculate it
Simple formula:
Revenue Recovery Rate = (Recovered payments / Failed payments) × 100
Or in dollar terms:
Revenue Recovery Rate = (Recovered MRR / At-risk MRR) × 100
Both approaches work. The first counts transactions, the second counts dollars. The second is more accurate if your customers have very different values.
Concrete example:
- 50 payments failed this month (totaling $5,000)
- 35 were recovered (totaling $3,200)
- Volume recovery rate: 70%
- Value recovery rate: 64%
What's a good rate?
Benchmarks vary by source, but here are the general ranges:
| Rate | Assessment |
|---|---|
| < 30% | Serious problem. No dunning or broken dunning. |
| 30-50% | Basic. Automatic retries with no real strategy. |
| 50-65% | Decent. Dunning in place, but room for improvement. |
| 65-80% | Good. Multi-channel strategy, optimized timing. |
| > 80% | Excellent. Top 10% of SaaS. |
Most SaaS without a dedicated tool land between 30-50%. With a well-configured dunning tool, you easily get to 60-75%.
Factors that influence the rate
Failure type. Soft declines are easier to recover than hard declines. If you have lots of expired cards, your rate will naturally be lower.
Speed of response. The faster you act after a failure, the more you recover. Waiting a week before sending the first email loses 20-30% of potential recovery.
Number of channels. Email only: average rate. Email + SMS: +15-25% recovery. People don't all read their emails.
Message quality. A clear email with a direct link to update the card converts better than a corporate email with 3 paragraphs of jargon.
Grace period length. More time = more recovery (up to a point). But too long = delayed revenue and freeloaders.
Your audience. B2B generally recovers better than B2C. High-ticket better than low-ticket. Invested customers make the effort to fix the problem.
How to improve your rate
Go multi-channel. If you're only sending emails, add SMS. It's the fastest lever to gain 15-20 points.
Optimize retry timing. Smart retries (based on error type, day, time) recover more than fixed retries every 24 hours.
Make updating easy. One click to update the card, not 5. Remove friction. Allow updates without login if possible.
Personalize based on the error. "Your card has expired" is more actionable than "Your payment failed." Adapt the message to the problem.
Test your messages. A/B test subject lines, content, timing. A few points of open rate can translate to thousands of dollars.
Invest in pre-dunning. Notify customers before their card expires. Preventing the failure is even better than recovering from it.
Business impact
Let's do the math for a SaaS at $100K MRR:
- Payment failure rate: 7% = $7,000 at risk each month
- Current recovery rate: 40% = $2,800 recovered, $4,200 lost
- Recovery rate after optimization: 70% = $4,900 recovered, $2,100 lost
Difference: +$2,100/month = +$25,200/year in saved MRR.
And it's recurring. Every month, you keep customers who would have churned. The compounding effect is massive over 12-24 months.
Track it over time
Don't just look at the global rate. Break it down:
- By failure type (soft vs hard decline)
- By channel (email only vs email + SMS)
- By customer cohort (new vs long-term)
- By pricing plan
You'll identify pockets of improvement. Maybe your enterprise customers at $500/month recover at 80%, but your starter customers at $29/month at 45%. The effort isn't in the same place.
Set a realistic goal. Going from 40% to 50% is doable in a few weeks. From 65% to 75% takes more optimization. Above 80%, every point is hard-won.