Why they cancelled: the exit questions a small SaaS asks and what the answers change
Between a fifth and a third of a small SaaS's lost customers never chose to leave: their card failed. Stripe's and Recurly's churn splits, why renewals fail (40.6% insufficient funds), what retries and emails recover (51% to 70%), the one exit question to ask, published save rates, the California cancel-button rule, a worked 500-customer example and a one-page monthly churn review.

Every subscription business has a number it does not look at closely enough: the customers who left last month. Most small SaaS owners know the total. Fewer know how it splits between people who decided to go and people whose card simply stopped working, and fewer still have a record of why the first group left that is better than a guess.
This piece is about getting that record and using it. It covers the split between voluntary and involuntary churn with Stripe's and Recurly's published figures, why card payments fail and what each recovery step brings back, the exit question to ask and what each answer should change, the save rates cancel flows actually reach, the California rule that limits how you show a save offer, a worked example for a 500-customer product, and a one-page churn review you can fill in on the first working day of each month.
First split the churn: who chose to leave, and whose card failed
Voluntary churn is a customer who clicked cancel. Involuntary churn is a customer whose renewal payment failed and was never recovered. Many of them did not mean to leave at all. The two need different fixes, so the first job is to count them separately. Stripe published the split for 2024 from its subscription data; Churnkey reprinted it in its involuntary churn benchmarks (November 2025).
Recurly's churn benchmarks for its own billing network (July 2026 data) show the same shape. We worked out the involuntary share from Recurly's published voluntary and involuntary rates for each price band:
Two things follow. For a typical small SaaS at $10 to $100 a month, between a fifth and a third of lost customers are lost to payments, not decisions. And that share falls sharply with price: at over $250 a month almost nobody churns by accident, because business cards, invoices and a finance person who notices are all involved. If your product is cheap and sold to individuals, fix payments first. If it is expensive and sold to companies, the exit question matters far more.
Why card payments fail, and what each fix brings back
Churnkey looked at 5.4 million failed subscription payments across its customers. The decline codes are not what most people expect. Expired cards are a small slice, because card networks now update most expired cards automatically (Stripe and other processors do this through card account updater services). Most failures are about money in the account on the day.
Insufficient funds is a timing problem. The same card often works three days later, after payday. That is what retries are for, and why a retry at a smarter time beats a retry at a fixed time. "Do not retry" and "incorrect number" are the opposite: no retry will ever work, and only the customer can fix them, by entering a new card.
The order of work is clear from that table. Turn on smart retries (in Stripe: Billing, Revenue recovery, Retries) and you get about half of failed payments back without writing a line of code. Each email adds one or two points, so four or five short, plain emails over two to three weeks are worth sending, and they should go to whoever holds the card, which in a business account is often not the person who uses your product. The last and largest jump comes from telling the user inside the product: a banner or a blocking screen that says the payment failed and shows an "update card" button. A logged-in customer sees it at the moment they want the product, which no email achieves.
A failed payment that is never fixed can also come back to you as a dispute, if the customer later notices a charge they did not expect when a retry goes through. Our piece on chargebacks at a small SaaS covers which ones you can win and what a dispute costs either way.
The exit question: one required answer, one optional sentence
For the customers who do decide to leave, the cancel page is the only moment you are sure to have their attention. Ask one question there, make it required, and keep it single-choice so every cancellation gets an answer you can count. Then offer one optional free-text box. Most people skip it; the few who write something tell you more than the rest of the survey.
How the answers usually fall is less certain than vendors suggest. A widely quoted ProfitWell breakdown of more than 23,000 cancellations put price at 29 per cent, missing features at 22 per cent and not using the product enough at 19 per cent; we could only find it quoted by others, not the original report. Churnkey's State of Retention report (2023 data, more than a thousand businesses) names budget limits as the dominant reason without a share. Expect "too expensive" near the top of your own list, and do not take it at face value: it is also the answer that ends the conversation fastest. Check it against usage. A customer who says the price is the problem but logged in twice in the last month is telling you about value, not price.
A reason list that works for most small products, with what each answer should change:
Seven options is enough. Put them in an order that is not alphabetical and does not lead with price, so the first answer on the list is not the lazy one. Store the answer, the free text, the plan, the months the customer paid and their last login together, because the reason on its own tells you little.
Save offers: what the published save rates are, and what a save is worth
A cancel flow is the survey plus an offer matched to the answer. The vendors that run these flows publish save rates, meaning the share of people who started cancelling and did not finish. They vary a lot by audience:
The RevenueCat line is the sobering one. Most of a save rate is people who open the cancel page and then do not cancel, often because they only wanted to check the date or the price. Very few people take the discount itself. RevenueCat also found that apps using the cancel-time messages did not cut cancellations clearly more than comparable apps that did not, within the margin of chance.
And a save is not a customer kept. Churnkey reports that paused subscribers resume 54 per cent of the time on average (43 to 89 per cent depending on set-up), while only 22 per cent of discount saves stay, because someone who had already decided to leave takes the cheaper month and leaves one cycle later. Recurly's 2026 State of Subscriptions found that 38 per cent of consumers would rather pause than cancel, and that three in four paused subscribers came back within months. For a small product, that makes the pause the first offer to build, and the discount the last.
Two numbers from Churnkey's 2024 report are useful when you design the screens: people who are about to cancel spend up to 80 seconds deciding, and their tolerance for friction ends at about five steps. Two screens (the question, then one offer or the confirmation) are plenty.
The rule: the cancel button stays on the screen
The FTC's "click to cancel" rule was struck down by the Eighth Circuit on 8 July 2025, days before it was due to take effect, so there is no federal rule on cancel flows beyond the older Restore Online Shoppers' Confidence Act. The state laws remain, and California's is the one to design for. Under Business and Professions Code section 17602, as amended from 1 July 2025, a business that lets customers cancel online may show a discount or other retention offer only if it shows, at the same time, a prominently placed "click to cancel" link or button that stays on the screen, and it must process the cancellation promptly once that button is used.
In practice: one offer, the cancel button visible beside it, no extra confirmation emails or phone calls before the cancellation takes effect, and the cancellation confirmed on screen. It is also simply good business. A customer who has to fight to leave does not come back, and tells people.
Worked example: where a small SaaS gets more back
Take a product with 500 customers at $30 a month and 25 new customers a month. Total churn is 4 per cent a month, Stripe's SaaS figure, of which 22 per cent is involuntary: 3.12 per cent cancel and 0.88 per cent are lost to failed payments, already after Stripe's Smart Retries. Working back from Churnkey's 51 per cent recovery for Smart Retries alone, about 1.8 per cent of renewals fail each month, roughly nine customers. We then compare adding the full recovery set-up (70 per cent recovered), a cancel flow at a B2C-like 20 per cent and a B2B-like 40 per cent save rate (half pauses, half discounts, kept at Churnkey's 54 and 22 per cent), and both.
For a product sold to individuals, fixing failed payments is worth more than a cancel flow, and it is the easier job: settings, five emails and one banner. A cancel flow only pulls ahead when the save rate reaches B2B levels. The discount also costs something: at 20 per cent saves and half of them discounts, about 1.6 customers a month take, say, 30 per cent off for three months, which is about $42 of revenue a month given away, small next to the $367. Together, the two changes add about $5,300 of revenue in the first year and leave the product $911 a month higher going into the second, from a start of $15,000 a month. (The model is simple on purpose: flat new sales, flat churn rates. The inputs are the published rates above.)
The one-page churn review, once a month
None of this helps unless someone looks at it. Thirty minutes on the first working day of the month, on one page, is enough for a small company. Here is the page with an example month for the product above, after both fixes:
Fill in sections 1 and 2 from your billing system and section 3 from the survey table. Read every free-text answer, which takes ten minutes at this size. Then write one line: the single change the month's answers point to. Over a year, those twelve lines are a better roadmap than most feature-request boards.
Setting it up in an afternoon
1. Split the number. In Stripe, Billing shows failed and recovered payments; count cancellations from subscription cancel events. Put the two counts side by side for the last three months.
2. Turn on smart retries and automatic card updates, and set the subscription to wait until the last retry before cancelling, not to cancel on the first failure.
3. Write four short dunning emails to the billing contact: the failure (same day), a reminder (day 3), the date access stops (day 7), and the last notice (day 14). Plain text, one "update card" link each.
4. Add the in-app banner for any account with a failed payment, with the update button.
5. Put the one-question survey on the cancel page, the reasons above, required, with one optional text box. Store the answer with plan, tenure and last login.
6. Add one offer, matched to the answer: pause for "project" and "not using it", a cheaper plan for "too expensive". Keep the cancel button on the same screen.
7. Review once a month on the page above, and change one thing.
If "too expensive" keeps coming first, look at the prices themselves before you add discounts. Our article on raising prices on customers you already have goes through how small vendors decide, and the calculator below tests a price change before you announce it.
Test a price change before you make it: customers per plan, old and new price and the churn you expect. See the new monthly revenue and how many customers you could lose and still come out ahead. Free, in your browser.
Open the price increase calculatorSources
Churnkey: Involuntary churn benchmarks and tactical advice (November 2025, updated December 2025; Stripe 2024 data on churn by industry, B2B/B2C and order value; Churnkey data on 5.4M failed payments: decline codes, retry and dunning recovery); Recurly: Churn rate benchmarks (July 2026 network data, voluntary and involuntary churn by industry and price per customer; State of Subscriptions 2026 pause figures); Churnkey, saas.group and Usersnap: State of Retention 2024 (2023 data, B2B and B2C save rates, decision time, steps); Churnkey: martech and salestech (save and recovery rates, trailing 12 months); Churnkey: Pause offer at cancellation (54% resume, 22% of discount saves kept; updated June 2026); RevenueCat: Apple retention messaging benchmarks (March to September 2026, 309 apps); Lago: SaaS cancellation flows (quotes the ProfitWell breakdown of 23,000 cancellations); California Business and Professions Code section 17602 (online save offers and the click-to-cancel button); Davis Wright Tremaine on AB 2863 (amendments in force from 1 July 2025); Gunderson Dettmer: Eighth Circuit vacates the FTC click-to-cancel rule (8 July 2025). The worked example is our own calculation from these published rates.