Evalgent
Back to Blog
Voice AI Evaluation

Metrics for a customer support voice agent

Deepesh Jayal
12 min read
Metrics for a customer support voice agent

Most teams buying or building a customer support voice agent pick the wrong headline metric. They report containment, watch it climb, and call the project a win. Meanwhile callers hang up frustrated, repeat calls spike, and CSAT quietly drops. The number went up and the experience got worse.

This post is about which key performance indicators actually predict a good support experience, what reasonable starting targets look like, and how to measure each one without fooling yourself. It is a metrics post, not a testing walkthrough — if you want the how-to for building test suites, see the customer support testing guide. Here we focus on the scoreboard.

Why raw containment misleads

Containment is the share of calls a voice agent handles end to end without transferring to a human. It is the easiest number to measure and the easiest to game, which is why it dominates vendor decks and internal dashboards.

The problem is simple. Containment counts a caller who got a real answer exactly the same as a caller who gave up, hung up, or got stuck in a loop and never reached help. Both count as "contained." A key performance indicator that treats a solved problem and an abandoned caller identically is not measuring resolution — it is measuring the absence of a transfer.

We call the failure mode the trapped caller. The agent refuses to escalate, the caller cannot find a path to a human, and the call ends inside the bot. Containment records a success. The customer records a reason to churn. A high containment rate built on trapped callers looks like automation working and is actually a slow-motion CSAT problem.

That is why containment belongs on the dashboard only next to true resolution. The two numbers together tell you whether calls are staying in the agent because they are being solved, or because callers cannot get out. For a deeper treatment of the distinction between avoiding a human and actually helping, see the containment versus deflection guide.

The metrics that actually matter

A customer support voice agent needs a small set of KPIs that, read together, describe both efficiency and quality. Track efficiency alone and you optimize for cheap, unhelpful calls. Track quality alone and you cannot justify the spend. The following five carry most of the signal.

True resolution rate

True resolution is the share of calls where the caller's actual problem was solved, verified by outcome rather than by the call staying inside the agent. It is the single most important support KPI and the hardest to measure honestly.

The measurement trap is that resolution cannot be read off a transcript alone. A confident-sounding answer can be wrong. The reliable signals are downstream: did the caller call back about the same issue within a few days, did they complete the action they came for, did a follow-up survey confirm the problem was fixed. True resolution is containment minus the trapped callers, minus the confidently wrong answers.

Measure it by sampling calls and labeling each as resolved or not against a clear rubric, then corroborate with repeat-contact data. A resolution rate you cannot tie to an outcome is a guess.

First-contact resolution

First-contact resolution, or FCR, is the share of issues resolved in a single interaction with no follow-up call, callback, or escalation for the same problem. It is a customer-experience metric as much as an efficiency one — repeat contacts are the clearest sign the first call failed. See the background on first-call resolution for the contact-center lineage of the term.

For a voice agent, FCR is measured by linking calls to a caller identity and a topic, then checking whether the same caller returns about the same topic inside a defined window, commonly a few days to a week. Watch the window definition: a short window flatters the number. FCR and true resolution move together, but FCR specifically punishes the agent that closes a call without truly finishing the job.

CSAT and sentiment

Customer satisfaction, or CSAT, is a direct measure of how the caller felt about the interaction, usually captured by a short post-call survey. Sentiment is the inferred emotional tone across the conversation, scored from the audio or transcript when a survey is not returned.

Use both because they cover different gaps. CSAT is the ground truth but has low response rates and a satisfaction bias toward callers who bothered to answer. Sentiment covers every call but is an inference, not a verdict. Read them together: a call with falling sentiment and no survey response is a silent detractor worth reviewing. Some teams also track a relationship-level score such as Net Promoter Score, though that reflects the brand more than any single call.

Escalation accuracy

Escalation accuracy measures whether the agent hands off to a human at the right moments — not too early, not too late. It has two failure modes that pull in opposite directions. Escalating too eagerly destroys the efficiency case and floods the queue. Escalating too rarely produces the trapped caller and tanks resolution.

Measure it as two rates. False containment is the share of calls that should have escalated but did not — the caller needed a human and never got one. Premature escalation is the share of calls transferred that the agent could have resolved. A good agent minimizes both, and the balance you want depends on how costly a wrong self-service answer is in your domain. For high-stakes topics, err toward escalation. The escalation design guide covers how to define the handoff triggers behind this metric.

