Customer Complaint Analysis: You Replied, but Was the Problem Resolved?

Replying to a customer does not mean their problem was solved. “Please call our service centre” is a reply, not a resolution. When you analyse complaints, measure two things separately: how quickly someone replied, and whether the problem was actually resolved. Resolution needs evidence in the chat: an answer to the question, work that was done, or the customer’s confirmation. Without evidence, the status should be “open” or “unknown”, not “resolved”.

The difference between a reply and a resolution

Response time is the most commonly measured customer service metric. It matters, but it answers one question only: how long did the customer wait? The more important question is whether their problem was solved.

Compare two replies in an illustrative example. A customer writes: “The vacuum cleaner I bought yesterday won’t turn on.”

  • Reply A (after 2 minutes): “Here’s the service centre number, please call them.” Fast, but the problem has been handed back to the customer. No resolution.
  • Reply B (after 25 minutes): “Sorry about that. Please hold the button for five seconds — on some models that’s how the first start works. If it still doesn’t work, a courier will come tomorrow and swap it.” Slower, but with a fix and a fallback.

In a response time report, A looks better. From the customer’s side, B is far more useful. So never merge these two metrics: measure response time on its own and resolution status on its own.

What evidence counts as a resolution

To mark a chat as resolved, at least one of the following should be in it. Each is reliable to a different degree.

  1. An answer to the questionThe customer asked for information and got it: warranty terms, delivery date, how to use the product. This is the simplest case. If the answer fits the question, it can count as resolved.
  2. Work that was doneThe problem needed action and the action happened: a return was accepted, a courier sent, a refund made. The chat should show a trace: “the courier will arrive at 3 pm”, “your return has been accepted”.
  3. The customer’s confirmationThe customer writes: “It works, thanks”, “Received, all good.” This is the strongest evidence. Careful, though: a plain “thanks” is not always confirmation. Sometimes it is just politeness.
  4. Unknown statusA reply was given and work was promised, but nothing shows the outcome. The status here is “unknown”. Counting it as resolved makes your report look better than it is.

Checking three conversations

The dialogues below are illustrative examples. Each one got a reply, but the resolution status differs.

  1. ResolvedCustomer: “Where’s my order?” Agent: “It will be delivered today between 2 and 6 pm. Here’s the courier’s number.” Customer (evening): “Got it, thanks.” Evidence: customer confirmation. Status: resolved.
  2. Still openCustomer: “The invoice has the wrong amount.” Agent: “I’ve passed it to accounts, they’ll correct it and send it over.” Then nothing for four days. Customer: “Still waiting.” Evidence: the customer’s repeat message. Status: open.
  3. Not enough evidenceCustomer: “The colour is different from the photo.” Agent: “Sorry about that, we’ll call you tomorrow to sort it out.” After that, nothing in the chat. Whether the call happened, and what came of it, is unknown. Status: unknown, needs checking.

The third case is the most common and the most often misjudged. Because the chat goes quiet, it is easy to count it as resolved. But the customer may simply have given up and will not write again.

A list of topics and open problems

The status of one chat is the agent’s concern. For a manager, the picture by topic is more useful: which kinds of problems stay open most often? Tag each complaint with a topic and build a weekly list. The list below is an illustrative example.

  1. Delivery delaysWhy they stay open: usually waiting on the courier company. Next step: a daily check-in routine with the courier.
  2. Invoices and paymentWhy they stay open: the issue goes to accounts and nobody reports back. Next step: agree a response time with accounts.
  3. Product not as describedWhy they stay open: “we’ll call you” is promised, and the outcome never shows in the chat. Next step: after the call, write a one-line summary in the chat.
  4. Returns and exchangesWhy they stay open: the customer has sent the product back, but nobody said when the refund would arrive. Next step: on the day the return is accepted, tell the customer in writing when to expect the refund, and check on that date.
  5. How-to questionsUsually resolved in the first reply. Next step: keep the most frequent questions as ready answers.

Do not present the customer’s mood as their real opinion in this list. “The customer is angry” is an inference from the tone of the chat. Base the report on facts: what was asked, what was done, what the outcome was.

The next step for open cases

For every chat with an open or unknown status, answer three questions: who needs to confirm, what, and by when? For example: “Agent Amy, confirm with accounts that the invoice has been corrected, by 5 pm today.”

For chats with an unknown status, the first step is often a short question to the customer: “We were due to call you yesterday. Has the issue been sorted?” It clarifies the status and shows the customer they have not been forgotten. If the customer does not reply, keep the chat open, but wait for a new reason before writing again.

If there was no reply at all, that is a different situation, with its own criteria for finding unanswered enquiries. To evaluate agents’ conversations more broadly, use the scoring rule in our sales chat audit checklist. If the agent said “we’ll call you tomorrow”, that is also a promise: add it to your list for tracking customer commitments.

How to check your own chats with Chatdue

For each chat, Chatdue produces a summary, what the customer wanted and their sentiment, and the response time report shows first and average reply times. By creating your own analytics fields, such as “resolution status” and “complaint topic”, you can run the check above across all your conversations.

The sentiment field is an inference from the tone of the chat, not the customer’s real opinion. Use it as a signal. Complaints sent as voice messages are transcribed and included too. You can export the results to Excel and build your weekly topic list there.

Find unresolved topics

Analyse the customer topics that stay unresolved with Chatdue. The 30-day free trial analyses 1,000 messages, and no card is required.

Frequently asked questions

  1. Is a thank-you message proof of resolution?Not always. “Thanks, it works” is confirmation. A plain “thanks” may just be politeness, especially if it came right after the agent wrote “we’ll fix it tomorrow”. Look at the message before the thanks: does it contain a fix, or a promise?
  2. Should a case be closed if the customer stops replying?Close it as “unknown”, not “resolved”. That keeps your report honest. After a few weeks, look at the share of unknown statuses. If it is high, either resolutions are not being recorded in chats, or customers are simply giving up.

Analyze your WhatsApp conversations

Connect your number with a QR code — the first 30 days are free.

Start free