Contact Center

How to set contact center SLA targets that survive a bad week

There is a specific kind of meeting worth recognising. The SLA report says 94% and has said something like 94% every month for a year, and the same meeting contains three complaints about slow replies. Nobody is lying. The target is simply measuring something other than what customers experience.

Almost always it is one of four things: the target was copied rather than derived, it ignores business hours, it applies one number to channels with completely different expectations, or the denominator leaves out the people who never got answered at all.

What an SLA actually is, at case level

Strip away the contract language and a service level is two clocks and a verdict.

  • First response time. How long the customer waited for a first reply after the case was created.
  • Resolution time. How long until the case was closed, which comes in two flavours and the difference matters, below.
  • The verdict. Each case is marked met or unmet against the targets that applied to it, and the reported percentage is cases handled within SLA divided by total cases.

Note what that requires. The verdict lives on the case, not in a monthly rollup, so any case can be opened and the decision explained. If your SLA number cannot be traced back to a list of specific cases that failed, it is an average of an average and there is nothing to act on.

Stop inheriting 80/20

The most quoted target in the industry, answer 80% of calls within 20 seconds, comes out of telephony and predates every channel most teams now run. It is not wrong. It is just somebody else's target, chosen for a voice queue in an era when the alternative to waiting was hanging up.

Applying it to a WhatsApp thread is a category error. A customer who sends a message expects a reply in minutes and is not sitting there listening to hold music. A customer who emails expects hours. A customer on live chat, on your pricing page, right now, expects seconds and will leave. Those are three different promises and one number cannot make all three.

Derive the target from your own distribution

The method is unglamorous and takes an afternoon.

  1. Take a full quarter of closed cases, exported with first response time, resolution time, channel, queue and priority. A quarter rather than a month, so at least one bad week is in there.
  2. Sort by first response time within each channel and read the distribution rather than the average. The average is dragged around by a handful of terrible cases and tells you almost nothing about the typical customer.
  3. Find the percentile you already hit on an ordinary week. If 70% of WhatsApp cases already get a first reply inside four minutes, that is your real current performance.
  4. Set the target one deliberate step ahead of that, and write down what has to change to reach it: a routing rule, a shift pattern, one more person on the early shift. A target with no attached change is a wish.
  5. Re-derive it every quarter. A target that has not moved in two years is not a standard, it is furniture.

The output should look like a small table rather than a single number.

ChannelWhat the customer is doing while they waitWhat the target should be derived from
VoiceHolding, with the option to hang up at any secondYour abandon curve. The point where callers start giving up is the only honest target
Live chatSitting on your website with the tab openSession length. A first response longer than a typical visit is a lost visitor
WhatsApp, LINE, MessengerDoing something else, phone in pocketYour own typical reply time on a good day, in minutes rather than seconds
EmailExpecting nothing until tomorrowHours, counted inside business hours, and honoured rather than beaten by an autoresponder

Business hours are the biggest single distortion

An email that arrives at 9pm on Friday and is answered at 9am on Monday took 60 hours, or 30 minutes, depending on whether the clock knows when you are open. Both numbers are defensible and they lead to completely different decisions.

Pick one convention, apply it everywhere, and say which one you picked on the report. Counting inside business hours is usually the right call for the internal target, because it measures the team's performance rather than the calendar. But keep one report on the raw elapsed clock as well, because that is what the customer felt, and a team that only ever sees business hours numbers slowly stops noticing that its weekend coverage is nothing.

Priority tiers, before you need them

One target for every customer is fine right up until an enterprise contract lands with its own numbers in it. Tiering after the fact means re-deriving everything under time pressure.

The setup worth having from the start is a label on the contact, VIP or a support tier, that is visible in the case list and that drives a tighter target for those cases. High priority cases get their own targets in the same way. Then a breach on a VIP case is visible as a breach on a VIP case, rather than being averaged into a number that looks fine because most of your volume is ordinary.

The denominator is where SLAs go to lie

Three exclusions flatter almost every SLA report, and all three are worth checking before you trust yours.

  • Abandoned contacts. A caller who waited four minutes and hung up never became a handled case, so in most reports they are simply not there. Your SLA can improve while your service gets worse, purely because more people gave up. Read the abandoned call report next to the SLA report or the SLA report is not safe to read.
  • Hold time. If resolution is measured on working time with hold taken out, a case that sat for three days waiting on a bank approval can be inside SLA. That is a legitimate way to measure your team's effort, and it is not what the customer experienced. Report full resolution time, creation to close with every hold period counted in, alongside it.
  • Reopens and transfers. A case closed, reopened the next day and closed again is either one bad experience or two good ones, depending on the counting rule. Decide which, then apply it consistently, and watch reopen volume as a number in its own right.

A breach should trigger something, not just be counted

An SLA that only produces a monthly percentage is an accounting exercise. The value is in the two behaviours around it.

Before the breach: the case at risk should be visible while there is still time, which means a supervisor can see open cases approaching their target rather than a list of the ones that already failed. After the breach: an unmet case should be readable. Open it, look at the timings, see whether it was queue wait, hold, or a transfer that lost half a day, and fix that specific thing. Because the timings, the disposition and the transcript are all on the case, a breach review is a ten minute exercise instead of an investigation.

Common questions

What is a good SLA for a contact center?

There is no defensible universal answer, which is why this post is a method rather than a table of numbers. The honest version is that a good target is one step ahead of what you already achieve on an ordinary week, set separately per channel, with a named change behind it. Anything copied from a benchmark measures the benchmark.

Should SLA be measured inside business hours?

For the internal target, usually yes, because it measures the team rather than the calendar. Keep the raw elapsed clock in view too, since that is what the customer experienced. Targets set to count only inside business hours should be configured as such rather than corrected afterwards in a spreadsheet, so the meet or unmeet verdict on each case is already correct.

What is the difference between resolution time and full resolution time?

Resolution time is working time with hold periods taken out, so it measures effort. Full resolution time runs from creation to close and includes every hold, so it measures the wait. A wide gap between the pair points at a dependency outside the contact center, and no amount of agent coaching will close it.

How do we set an SLA when the AI agent answers first?

The clock starts when the case is created regardless of who answers. If an AI agent replies in seconds and then hands over, first response is genuinely fast, and the number to watch is resolution on the cases that were handed over, since those are the ones where the customer waited twice. Keeping AI handled and human handled cases in the same log with the same timings is what makes that comparison possible at all.

Where to start

Export a quarter of closed cases with first response time, resolution time, channel and priority, and look at the distribution before you argue about the target. If that export is difficult to produce, that is the finding.

On our side the targets are set by an admin for first response and resolution, optionally counted only inside business hours, with tighter targets for VIP or high priority cases, and every case in the CX interaction log carries its own SLA verdict alongside its timings. Reporting and CX log is where the percentage and the abandoned call report sit side by side.

Start with what case management is if the case record itself is the gap, or CSAT without a survey for the other half of the quality picture. To pressure test your targets against a real operation, book a thirty minute session.

See klink.cloud on your own channels Thirty minutes, your busiest queue, and the numbers for your volume.

Put every conversation in one place

Calls, WhatsApp, Messenger, email and live chat in one inbox, with an AI agent that resolves the repetitive work.

No credit card required. Cancel anytime.