How to measure a save rate you can defend

Last updated 27 October 2026

A save rate is only worth quoting if someone else could check it. This page sets out exactly what Reoffer counts as a saved customer, which number it divides by, and what it leaves out, so the figure on your dashboard is one your own Stripe account agrees with.

In short. A save is a customer who started to cancel, accepted an offer, and whose subscription Stripe then confirmed was changed to match it.

Save rate = saves ÷ customers who were shown an offer.

What happens to each cancellation

Every customer who opens the cancellation page ends up in one of these states. Only one of them is a save.

StateWhat it meansA save?
StartedThe customer opened the cancellation page. A link that was created but never opened is not counted at all.No
Shown an offerThe customer was eligible for an offer and saw it. This is the save rate's denominator.No
AcceptedThe customer said yes and confirmed the terms. Intent, not a result: nothing has changed in Stripe yet.No
PendingReoffer asked Stripe for the change but has no confirmation yet, for example after a timeout. It stays pending until Stripe’s own record of the subscription settles it.No
AppliedStripe confirmed the discount, free cycle or pause is on the subscription.Yes
FailedStripe refused the change, or the subscription no longer qualified. Nothing was changed, and the customer is told so.No
Kept cancellingThe customer declined the offer and carried on to cancel.No

Three rates, kept apart

A single number hides where customers drop out. Reoffer reports three, so a persuasive offer that Stripe couldn’t carry out never looks like a save.

Save rate = Applied ÷ shown an offer
Of the customers who saw an offer, how many are now on a changed subscription?
Acceptance rate = Accepted ÷ shown an offer
How persuasive was the offer? Always higher than or equal to the save rate.
Application success rate = Applied ÷ accepted
Of the yeses, how many did Stripe actually carry out?

How save rates get inflated, and what Reoffer does instead

Most published save rates don’t say what they count. These are the usual ways the number grows without more customers staying.

  • Counting a click on “Accept” as a save. A save is counted only after Stripe confirms the change. Accepted and pending offers are reported separately.
  • Dividing by a smaller group, such as customers who answered a survey or clicked through to a second step. The denominator is every customer who was shown an offer, whatever they did next.
  • Mixing test and live data, or rehearsals and real customers. Test-mode sessions never appear in live numbers. Each is reported on its own.
  • Counting a customer who would have stayed anyway, such as one who opened the page by mistake and closed it. Closing the page is not a save. Only an applied offer is.
  • Valuing every save at a full year of the original price. Estimated revenue covers only the offer’s own billing cycles, at the price the customer will actually pay. See below.

Estimated retained revenue

Next to the save rate, the dashboard shows an estimate of the revenue the saves keep. It is labelled an estimate everywhere, and it is built to undercount rather than overcount.

  • Only applied offers contribute. Accepted, pending and failed offers add nothing.
  • A percentage discount counts the discounted price for each cycle the discount runs: a 30% discount for three months on a $50 plan counts $35 three times, so $105.
  • A free billing cycle counts nothing, because nothing is charged during it, and the cycles after it aren’t forecast.
  • A pause counts nothing, because no invoices are raised while payments are paused.
  • Nothing is forecast past the end of the offer. If the customer stays on at full price afterwards, that is not added to the estimate.
  • Each currency is totalled on its own. Dollars and euros are never added together or converted.
  • Subscriptions the estimate can’t value honestly, such as yearly plans or subscriptions with more than one item, are left out and listed as left out, never guessed at.

Checking it against Stripe

Every save is a change on a subscription in your own Stripe account, made through Stripe Connect: a coupon for a discount or a free cycle, or paused collection for a pause. Open the subscription in your Stripe dashboard and the change is there. If Reoffer’s count and your Stripe account ever disagree, Stripe is right, and Reoffer re-checks pending offers against it until they are settled.

What a save doesn’t tell you

  • A save is measured at the moment the offer is applied, and it stays counted if that customer cancels later. Reoffer doesn’t yet report how long saved customers stay, so a save is not a promise they stay for good. Their subscription in Stripe shows what happened next.
  • Without a Stripe connection, Reoffer runs in feedback-only mode. It records why customers leave, but it changes no bills, so it counts no saves at all.
  • Reoffer doesn’t publish a save-rate benchmark across its customers. Until there is enough real, confirmed data to state one, the first save rate you see should be your own.

Questions

What counts as a save?

A customer who started to cancel, accepted an offer, and whose subscription Stripe then confirmed was changed to match: a discount, a free billing cycle or a pause. Nothing short of that confirmation counts.

How is the save rate calculated?

Saves divided by the customers who were shown an offer. Customers who opened the page but weren’t eligible for any offer aren’t in the denominator, and neither are links that were never opened.

Is an accepted offer a save?

No. Accepting is intent. It becomes a save only when Stripe confirms the change. Until then it is reported as accepted or pending, and if Stripe refuses the change it is reported as failed.

What happens if Stripe doesn’t answer in time?

The offer is marked pending, never applied. Reoffer later checks the subscription in Stripe and settles it either way from what Stripe shows.

Does a pause count as a save?

Yes, once Stripe confirms payments are paused. The customer didn’t cancel. It adds nothing to estimated revenue, though, because nothing is billed while paused.

Can I check the numbers against my own Stripe account?

Yes. Every save is a change on a subscription in your own Stripe account, made through Stripe Connect: a coupon for a discount or free cycle, or paused collection for a pause. You can find each one in your Stripe dashboard.

What is a good save rate?

It depends on the product, the price and the offers, and published figures rarely say what they count. Reoffer doesn’t quote a benchmark. Measure your own with a definition you can defend, then compare against yourself over time.

Find out why your customers leave

Start on the Free plan: no card, one product, feedback only. Connect Stripe on a paid plan when you want offers applied and saves counted this way. See pricing.