The contact center KPIs worth tracking are the ones that tell you whether callers are served quickly enough, whether agents' time is well used, whether campaigns reach people and what each result costs. Below are 12 of them, each with its formula, a worked example and what to watch for.
Agree on definitions first
Most arguments about KPIs are really arguments about definitions. Write down, once, what counts as:
- Offered: every call that reaches the queue, or only those that wait longer than a few seconds?
- Handled: answered by an agent, or also resolved in the IVR?
- Connected: answered by anyone, machines included, or by a live person?
- Success: a sale, an appointment, a payment promise, a resolved case?
Then keep those definitions stable. A KPI that changes definition every quarter can't show a trend. Shared vocabulary helps too; our glossary covers the common terms.
Inbound KPIs
1. Service level
Formula: calls answered within the threshold ÷ calls offered.
Example: 1,200 calls offered and 960 answered within 20 seconds gives 960 ÷ 1,200 = 80%.
80% within 20 seconds is a common target, but it is a convention, not a standard. Decide how you treat abandoned calls, either counted in offered or excluded when callers hang up within a few seconds, and track the figure per interval. A good daily figure can hide a bad hour.
2. Average speed of answer (ASA)
Formula: total waiting time of answered calls ÷ answered calls.
Example: 1,000 answered calls that waited 25,000 seconds in total give an ASA of 25 seconds.
ASA is an average, so a few very long waits can hide behind it. Read it with the longest wait and the service level.
3. Abandon rate
Inbound formula: calls abandoned in the queue ÷ calls offered.
Outbound formula: live answers not connected to an agent ÷ live answers.
Example: 1,200 calls offered and 72 abandoned gives an inbound abandon rate of 6%.
Inbound, it counts callers who gave up. Outbound, it counts people a predictive dialer reached with no agent free, which affects your caller ID reputation and, in some countries, your compliance.
4. First contact resolution (FCR)
Formula: contacts resolved without a repeat contact ÷ total contacts.
Example: of 2,000 customers who called, 1,600 did not call again about the same issue within 7 days, so FCR is 80%.
The repeat window and what counts as the same issue are yours to define. Dispositions that record the reason for each call make FCR measurable.
Agent KPIs
5. Average handle time (AHT)
Formula: (talk time + hold time + after-call work) ÷ handled calls.
Example: 40 hours of talk, 5 hours of hold and 10 hours of after-call work over 1,100 calls make 55 hours, or 198,000 seconds. Divided by 1,100 calls, that is 180 seconds, or 3 minutes.
AHT drives staffing. Use it to plan rather than as a target to push down: agents told to cut AHT can rush, and repeat calls can rise.
6. Occupancy
Formula: (talk + hold + after-call work) ÷ (talk + hold + after-call work + time available waiting for a call).
Example: 5 hours handling calls and 1 hour waiting gives 5 ÷ 6 = 83%.
Occupancy shows how busy agents are while they are available. Blending and predictive dialing push it up; too high for too long leaves no breathing space between calls. Its sister metric, utilization, divides handling time by all logged-in time, breaks and pauses included.
7. Contacts per hour
Formula: handled contacts ÷ logged-in hours (or productive hours, as long as you say which).
Example: 52 calls handled in a 6.5-hour session gives 8 contacts per hour.
Compare it only between agents doing the same work in the same dialing mode. A preview agent on B2B accounts and a predictive agent on a consumer list are not comparable.
Outbound KPIs
8. Connect rate
Formula: connected calls ÷ dials.
Example: 10,000 dials and 2,300 connected calls give 23%.
Decide whether connected includes machines; a live connect rate (live answers ÷ dials) is more useful for pacing. A drop across every number points to the list or the hour. A drop on one caller ID points to its reputation, covered in why your caller ID gets flagged as spam.
9. Conversion rate
Formula: successful outcomes ÷ live conversations.
Example: 180 sales from 1,500 live conversations gives 12%.
Dividing by conversations rather than dials separates the quality of the pitch from the quality of the list.
10. List penetration
Formula: contacts attempted at least once ÷ contacts in the list.
Example: 7,400 of 10,000 contacts attempted gives 74%.
Low penetration late in a campaign means fresh records remain while agents redial old ones. Read it with attempts per contact before buying new data.
11. Callback compliance
Formula: callbacks made within the agreed window ÷ callbacks scheduled.
Example: 230 of 250 scheduled callbacks made on time gives 92%.
A promised callback is a commitment to someone who already showed interest. Missed callbacks waste the warmest leads you have.
Cost KPI
12. Cost per successful outcome
Formula: total campaign cost ÷ successful outcomes.
Example: €9,000 of agent time, €1,500 of licenses and €600 of calls and numbers for 180 sales gives €11,100 ÷ 180 = €61.67 per sale.
Include every cost you can attribute. Agent time is usually the largest part and telecom a small one, which is why connect and conversion rates often move cost per sale more than the price per minute does.
All 12 formulas at a glance
| KPI | Formula |
|---|---|
| Service level | Answered within threshold ÷ offered |
| Average speed of answer | Total wait of answered calls ÷ answered calls |
| Abandon rate, inbound | Abandoned ÷ offered |
| Abandon rate, outbound | Live answers not connected ÷ live answers |
| First contact resolution | Resolved without repeat contact ÷ total contacts |
| Average handle time | (Talk + hold + after-call work) ÷ handled calls |
| Occupancy | Handling time ÷ (handling time + available time) |
| Contacts per hour | Handled contacts ÷ logged-in hours |
| Connect rate | Connected calls ÷ dials |
| Conversion rate | Successful outcomes ÷ live conversations |
| List penetration | Contacts attempted ÷ contacts in the list |
| Callback compliance | Callbacks on time ÷ callbacks scheduled |
| Cost per outcome | Total cost ÷ successful outcomes |
Read KPIs in pairs
A single KPI rarely tells the whole story. These pairs catch problems early:
- AHT and FCR. AHT falling while FCR falls too means calls are being rushed.
- Service level and abandon rate. A good service level next to a high abandon rate usually means short abandons are excluded or the threshold is generous.
- Occupancy and absence. Very high occupancy for weeks tends to show up later as sick days and resignations.
- Contacts per hour and conversion. Raising the dial ratio can lift the first and lower the second.
- Connect rate and penetration. A falling connect rate on a heavily worked list means the list is exhausted, not that agents got worse.
For centers running inbound and outbound on one team, see blended contact centers.
Tracking these KPIs in OVOKY
OVOKY reports include 32 ready-made reports: 8 for campaigns, 6 for inbound, 8 for agents, 6 for channels and 4 for compliance and executive views. The ones that map to this list:
- Queue Service Level: service level, ASA, average call duration, longest wait and abandon rate per queue.
- Abandoned Calls: abandoned inbound calls with wait time and recovery rate.
- Agent Productivity and Call Performance: occupancy, utilization, AHT, after-call work and calls per hour.
- Campaign Summary, List Penetration and Callback Compliance: dials, connect rate, cost, conversions, penetration and callbacks honored.
- Predictive Efficiency: dial ratio, machine rate and abandon rate.
- Channel Cost & Efficiency: cost per channel, per unit and per success.
Reports export to CSV, XLSX, JSON or PDF, can be emailed daily, weekly or monthly, and can send alerts when a figure crosses a threshold. First contact resolution depends on your own definition of resolution, so build it from dispositions and repeat contacts. For the live view during the day, use supervision.