Home›
Customer Service

Customer satisfaction metrics: measuring recovery, not operations

3 September 2026
VerifiedVerified & Reviewed
Customer service metrics measure support speed (FRT, resolution time, FCR), sentiment (CSAT, NPS, CES) and demand (contacts per 100 orders). CSAT is satisfied responses divided by total responses, times 100. All of them start at the ticket, so pair them with promise-kept rate, which starts at the order.

What customer satisfaction metrics measure

Customer satisfaction metrics quantify how customers feel about their experience with you. The standard set is CSAT, which asks how satisfied someone was with a specific interaction, NPS, which asks how likely they are to recommend you, and CES, which asks how much effort the interaction cost them. Support teams add operational measures like first response time and resolution time.

The sharpest way I can put it: CSAT measures recovery from an issue. It does not measure retention, and it cannot see the customer who never raised the issue and simply left.

They are useful and you should track them. The caution is that in e-commerce they mostly measure the quality of your recovery, not the quality of your operation. You cannot fix what you do not see, and a survey only sees what reached support.

Every order is a promise. Keeyu keeps it. Satisfaction metrics tell you how people felt about how you handled a promise you already broke.

How to calculate CSAT

Customer satisfaction score (CSAT) is the share of survey respondents who say they were satisfied with one specific interaction, usually a solved support ticket. Most helpdesks send it when a ticket is marked solved, as one question on a 1 to 5 scale.

The formula is CSAT = (satisfied responses / total responses) x 100. On a 5-point scale, satisfied means a 4 or a 5. A 3 counts in the denominator only.

For about twenty years, customer service has measured first response time, resolution, handle time and CSAT. I keep CSAT on the hygiene row: a number you keep healthy, not the number you run the operation on. I made the longer case in why CSAT grades fixing a problem the customer never wanted; this section sticks to the mechanics.

A worked example

You solve 1,000 tickets in a month and 200 shoppers answer the survey. 160 pick a 4 or 5, 25 pick a 3, and 15 pick a 1 or 2. CSAT is 160 / 200 x 100 = 80%.

That 80% rests on a 20% response rate. Report the response rate next to the score, because a score from 40 responses moves on a handful of ratings.

Customer service metrics: the KPI reference

Customer service metrics are the numbers a support team uses to judge its speed, quality and the loyalty it leaves behind. The operational ones need your order data joined in.

Most CX and ops teams still measure success by speed: average reply time, tickets closed per hour. They create the illusion of progress while the underlying problem stays put. I would make tickets prevented and promise-kept rate the headline. Promise-kept rate means orders delivered as you sold them at checkout, not as your internal status labels say. Contact-center metrics belong to the contacts that genuinely need a person.

Metric

How to calculate

What it misses

First response time (FRT): how long a shopper waits for the first human reply

Total time to first reply / tickets replied to, excluding autoresponders

The days the problem sat before the shopper wrote in

Average resolution time: how long a ticket stays open

Total of (solved time minus created time) / solved tickets

The time between the actual break and the ticket

First contact resolution (FCR): share of tickets solved in one interaction

Tickets solved with no follow-up / solved tickets x 100

Whether the ticket needed to exist at all

CSAT: satisfaction with one interaction

Ratings of 4 or 5 / total ratings x 100

Shoppers who never contacted you

Net Promoter Score (NPS): willingness to recommend the brand

% promoters (9 or 10) minus % detractors (0 to 6)

Which order or event drove the score

Customer Effort Score (CES): how hard it was to get the issue solved

Average rating on the effort question

Effort spent before contact, like chasing a tracking page

Contacts per 100 orders: support demand relative to sales

Tickets / orders x 100, split by contact reason

Breaks that shoppers never reported

Refund rate by support touch: money that leaks after an order needs help

Refund rate on orders with a ticket vs. orders without

Refunds issued with no conversation

Promise-kept rate: orders delivered as sold at checkout

Orders delivered inside the promised window / orders shipped x 100

How the shopper felt about it

