Learn why subscribers cancel, and which saves last.
An honest read on why subscribers cancel, and tests that show which saves still leave a paying subscriber 90 days later.
| Reason | Share | Save to test |
|---|---|---|
| Still have plenty | 41% | Skip or delay |
| Away or moving | 18% | Pause |
| Price | 15% | An offer |
| Not using it | 14% | Swap the product |
| Something else | 12% | Ask |
Why Care Kit subscribers cancel, grouped by reason, with the save worth testing for each.
Sound familiar?
- The cancel survey says “too expensive” for most of them, and you don’t believe it.
- A bigger discount gets accepted more often, and nobody checks who’s still paying.
- The reasons sit in surveys, support tickets and reviews that never meet.
A save that’s accepted and canceled a month later cost you the discount and kept nothing.
What changes.
- Reasons
- A dropdown, taken at its wordSurvey, tickets and orders read together
- Offers
- The biggest discount for everyoneTested, reason by reason
- Judging a save
- The offer was acceptedStill paying at 90 days
- Survey changes
- A new option quietly reshuffles the dataReason codes versioned, so results stay comparable
How it works. 6 steps, 4 stages.
- AI2
- Rules and automation2
- Your team2
- Approval
1Collect
Rules and automation
Capture the reason and the context
The cancel survey, support contacts and recent orders, joined on one subscriber.
- Recharge
- Gorgias
2Group
AI
Group the reasons
Free-text answers become reasons your team can name, with examples kept beside each.
Your teamApproval
Agree the reason codes
Your team approves the categories, so the data stays comparable when the survey changes.
3Test
Rules and automation
Randomize the offer
Each reason gets a randomly assigned save: a skip, a swap, a discount or nothing.
- Recharge
- Stay
4Decide
AI
Read what lasted
Counts the subscribers still paying at 90 days, and what each save really cost.
Your teamApproval
Choose what stays in the flow
Keep, change or drop each save, with a date to check again.
Each read sets the next test
What you get. Real work, every week.
- Offer a skipTo “still have plenty”+11Keep
- 10% offTo price reasons+4Keep
- 20% offTo price reasons+5Drop
Paying at 90 days, against a no-offer group
Judged at 90 days. A bigger discount earns its place only if more subscribers are still paying.
Which offer keeps a subscriber paying?
- Groups
- A skip, 10% off, 20% off, no offer
- Measured
- Still paying at 90 days, after discounts
- Reasons
- Coded the same way throughout
- Decision
- Keep an offer only if it pays for itself
Every save is a test with a no-offer group, agreed before the flow changes.
How you’ll know it’s working.
Subscribers still paying at 90 days
The number a save should be judged on, which acceptance alone can’t show.
Cost per saved subscriber
Discounts and gifts, divided by the subscribers still paying who wouldn’t otherwise have been.
Cancels with a usable reason
The reasons only help if most cancels leave one your team can act on.
Baselines agreed before we build.
Works with what you have.
Commerce
- Recharge
- Stay
- Shopify
Email & SMS
- Klaviyo
Support
- Gorgias
- We configure first
- Recharge and Stay both have cancel flows with reasons and offers. We use them to ask the questions, then fix how the results are read.
- We build when
- Reasons sit in several systems, or you want randomized offers read at 90 days against a no-offer group.
What a first build includes.
Built in your accounts, around your team. Scope, fee and baseline agreed before we start.
- 1Design
- 2Build
- 3Run it, or hand it over
We build
- One set of reason codes across survey, tickets and orders
- A cancel flow with randomized offers
- A no-offer group in every test
- A 90-day readout of what each save kept
We start from
- Cancellation and survey data
- Support contacts from subscribers
- Subscription and order history
From your team
- Owner
- Head of retention or lifecycle
- Involves
- Lifecycle
- Customer service
- Finance
Questions teams ask.
Isn’t this the same as subscriber control?
They’re neighbors. Subscriber control makes skipping, delaying and swapping easy. This job learns why people cancel anyway, and which saves keep them paying. We measure the two separately, because a skip that only delays a cancel isn’t a save.
Why not just offer a bigger discount?
ProsperStack, a cancel-flow vendor, reported randomized tests in 2026 where a 20% offer roughly doubled acceptance against a 10% one. It added only about one more paying subscriber per 100 offers by day 90. The vendor didn’t disclose sample sizes, so treat it as a signal. Acceptance is easy to count, and still paying at 90 days is what pays.
Can we trust the reasons people pick?
Treat them as a starting point. Wording changes what people choose, so we keep the raw answers, version the reason codes and check them against what the same subscribers did next.
Who owns it once it’s running?
You do. It’s built in your accounts, documented, with training for the people who run it. Ownership usually sits with your head of retention or lifecycle. We can keep running it with you, or step back.
How do we start?
Usually with a retention review: two to four weeks, a fixed fee credited to the build, and a plan that’s yours. If the job is already clear, we can scope the build directly.
Part of your retention engine. One of 12 use cases, in 6 parts.
See the whole retention engine- Second orders3
- Subscribers3
- Contact that fits1
- Owners & loyalty2
- Lifecycle production1
- Proof & decisions2
In subscribers
See it at work
Keep the subscribers worth keeping. Start with a retention review.
We reply within one business day.