You have about twenty people paying. That is a real business and a fragile one. One cancel is not noise. It is five percent of the list. Two cancels in a month and the list is already down ten percent.
At this size, churn software is theater. You do not need a health score, a lifecycle map, or a dashboard that paints accounts red. You need names, a calendar, and a phone. Indiecity is for one person or a team under twenty. Your advantage is that you can still talk to everyone.
Count people, not a borrowed benchmark
Skip the public churn medians as a weekly grade. Those medians come from companies with enough volume that one cancel does not rewrite the month. Your job is simpler. Write last period’s payers. Write this period’s payers. The people who disappeared are the work.
Split them into two piles before you panic about product-market fit. Pile one: they chose to leave. Pile two: the card failed, expired, or never updated. Paddle’s churn writing says typically 20 to 40 percent of subscription churn is involuntary: failed payments, not hatred of your roadmap. Treat a failed payment like a billing problem first. Treat a cancel click like a conversation.
Call the people who leave
Stripe’s guide on reducing SaaS churn is blunt: you have to understand why customers leave and use that to improve the product and the service. At twenty accounts, “understand” means a call, not a five-question form buried under the cancel button.
Lincoln Murphy has argued for years that if someone is already at the cancel step, you failed earlier. Make cancel easy. Do not trap them on a phone tree to “save” the deal. Let them go, then call the next day and ask why they left. Leave them with a clean exit. Learn the truth when the pressure to stay is gone.
That call is not a pitch. It is the same discipline as a good customer interview: their life, their last attempt, their words. Rob Fitzpatrick’s Mom Test still holds. Talk about what they did, not how clever your roadmap sounds.
Hey [name]. I saw you cancelled [product]. No hard feelings and no pitch. I am trying to learn what broke for the next person. Would you take 10 minutes this week, or reply with one line: what will you use instead, and what would have had to be true for you to stay?
Thanks for the time. When did you first think this might not work? What were you trying to finish that week? What did you do instead of using [product]? What are you using now, if anything? If you were building this for someone like you, what would you change first? That is all I needed. Appreciate you being straight.
Write the answers in their words. Do not translate into your feature language. “Too expensive” often means “I never saw the outcome.” “Missing feature” often means “I never got past setup.” You will only know if you ask what they did last Tuesday.
Call the quiet ones before they cancel
Most people do not write a thoughtful essay on the way out. They go quiet, then the card runs again, then they hit cancel on a bad day. With twenty customers you can see quiet without a model. No login for two weeks. No export. No project created after onboarding. Support thread that died mid-fix.
SaaStr’s answer on reducing churn keeps landing on the same early work: invest in onboarding, make time-to-value a real metric, and do not wait for customers to complain. That is not a VP-of-CS playbook for you. That is a calendar block where you check who has not gotten value yet and you message them yourself.
Hey [name]. You were [doing the useful thing] a few weeks ago and it looks quiet now. I am not selling you anything. Did something break, did the problem move, or did setup stall? Happy to fix it on a 10-minute call this week, or tell me I am wrong and you are fine.
If they say they are fine, believe them once and note the date. If they say they are stuck, fix the stuck part the same day when you can. Saving one account with a human unblock beats a nurture sequence that says “we miss you.”
Get them to value in the first weeks
Churn you “discover” at renewal often started on day three. Stripe’s churn guide puts exceptional onboarding first for a reason: if people never reach the outcome they paid for, the cancel is only the paperwork. How to onboard users with no success team is the first-weeks version of this job. Define one success action in plain words. Not “activated.” Not “engaged.” Something like: first report sent, first invoice paid, first list cleaned, first client invited.
For each of the twenty, write whether they hit that action and when. The ones who never hit it are already leaving, even if the card is still good. Sit with them until they hit it, or until you learn the product cannot deliver it. That is the work SaaStr keeps calling time-to-value. You measure it in days on a sheet, not in a slide deck.
- Name the one outcome a successful customer finishes in the first two weeks.
- Mark each account: hit it, stuck, or never started.
- Message every stuck account this week with one concrete next step.
- If three people fail at the same step, fix that step in the product before you write more help docs.
Fix money path failures like product bugs
A clean product with a dead card still churns. Stripe’s same churn guide calls out billing practices: clear cycles, reminders, retries, and paths to update payment methods. Paddle’s breakdown is useful here too: dunning and payment recovery sit next to “ask why they cancelled,” not under it.
- When a charge fails, email the same day with one link to update the card. No essay.
- Retry failed payments on a schedule your processor already supports. Do not invent a custom guilt campaign.
- Separate “past due” from “cancelled” in your list so you do not “win back” someone who only needed a new card.
- If annual makes sense for a customer who already gets value, offer it after they are in, not as a trap on day one.
You already know how painful it is to replace a payer. Getting the first ten without ads is hard enough. Losing them to an expired Visa is avoidable.
Change the product from patterns, not from one rant
Three exit calls that mention the same broken step beat one loud feature request. Write the phrases on a page. Ship the fix that unblocks the outcome. Tell the people who complained when it is live. Stripe’s churn guide says to use that feedback on the product. A quarterly survey is not the same job.
If the pattern is “wrong buyer,” stop pouring more onboarding onto people who will never care. Tighten who you sell to. A smaller list that stays is better money than a revolving twenty you replace every quarter. Paul Graham’s “Do Things that Don’t Scale” still applies in 2026: you go get users and you go keep them by hand until the pattern is obvious.
You can't wait for users to come to you. You have to go out and get them.
A two-week plan for twenty accounts
- Day 1. List all twenty: email, plan, renewal date, last useful action, last human note.
- Day 1. Tag each row: active, quiet, past due, cancelled this month.
- Days 2 to 3. Clear every past-due card with a short note and an update link.
- Days 2 to 6. Call or note every cancel from the last 60 days. Use the exit script. Write answers in their words.
- Days 3 to 7. Message every quiet account. Offer ten minutes to unblock, not a discount.
- Day 8. Group reasons: never got value, wrong buyer, product block, price after value, payment failure.
- Days 9 to 12. Ship one fix for the top product block, or change the sales pitch if the buyer is wrong.
- Days 9 to 12. For new signups this month, sit on onboarding until they hit the success action.
- Day 14. Recount payers. Update the sheet. Put the next quiet check on the calendar.
Keep five columns: name, status, reason in their words, next action, date. That is your churn system until the list no longer fits in your head.
What to stop doing
- Buying churn prediction software for a list you can still call in an afternoon.
- Reading industry churn benchmarks instead of counting your own names.
- Treating every failed payment like a product failure.
- Hiding the cancel button so hard that people chargeback instead.
- Offering a blind discount before you know why they left.
- Shipping random features because one cancel mail mentioned a competitor.
- Waiting until renewal week to learn they never finished setup.
Twenty names is still a human job
Churn at this stage is not a growth department problem. It is whether each person got the outcome, whether the card still works, and whether you heard the truth when they left. Call them. Write it down. Fix the pattern. That is how you keep the money you already earned.
If you kept a fragile twenty by hand and you will put your name on it, send us the story. When the product is real, put it on the map. You can join Indiecity while you run the two weeks. That gives you people to talk to. It does not replace the calls.
FAQ
Questions people get stuck on
What is a good churn rate with only 20 customers?
There is no honest industry percent that fits a list of twenty names. One cancel is five percent. Two is ten. [What a good churn rate looks like for early SaaS](/stories/good-churn-rate-early-saas) has the public medians and why they misfire at this size. Count people who paid last period and did not pay this period. Separate failed cards from people who chose to leave. Fix the real reason, not a dashboard average you found on Twitter.
Do I need customer success software or a health score?
No. Twenty customers fit on a spreadsheet: name, last login or last useful action, next renewal, last note from a call. Lifecycle tools wait until you cannot remember every account. At this size the work is a phone call and a calendar, not a product tour of a CS platform.
What if they will not take a cancel call?
Send a short note the same day: one question, no guilt. Ask what they will use instead, or what would have had to be true for them to stay. If they still ignore you, write what you already know from usage and support mail. Do not bribe them with three follow-ups. Move to the next name.
Is an exit survey enough?
A form is better than silence, and open questions beat star ratings. At twenty customers a fifteen-minute call still wins. You can ask what happened last week, what they tried, and what they will pay for next. A checkbox that says “too expensive” does not tell you whether the value was unclear or the buyer was wrong.
How do I tell a failed card from a real cancel?
Look at the billing event. Declined, expired, or incomplete update is payment failure. A cancel click or a written “please stop charging me” is a choice. [Paddle has written](https://www.paddle.com/blog/reduce-churn) that typically 20 to 40 percent of SaaS churn is involuntary: failed payments, not hatred of your roadmap. Email them once, send a clean update link, and fix the card before you rewrite the product.
Should I offer a discount to keep them?
Only after you know the reason. If the product never delivered, a cheaper version of a broken outcome just trains them to leave later. If cash is tight this month and they still use the tool, a pause or a shorter plan can be honest. Do not make “50% off forever” your default answer to every cancel.
What if they leave because of price?
Ask what they spend now on the same mess (time, tools, a person). If they never hit the outcome, price is the polite label for “I got nothing.” If they hit the outcome and still leave, you may be talking to the wrong buyer or you priced above the value they feel. Keep the number or change the segment. Do not invent a free tier to soothe one exit.
When can I stop calling every customer?
When you cannot hold the list in your head and the same three reasons keep showing up in writing. Even then, call the ones who cancel and the ones about to renew who went quiet. Scale the notes, not the avoidance. Paul Graham’s “do things that don’t scale” still means you go to the users before you buy software about users.
What if the same bug or missing feature comes up three times?
That is a product job, not a support apology loop. Fix the thing that makes people fail the outcome they paid for. Do not start a ten-item roadmap from one rant. Three independent customers, same block, same words: that is your next ship, not a “we hear you” email.
Does annual billing fix churn?
It reduces how often someone reconsiders a card charge, and it can cut accidental monthly exits. It does not fix a product nobody uses. Get people to value first. Then, for the ones who are in, offer a year if cash and commitment help both sides. Annual is packaging. The call is still how you learn why people leave.



