On the ASA vs service level question, the answer is to put service level in the target and show average speed of answer next to it as a diagnostic. Service level tells you how many callers got what you promised. ASA tells you roughly how long a typical wait was, and it hides the callers who had the worst time.
The two numbers come from the same queue, and they can disagree badly. A desk can post an ASA under 20 seconds on a day when three callers in ten waited too long. Here is how that happens, how to build both numbers in a spreadsheet so you can check your phone system, and how to report them so nobody in the room is misled.
What does each number actually measure?
Service level is the share of calls answered within a time threshold. The classic target is 80/20: 80% of calls answered within 20 seconds. Average speed of answer is the total queue time of answered calls divided by the number of answered calls. As Call Centre Helper’s ASA guide puts it, only calls that were actually answered count.
Rather than trust either figure from the phone system, I like to rebuild both from the raw call records once. Take a small workbook with one sheet called Calls. Row 1 holds the headings and each call gets its own row from row 2 down. Column A is the call ID, column B the time the call arrived, column C the outcome (“Answered” or “Abandoned”), and column D the seconds the caller spent in the queue.
Here are ten calls, so you can check the arithmetic by hand. Call 1 is Answered after 0 seconds, call 2 Answered after 5, call 3 Answered after 0, call 4 Answered after 12, call 5 Answered after 45, call 6 Abandoned after 38, call 7 Answered after 0, call 8 Answered after 18, call 9 Answered after 95 and call 10 Answered after 3. That puts the data in rows 2 to 11.
The service level formula is:
=COUNTIFS(C2:C11,"Answered",D2:D11,"<=20")/COUNTA(A2:A11)
Read it in two halves. COUNTIFS counts the rows where column C says Answered and column D is 20 or less. Calls 1, 2, 3, 4, 7, 8 and 10 qualify, so it returns 7. COUNTA(A2:A11) counts the call IDs in column A, which is every call offered, 10. Then 7 / 10 = 0.70, so service level is 70%. Putting abandoned calls in the denominator is the strict version. Some phone systems leave them out, which would give 7 / 9 = 77.8% on the same ten calls, so check what yours does before you compare it with anyone else’s figure.
The ASA formula is:
=AVERAGEIFS(D2:D11,C2:C11,"Answered")
AVERAGEIFS averages the values in column D, but only for rows where column C says Answered. That skips the abandoned call 6. The nine answered calls waited 0 + 5 + 0 + 12 + 45 + 0 + 18 + 95 + 3 = 178 seconds in total, and 178 / 9 = 19.8 seconds. Both formulas work in Excel 2007.
Now put the two results side by side. ASA is 19.8 seconds, under the 20-second line, so a glance says the desk is fine. Service level is 70%, a clear miss against 80/20, and one caller waited 95 seconds. Ten calls, two honest numbers, two different moods.

