AI Voice Agent KPIs: 8 Numbers That Show Whether It’s Working

AI Voice Agent Kpi

Summarise this article with

TL;DR

  • Track 8 KPIs that show whether the agent is working, not just busy.
  • Count only real conversations, so spam and silent calls can’t flatter the numbers.
  • Check transfers and bookings in your phone system and calendar, not the agent’s own log.
  • Judge results against your own pre-launch baseline, not a vendor benchmark.
  •  At small call volumes, compare four-week totals instead of reacting to one week.
  • Use cost per resolved call, not cost per minute, and review weekly with one fix at a time.

Your dashboard says the agent handled most calls. But a customer says the line disconnected, a transfer never reached your team, or an appointment appeared without the right details. Which version should you trust?

Trust the one you can verify against what actually happened on the call. A “handled” count only shows that the agent picked up and responded. It can’t tell you whether the line stayed connected, whether the transfer reached a person, or whether the booking was right. One headline number will always hide those gaps, so you need to measure outcomes, not attempts. These 8 AI voice agent KPIs do that: answer rate, handled-without-staff rate, mid-call hang-up rate, transfers that reached a person, bookings correct and kept, repeat calls within 7 days, cost per resolved call, and listened-call pass rate. Together, they tell you what happened, not merely what the agent attempted.

Pro Tips PRO TIP
Do not start by asking whether a KPI is “good.” First ask what was counted, what was excluded, and which independent system can confirm the result.

8 AI Agent Performance Metrics

KPIThe question it answersHow to calculate itWhat can make it look better than it isCheck it against
Answer rateOf the calls that rang, how many got picked up?Calls answered by the agent ÷ calls that rang your numberMeasured from the agent’s own log, which never sees calls that didn’t reach itYour phone system’s or carrier’s record of every call that rang
Handled without staff (stricter than containment)How many real callers got what they called for with nobody on your team involved?Calls with a completed outcome and no transfer ÷ real conversationsCounting hang-ups and silent calls as handledRepeat calls and mid-call hang-ups
Mid-call hang-upsHow often do real callers give up before getting an outcome?Real conversations that end in a caller hang-up with no outcome ÷ real conversationsHiding short calls inside an average call lengthYour weekly listened calls
Transfers that reached a personWhen the agent hands off, does someone actually pick up?Transfers answered by a staff member ÷ transfer attemptsThe agent’s own log marking a transfer “successful”Your phone system’s record of the answered call
Bookings correct and keptAre the appointments the agent books real, correct, and attended?Bookings correct in the calendar and attended ÷ bookings the agent reportedCounting “booking created” as successShow rate for appointments your staff booked
Repeat calls within 7 daysDid the calls it “handled” actually fix the problem?Handled callers who call back about the same thing within 7 days ÷ calls handled without staffNot matching callers by phone numberHandled-without-staff rate
Cost per resolved callWhat does each call that it actually fixes cost you?Total agent cost for the period ÷ calls handled without staffDividing by all calls or by minutesWhat the same outcome cost before
Listened-call pass rateWould you be happy if this were your best customer’s call?Reviewed calls you’d pass ÷ calls reviewed (10–20 a week, picked at random)Only reviewing calls the dashboard flags as goodComplaints and reviews that mention your phone

Repeat calls within 7 days is the AI-agent version of first-call resolution (FCR), the measure human teams have used for years. Once you have a few hundred surveyed calls a month, add customer satisfaction (CSAT) on handled calls and compare it with transferred calls.

If the agent answers inbound calls

In the first month, check whether the agent is set up correctly before you judge how well it performs. Most early problems are setup problems, not performance problems, and these three KPIs expose them fastest. Answer rate shows whether calls are reaching the agent at all. Handled-without-staff rate shows whether it has the knowledge and call flows to finish what it starts. Correct, kept bookings show whether it is writing the right details into your calendar. They are also the numbers you bought the agent to move, so if one is off, you know exactly where to fix it.

If the agent makes outbound calls

Swap four rows. Answer rate becomes connect rate, which is calls a person picked up ÷ calls dialed. Handled without staff becomes outcome per 100 connected calls, whether that is bookings, qualified leads, or confirmed renewals. Bookings correct and kept stays as it is.

Then add two compliance numbers. Consent coverage is dialed numbers with recorded prior express consent ÷ numbers dialed. Opt-outs honored on time is opt-outs actioned within 10 business days ÷ opt-outs received.

Inbound rowOutbound replacementHow to calculate it
Answer rateConnect rateCalls a person picked up ÷ calls dialed
Handled without staffOutcomes per 100 connected calls(Bookings, qualified leads, or confirmed renewals ÷ connected calls) × 100
Mid-call hang-upsOpt-outs honored on timeOpt-outs actioned within 10 business days ÷ opt-outs received
Repeat calls within 7 daysConsent coverageDialed numbers with recorded prior express consent ÷ numbers dialed
Note Icon NOTE
A real conversation is an answered call minus (-) spam, robocalls, and silent calls: The caller spoke and stayed past the greeting.

