Customer service metrics are the numbers that show whether your support team solves customers' problems: how much demand you create, how quickly you respond and resolve, whether the fix holds, and how customers felt about it. Choose a small set, define each one exactly, and measure it per request type (order status, delivery, returns, refunds) and per channel, with AI and human conversations held to the same definitions.
Customer support metrics, support metrics and customer service performance metrics all mean the same thing. This guide is for the head of customer service at a consumer brand with a high volume of order, delivery, return and refund work across WhatsApp, Instagram, email and phone. It covers which metrics to run the team on, how to define them so they can't flatter you, where the usual ones mislead, and how to measure an AI agent alongside your team.
In short
- Run the team on about ten metrics covering demand, speed, whether the fix held, how it felt, capacity and quality.
- Define each by when its clock starts and stops, and count issues, not tickets.
- Split every number by request type and channel, and report the median and 90th percentile, not only the average.
- Measure the AI with the team's definitions: the same denominator, the same finish line and one clock that doesn't restart at handoff.
The customer service metrics to run your team on
Popular lists run to 18 or 21 metrics. A support leader needs fewer, each answering a question the team can act on:
| Question | Metric | How to calculate it |
|---|---|---|
| How much demand are we creating? | Contacts per 100 orders | Customer-started conversations ÷ orders shipped in the same period × 100, by request type |
| How quickly do customers hear back? | First response time | Time from the customer's first message to the first reply that addresses the request, from the AI or an agent |
| How long until the problem is solved? | Resolution time | Time from the first contact about an issue, on any channel, to the outcome being recorded |
| Did the fix hold? | Repeat contact rate | Resolved issues followed by another contact about the same issue or order within 7 days, on any channel ÷ resolved issues |
| How did it feel? | CSAT | Ratings of 4 or 5 on a 5-point scale ÷ all ratings, from a survey sent after resolution |
| Was it easy? | Customer effort score | Average agreement with "It was easy to get my issue resolved" on a 1–7 scale |
| How much does the AI finish? | AI resolution rate | Conversations where the AI recorded the outcome, with no person involved and no repeat contact within 7 days ÷ all conversations for that request type |
| When does the AI need an agent? | Handoff rate | Conversations the AI passed to an agent ÷ conversations the AI started |
| How much agent time does it take? | Average handle time | Agent working time, including after-contact work ÷ contacts handled |
| Is anything stuck? | Backlog age | Open issues by age, and the share older than the time you promised customers |
| Are the answers right? | Quality findings | Reviewed conversations with a serious finding ÷ reviewed conversations, for the AI and the team separately |
First contact resolution is the stricter cousin of repeat contact rate: the share of issues solved in the customer's first contact and never raised again. Survey measures, including CSAT, customer effort and Net Promoter Score, are compared in our guide to customer satisfaction metrics.
Four common entries are left out on purpose. Net Promoter Score asks how likely a customer is to recommend the brand, which depends on the product, price and delivery as much as on support, so track it at company level. Churn, retention and lifetime value are business outcomes that support influences but can't be managed by. Social media mentions are brand monitoring. Agent utilisation is a staffing measure that belongs with workforce management.
Metrics are everything you measure. Customer service KPIs are the ones you set targets on and report to leadership: seven core KPIs for most consumer brands, and up to five more when they apply. And metrics only show where the operation is failing; fixing the routing, tiers or escalation behind a bad number is customer service operations work.
Define each metric before you report it
Two teams can report the same first response time and mean different things. Most guides give a formula and stop, but the arguments start over what counts. Write down when each clock starts, when it stops and what is left out, then use the same sheet for the AI and the team.
| Metric | Starts | Stops | Don't |
|---|---|---|---|
| First response time | The customer's first message about the issue | The first reply that addresses the request, from the AI or an agent | Count an auto-acknowledgement ("we've received your message") as the response |
| Resolution time | The first contact about the issue, on any channel | The outcome recorded in the system that owns it: the answer given, the refund submitted, the return or replacement created | Start the clock at assignment or handoff, or pause it silently while waiting on the customer |
| Repeat contact | An issue marked resolved | Another contact about the same issue or order within the window | Count a new, unrelated order as a repeat |
| Average handle time | An agent starts working the contact | The agent's work ends, including notes and after-contact work | Compare chat with phone as if they were the same; chats overlap |
| CSAT | A survey sent after resolution | The customer's rating | Report the score without the response rate |
| Contacts per 100 orders | Customer-started conversations in the period | Orders shipped in the same period | Count your own order updates as contacts |
Three rules apply to all of them.
- Count issues, not tickets. One damaged order raised on Instagram, WhatsApp and email is one issue. If your tools open three tickets, merge them before counting, or volume triples and the resolution rate improves for no reason.
- Say which clock. Business hours make email look faster than the customer experienced it. Customers live in calendar hours, and if you offer 24/7 customer support, calendar hours are the only honest clock.
- Report the wait; don't hide it. If you pause resolution time while waiting for a photo or an address, report the waiting time separately, so a slow policy (asking for three photos, say) doesn't disappear from view.
Flowcall's AI Helpdesk does much of this merging as the conversation happens. When the same customer writes on another channel while their issue is open, Flowcall keeps it on the same ticket, with the whole history visible, while a new issue or a different order gets a ticket of its own. We built it that way because the ticket is what your reports count.
Measure by request type and channel
By request type
A blended number mixes jobs that have little in common. An order-status question can be answered in seconds from tracking data; a refund can't finish until the return has arrived and been checked. When the mix of requests changes, the blended number moves even if nothing about your service did.
Here is one brand's resolution time in a normal week and in a sale week. The figures are illustrative.
| Request type | Contacts, normal week | Contacts, sale week | Average resolution time, normal week | Average resolution time, sale week |
|---|---|---|---|---|
| Order status | 3,000 | 7,000 | 1 hour | 1 hour |
| Delivery problems | 1,000 | 1,400 | 30 hours | 30 hours |
| Returns and exchanges | 800 | 900 | 40 hours | 40 hours |
| Refunds | 600 | 700 | 48 hours | 70 hours |
| Damaged, missing or wrong items | 400 | 500 | 36 hours | 36 hours |
| All requests | 5,800 | 10,500 | 18.7 hours | 14.5 hours |
The dashboard says resolution got 22% faster during the sale. In fact every request type held steady except refunds, which got 46% slower. The apparent improvement came from thousands of quick order-status contacts diluting the average. And the refund customers are the ones most likely to complain in public next week.
Split every metric by the request types that make up most of your volume. For most consumer brands that means order status (the "where is my order?" or WISMO question), delivery problems, order changes and cancellations, returns and exchanges, refunds, damaged or wrong items, and pre-purchase questions. Our guide to ecommerce customer service sets out what each job involves and what "done" means for it. Use the same list for the AI's conversations and the team's tickets, or the two can't be compared.
By channel
Channels differ in what customers expect and in what the platform allows, so first response time needs its own target per channel. Resolution is different: measure it per issue, across channels, because a customer who starts on Instagram and finishes on the phone had one problem. Keeping that issue whole is what omnichannel customer service means. For each of your customer service channels, watch for these:
| Channel | Measure | Watch for |
|---|---|---|
| First response time; the share of replies sent after the 24-hour window closed | Once 24 hours pass after the customer's last message, a business can send only pre-approved templates, so a late reply can't simply continue the conversation | |
| Instagram and Messenger | First response time on DMs; complaints that start in public | An issue moved to a private chat or to WhatsApp being counted twice |
| First response and resolution time, in the hours you state | One issue split across several threads | |
| Live chat | Time to first reply, in seconds; chats abandoned before a reply | A fast greeting that isn't an answer |
| Phone | Share of calls answered within target; abandoned calls; call outcome on the ticket | Call outcomes that never reach the ticket, so a repeat call looks like a new issue |
For the phone row, Flowcall's phone integration puts each call on the ticket. Calls from a supported telephony provider open with the customer's context and are logged, recorded and transcribed there, with an AI summary linked to the right order, so the outcome is on record when the customer calls again.
If you support customers in several languages, add language as a split too. Gaps in multilingual customer support rarely show in a blended CSAT.
Where common customer service metrics mislead
Most guides to these metrics warn that average handle time can push agents to rush. The same problem runs through nearly every metric: each can improve while customers are worse off.
| Metric | How it misleads | Report this alongside it |
|---|---|---|
| Average resolution time | A few very slow cases hide inside a healthy average, and a change in request mix moves it without any change in service | Median and 90th percentile by request type; the share of issues older than your promise |
| Resolution rate or tickets closed | A ticket closed with "we've raised it with the warehouse" counts as resolved | The outcome recorded in the owning system, and repeat contact within 7 days |
| Deflection or containment | A customer who gave up on the bot and emailed counts as a success | A strict AI resolution rate and repeat contact on any channel |
| First response time | An instant auto-reply or "we're looking into it" makes every channel look fast | The first reply that addresses the request, then resolution time |
| CSAT | The customers who answer aren't a fair sample of everyone, and AI and team CSAT compare different jobs | The response rate; CSAT compared within the same request type |
| Average handle time | Pressure to close fast creates repeat contacts | Repeat contact rate and quality findings |
| Ticket volume | Duplicates across channels inflate it, and it rises with orders anyway | Issues per 100 orders |
| Tickets solved per agent | It rewards picking easy tickets | Comparisons within one request type and channel |
Averages hide the long tail
Take 100 refunds. Eighty-five are submitted within a day; 15 take 12 days because the courier's return scan never arrives. The average is 2.7 days, which describes nobody. The median is one day and the 90th percentile is 12 days: most customers are fine, and roughly one in seven waits almost two weeks. Report the median, the 90th percentile and the number of issues older than your promise. The oldest open issues are the ones most likely to turn into complaints and public posts.
Deflection is not resolution
When a bot or help centre handles a conversation, it is tempting to count every conversation that didn't reach an agent as solved. A Gartner survey of 5,728 customers, run in December 2023 and published in August 2024, found that only 14% of customer service issues were fully resolved in self-service; even among issues customers described as very simple, only 36% were. A contact that doesn't reach an agent has been deflected. It has been resolved only if the outcome happened and the customer didn't come back. That is the difference between customer service automation that completes requests and automation that moves them somewhere else.
We built Flowcall's AI Agent for the first kind. It checks current order, delivery, payment and refund data in your systems, completes the refund, cancellation, exchange or address change your rules allow, and records the result of each action. An answer can only deflect a refund request; a submitted refund with its result logged is an outcome you can count.
Measuring AI conversations with the same definitions as your team
Once an AI agent for customer service handles real volume, it usually arrives with its own numbers: containment, deflection, automation rate. Each is defined by the vendor, none matches how you measure your team, and none shows the handoffs between the two. Measure the AI with the definitions you already use for people.
| Measure | For the AI | For the team |
|---|---|---|
| Resolved | Outcome recorded by the AI, no person involved, no repeat contact within 7 days | Outcome recorded by an agent, no repeat contact within 7 days |
| Resolution time | From the customer's first message to the outcome recorded | From the customer's first message (not from assignment or handoff) to the outcome recorded |
| First response time | The first reply that addresses the request | The same |
| CSAT | The same survey and question, after resolution | The same |
| Quality | Reviewed against your written policy | Reviewed against the same policy |
Five rules keep the comparison honest.
- One denominator. For each request type, every conversation counts once: resolved by the AI, resolved by the team after a handoff, or unresolved. The three add up to 100%, so a rising AI number can't hide a falling total.
- The same finish line. The AI's resolution counts only when the outcome is recorded (the answer given, the refund submitted, the return created) and the customer doesn't come back about it within the window, on any channel. A conversation that ends because the customer stopped replying is abandoned, not resolved.
- One clock. Resolution time starts at the customer's first message, not when an agent picks up the handoff. Measure the time from handoff to the first human reply as its own number; it can be the longest wait in the conversation, and a blended resolution time hides it.
- Handoffs have a quality too. Count handoffs where the agent asked again for something the customer had already given, handoffs that came only after the customer asked for an agent more than once, and handoffs your rules would have let the AI finish. A handoff rate alone can't tell good ones from bad; our guide to escalation management covers designing them.
- Compare like with like. An AI usually starts with the simpler jobs, so its CSAT and resolution time will look better than the team's overall. Compare the two within the same request type.
There is one more check no metric can make: whether the resolution was right. An AI that approved every refund request would post an excellent resolution rate and excellent CSAT. Only reading the conversation shows whether it checked eligibility, asked for the required evidence and stayed within policy. That is the job of AI quality assurance: reviewing AI and human conversations against the same standards, instead of a small sample of the team's. A customer service QA scorecard is the manual version of the same idea.
We built Flowcall's AI Quality Assurance to do that reading. It audits AI and human conversations on WhatsApp, Instagram, Messenger, Live Chat, email and phone against your standards, either every conversation or the ones you choose, and each finding quotes the conversation and carries a severity. For the AI, it looks for wrong, incomplete or made-up answers, loops, missed or late handoffs, and promises or actions it wasn't allowed to make. For agents, it flags inconsistent information and requests for details the customer had already given, the first of the handoff counts in rule 4.
The weekly report: what goes on one page
Put the core metrics on one customer service dashboard, with your request types as rows and these columns:
- contacts per 100 orders;
- median and 90th-percentile resolution time;
- repeat contact rate;
- AI resolution rate and handoff rate;
- CSAT, with the response rate;
- serious quality findings, for the AI and the team.
Underneath, add one line per channel for first response time (median and 90th percentile, and on WhatsApp the share of replies sent after the window), and the backlog by age.
Read it in this order: where demand grew (contacts per 100 orders), where the fix failed (repeat contact), where customers are waiting (the 90th percentile and the backlog), and whether the AI's resolutions were right (quality findings). Agent-level numbers belong in a separate view that compares agents only within the same request type and channel; see agent performance metrics.
Flowcall's pre-built and custom dashboards cover CSAT, first response time, resolution, the AI automation rate and agent performance, and the ticket export takes any filtered set of tickets to CSV. Resolution time is shown for each agent and channel as a median and 75th to 99th percentiles. CSAT is shown by AI versus human, channel, team and agent. SLA targets are set for each team or workflow and show which tickets are at risk; the people you choose are alerted before a breach, and breached tickets move up the queue instead of turning up in next week's backlog.
How to set up customer service metrics, in order
- Audit what you measure today. List every metric on your current reports, how each is calculated and who reads it. A customer service audit checklist covers the rest of the operation.
- Tag a month of contacts by request type, using one list for the AI and the team.
- Write the definition sheet: start, stop, exclusions, which clock and the repeat-contact window. Start with seven days, adjust it to your delivery times, then keep it the same.
- Build your own baseline. Published benchmarks mostly come from contact centers, mix industries and channels, and are often undated. Your own median and 90th percentile by request type, month on month, is the comparison that tells you something.
- Connect conversations to orders and customers, so repeat contacts are caught across channels and volume can be read per 100 orders.
- Split the AI and the team on the same definitions, and start reviewing conversations for quality, the AI's first.
- Choose your KPIs and set their targets, review the one-page report every week, and re-forecast contacts per 100 orders by request type before each sale event.
How Flowcall measures customer service
Flowcall combines an AI Agent with an AI Helpdesk, so the AI's conversations and your team's tickets are reported and audited side by side, not in two vendors' reports with two sets of definitions. Quality findings are judged against ready-made issue groups and your own standards for tone, accuracy and policy, and workflow analytics report on the runs of each workflow, such as returns or refunds. Requests the AI couldn't resolve are grouped into the workflows, knowledge or integrations worth adding next, which is where a high handoff rate for one request type should lead. AI Quality Assurance can also run on top of the helpdesk you already use, such as Freshdesk, Salesforce or Sprinklr, through a connection built for your account.
If you'd like to see AI Quality Assurance review your own AI and agent conversations, book a demo.
Related guides
- Satisfaction: what is CSAT · CSAT survey questions · NPS vs CSAT
- Net Promoter Score, a company measure: NPS survey questions · how to calculate NPS · what is a good NPS score
- Acting on what the numbers show: automated ticket routing · how to handle customer complaints · Black Friday customer service
Frequently Asked Questions
What are some examples of customer service performance metrics?
Common examples are first response time, resolution time, first contact resolution, average handle time, CSAT, customer effort score and backlog. For a consumer brand, the most useful set adds contacts per 100 orders and repeat contact rate and, once an AI handles real volume, AI resolution rate and handoff rate. Each is only useful when split by request type and channel.
What is the difference between customer service metrics and KPIs?
Metrics are everything you measure. KPIs are the few metrics you set targets on and report to leadership. A good KPI is one the team can move and customers would notice, such as refund resolution time; a poor one is easy to game, such as tickets closed.
What are the 5 key CX metrics?
Lists usually name customer satisfaction (CSAT), Net Promoter Score (NPS), customer effort score (CES), churn or retention, and first contact resolution. For a support team, CSAT and customer effort collected after a resolution are the ones it can act on directly. NPS and churn reflect the product, price and delivery as much as service, so treat them as company measures.
What are the 5 key performance indicators of a call center?
Service level (the share of calls answered within a target time), abandonment rate, average handle time, first call resolution and CSAT. They still apply to a consumer brand's phone line. Messaging channels need their own versions: first response time in place of answer time, and resolution measured per issue across channels. Our guide to call center KPIs gives the formulas and the dated standards.
What is the difference between deflection and resolution?
Deflection counts contacts that didn't reach an agent; resolution counts problems that were solved. A customer who gives up on a bot and sends an email was deflected but not resolved. That is why an AI's resolution rate should count only outcomes that were recorded and didn't lead to a repeat contact.
How should you measure individual agents?
Compare agents only within the same request type and channel, and look at repeat contacts, CSAT and quality findings alongside speed. Ranking agents on handle time or tickets closed rewards rushing and picking easy work.
How often should you review customer service metrics?
Daily for queue health: backlog age and SLAs at risk. Weekly for the one-page report by request type and channel. Monthly for definitions, targets and the causes behind repeat contacts. Before a sale event, re-forecast contacts per 100 orders by request type.




