Too few agents and callers wait. Too many and you pay for people sitting idle. Erlang C is the classic formula that finds the balance. It tells you the smallest number of agents that keeps waiting times inside your target.
The idea in one minute
Calls arrive randomly, and each takes a while to handle. Erlang C looks at how much work arrives, then calculates the chance that a caller has to wait and for how long, for a given number of agents. You choose the target and it finds the staffing level.
The inputs
- Calls per hour in the interval you are planning.
- Average handle time (AHT): talk time plus after-call work, in seconds.
- Service level target: for example 80% of calls answered in 20 seconds.
- Shrinkage: the share of paid time agents are not available (breaks, training, leave).
The formulas
Workload (erlangs) A = calls per hour x AHT / 3600.
Chance a call waits (Erlang C): with N agents, Pw = [A^N / N! x N/(N - A)] divided by [the sum of A^k / k! for k from 0 to N-1, plus the same top term]. N must be greater than A.
Service level = 1 - Pw x e^(-(N - A) x T / AHT), where T is your target answer time in seconds.
Average speed of answer = Pw x AHT / (N - A). Occupancy = A / N.
A worked example
Say 120 calls arrive in an hour and the average call lasts 240 seconds. Workload is 120 x 240 / 3600 = 8 erlangs. You want 80% answered in 20 seconds. Trying agents one by one, 10 agents are not enough, and 11 agents reach about 81%. Occupancy is 8 / 11, about 73%. With 30% shrinkage you schedule 11 / 0.7, so 16 people.
More examples (AHT 240 seconds, 80% in 20 seconds)
| Calls per hour | Workload | Agents on phones | Occupancy | Scheduled (30% shrinkage) |
|---|---|---|---|---|
| 30 | 2.0 | 4 | 50% | 6 |
| 60 | 4.0 | 7 | 57% | 10 |
| 120 | 8.0 | 11 | 73% | 16 |
| 240 | 16.0 | 20 | 80% | 29 |
What Erlang C does not cover
- It assumes no caller hangs up, which overstates staffing for busy centers.
- It assumes all agents handle all calls, so multi-skill teams need other models.
- It works per interval, so plan each half hour, not the whole day.
- Real call arrivals have spikes, so many centers add a small buffer.
How to need fewer agents
Shorten handle time with better scripts and screens, use an IVR to resolve simple requests, offer callbacks instead of long holds, and spread peaks with online booking.
Try it yourself with our free call center staffing calculator, then read about call center PBX software that gives live queue statistics.