How do you measure whether a voice agent works?
Containment rate, transfer rate, task completion, and what actually happens after the call end up mattering more than call volume or a generic satisfaction score.
Want to see it first? Book a demo

The short answer
- Containment rate is the share of calls the agent resolves without passing them to a human. Most vendors lead with it. It only means something next to task completion, because a contained call that didn't solve the caller's problem is a false positive.
- Transfer rate is not automatically bad. What matters is whether transfers happen for legitimate reasons, an explicit request, a genuinely out-of-scope topic, low confidence, rather than the agent failing on things it should be able to handle.
- Task completion asks whether the call did its job: booked, answered, or resolved. It's the metric closest to business value, and you have to check outcomes, not only how the talk flowed.
- What happens after the call is the part most dashboards don't show. Does the booking stick? Does the promised callback happen? Does the issue stay fixed? That's often the real test of whether the agent works.
Why volume and star ratings are not enough
A dashboard showing call volume and a satisfaction score feels like measurement, but neither number says much about whether the agent is actually doing its job well. Volume just says calls are coming in and getting answered, which was already true before the AI agent existed if a human or voicemail was picking up. A satisfaction score from a short post-call survey tends to show how pleasant the voice sounded. It says less about whether the caller's problem got solved.
The more useful metrics require looking past the call itself and into whether it accomplished something. Containment rate (how often the agent handles the call without a human) is a fair place to start. Read alone, though, it rewards an agent that ends calls fast even when it didn't help, since a call that ends without a transfer still counts as "contained." Pair it with task completion. Did the caller get what they called for? That catches the gap.
What to actually track
| Metric | What it tells you | What it misses alone |
|---|---|---|
| Containment rate | How often the agent avoids a human transfer | Whether the contained call was actually resolved |
| Transfer rate | How often the agent hands off to a human | Whether the transfer was for a legitimate reason |
| Task completion | Whether the call's actual purpose was achieved | What happens after the call ends |
| Post-call outcome | Whether a booking sticks, a promise is kept | Requires tracking beyond the call itself |
How to actually build this measurement
Start by defining a good call for each call type your agent handles: a booking confirmed, a question answered, a clean transfer. Don't use one generic success rule for every call. Then review a sample of calls now and then, mainly transfers and calls marked as contained. Check that the logged outcome matches what a person reading the transcript would call a success.
Disclosure: SalesCrew is our product. Each SalesCrew agent action is written to an action log, and external sends wait in one approval queue. The framework here, containment paired with task completion, applies to evaluating any vendor's voice agent.
A high containment rate can hide a low-quality agent
Questions
- What is containment rate?
- The share of calls the agent handles fully on its own without transferring to a human. A high containment rate is only good if the calls being contained were actually resolved correctly, which is why it needs to be read alongside task completion, not alone.
- Is call volume a useful metric?
- Volume tells you the agent is answering calls, not whether those calls went well. It is worth tracking as context but is not evidence of quality by itself.
- How do you know if a transfer happened for a good reason?
- Now and then, review a sample of transferred calls. Check that the trigger (a direct request, an out-of-scope topic, low confidence) matches what really happened on the call. Don't assume every transfer was needed.