Average handle time

Average handle time, or AHT, is the mean duration of a handled call, including any hold or processing time. For a voice agent it is a cost and experience metric: longer calls cost more compute and telephony, and past a point they signal an agent that is struggling rather than helping.

AHT is only meaningful next to resolution. A short AHT with low resolution means the agent is fast at failing. A long AHT with high resolution may be fine if the tasks are genuinely complex. Never optimize AHT in isolation — cutting call time by dropping callers is the easiest and worst way to improve it.

A few metrics behind the metrics

The KPIs above sit on top of lower-level signals worth watching, because they explain why a headline number moves.

Transcription accuracy sets a ceiling on everything else. If the agent mishears the caller, no downstream logic can recover. Teams often track word error rate on a representative sample of real calls, especially across accents and noisy conditions, because a resolution problem is sometimes really a listening problem.

Latency shapes how natural the conversation feels. Long gaps before the agent responds cause callers to talk over it and repeat themselves, which inflates handle time and drags sentiment. The classic telephony reference point for acceptable one-way delay is the ITU-T recommendation G.114, which puts most users' tolerance for mouth-to-ear delay below roughly 400 milliseconds. Conversational voice agents feel best well under that.

Neither of these belongs on the executive scorecard, but both belong in the diagnostic view when resolution or CSAT slips.

Target ranges to start from

The targets below are reasonable starting points for a general customer support voice agent, not universal truths. Adapt them to your domain, your caller base, and the cost of a wrong answer. A billing agent and a technical-support agent should not share the same escalation target.

MetricReasonable starting targetWhy it matters / the trap
True resolution rate65–80% of handled callsThe real goal. Trap: reading it off transcripts instead of outcomes.
First-contact resolution70–85% within a 3–7 day windowRepeat contacts expose failed first calls. Trap: a short window flatters it.
CSAT4.0+ out of 5, or 80%+ satisfiedGround truth on experience. Trap: low response rates bias it upward.
Escalation accuracy (false containment)Under 5% of eligible callsTrapped callers hide here. Trap: high containment masks it.
Premature escalationUnder 10–15% of transfersProtects the efficiency case. Trap: over-escalating to seem "safe."
Average handle timeSteady or falling at constant resolutionCost and effort signal. Trap: cutting it by dropping callers.
Raw containmentReport only beside true resolutionEasiest to game. Trap: counts trapped callers as wins.

Read the table as a set, never row by row. Any single number can be moved in a way that harms the others. The point of the scorecard is that the metrics constrain each other. For a fuller template you can adapt, see the voice agent metrics scorecard.

How to build a support metrics scorecard

Use these steps to turn the KPIs above into a scorecard you can actually run and trust.

1. Define resolution before you measure anything. Write a one-paragraph rubric for what counts as a resolved call in your domain, with examples of resolved and not-resolved. Every other metric depends on this definition being clear and stable.

2. Instrument outcomes, not just transcripts. Link calls to a caller identity and a topic so you can detect repeat contacts, and connect to the systems that show whether the caller's action actually completed.

3. Separate containment from resolution on day one. Report both side by side. Never let containment appear alone, and flag any call that stayed in the agent without a verified outcome.

4. Sample and label calls against the rubric. Have reviewers score a representative sample for resolution, escalation correctness, and CSAT proxy, so you have a human-verified baseline behind the automated numbers.

5. Set targets per intent, not globally. Split the scorecard by call type — billing, account changes, troubleshooting — because a single blended target hides where the agent is failing.

6. Watch the metrics as a set and alert on divergence. The strongest signal is when containment rises while resolution or CSAT falls. Build the alert around that pattern, not around any single threshold.

7. Re-baseline after every meaningful change. A prompt tweak, a new knowledge source, or a model swap can move all of these numbers. Treat each change as a reason to re-measure against the same rubric.

A short worked example

Suppose a support voice agent handles 10,000 calls in a month. The dashboard shows 82% containment, and the team is pleased.

Now split that containment. Of the 8,200 contained calls, outcome data and a labeled sample show 6,200 were genuinely resolved, 1,300 got a plausible but unverified answer, and 700 were trapped callers who wanted a human and never reached one. True resolution is 62% of all calls — well below the headline 82% containment. First-contact resolution, after removing repeat callers within a week, lands at 68%.