Count Only Real Conversations, or Every Rate Looks Better Than It Is

Two KPIs in the table are divided by real conversations: automated resolution rate and abandonment rate. Repeat contact rate and cost per resolved call build on them. So how you define a real conversation affects half the scorecard.

A real conversation is an answered call where the caller spoke:

Real Conversations = Answered Calls − Spam − Robocalls − Silent Calls

These calls tell you nothing about the agent, and leaving them in makes your rates inaccurate. In an analysis of 450,702 calls to 503 AI receptionists, Upfirst found that raw hang-up rates reflect a phone number’s spam traffic more than the voice agent. That is vendor data, but it matches what most operators see in their own logs.

Every real conversation then needs one outcome tag.

  • Booked
  • Question answered
  • Message taken because the caller asked to leave one
  • Transferred
  • Hung up with no outcome

A call without a tag doesn’t count as handled.

Check Transfers and Bookings at the Far End, Not in the Agent’s Log

A transfer succeeds only when your phone system shows a staff member answered. “Transfer started” or “transfer connected” in the agent’s log may only mean the platform dialed the number, even if the call then rang out or went to voicemail.

Once a week, match the agent’s transfer list against your phone system’s answered calls. Then sort the transfers by reason:

Planned: Calls the agent is set up to hand over, such as emergencies, billing requests, or callers who ask for a person.

Forced: Calls the agent couldn’t handle.

Planned transfers are working as intended, as long as someone picks up. Forced transfers show where the agent falls short. If one type of request keeps ending in forced transfers, either improve how the agent handles it or send those calls straight to your team.

Use this transfer script as the test standard:

Transfer script:

“I can help with the basics, but [request] needs [team or role]. May I place you on a brief hold while I connect you? If no one is available, would you prefer a callback or voicemail?”

For bookings, check both accuracy and the eventual outcome. Match each reported booking to the calendar: Correct person, service, date, time, time zone, and contact details. Then calculate the show rate and compare it with appointments booked by staff. A booking that exists but has the wrong service or never triggers a reminder is not a clean success.

Use explicit confirmation rather than a vague “you’re booked”:

Booking script:

“I have [service] for [name] on [weekday, date] at [time and time zone]. I’ll send confirmation to [masked phone or email]. Is every detail correct?”

A short script makes pass/fail review easier because the required fields are audible in the call and visible in the transcript.

See how Botphonic handles real calls.

Check how an AI voice agent can handle caller requests, transfer calls to your team, and confirm appointments.

Book a demo

What A Good Number Looks Like For Your Business

MetricWhat published data sayWhy they differ
Repeat callsUnder 10% within 72 hours (CloudTalk)Under 15% within 72 hours (Balto)Under 8% within 7 days (Twig)Different time windows
Transfers that reached a personOver 85% (CloudTalk)Over 90% with context passed on (Balto)Over 90% (JustCall)Some count a connected call; some require the caller’s details to arrive too
Response delayUnder 500ms feels natural (Balto)Median under 800ms, slowest 5% under 1.5sec (Twig)Under 1.5sec per turn (JustCall)1.27 to 3.08sec measured across 7 setups (Cekura, cited by JustCall)Time to first audio vs. per turn, and average vs. slowest calls
AI cost per callUnder $1 (CloudTalk)$0.30 to $0.50 per handled call (Balto)$0.50 to $2.50 per resolution (Twig)$0.45 to $0.75 per 3-min call (JustCall)Per call vs per resolution, and what costs are included

Ranges as published by each vendor, October 2026. Response delay is the gap between the caller finishing a sentence and the agent starting to reply. The “slowest 5%” figure is the 95th percentile (P95).

What Each Resolved Call Costs You

Cost per minute hides calls that cost money and fix nothing, such as spam, hang-ups, and calls that end in a transfer. Cost per resolved call shows what you pay for each problem the agent solves. Compare it with what the same types of calls cost when staff handled them. 

Cost per resolved call = total agent cost ÷ (calls handled without staff − repeat contacts)

Total agent cost includes every minute (including spam, hang-ups, and transferred calls), plan and phone number fees, and the staff time spent reviewing calls.

For Example:

Reusing the funnel, 500 answered calls averaging 2 billable minutes is 1,000min. At Botphonic’s published Pro PAYG rate of $0.12 per talk minute, as of October 2026, that is $120.

MeasureMathCost
Per answered call$120 ÷ 500$0.24
Per resolved call$120 ÷ 220Around $0.54

The cost per resolved call is about 2.3 times the per-call figure. This example leaves out staff review time, so add yours for the full figure.

Cost per resolved call also treats every resolved call the same, but a booking that becomes a paid job is worth more than an answered question. See Botphonic’s success stories for how the same calls look once you count jobs won.

Scripts To Fix The Most Common Voice Agent Failures

Start with these scripts when the review points to a specific failure:

Short Inbound Greeting:

