Metrics
Customer service KPIs: the 12 numbers worth tracking
19 Oct 2026 · 10 min read
The short answer
Twelve customer service metrics cover speed, quality, workload and cost: first response time, resolution time, average handle time, first call resolution, abandoned call rate, service level, speed of answer, occupancy, CSAT, backlog, reopen rate and cost per resolved ticket. Each has a formula below.
The customer service metrics worth tracking fall into four groups: speed, quality, workload and cost. This page defines twelve of them, including first response time, average handle time, first call resolution and abandoned call rate. Each has a formula, a worked example and a note on how to use it without fooling yourself.
Call centre KPIs and help desk KPIs overlap. A team that takes calls, WhatsApp and email needs both sets, which is why the list mixes them. You do not need all twelve on day one. Start with four: first response time, abandoned call rate, first call resolution and CSAT.
| # | Metric | Formula | Group |
|---|---|---|---|
| 1 | First response time | Sum of (first reply − ticket opened) ÷ tickets | Speed |
| 2 | Average resolution time | Sum of (resolved − opened) ÷ tickets resolved | Speed |
| 3 | Average handle time | (Talk + hold + wrap-up) ÷ calls handled | Workload |
| 4 | First call resolution | Issues solved on first contact ÷ issues × 100 | Quality |
| 5 | Abandoned call rate | Calls abandoned ÷ calls offered × 100 | Speed |
| 6 | Service level | Calls answered within target ÷ calls offered × 100 | Speed |
| 7 | Average speed of answer | Total wait of answered calls ÷ calls answered | Speed |
| 8 | Occupancy | (Talk + wrap-up) ÷ time available × 100 | Workload |
| 9 | CSAT | Ratings of 4 or 5 ÷ ratings × 100 | Quality |
| 10 | Ticket backlog | Open tickets older than your limit | Workload |
| 11 | Reopen rate | Tickets reopened ÷ tickets resolved × 100 | Quality |
| 12 | Cost per resolved ticket | Support cost ÷ tickets resolved | Cost |
What is first response time?
First response time is how long a customer waits for the first real reply after contacting you. Formula: sum of (time of first reply − time ticket opened) ÷ number of tickets. An auto-reply that says “we got your message” should not count.
Example: five WhatsApp tickets get first replies after 12, 30, 8, 95 and 15 minutes. The average is 160 ÷ 5 = 32 minutes. The middle value (median) is 15 minutes. The two numbers differ because one slow ticket drags the average. Report the median and the share answered inside your target, and use the average only to spot outliers.
What is average resolution time?
Average resolution time is the time from a ticket being opened to it being resolved. Formula: sum of (resolved time − opened time) ÷ tickets resolved. Track it per channel and per type of issue, since a refund and a password reset should never share a target.
Example: 40 tickets resolved in a week took 120 hours in total between open and resolved. 120 ÷ 40 = 3 hours. If the customer sometimes takes a day to reply with a document, the clock includes their wait. Decide whether to pause it in that case and write it down. The SLA template has pause rules you can copy.
What is average handle time (AHT)?
Average handle time is the average time an agent spends on one call from answer to the end of wrap-up. Formula: (talk time + hold time + after-call wrap-up) ÷ calls handled. It is the main input for working out how many agents you need.
Example: an agent handles 150 calls. Talk time is 36,000 seconds, hold time 3,000 and wrap-up 6,000. Total 45,000 ÷ 150 = 300 seconds, or 5 minutes. Use AHT to plan staffing, not to rush agents. Pushing it down too hard makes customers call back, and your first call resolution drops. See how many agents you need for how AHT turns into a roster.
What is first call resolution (FCR)?
First call resolution is the share of issues solved on the customer’s first contact, with no callback or second contact needed. Formula: issues solved on first contact ÷ total issues × 100. It applies to WhatsApp and email too, where it is usually called first contact resolution.
Example: of 500 issues in a month, 340 were closed without the customer contacting you again about the same thing. 340 ÷ 500 = 68%. The hard part is deciding what counts as “again”. One workable rule is the same customer about the same issue within a fixed number of days that you choose. Write the rule down and keep it.
What is the abandoned call rate?
Abandoned call rate is the share of callers who hang up before an agent answers. Formula: calls abandoned ÷ calls offered × 100. It is the plainest measure of lost customers on the phone.
Example: 400 calls come in, 24 callers hang up while waiting. 24 ÷ 400 = 6%. Some teams exclude abandons shorter than a few seconds. Choose a limit and apply it every time. Then call back every abandoned caller. See missed calls.
What is service level in a call centre?
Service level is the percentage of calls answered within a target time, written like “80/20”: 80% answered in 20 seconds. Formula: calls answered within the target ÷ calls offered × 100. It is the number most call centre staffing is built around.
Example: 360 calls offered in an afternoon, 288 answered within 20 seconds. 288 ÷ 360 = 80%, so the 80/20 target is met. Different tools treat abandoned calls differently in this formula. Check whether yours counts them in the offered total, and keep it consistent.
What is average speed of answer?
Average speed of answer (ASA) is the average time callers wait before an agent picks up. Formula: total wait of answered calls ÷ calls answered. Look at it beside service level, because an average can hide a few very long waits.
Example: 100 answered calls with a combined wait of 1,800 seconds. 1,800 ÷ 100 = 18 seconds. Also watch the longest wait in the day. One caller who waited eight minutes remembers it more than the 99 who waited five seconds.
What is occupancy?
Occupancy is the share of an agent’s available time spent on customers. Formula: (talk time + wrap-up time) ÷ time available × 100. High occupancy means no slack. Low occupancy means agents are waiting with nothing to do.
Example: an agent is available for 7 hours (420 minutes) and spends 336 minutes on calls and wrap-up. 336 ÷ 420 = 80%. The worked example from Call Centre Helper caps occupancy at 85% and warns that agents may burn out above it. Your own team may need a lower cap.
What is CSAT?
CSAT is the percentage of customers who rate an interaction 4 or 5 out of 5. Formula: ratings of 4 or 5 ÷ total ratings × 100. Example: 120 of 150 ratings are 4 or 5, so CSAT is 80%. The full method, with survey wording, is in CSAT: what it is and how to raise it.
What is ticket backlog?
Ticket backlog is the count of open tickets that have been open longer than your limit. Formula: number of open tickets older than N hours or days. Pick N from your SLA. Backlog tells you whether the team is keeping up, which first response time cannot show when new tickets are replied to fast but old ones stall.
Example: 212 tickets are open and 38 are older than 48 hours. The backlog is 38, or 38 ÷ 212 = 18% of open tickets. Review the oldest ten every morning. The supervisor morning check is built for this.
What is reopen rate?
Reopen rate is the share of resolved tickets that the customer comes back to for the same issue. Formula: tickets reopened ÷ tickets resolved × 100. It catches agents closing tickets to hit a resolution target.
Example: 12 of 300 resolved tickets were reopened. 12 ÷ 300 = 4%. A rising reopen rate with a falling resolution time means tickets are being closed too early.
What is cost per resolved ticket?
Cost per resolved ticket is what it costs you to close one issue. Formula: total support cost in the period ÷ tickets resolved. Include salaries, software, phone and messaging charges.
Example: support cost for the month is KES 480,000 and the team resolved 1,600 tickets. 480,000 ÷ 1,600 = KES 300 per ticket. Use it to compare channels and to judge whether a change is worth it. Do not cut it by hurrying agents: a cheap ticket that comes back costs twice.
Which of these does SautiDesk report?
Several of the twelve have a report in SautiDesk, and all reports are on SautiDesk Pro. Basic has no reports, see pricing. Where a metric has no dedicated report, the table says so.
| Metric | SautiDesk Pro report | Notes |
|---|---|---|
| First response time | Tickets; Reply times by channel | Average first reply on the Tickets report, and the per-ticket time in its rows |
| Average resolution time | Tickets | Each ticket row has opened and resolved times and CSV export, so you can work out the average yourself |
| Average handle time | Agent scorecard | Shows average call and average wrap per agent; add the two |
| First call resolution | Agent scorecard | First-contact closes: tickets closed without a second touch |
| Abandoned call rate | Service level; Missed & abandoned calls | Abandon rate, and the missed and abandoned calls to ring back |
| Service level | Service level | Answered in target against the target you set in Settings |
| Average speed of answer | Service level | Average wait and longest wait |
| Occupancy | Occupancy & utilisation | Talk plus wrap, divided by signed-in time less away and non-phone time |
| CSAT | None yet | Run the survey yourself for now; see the CSAT article |
| Ticket backlog | Tickets | Lists open tickets with their age |
| Reopen rate | None | Not a dedicated report |
| Cost per resolved ticket | Cost per resolved ticket | Agent wage cost per ticket, from the wage rates a supervisor enters. Software and phone charges are not included |
How should you use these numbers?
Pick one speed metric, one quality metric and one workload metric, review them weekly, and change one thing at a time. Metrics work in pairs: handle time against first call resolution, resolution time against reopen rate, occupancy against service level. Watching one alone gets gamed.
- Report medians and percentages of tickets inside target, not only averages.
- Split by channel. Calls, WhatsApp and email have different normal speeds.
- Never rank individual agents on handle time alone.
- Write the definition of each metric next to it, so the number means the same thing next quarter.