I found out by accident.
One churned user replied to my cancellation email three weeks later. Randomly. Just to explain why they had left.
It was something I could have fixed in a day.
That one reply made me go back through every cancelled account from the past two months and actually try to talk to them. Not a survey. Just a direct message asking what happened.
What I found was uncomfortable.
Nearly a third of them had left for a reason that had nothing to do with pricing or competitors or our product being wrong for them. They hit a problem, assumed we either knew about it or did not care, and quietly left.
No ticket. No complaint. Just gone.
At $49 a month that third was $2,100 walking out the door every single month. Not because we had a bad product. Because we had a cancel button that let people disappear without saying a word.
Here is the math for your own numbers.
Take your monthly churned MRR and multiply it by 0.3. That is roughly what your preventable churn is costing you every month. For most early SaaS founders I talk to that number lands somewhere between $800 and $3,000.
Every month. Same reason. Never fixed. Because nobody ever asked.
That is the whole reason Flidget exists. One chat on your cancel page. Catches people the moment they decide to leave and asks one simple question before they go.
Not a survey link. Not a follow up email three days later when they have already moved on. A real conversation at the exact moment it still matters.
The timing is the whole thing. Catch someone mid-cancel and they will tell you everything. Miss that window and they are gone and so is the reason.
flidget.com — free to start.
Do the 0.3 math on your churn right now. Drop the number below.
Great insight. The “leaky bucket” problem is very real.
But here’s an important nuance: not all churn should be saved. That 30% is fair, but trying to retain everyone can mean forcing bad-fit users to stay.
The real power here isn’t just the chat — it’s timing + context.
I’d add:
Auto-classify responses (bug / UX / bad fit)
Detect patterns before churn (not just at cancellation)
Trigger actions based on reason (fix, onboarding, or let go)
The real value isn’t stopping churn… it’s understanding it and making better decisions.
Exactly right. Saving everyone is actually the wrong goal.
A bad fit user who stays becomes a support nightmare, a bad review, and churns anyway six months later with more damage done.
The three way split you laid out is the real framework. Bug goes to engineering. Bad fit goes to ICP refinement. Confused user goes back to onboarding. Treating all three the same is where most retention efforts waste time and money.
The pattern detection before cancellation is the layer that compounds everything. The exit chat gives you the signal. The smarter move is taking that signal and working backwards to find where the friction started in the first place.
Most teams use churn data to save users. The ones who grow fastest use it to stop the next hundred from ever reaching that point.
This is the conversation most churn discussions never get to. Appreciate you adding this layer.
the preventable vs natural attrition distinction is the part that hit hardest. most churn dashboards treat it as one number and optimize against it as one number, so the fixable stuff stays invisible. the timing angle is real - feedback loses 80% of its value within 48 hours of the decision
The 48 hour window is the whole thing. After that the specific moment that frustrated them has faded and you get vague feedback you cannot act on.
The one number problem is what makes most churn work feel useless. You end up optimizing against a combined metric where half of it was never yours to fix. Building features for bad fit users. Discounting people who were leaving anyway. Never finding the fixable 30 percent sitting quietly underneath.
Separate the two and every decision gets cleaner. Roadmap, ICP, win-backs, all of it sharpens immediately.
Most tools show you the number. Very few help you understand what it actually means. That is the gap we are trying to close.
What's the best way to interview users? Does anyone have a guide for this?
Best resource hands down is Mom Test by Rob Fitzpatrick. Small book, reads in a few hours, completely changes how you think about user conversations.
Core idea is simple. Never ask people what they want. Ask them about their life, their problems, their past behavior. People lie about the future but they cannot lie about what already happened.
Few things that actually work in practice.
Ask about the last time they had the problem not whether they have the problem. Specifics beat opinions every time.
Stay quiet after they answer. Most of the real insight comes in the second sentence not the first.
Never pitch during the interview. The moment you start selling they start being polite and you lose the honest signal.
For churn specifically the cancel page conversation works better than a scheduled interview because you are catching them at the exact moment of the decision. No scheduling, no context switching, no faded memory. The frustration is still fresh and they will tell you things they would never say in a formal call two weeks later.
That combination of Mom Test principles applied at the exit moment is honestly the most underrated user research setup most SaaS teams are not doing.
i think, every founder do this thing,every founder assume thing's own it own instead of talk to real user's that use this software
Exactly this. Assumptions feel like confidence but they are just expensive guesses.
One real conversation with a churned user is worth more than three months of dashboard staring.
That is literally why Flidget exists. To make that conversation happen before it is too late.
Vishal, the $2,100/month angle is exactly the pattern we documented across 530+ Shopify app reviews. Merchants losing money to problems they literally cannot see. Most of them blame their ad creatives, their pricing, their product. The real cost is usually in what happens AFTER the visitor already decided to buy. Exit-chat on cancel is smart because it captures the moment of highest signal. The founder has the most honest answer right at the point of leaving. Curious about your response rate on the exit-chat vs the quality of the insights you get back. Because volume matters less than actionability here.
530 Shopify app reviews is a serious data set and that pattern you are describing is exactly what we kept hearing before we built this. Merchants optimizing the top of the funnel while the bottom is quietly leaking.
On your question about response rate vs quality, honestly quality wins every time. We would rather have 3 honest sentences from someone mid-cancel than 50 survey responses filled out two days later when the emotion is gone.
The cancel moment is unique because the user has already made a decision. They are not trying to be polite anymore. That honesty is the whole product. A 15 percent response rate with real actionable feedback beats a 60 percent survey completion rate of "it was okay" every time.
What we found is the responses cluster pretty naturally. Broken flow. Price confusion. Missing feature. Wrong expectation set at signup. Once you see the same reason show up three times you know exactly what to fix.
Curious what the most common hidden cost was across those 530 reviews. Was it post purchase experience or something earlier in the flow?
Great idea. We're noticing the same thing. Some people just cancel silently. If we email them back, the sometimes are so pleasantly surprised we care, they just sign up again.
That "pleasantly surprised we care" moment is so underrated. Most companies just let the cancel happen and move on. The fact that a simple email brings them back says everything about how low the bar is for just showing up.
The silent cancellers are the most interesting segment honestly. They are not angry. They are not vocal. They just drifted. And that drift is almost always fixable if you catch it at the right moment.
That is literally the problem Flidget was built for. Instead of waiting to email them after they leave, we put one honest conversation right on the cancel page. Same energy as your follow up email but before the decision is final.
What percentage of those re-engagements actually stick around the second time?
It's been pretty high. I don't know the exact percent, but I'd say more than 30% (sample size isn't huge though) but I bet this has happened more than 15 times in the past couple months.
the 0.3 math is sharp but tbh the cohort that bothers me more is the one that churns BEFORE clicking cancel. you know, the user who logs in on day 14, opens your pricing page for the second time, decides its not worth the renewal, and just slowly stops opening emails. never clicks cancel. just goes quiet. exit chat catches the click moment perfectly but that whole pre-cancel cohort doesnt get to the click.
ive been digging into pricing pages for indie SaaS the past week and the thing that surprised me most is how often paying users re-open the pricing page. like its a "should i still be paying for this" tab and most of those visits dont leave any signal.
would be curious if youve thought about a pre-cancel surface. tiny prompt on the pricing page for active subs, something like "what brought you back here today". probably way worse response rate than your cancel chat but catches a different group entirely. or maybe overthinking it lol
You are not overthinking it at all. The pre-cancel ghost is honestly the scariest cohort because there is no moment to catch. No click. No signal. Just a user who made the decision in their head and quietly walked out.
The pricing page insight is sharp. A paying user reopening pricing is not curiosity it is a question they are asking themselves and right now that question just disappears into the void.
We have thought about this surface. The challenge is intent is blurry at that point. On the cancel page you know exactly what is happening. On the pricing page it could be a "should I upgrade" visit just as much as a "should I leave" one. So the prompt has to be softer and more open ended which kills response rate like you said.
But here is what I keep coming back to. Even a 5% response rate on that cohort is conversations you would never have had. And those are the users who never clicked cancel so they are still recoverable.
What patterns are you seeing in the pricing page data? Curious if there is a time on page or scroll depth threshold that separates the upgrade intent visits from the exit intent ones.
that $8k acquiring users who churned for a $0 fix line is brutal. every founder i talk to is pouring money into ads and has no idea what the exit page looks like. 0.3 is a scary number to do the math on honestly
Totally agree, that part hurts the most.
Spending thousands to acquire users and then losing them over something fixable is just bad visibility more than anything else. Most founders obsess over the top of the funnel, but almost no one looks at what happens at the exit.
And yeah, that 0.3 number feels small until you actually calculate it on your own MRR… then it gets uncomfortable real quick.
The crazy part is, it’s not even a product problem most of the time—it’s just that no one asked at the right moment.
timing is the actual variable. most exit surveys land 3 weeks too late
the "random Tuesday" framing caught me. the churned user replying was a signal that existed the whole time - just needed the right channel to surface it. $0 to fix the issue, but the listening gap cost the $8k.
That’s exactly it.
The signal was always there, just buried. That random reply wasn’t luck—it was proof people were willing to explain, just not through the usual channels.
And yeah, that’s the painful part… $0 fix, but the gap was in listening at the right moment. By the time we usually ask, the context is already gone.
Made me realize churn isn’t always a product problem - it’s often a timing problem.
Most churn data is collected too late, when the useful truth is already gone.
You’re not really solving surveys here, you’re solving timing.
Timing is the whole product honestly. The insight does not change, the window to act on it does.
Survey sent three days later gets you a polite summary. Conversation caught mid-cancel gets you the real reason. Same person, completely different truth.
That ‘silent churn’ problem is brutal most founders assume it’s pricing when it’s actually friction or broken moments in the user journey.
I’ve seen cases where even small things like unclear messaging or weak onboarding flow cause users to leave without saying anything. Did you notice if most of them dropped off at a specific point before cancelling?
Definitely valuable insight, thanks for sharing!
for great conversion and feedback, you should have a pop-up page whenever a user press the cancel button asking them why they want to leave. it's best you give them options to choose from
How did you find out this was an issue? Love the website
Same way most founders find out about their real problems. By accident.
One churned user replied to a cancellation email out of nowhere and explained exactly why they left. Something small. Something fixable. Something we had no idea about because our cancel page just let people disappear silently.
That one reply made us go back through two months of cancellations and actually try to talk to people. What we found is that nearly a third had left for a reason that had nothing to do with pricing or competitors. Just small fixable things we never knew about because we never asked.
That was the whole idea behind Flidget. Stop waiting for the accidental reply and just ask every single person the moment they decide to leave.
And thank you, glad the site landed well.
discovered mine the same way - someone replied three weeks after cancelling. we build dashboards for everything and somehow miss the most obvious signal. that reply is worth more than 100 survey responses
That three week reply is such a specific feeling. You have already written that user off, moved on, and then out of nowhere they hand you the exact thing you needed to hear at the exact moment you were least expecting it.
And you are right it is worth more than 100 survey responses. Surveys catch people when they are being polite or when they have already forgotten the specifics. That reply caught someone when the reason was still real and specific and honest enough to actually act on.
The uncomfortable part is thinking about how many of those replies never came. Same reason. Same fixable problem. Just people who moved on and never looked back.
That one reply is what made us build Flidget. Trying to make sure that conversation happens every time instead of by accident three weeks later.
That $2.1k ‘silent churn’ number hits hard — especially because it’s not even a product problem, it’s a timing problem.
What’s interesting is a lot of early-stage founders don’t just miss why users leave — they also struggle to validate fast enough whether fixing that problem will actually move revenue.
I’ve been seeing some founders run small, high-intent experiments (fixed low entry, capped spots, strong upside) alongside fixes like this to test demand in real time — and it’s surprisingly effective for turning insights into actual paying users.
Feels like that layer could complement something like Flidget really well. Curious if you’ve tried anything like that?”
You are right that timing is the whole problem. The insight means nothing if you find out three weeks after they cancelled.
On the validation angle that is a genuinely interesting point. What we found early on is that the cancel conversation itself becomes a validation signal. When the same fixable reason shows up three times in a week that is your experiment right there. You already know there is demand for the fix before you build it.
The founders who get the most out of Flidget are the ones who treat every cancel conversation as a prioritization tool not just a retention tool. Someone leaves because a feature is missing. You fix it. You reach back out. Some of them come back. That loop is faster and cheaper than any formal experiment because the demand signal and the audience are already in front of you.
The structured experiment layer you are describing would make that loop even tighter. Instead of just fixing and hoping you are testing whether the fix actually moves someone from cancelled back to paying before you commit fully to building it.
What kind of experiments have you seen work best at early stage for something like this?
Really appreciate you sharing this.
I’m preparing to launch my first SaaS and this is one of those things that seems obvious in hindsight, but easy to completely miss.
The idea of actually talking to users at the moment they decide to leave feels incredibly valuable. Definitely something I’ll include early in my product optimization strategy.
You’re thinking about this at the right time. A lot of founders only notice churn after they’ve already lost users. One thing that helps early on is not just catching feedback when someone cancels but also checking in during onboarding so you can fix issues before they even get to that point.
Honestly the best time to set this up is before you think you need it. Most founders add it after churn becomes a problem. By then you have already lost months of signal.
One thing that will save you early on. Do not wait for patterns. Read every single cancel conversation yourself in the beginning. Not a summary. Not tags. The actual words people use. That is where the real product insight lives and at your stage every cancelled user is telling you something your paying users are too polite to say.
Good luck with the launch.
The 0.3 multiplier hit different when I actually ran it on our numbers. We always looked at total churned MRR as one big number and tried to move it as a whole. Never once broke it down into what was preventable vs what was just natural attrition. Those are completely different problems with completely different fixes and we were treating them the same way. Going to dig into our last 60 days of cancellations this week and actually try to talk to some of these people. Should have done this months ago.