SautiDesk

Metrics

Customer service KPIs: the 12 numbers worth tracking

The SautiDesk team
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.

The twelve at a glance
#MetricFormulaGroup
1First response timeSum of (first reply − ticket opened) ÷ ticketsSpeed
2Average resolution timeSum of (resolved − opened) ÷ tickets resolvedSpeed
3Average handle time(Talk + hold + wrap-up) ÷ calls handledWorkload
4First call resolutionIssues solved on first contact ÷ issues × 100Quality
5Abandoned call rateCalls abandoned ÷ calls offered × 100Speed
6Service levelCalls answered within target ÷ calls offered × 100Speed
7Average speed of answerTotal wait of answered calls ÷ calls answeredSpeed
8Occupancy(Talk + wrap-up) ÷ time available × 100Workload
9CSATRatings of 4 or 5 ÷ ratings × 100Quality
10Ticket backlogOpen tickets older than your limitWorkload
11Reopen rateTickets reopened ÷ tickets resolved × 100Quality
12Cost per resolved ticketSupport cost ÷ tickets resolvedCost

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.

Where each metric lives in SautiDesk
MetricSautiDesk Pro reportNotes
First response timeTickets; Reply times by channelAverage first reply on the Tickets report, and the per-ticket time in its rows
Average resolution timeTicketsEach ticket row has opened and resolved times and CSV export, so you can work out the average yourself
Average handle timeAgent scorecardShows average call and average wrap per agent; add the two
First call resolutionAgent scorecardFirst-contact closes: tickets closed without a second touch
Abandoned call rateService level; Missed & abandoned callsAbandon rate, and the missed and abandoned calls to ring back
Service levelService levelAnswered in target against the target you set in Settings
Average speed of answerService levelAverage wait and longest wait
OccupancyOccupancy & utilisationTalk plus wrap, divided by signed-in time less away and non-phone time
CSATNone yetRun the survey yourself for now; see the CSAT article
Ticket backlogTicketsLists open tickets with their age
Reopen rateNoneNot a dedicated report
Cost per resolved ticketCost per resolved ticketAgent 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.

Keep reading

MetricsCSAT: what it is, the formula and how to raise it8 min readMetricsA customer support SLA template you can copy8 min readTeamHow many agents do you need? The Erlang method in plain language9 min read

Good questions

For most teams, first response time, first call resolution, abandoned call rate and CSAT. They cover speed, quality, lost callers and how customers feel. Add the others as the team grows.

Five channels. Zero customers lost.

Get started now. Pay only for the calls and messages you use.