“Thanks for calling [business]. I can help book, change, or cancel an appointment, answer common questions, or connect you with the team. What can I help with?”

Recovery Script:

“I may have misunderstood. Are you calling about [option 1], [option 2], or something else?”

Human-Request Script:

“Of course. I’ll connect you with [team]. If they cannot answer, would you like a callback?”

For outbound calls, have counsel approve the opening and opt-out language. A plain operational template is:

Outbound Script:

“Hello, this is [agent name], an automated assistant calling for [business] about [specific purpose]. Is now a good time? You can ask me to stop calls at any point.”

Do not treat that wording as proof of TCPA compliance; consent, identification, disclosure, and opt-out requirements depend on the campaign and jurisdiction.

Your First 30 Days: A Week-By-Week Measurement Plan

WhenWhat To DoWhat You’ll Have At The End
Before switch-on (or now, if it’s live)Check 30 days of answer rate, missed calls from your phone system, and calendar. Set your transfer rules and test each oneYour baseline
Week 1Tag every real conversation with an outcome. Listen to 20 callsHonest handled-without-staff and mid-call hang-up rates
Week 2Match transfers against the phone system. Check every booking in the calendarTransfers that reached a person, and bookings correct
Week 3Make one fixA change you can measure
Week 4Compare four-week totals with your baseline. Work out cost per resolved callAll 8 numbers, and a first verdict

If you’re just setting up, Botphonic documentation covers call handling, spam screening, and syncing bookings to your other tools.

Still struggling to get your AI calls right?

See if Botphonic fits your workflow.

Book a demo

What Belongs On Your AI Voice Agent KPI Dashboard (Scorecard)

KPI Where to check it Baseline (30 days before launch) Last 4 weeks Better or worse?
Answer Rate Phone system or carrier log % % —
Handled without staff Call log plus your outcome tags % % —
Mid-call hang-ups Call log, real conversations only % % —
Transfers that reached a person Phone system’s answered calls % % —
Bookings correct and kept Calendar and attendance % % —
Repeat calls within 7 days Call log, matched by phone number % % —
Cost per resolved call Invoice divided by calls handled without staff $ $ —
Listened-call pass rate Your 10–20 random calls a week % % —
Enter both values to compare performance.
Pro Tips PRO TIP
Keep the definitions identical every month. If you change what counts as a real conversation, start a new baseline.

Conclusion

An AI voice agent dashboard is only as honest as its denominator and its far-end checks. Count real conversations, confirm transfers in the phone system, verify bookings in the calendar, connect containment with repeat calls, and divide total cost by resolved outcomes, not activity.

Then segment the results before diagnosing a problem and change only the layer that failed: Script, workflow, handoff, or scope. Review a small, balanced call sample every week and compare rolling 4-week totals so that normal low-volume variation does not trigger unnecessary rewrites.

These practices give you 8 numbers you can trust and one practical action each week. Start by filling the scorecard with last month’s call log.

Share this article

Botphonic AI voice agents

Put every business call on autopilot

Inbound answering, AI reception and outbound campaigns from one platform — sub-300 ms responses, 50+ languages, and a full transcript and summary after every call.

  • 14-day free trial
  • No seat licences
  • HIPAA & PCI DSS ready

F.A.Q.s

What is a good containment rate for an AI voice agent?

There’s no single magic number. Vendors calculate it in different ways, so published targets are all over the place. The fairest check is to compare your own rate of calls handled without staff against where you were before launch, using real conversations only.

Is containment the same as resolution?

No. A call can end without a transfer and still leave the caller frustrated or the problem unsolved. To see whether the call actually fixed something, look at containment alongside repeat calls within seven days, and listen to a sample of calls yourself.

Which KPIs should I track first in month one?

Start with three: answer rate, calls handled without staff, and bookings that are correct and kept. These are what you bought the agent to improve. Once you’re counting those honestly, add the rest.

How many calls do I need before a change means anything?

At around 100 real conversations a week, your margin of error is roughly ±10 points, so compare four-week totals rather than single weeks. At 400 a week, it tightens to about ±5 points.

How do I know if a transfer actually worked?

Count it only when your phone system shows that a staff member picked up. The agent’s own log can mark a transfer as successful even when nobody answered, so match the two lists once a week.

What does cost per resolved call tell me that cost per minute doesn’t?

Cost per minute hides the calls that cost money and fix nothing. Cost per resolved call divides your total agent cost by the calls actually handled, so you can compare it to what the same outcome cost you before.

Bharat Godhani

About the author

Bharat Godhani

Bharat Godhani is the founder and CEO of Botphonic. Over thirteen years at Bigscal, he has overseen more than 1,000 software projects across 25 countries, giving him a practical understanding of how different businesses handle calls and where automation can help. He founded Botphonic in 2025, designed its end-to-end architecture, and now leads its product direction. His writing covers call automation, business workflows, and the decisions involved in putting AI voice agents to work.

View all posts by Bharat Godhani