Guide
Customer support metrics: the 18 KPIs that matter
The metrics for speed, quality, efficiency, AI, self-service and product impact, each with a formula and the trap to avoid. Plus a weekly dashboard, targets that resist gaming and staffing basics.
On this page
Support teams don't lack data. Every help desk reports dozens of numbers. The hard part is choosing the few that tell you whether customers are getting good help, and reading them without being fooled.
This guide covers 18 customer support metrics in six groups. For each one you get a definition, a formula and what to watch out for. Use the free CSAT calculator, NPS calculator, SLA calculator and ticket deflection calculator to work out your own numbers, or see how Quackback's support analytics reports them for you.
The 18 metrics at a glance
Each metric below answers one question. You don't need all 18 on a dashboard. Pick the ones that match the questions your team is actually asking, then read the rest of this guide for the formula and the trap in each.
| Group | Metric | The question it answers |
|---|---|---|
| Speed | First response time | How long do customers wait for us? |
| Speed | Resolution time | How long do they live with the problem? |
| Speed | SLA attainment | Do we keep our promises? |
| Quality | CSAT | Was this conversation good? |
| Quality | NPS | Would they recommend us? |
| Quality | CES | Was it easy? |
| Quality | Reopen rate | Did we really solve it? |
| Efficiency | One-touch resolution | Do first answers finish the job? |
| Efficiency | Backlog | Is work piling up? |
| Efficiency | Conversations per agent | Is the load balanced? |
| AI | AI resolution rate | Does the AI solve problems? |
| AI | Handoff rate | How often does it need a person? |
| AI | Containment rate | How much never reaches a person, solved or not? |
| Self-service | Deflection rate | Do customers find answers themselves? |
| Self-service | Self-service score | Is the help center carrying more of the load? |
| Self-service | Search success | Which answers are missing? |
| Product impact | Requests logged from support | Is support feeding the product team? |
| Product impact | Requests shipped | Are we fixing what customers ask about? |
A note on averages: support data is skewed. A handful of tickets that wait over a weekend will drag a mean far from what most customers experience. Use medians for time metrics, and look at the 90th percentile to see your worst cases.
Speed metrics
Speed is the part of support customers notice first. Measure it in business hours unless you staff around the clock, and use medians.
1. First response time (FRT)
How long a customer waits for the first real reply from your team. It's the metric customers feel most directly, because waiting with no answer is when they start to worry.
FRT = time of first human or agent reply − time the conversation was created. Report the median, in business hours.
Watch out: auto-acknowledgements that count as a "response", averages pulled up by a few weekend tickets, and quick "looking into it" replies that stop the clock without helping. Report the median and the 90th percentile, and measure in business hours if you don't staff nights.
2. Resolution time
How long it takes from the customer's first message to the problem being solved. Some teams call it time to close. It tells you how long customers live with the problem.
Resolution time = time closed − time created. Report the median, and exclude time spent waiting on the customer if your tool tracks it.
Watch out: closing conversations early to hit the target, then reopening them. Pair it with reopen rate. Long resolution times are often a product problem, not a support one: a bug that needs engineering will always take days.
3. SLA attainment
The share of conversations that met the targets you promised, such as first response within 4 business hours for paid plans. A service level agreement can cover first response, next response and resolution.
SLA attainment = conversations that met the target ÷ conversations the target applied to × 100. Track each clock separately.
Watch out: targets so loose they're always met, and a single blended number that hides a weak clock. Look at when breaches happen, not just how many: breaches that cluster at shift changes or on Monday mornings are a rota problem. The SLA calculator works out deadlines in business hours.
Quality metrics
Speed without quality just moves the problem. These four tell you whether customers left with an answer and how they felt about it.
4. Customer satisfaction (CSAT)
How satisfied customers were with a specific conversation, usually from a 1 to 5 rating sent when it closes. It's the closest thing support has to a direct quality score.
CSAT = ratings of 4 or 5 ÷ all ratings × 100. Some tools report the average rating instead, so check which one you're comparing.
Watch out: low response rates and the customers who don't answer. Ratings skew toward very happy and very angry customers. CSAT also mixes the agent's work with the product's: a perfect reply that says "we don't support that" still gets a low score. Read the comments. The CSAT calculator does the arithmetic.
5. Net Promoter Score (NPS)
How likely customers are to recommend you, on a 0 to 10 scale. It measures the whole relationship, not one conversation, so it's a company metric that support influences. See Net Promoter Score.
NPS = % promoters (9–10) − % detractors (0–6). The result runs from −100 to 100.
Watch out: attributing NPS changes to support. Pricing, outages and product gaps move it more than reply times. Use it as context, and use CSAT to judge support. Try the NPS calculator.
6. Customer effort score (CES)
How easy it was for the customer to get their problem solved, usually a 1 to 7 agreement with "The company made it easy to handle my issue." See customer effort score.
CES = average score, or the share who agree (5–7) × 100. Pick one and keep it.
Watch out: asking it too often alongside CSAT, which tires customers out. CES is most useful on specific journeys, such as a refund or an onboarding issue, where effort is the problem you're trying to fix.
7. Reopen rate
The share of closed conversations the customer reopens because the problem wasn't actually solved. It's the honest check on resolution time.
Reopen rate = conversations reopened after close ÷ conversations closed × 100, in the same period.
Watch out: customers who reply "thanks" to a closed conversation, which reopens it in many tools without anything being wrong. Filter those out, or count reopens only when a teammate has to act again.
Efficiency metrics
Efficiency metrics are for running the team, not for judging individuals. Use them to spot load problems before they become speed problems.
8. One-touch resolution
The share of conversations solved with a single reply from your team. It's close to first contact resolution, and it rewards complete, well-researched first answers.
One-touch resolution = conversations closed after one team reply ÷ conversations closed × 100.
Watch out: pushing agents to close fast instead of right. Complex technical issues will never be one-touch, so compare the rate within a category, not across your whole queue.
9. Backlog
How many conversations are open and waiting on your team right now, and how old they are. It's the early warning for every speed metric.
Backlog = open conversations waiting on the team at a point in time. Track the count and the age of the oldest, at the same time each day.
Watch out: conversations parked in a pending or snoozed state to make the backlog look small. Count anything waiting on your team, whatever its status.
10. Conversations per agent
How many conversations each teammate handled in a period. It's useful for workload and staffing, and dangerous as a performance target.
Conversations per agent = conversations handled ÷ agents (or productive hours) in the period.
Watch out: ranking people by it. Agents who take the hard tickets will always handle fewer. Look at it beside first response, time to close and CSAT for the same person, and use it to balance load rather than to judge.
AI metrics
Once an AI agent answers customers, it needs metrics of its own. The key is to separate conversations the AI solved from conversations it merely kept away from your team.
11. AI resolution rate
The share of conversations an AI support agent handled where the customer's problem was actually solved. It's the headline AI metric, and the one that matters to customers.
AI resolution rate = conversations the AI resolved ÷ conversations the AI took part in × 100. Count confirmed and assumed resolutions separately.
Watch out: "assumed" resolutions, where the customer simply stopped replying. Some of those customers left unhappy. Report the confirmed share next to the total, and check CSAT on AI conversations.
12. Handoff rate
The share of AI conversations passed to a person. See human handoff. A healthy handoff rate isn't zero: some questions need a human, and customers should always be able to reach one.
Handoff rate = AI conversations escalated to a teammate ÷ conversations the AI took part in × 100.
Watch out: driving it down by making escalation hard. A falling handoff rate with falling CSAT means customers are stuck. Read the conversations that were handed off: they tell you which articles and actions to add.
13. Containment rate (and why it isn't resolution)
The share of conversations that never reached a human. Containment counts everything the AI kept, including customers who gave up or went elsewhere. Resolution counts only the problems that were solved.
Containment rate = AI conversations with no handoff ÷ conversations the AI took part in × 100. Containment ≥ resolution, always.
Watch out: vendors quoting containment as if it were resolution. When you compare AI agents, or AI pricing per resolution, ask exactly how a resolution is counted.
Self-service metrics
A good help center answers questions before they become conversations, for customers and for your AI agent. These metrics show whether it's working and what's missing.
14. Deflection rate
The share of customers who found an answer themselves instead of opening a conversation. See ticket deflection.
Deflection rate = help center or widget sessions that didn't lead to a conversation ÷ all help sessions × 100, within a set window such as 24 hours.
Watch out: counting every page view as a deflection. Many visitors weren't going to contact you anyway. Measure it where a customer was about to ask, such as a contact form or chat widget that suggests articles first. The ticket deflection calculator estimates what it saves.
15. Self-service score
How much of your support happens in the help center compared with the inbox. It's a coarse, company-level ratio that shows whether self-service is growing.
Self-service score = unique help center visitors ÷ unique customers who opened a conversation, in the same period.
Watch out: treating a rising score as success when volume is also rising. Watch it alongside conversations per customer.
16. Help center search success
How often a help center search returns something useful. Searches that return nothing are the clearest list of articles you haven't written.
Search success = searches with at least one result ÷ all searches × 100. Track zero-result searches by term.
Watch out: results that exist but don't answer the question. Pair it with what people do next: a search followed by a new conversation on the same topic is a miss.
Product impact metrics
Support hears about product problems first. These two metrics show whether that knowledge reaches the people who can fix it.
17. Requests logged from support
How many feature requests and bug reports your team logged from conversations, and how many customers they represent. It's the measure of whether support is feeding the product team or just absorbing complaints.
Requests logged = new feedback posts or votes added from support conversations in the period. Also count the customers linked to each request.
Watch out: logging everything. A request with ten linked customers is worth more than ten duplicate posts, so merge duplicates and count customers, not posts.
18. Requests shipped
How many requests that came through support were completed, and how long they took. It closes the loop between what customers ask for and what you build.
Requests shipped = requests moved to a done status in the period. Median time to ship = done date − created date.
Watch out: shipping without telling anyone. A shipped request only reduces support load when the customers who asked hear about it, and the next agent can point to the changelog.
A weekly support dashboard
A dashboard is only useful if someone reads it and acts. Keep the weekly view to one screen, compare each number with last week and the four-week trend, and write one line on what you'll change.
| Row | Metrics | What to look for |
|---|---|---|
| Volume | New conversations, by channel | Spikes, and which channel they came from |
| Speed | Median FRT, median resolution time, SLA attainment | Where breaches cluster by day and hour |
| Quality | CSAT, reopen rate | Every rating of 1 or 2, read in full |
| Load | Backlog and age of oldest, conversations per agent | A growing backlog or one person carrying the team |
| AI | AI resolution rate (confirmed), handoff rate, AI CSAT | Handed-off topics that need an article or action |
| Self-service | Zero-result searches | The top five terms: write those articles |
| Product | Requests logged, requests shipped | Customers to tell about what shipped |
Review it at the same time every week, with the people who can act on it. Monthly, add NPS, CES and staffing. Quarterly, revisit your targets.
How to set targets without gaming them
Every support metric can be gamed. Agents under pressure to hit a first response target send holding replies. Teams judged on resolution time close early. An AI judged on containment makes escalation hard. The fix isn't better people. It's better targets.
- Pair every speed target with a quality one. FRT with CSAT, resolution time with reopen rate, AI resolution with AI CSAT. Gaming one shows up in the other.
- Start from your own baseline. Measure four to eight weeks before setting a target, then aim for a realistic improvement on your own median rather than a number from someone else's team.
- Set targets by segment. A response promise for paid plans, a different one for free users, and separate targets for chat and email. One blended number hides the customers who matter most.
- Use team targets, not individual ones. Individual leaderboards reward cherry-picking easy tickets. Use individual numbers in one-to-ones to coach, not to rank.
- Keep the count small. Three to five KPIs a team can remember beats a dashboard of twenty nobody owns.
- Read the conversations. Numbers tell you where to look. Ten conversations a week, chosen at random, tell you what's actually happening.
Staffing basics, and where Erlang C fits
Staffing turns your metrics into a headcount. There are two approaches, depending on whether customers wait in real time.
Email and tickets: the workload method
When customers don't wait on the line, staffing is arithmetic. Work out the hours of work arriving and divide by the hours each person can actually spend on it.
Agents = (weekly conversations × average handle time) ÷ (hours per agent × (1 − shrinkage))
Shrinkage is the time people are paid but not answering: meetings, training, breaks, leave and sickness. For example, 1,200 conversations a week at 8 minutes each is 160 hours of work. If each agent works 40 hours with 30% shrinkage, they have 28 productive hours, so you need about 5.7 agents. Round up to 6, then check that the rota covers your busiest hours, not just the weekly total.
Live chat and phone: Erlang C
When customers wait in real time, arrivals bunch up and averages stop working. Erlang C is the standard queueing model for this. It takes four inputs:
- how many contacts arrive in an interval, such as an hour
- average handle time
- the number of agents on shift
- your target, such as 80% of chats answered within 60 seconds
From those it works out the chance a customer has to wait and the share answered within your target. You raise the agent count until you hit the target, then add shrinkage. The model assumes customers never give up and that each agent handles one contact at a time. Chat agents often handle two or three at once, so treat its output as a conservative ceiling and check it against your real data.
AI changes the inputs, not the method. If an AI agent resolves part of your volume, staff for the conversations that reach people, and remember those are the harder ones, so handle time rises.
A note on benchmarks
You'll find plenty of published support benchmarks. Treat them with care. Most come from a single vendor's customer base, mix industries and channels, and define metrics in different ways: one report's first response time includes automated replies, another's excludes weekends. A B2B SaaS team answering technical questions by email shouldn't hold itself to a retail chat benchmark.
In broad terms, and as patterns rather than targets:
- Live chat first responses are measured in seconds to minutes, email in hours, and both are slower outside business hours.
- Satisfaction scores vary more with industry and survey design than with team size.
- AI resolution rates depend heavily on the help center behind the agent, and on how the vendor counts a resolution.
Your own trend is the benchmark that matters. If you do compare against a published figure, check its date, sample and definitions first.
What Quackback measures
Quackback is a support inbox, help center, feedback board and status page in one product, so its analytics covers support and product together. It's on every plan, for any date range:
- Volume: new conversations by day, split by channel (live chat, email and GitHub issues).
- First response: the median first response, the share of conversations answered and how response times are spread.
- Time to close and resolution: median time to close, conversations closed and the resolution rate.
- Teammate performance: for each teammate, the conversations they handled, their median first response and their median time to close.
- CSAT: customers rate a conversation from 1 to 5 and can say why. You see the average, the spread of scores and the trend.
- SLA attainment: the share of conversations that met each clock (first response, next response, time to close and time to resolve), attainment by policy, how late missed targets ran, and a heatmap of breaches by day and hour. A default SLA is on every plan; policies by team, customer or priority are on Business and up.
- Quackback AI: conversations the agent took part in, resolved (confirmed and assumed, reported separately), escalated, the actions it used and CSAT on its conversations. For Copilot, the questions it answered, suggestions your team used and actions proposed and accepted.
- Help center search: the terms visitors search for, with the searches that returned nothing.
- Feedback: posts, the share resolved and the median time to resolve, beside the support numbers.
What it doesn't measure yet: NPS and CES, since Quackback doesn't send NPS or CES surveys, and reopen rate. Use a survey tool alongside it for those. Conversations become feedback posts or votes when a teammate links them, not automatically.
Read the analytics documentation for the details.
Analytics in Quackback
Support, AI and feedback numbers in one place
First response, time to close, CSAT, SLA attainment and Quackback AI, beside the feedback your customers send. This is a demo workspace: click around.
Top requests
Common questions
What are the most important customer support metrics?
Start with five: first response time, resolution time, CSAT, backlog and SLA attainment. Together they tell you how fast you answer, how long problems take to fix, how customers feel about it, whether work is piling up and whether you keep your promises. Add AI and self-service metrics once those channels carry real volume.
What is the difference between a metric and a KPI?
A metric is anything you measure. A KPI is a metric you've chosen as a goal, with a target and an owner. Most support teams track a dozen metrics and hold themselves to three to five KPIs.
How do you calculate first response time?
For each conversation, subtract the time it was created from the time of the first human or agent reply. Report the median across conversations, and measure in business hours if your team doesn't work around the clock. Automatic acknowledgements shouldn't count as a response.
What is a good CSAT score?
It depends on your industry, channel and survey design, so compare yourself against your own trend first. Most teams treat a sustained drop as more important than any absolute number, and read every low rating. Use the free CSAT calculator to work out your score from raw ratings.
What is the difference between AI containment and AI resolution?
Containment counts conversations the AI handled without a human, including customers who gave up. Resolution counts conversations where the customer's problem was actually solved, ideally confirmed by the customer. Containment is always the higher number, which is why vendors like to quote it.
How many support agents do I need?
For email and tickets, multiply weekly volume by average handle time, then divide by each agent's productive hours after shrinkage such as meetings, training and leave. For live chat and phone, where customers wait in real time, use an Erlang C calculation that accounts for arrival patterns and your target answer time.
Which customer support metrics does Quackback measure?
Quackback analytics shows conversation volume by channel, median first response and its distribution, median time to close, resolution, teammate performance, CSAT, SLA attainment by clock and by policy with a breach heatmap, and Quackback AI agent and Copilot activity. Analytics is on every plan; SLA policies by team, customer or priority are on Business and up.
Have another question? Talk to the team.