How to spot dissatisfied customers before they stop buying


How to recognize signs of dissatisfaction, listen early and address problems before the customer decides to leave.
“I already solved it on my own, thank you.”
Let's think of Laura, a customer who wrote because she couldn't use part of the service she hired. He sent a screenshot, tried the solution they recommended and wrote again because it was still the same.
Then that message came.
There are no insults. There are no capital letters. He even thanked me.
The team could read it, close the conversation, and move on to the next case. But there is one question that still has no answer: Did Laura manage to use the service or did she find a way to do the same without us?
In this story, he got another tool. You still have an active subscription because you have part of the month left, but you've decided not to renew it.
From the inside, the case seems over. From the outside, so does the relationship.
Not every annoying customer makes a noise
I would be careful to use the number of claims as proof that everything is working.
In Laura's case, the messages stopped. That doesn't tell us why.
It may mean that you received a good solution, that you didn't have time to write again, or that you stopped expecting something from the company. Without further context, all three explanations are still open.
That's why spotting dissatisfied customers shouldn't turn into looking for angry words. You also have to look at what the person is trying to achieve and what they are still unable to do.
“I had to order it three times” deserves attention even if it ends with a smiley emoji.
“The person who treated me was very friendly, but I still can't enter” contains a compliment. It also contains an unresolved problem.
I wouldn't ask the customer to get better angry so that we would take it seriously.

I would search for what is still pending
To begin with, I would look at three situations. Not as a formula that predicts who will leave, but as a way to decide what to review first.
A problem that returns. The person has already explained the same thing, tried a solution and is back at the starting point. Before asking for your patience, I would review what happened in the previous attempts.
An expectation that was not met. “I thought this was included” or “they told me it would be ready on Friday.” There it is necessary to understand what was promised, what was delivered and if there is still a pending difference.
An intention to change. “I'm looking at another option” or “I'm not going to renew that way”. In that case, the customer has already put the risk on the table. You don't need to wait for the next report for someone to read it.
These signs don't mean the same thing. Nor do they need the same urgency.
A comment about an inconvenient button is not the same as not being able to do the work you paid for. And a low rating, without context, is not enough to know which of the two things happened.
Listen before the customer has to chase you
There is something kind of contradictory in saying “we want to detect problems early” and leaving all the responsibility to warn the customer.
In Laura's example, I would have chosen a time close to first use to see how she was doing. Not to send him five questions every time he came in, but to open up an opportunity to tell him what he could do and what he couldn't do.
It could be as simple as:
Were you able to do what you needed? Tell us what happened.
The answer is used to decide the next step. If you couldn't get started, someone can help. If it started, but had to go around too much, there is something to review in the process.
The same logic can be brought to a delivery, an installation or a service. The timing depends on what the person needs to experience before they can give their opinion.
There's not much to say about a washing machine that's still in the truck.
An ownerless sign is still an earring
Suppose Laura answers: “I couldn't do it. I tried what they told me and it still doesn't work.”
I wouldn't send her to explain everything again. I would prepare the case with what we already know: what you tried, what didn't work, and what you need to achieve. Then I would leave it to someone who can move forward with a solution.
That's the logic of woku customer service tickets: the AI evaluates the comment and its context, decides if the case needs attention, and prepares information and a suggested action for the team.
Not all comments are converted into tickets. And a sign of risk doesn't mean that the AI knows for sure that the customer will leave. It serves to review and act, not to predict the future.
And then comes the part that no ticket does alone: serving the person.
“Closed” has to mean something to Laura
Let's go back to your message: “I already solved it on my own, thank you.”
I would ask a question before I call it quits:
To make sure we don't leave you with the problem: were you able to do it already within the service or did you have to solve it in another way?
The answer changes what comes next. If you resolved it within the service, we can confirm what worked. If you went to another tool, we can still hear what you lacked and see if there's anything concrete we can fix.
Maybe he'll decide to stay. Maybe not.
Detecting a bad experience doesn't buy a renewal, but it allows you to try something other than discovering the cancellation when it already happened.
To check if that way of working is working, I would look at how long it took us to take the cases, how many problems were actually solved and which ones reappeared. The retention is then reviewed, with the time frame that makes sense for the business.
Because the goal isn't for Laura to send fewer messages.
It's just that the next time he says “I've solved it”, it's not because he had to replace us.