Turn Resolved Tickets Into Docs That Stop Repeats


TL;DR
When an AI answers first, CSAT stops being a reliable quality signal because most satisfied customers never rate anything. You need containment rate, escalation reason codes, citation accuracy, and a human-review sample to know whether your AI is actually helping or just deflecting.
CSAT was designed for human-to-human conversations. A customer contacts support, an agent resolves it, you send a survey. The feedback loop is short and the sample is your whole resolved queue.
Once an AI answers first, that loop breaks. The customers who get a good instant answer close the tab. They never escalate, never rate, never show up in your data. The customers who do escalate — and therefore do get surveyed — skew toward edge cases and frustration. Your CSAT score starts measuring how well your human agents handle the AI's rejects, not how well your support operation performs overall.
That's not a small calibration problem. It changes what the number means entirely.
Containment rate is the share of conversations the AI resolves without a human ever touching them. It's the first number every AI support team tracks, and it's the right starting point — but only if you're strict about what counts as "resolved."
A conversation where the customer stops replying is not a resolution. It might be an answer that worked. It might be a frustrated customer who gave up. These look identical in a raw deflection count.
We recommend splitting containment into two buckets:
Tracking both lets you see if your confirmed rate is growing alongside your overall containment rate. If assumed containment climbs while confirmed containment stalls, your AI is probably getting better at ending conversations, not solving problems.
When a conversation does reach a human, why? Most teams log the transfer and move on. That's a missed opportunity.
Tag every escalation at handoff with a reason code: the AI couldn't find a relevant source, the customer's question was out of scope, the AI gave a factually wrong answer, the customer explicitly asked for a human, the conversation reached a loop. After two weeks you'll have a clear distribution.
If "AI gave wrong answer" accounts for 15% of escalations, that's a content or retrieval problem — your docs need updating or your AI needs better source boundaries. If "out of scope" dominates, the real question is whether those topics should be in scope. If "customer requested human" is the top reason, your deflection rate is fine but your escalation path needs to feel less like a defeat.
Reason codes turn escalation from a failure count into a diagnostic queue.
A fluent answer that cites the wrong doc — or cites nothing — is harder to catch than a garbled one. Customers often won't notice the mistake until they try to act on it.
Chattering attaches source citations to every AI response, which makes this auditable. Build a weekly review process: pull a random sample of 20-30 AI-answered conversations, open each cited source, and check whether the answer the AI gave is actually supported by the content it cited. Track a simple pass/fail.
This review doesn't need a dedicated QA analyst. A support lead doing 30 minutes on a Friday catches systematic drift faster than any automated metric will. When a product update hasn't made it into your help center yet, citation accuracy is usually the first thing to degrade.
Automated metrics tell you what happened. Human review tells you whether it was good.
Pick a consistent sample — say 5% of AI-only conversations per week — and have a support team member read them end to end. Score them against a rubric: Did the AI understand the actual question? Was the answer accurate? Was the tone appropriate? Did it escalate at the right moment or hold on too long?
According to Zendesk's 2024 Customer Experience Trends Report, 70% of customers say they can tell when they're talking to an AI. That means tone and handling quality matter more than teams often expect — customers aren't grading on a curve just because a bot answered.
Keep your rubric short. Five criteria maximum. The goal is a consistent signal over time, not a comprehensive audit of every exchange.
Dashboards get checked when something feels wrong. A calendar gets checked on schedule.
We suggest:
Segmenting CSAT by conversation type is the fix for the broken feedback loop we started with. You'll likely find AI-only CSAT is harder to measure because fewer customers rate it — which is itself useful information about where to add confirmation prompts.
If you had to pick one metric to improve in the next quarter, make it confirmed containment rate. It's the only number that tells you the AI is actually solving problems rather than just intercepting them. Everything else — citation accuracy, reason codes, rubric scores — is the diagnostic layer that tells you how to move it.
Yes, but segment it by conversation type — AI-only versus human-touched — so you're not averaging two very different populations. Also add an explicit resolution confirmation step to AI conversations, since most satisfied customers won't fill out a survey unprompted.
A 5% random sample is enough to catch systematic problems without consuming significant team time. Consistency matters more than volume — reviewing 25 conversations every week beats reviewing 200 conversations once a quarter.
Deflection rate counts any conversation that didn't reach a human; containment rate should count only conversations where the customer's issue was actually resolved. Tracking deflection without resolution confirms your AI is busy, not that it's useful.