Tensor LabsTENSORLABS

Your chatbot resolved the ticket, not the problem

Outcome joins separate the tickets your assistant solved from the tickets it merely survived

August 3, 20264 min read4 sectionsBy Ahmed Abdullah
Your chatbot resolved the ticket, not the problem

Introduction

"Resolved by whom?" the CFO asked, and the room went quiet in a way we have learned to enjoy. We were three weeks into an engagement on a B2B platform's support economics, and the slide on screen said the new AI assistant was deflecting 41 percent of tickets. The support budget had been trimmed accordingly. The CFO's question was aimed at a different line on a different spreadsheet: churn among small accounts was up, and no one had an explanation.

The two lines turned out to be the same line.

"Deflected" in the assistant's analytics meant the conversation ended without reaching a human. It did not mean the customer's problem ended. When we joined the assistant's logs against what customers did next, product telemetry, repeat contacts, cancellations, the 41 percent decomposed into three very different populations, and only one of them was good news.

Deflection measures where the conversation stopped. It says nothing about where the problem went.

The three endings hiding in one metric

Roughly half the "deflections" were genuine: the customer asked, the assistant answered, the telemetry showed the customer immediately doing the thing they had been blocked on. Real resolution, real savings, the story on the slide.

About a quarter were resignations. The conversation ended because the customer gave up, and the telemetry showed it: no completed action afterward, often a search of the help center for the same terms, sometimes a second contact days later through another channel, where it was counted as a brand-new ticket and the assistant's scoreboard stayed clean. The problem had not been solved. It had been misplaced, at the cost of the customer's patience.

And a thin, expensive slice ended somewhere worse: in silence that preceded cancellation. Small accounts especially, the ones without a account manager to complain to, hit a wall, met the bot, met it again, and left without ever creating the escalation that would have flagged them. The support cost had indeed gone down. It had been converted into churn, which is support cost with interest.

(The assistant's satisfaction survey ran at 4.2 out of 5, because the customers who gave up did not stay to fill in surveys. Surveys measure the mood of survivors.)

Measuring what actually ended

The fix is not a smarter chatbot. It is a better definition, and the definition has to be built from outcomes, not conversations. True resolution: the customer's subsequent behaviour shows the blocked action completed and no re-contact on the same issue within a window. Everything else is not resolution, whatever the transcript looked like.

Building that metric is an honest data problem, the kind we like: intent clustering over conversations so "the same issue" is recognized across channels and wording, identity stitching so the Tuesday bot chat and the Friday email are one story, and the join to product telemetry that says whether the thing the customer came to do ever happened. We built this outcome layer between the assistant's logs and the product's events, and reran history through it. The scoreboard changed from one number to three: solved, abandoned, and at-risk, each with a cost attached.

A deflection rate can be bought for free by making the bot harder to escape. An outcome rate has to be earned, which is exactly why it is worth reporting.

Once abandonment was visible, the design decisions followed without drama. The intents with the worst abandonment got escape hatches straight to humans, and two of them, both billing-related, got removed from the bot entirely, because a customer anxious about money is the wrong audience for a language model's patience. Deflection fell four points. Repeat contacts fell by a fifth, and the small-account churn line bent back within a quarter. The CFO's two spreadsheets agreed for the first time all year.

The question to take to your own dashboard

If your assistant reports deflection, containment, or self-service rate, ask what fraction of those conversations were followed by the customer completing what they came for. If the answer is "we cannot currently see that," that is the whole finding: the metric steering your support budget cannot distinguish success from surrender. At TensorLabs we build the outcome join that can, on top of whatever assistant you already run.

Reply with the assistant you use and your rough monthly conversation volume, and we will map what an outcome-truth audit involves for your stack, and the two or three numbers it usually changes. The audit is designed to run on history you already have, so the first result is a re-reading of last quarter, not a waiting game.