Notes on the table

  • NPS is a relationship survey, not a ticket survey: the question and formula come from Bain's guide to measuring NPS, and the score runs from minus 100 to 100.
  • CES came out of the 2010 Harvard Business Review article Stop Trying to Delight Your Customers. State your scale when you report it.
  • Define FCR upfront: a new message about the same order within a week is a follow-up, a "thanks" is not.
  • The refund comparison is your cleanest money link. A wide gap means the break costs more than the conversation.
  • Exception rate, customer-detected rate and time to detection are in the operational counters worth adding below.

Tracking them in your helpdesk

Zendesk and Gorgias both report FRT, resolution time and CSAT natively. Tag every ticket with a contact reason: where is my order, damaged, wrong item, return. Then export tickets with order IDs, so you can divide by orders shipped and match tickets to refunds. A support ticket is a symptom with an order number attached, so report it that way.

The survivorship problem

CSAT is typically triggered by a support interaction. That means it samples customers who contacted you, and it scores the conversation rather than the underlying event.

An agent who responds in four minutes, apologizes well and refunds promptly will score highly on a ticket that exists only because an order never left the warehouse. The score says the recovery was good. It says nothing about the fact that the order failed.

Fast fixes look good on a dashboard, but shoppers do not care how quickly you recovered. They care that they never felt the problem. So a team can improve the score quarter after quarter while the operation gets worse.

The customers who never appear

The larger gap is the people who never contact you. The worst churn is not the angry email, it is the silence from the shopper who paid once, had a bad delivery and disappeared without a ticket or a survey, which makes them invisible to every satisfaction metric you run.

At Papinelle I found complaint tickets running at 110% of order volume, essentially all about orders. That was the visible portion. The cost sat with the first-time buyers who quietly became one-time buyers: you paid to acquire them, lost them because they had to chase a parcel, and no satisfaction report recorded it.

There are two populations in a broken promise and your dashboard only holds one of them. Around 70% of the shoppers who did not get what they ordered on time move to a competitor, and most of them never file the ticket that would have told you, which is the number I gave on The Ecommerce Edge. Satisfaction scores are computed on the people who complained. The expensive group is the people who did not.

The operational counters worth adding

Put these next to CSAT, because they measure the event rather than the conversation:

A timeline showing an operational break on day one and the satisfaction survey reading it on day nine
  • Exception rate: share of orders that hit an operational break
  • Customer-detected rate: share of those the customer discovered before you did
  • Time to detection: how long a break sits before anything notices
  • Time to resolution from the break, not from the ticket
  • Unresolved returns: received but not refunded inside your promised window

Customer-detected rate is the one to put on the wall, because the best operators measure silence rather than speed and celebrate the days when nothing goes wrong. It cannot be improved by getting better at apologizing. For a baseline, take 50 orders from a random day last week, follow each one through your whole system by hand, and count the ones whose issue only surfaced when someone complained.

The arithmetic is worth doing on your own numbers. Take a brand at 100,000 orders a year with 10,000 tickets, prevent half of those, and price the recovered revenue at the average order value and repeat rate you already know, which is how I ran it on eCommerce Australia. It lands as a few points of revenue that never had to be re-acquired, and it is a counter your CFO can check.

Customer service benchmarks, and what to do when the numbers go bad

A benchmark is a reference value from peer data that tells you whether a metric sits in a normal range. It is a sanity check, not a target.

I would rather a team measure how many complaints it prevented than how fast it answered. Benchmarks check the reply. To see the promise, track sync exception rate, orders past their ship-by promise, parcels with no scan after N days, and prevented tickets.

What the published benchmarks say

As reported by Gorgias in its customer service benchmarks guide, which draws on its Ecom Lab platform data:

  • CSAT: 80 to 85% is the standard range, with 85 to 90% for brands running proactive, personalized support.
  • FRT: email under 24 hours, live chat under one minute. FRT varies 5.5x across 14 e-commerce verticals at the same revenue band (1.6 hours in Hardware to 8.8 in Apparel), while CSAT barely moves between verticals.
  • FCR: an industry target of 70 to 75% across channels.
  • NPS: 30 to 50 for e-commerce, with above 50 considered strong.
  • CES: 5.5 or higher on a seven-point scale.

