A few hundred complaints a month is manageable by hand. A few thousand across chat, Instagram, WhatsApp, email and the call log is not, and most companies respond by reading the loudest ones and ignoring the pattern. That is the gap where AI earns its place: not deciding what to do about a complaint, but making the whole pile visible.
The strongest use is clustering. Feed in a month of free-text complaints and the model groups them into themes: delivery arrived late, invoice amount did not match the quote, technician did not call before arriving, refund took too long. Suddenly you can see that most of the month's noise comes from one broken process.
Three supporting jobs follow from that. Cause detection, where the model links similar complaints and surfaces the shared detail (same branch, same product, same week). Tone triage, which flags the angry messages that need a reply within the hour. And routing, sending each complaint to the team that can actually fix it instead of a shared inbox.
Sarcasm is the first casualty. "Great service, only waited two hours" is a complaint, and a model trained mostly on polite English will file it as praise. Kuwaiti dialect makes this harder: the same sentence can read as mild or furious depending on phrasing that the model has rarely seen.
Mixed language is the second problem. A single message often switches between Arabic and English mid-sentence, sometimes with a transliterated word in Latin letters. Models handle this unevenly, and sentiment flips on the part they understood.
Missing context is the third. Without the order number, channel or customer history, "still waiting" tells the model nothing. Attach the customer record before you analyse the text.
Export complaints into one table with a source column, so you can tell a WhatsApp message from a web form. Merge obvious duplicates, and normalise the shorthand your team uses. Strip names, phone numbers, order references and ID numbers before the text goes anywhere near an external model, and check what your provider retains.
Before you trust the themes, read 100 complaints yourself and label them by hand. Compare your labels with the model's. If it misses an entire category, or merges two that your operations team treats differently, fix the categories rather than the model. Ten to fifteen themes is usually the useful ceiling; more than that and nobody acts on the output. At Q8DM we run that check before any complaints dashboard goes live, and it usually takes one afternoon.
The last step is where most programmes fail. A dashboard of complaint themes is not an improvement; it is a nicer view of the same problem. Pick the top two themes each quarter, fix the process behind them, and measure again.
Q8DM builds complaint and support systems that produce this kind of output, and trains the teams who read it. If your feedback sits in five inboxes and nobody owns the pattern, start at https://q8dm.com. We have worked with organisations in Kuwait since 1998.