CSAT on returned surveys is 4.1, but sentiment analysis flags a cluster of low-sentiment calls concentrated in exactly the 700 trapped-caller conversations. Escalation accuracy confirms it: false containment is around 8.5% of eligible calls, above the 5% target.

The read is clear. This agent is not an 82% success story. It is a 62%-resolution agent with an escalation problem hiding inside a flattering containment number. The fix is not more automation — it is fixing the handoff so the 700 trapped callers reach a human, which will lower containment and raise resolution and CSAT at the same time. That trade is almost always worth making. For where these numbers should sit before you go live, see the production readiness bar.

Measuring support voice agent metrics with Evalgent

Evalgent is an independent platform for testing and evaluating voice agents, so the resolution and escalation numbers you report are measured against outcomes rather than self-reported by the system under test. Its five primitives map directly onto the scorecard above.

  • Scenarios reproduce real support situations — billing disputes, multi-intent calls, angry callers, ambiguous requests — so metrics come from representative traffic.
  • Profiles vary caller accent, background noise, and emotional state, exposing the transcription and sentiment edges that averages hide.
  • Metrics track true resolution, first-contact resolution, CSAT proxy, escalation accuracy, and handle time as a linked set, not one flattering headline.
  • Evaluations score each call against your resolution rubric, separating solved calls from trapped callers automatically.
  • Reviews give humans a labeled sample to verify the automated scores and keep the definition of resolution honest over time.

Teams use this to catch the containment-up, resolution-down pattern before it reaches production. If you want to see it on your own call types, book a demo.

Frequently asked questions

What is a good containment rate for a customer support voice agent?

There is no single good number, because containment alone is misleading. A rate of 60–80% can be healthy or hollow depending on how many are trapped callers. Report containment only beside true resolution. A lower containment with high resolution beats a high containment full of callers who never got help.

What is the difference between containment and resolution for a voice agent?

Containment is whether a call stayed inside the agent without a human transfer. Resolution is whether the caller's actual problem was solved. A call can be contained but unresolved — the caller gave up or got a wrong answer. Resolution is verified by outcomes; containment is just the absence of a handoff.

How do you measure true resolution for a support voice agent?

Define a resolution rubric, then verify against outcomes rather than transcripts. Sample and label calls as resolved or not, and corroborate with repeat-contact data: if the caller returns about the same issue within a few days, the first call did not resolve it. True resolution is containment minus trapped callers and confidently wrong answers.

What is a reasonable first-contact resolution target for a voice agent?

A reasonable starting target is 70–85% of issues resolved in one interaction, measured within a three-to-seven-day window. Adapt it to your domain. Watch the window definition — a very short window inflates the number by ignoring callers who return later. First-contact resolution and true resolution should track closely.

Why can a high containment rate be a bad sign?

Because containment counts trapped callers — people who needed a human, could not reach one, and ended the call inside the bot — exactly like solved calls. A containment rate that rises while resolution and CSAT fall usually means the agent is refusing to escalate, not that it is getting better at helping callers.

How do you measure escalation accuracy for a voice agent?

Track two rates. False containment is the share of calls that should have escalated but did not, exposing trapped callers. Premature escalation is the share of transfers the agent could have handled itself. A good agent minimizes both. The right balance depends on how costly a wrong self-service answer is in your specific domain.

Should I use CSAT or sentiment analysis for a voice agent?

Use both. CSAT from post-call surveys is the ground truth but has low response rates and a bias toward callers who respond. Sentiment covers every call but is an inference, not a verdict. Read them together — a call with falling sentiment and no returned survey is a silent detractor worth reviewing manually.

Does average handle time matter for a voice agent?

Yes, but only alongside resolution. A short average handle time with low resolution means the agent is fast at failing callers. A longer time with high resolution can be fine for complex tasks. Never optimize handle time in isolation — the easiest way to cut it is dropping callers, which is the worst outcome.

The bottom line

Containment is the number that lies; true resolution is the number that counts. Measure the KPIs as a linked set, verify against outcomes, and the trapped callers hiding inside a good-looking dashboard become impossible to ignore.

Related Articles