Why do ASA and service level disagree?
Because ASA is a mean, and most callers wait zero seconds. A few long waits get averaged into a lot of short ones. Take the half hour from my Erlang C calculator post: 120 calls arrive in 1,800 seconds, each takes 300 seconds to handle, so the work is 120 x 300 / 1,800 = 20 Erlangs, or twenty agents’ worth of effort. I ran the numbers for a few staffing levels:
| Agents | Calls that wait | Service level (80/20) | ASA | Wait over 60 sec |
|---|---|---|---|---|
| 23 | 41.6% | 66.0% | 41.6 sec | 22.8% |
| 24 | 29.8% | 77.2% | 22.4 sec | 13.4% |
| 25 | 20.9% | 85.0% | 12.5 sec | 7.7% |
| 26 | 14.3% | 90.4% | 7.2 sec | 4.3% |
The first column after the agent count, the share of calls that wait, comes from the Erlang C formula. If you want to know where it comes from, the Erlang C inputs post walks through it. For 25 agents it is 0.2091, which is the 20.9% in the table. Everything else in that row follows from it with plain arithmetic, so you can rebuild it on a second sheet called Staffing. Put the agents (25) in B1, the workload in Erlangs (20) in B2, the handle time in seconds (300) in B3, and the waiting probability (0.2091) in B4.
ASA in cell B5 is =B4*B3/(B1-B2). The part B1-B2 is the spare capacity, 25 – 20 = 5 agents’ worth. So 0.2091 x 300 / 5 = 12.5 seconds. Service level in B6 is =1-B4*EXP(-(B1-B2)*20/B3). The exponent is the decay of the wait: -(5) x 20 / 300 = -0.3333, and e to that power is 0.7165. Then 0.2091 x 0.7165 = 0.1498, and 1 – 0.1498 = 0.850, or 85.0%. Change the 20 in the formula to 60 and you get the share of callers who waited longer than a minute: 0.2091 x e^-1 = 0.2091 x 0.3679 = 0.0769, or 7.7%.
With 25 agents, ASA is 12.5 seconds. That looks great on a slide. But about 21% of callers wait at all, and the ones who do wait average 60 seconds each, because that is the handle time divided by the spare capacity (300 / 5). And 7.7% is roughly one caller in thirteen (1 / 0.0769 = 13), held for over a minute. The mean smooths them away.
Now look at 24 agents. ASA is 22.4 seconds, only a couple of seconds over the 20-second threshold, so a manager glancing at it thinks the desk is nearly there. Service level is 77.2%, a miss, and 13.4% of callers wait over a minute. I thought ASA was the honest number because it is an average of real waits. It’s the number that is easiest to like.
Which one does the customer feel?
Neither exactly. Customers feel their own wait, and they remember the bad ones. That is why service level is the better target: it is a promise about how many people got served promptly, and it forces you to look at the tail. ASA can look healthy while a fifth of callers are queuing.
The reverse trap exists too. ASA only counts answered calls, so a queue that makes people give up can post a beautiful ASA on a day when a lot of callers hung up. Look back at the ten-call sheet: call 6 waited 38 seconds and left, and AVERAGEIFS never saw it. If your ASA improves while abandons rise, the improvement is fake. So put abandons on the same line as the other two, as I argued in the abandonment rate post, and remember that choosing the right KPI starts with the customer’s point of view.
How do you report both without confusing the board?
Keep it to one line per day and one rule per number.
- Target: service level, written out in full: “80% answered within 20 seconds.”
- Companion: ASA in seconds, in smaller type. Use it to spot trouble early, because it moves before service level does.
- Third number: the share of callers who waited over 60 seconds, or your longest wait. It shows the tail.
- Interval, not daily: report by half hour. A day of 85% can hide a 9am Monday at 55% and a dead 2pm at 100%.
If someone asks why ASA says 22 seconds while service level says 77%, show them the 24-agent row above. The mean wait looks modest because most calls are answered instantly, and the 77% is the share that got the promise kept.
Which target should the staffing plan be built around?
Once the team agrees the target, check it against the staffing you can actually roster. An 80/20 target and a 30-second ASA target can’t both be right for the same headcount, and the Erlang C sheet will show which one you are really paying for. In the example above, 80/20 needs 25 agents (85.0%, since 24 only reaches 77.2%). A 30-second ASA would be met by 24, so it quietly accepts a worse experience for one fewer seat.
The same logic applies when the target is written into a contract. If the promise to the customer is a service level, the internal one should be too, and the internal and external SLA post covers why the two chains have to match. 80/20 is a common reference point in the industry (ICMI is a good place to follow the benchmark conversation), not a law, so choose the threshold your customers will actually tolerate and then hold to it.
In an earlier customer-operations role, the arguments about these two figures almost always came down to people quoting a different one in the same meeting. Agree the definition first, then argue about the target.
Pick the number that carries the promise, and make everyone else’s number explain it.
Hutch Morzaria is a Director-level CX and Support Leadership professional with 19 years of experience building global support organizations across SaaS, Fintech, and enterprise technology. He has hired dozens of support and CX leaders across his career and holds ITIL Expert certification across V3 and V4.