If satisfaction barely separates brands, a good CSAT tells you little about whether your operation is ahead of your peers.

When the numbers go bad

Split by contact reason before you coach anyone. Most bad numbers are a change in ticket mix, not agent effort.

  • Resolution time spikes in Q4: check whether where-is-my-order and delay tickets grew as a share. They wait on a carrier scan, and no coaching shortens that. Gorgias notes BFCM volume can spike 3x overnight and suggests a CSAT floor rather than a target for peak, which fits the planning in BFCM operations.
  • FRT climbs while CSAT holds: capacity. Check contacts per 100 orders.
  • CSAT drops in one reason only: damaged or wrong-item tickets point at the warehouse.
  • Carrier delays: the promise counters above move days before the tickets do, so watch them and contact shoppers first.

Watching those counters across store, warehouse and carrier is the job of proactive e-commerce operations software like Keeyu, which leaves the helpdesk numbers as the trailing check.

What moves when the operation holds

At EHP Labs, proactive detection cut reactive tickets 55% and resolution time from 45 minutes to 5. Where I have watched this run, the impact goes deeper than fewer complaints: lower refunds and support costs, higher retention and repeat orders, and a CX team out of firefighting.

The team's own scores move too. On Spotlight Fridays I said: "one of our early adopters ... they were running ... employee engagement scores ... their customer service team was the second worst department at like 63%. The worst was the product team and after in Keeyu six months later the customer service had the highest employee engagement score in the late 80s."

If your CSAT is strong and your repeat purchase rate is weak, you are probably measuring recovery quality on an operation that is failing more than you think.

What moves is the number your CFO already watches. Profit, by one to one and a half percentage points where these workflows run, which I said on The Ecommerce Edge. Satisfaction scores move too, but the clearer proof is that prevention scales better than headcount.

Where this sits

This is proactive e-commerce operations: detect the break across store, warehouse and carrier, decide the remedy, act before the customer feels it. Detect. Decide. Act. The customer gets what they want, on time, as promised, and never has to rate how well you said sorry.

See how our customers run this or book a demo.

For the experience layer, read customer experience management. For retention, see customer retention strategies. For the operational picture, read post-purchase operations.

Frequently Asked Questions

What are the best metrics to track customer satisfaction?

The standard three are CSAT for a single interaction, NPS for willingness to recommend, and CES for effort. Add the ones that count broken promises rather than conversations: break rate, time to detection, and promise-kept rate. The survey metrics measure recovery. The operational metrics measure whether recovery was needed.

What are five ways to measure customer satisfaction?

CSAT surveys after an interaction, NPS surveys on relationship health, CES on how much work the customer did, repeat purchase rate as the behavioral truth, and contacts per hundred orders as the operational signal. The last two do not rely on anyone answering a survey.

What is a good CSAT score for an e-commerce store?

As reported by Gorgias from its Ecom Lab data, 80 to 85% is the standard range and brands with proactive, personalized support often reach 85 to 90%. CSAT varies very little between verticals, so a strong score says more about your agents than about your operation. Read it next to contacts per 100 orders and repeat purchase rate.

What is the difference between CSAT, NPS and CES?

CSAT asks how satisfied a shopper was with one interaction and counts 4s and 5s on a 5-point scale. NPS asks how likely they are to recommend you and subtracts detractors from promoters. CES asks how much effort it took to get the issue solved. CSAT and CES grade a single ticket, while NPS reads the whole relationship.

How do you calculate first contact resolution?

Divide the tickets solved without any follow-up contact by all solved tickets, then multiply by 100. Decide upfront what counts as a follow-up, such as a new message about the same order within seven days. Gorgias puts the industry target at 70 to 75%. For how FCR fits a wider support setup, see our guide to ecommerce customer support.

References

Keep the promise.

See how Keeyu catches and fixes post-purchase issues before customers notice.

In one call, we’ll map your operations and show how Keeyu detects issues, decides what needs to happen, and takes action across your existing systems.

We’ll confirm your integration requirements and rollout plan during the demo.