Contact centre staffing
Erlang C staffing calculator.
Enter call volume, handle time and a service level target. Get the agents needed on the phones and the headcount to schedule once shrinkage is added.
Agents = the smallest N where service level 1 - Pw x e^(-(N - A) x T / AHT) meets your target. A is the workload in erlangs (calls x handle time / interval) and Pw is the Erlang C chance a call waits.
Your numbers
Result
Worked example
100 calls arrive in a 30-minute interval and each takes 180 seconds, so the workload is 100 x 180 / 1,800 = 10 erlangs. To answer 80% of calls within 20 seconds you need 14 agents on the phones (service level 88.8%, average speed of answer 7.8 seconds, occupancy 71.4%). With 30% shrinkage you schedule 14 / 0.70 = 20.00, rounded up to 20 agents.
How it works
Workload A = calls x handle time / interval length, in erlangs. The Erlang C formula gives Pw, the probability an arriving call has to wait, for N agents. Service level is 1 - Pw x e^(-(N - A) x T / AHT) and the average speed of answer (ASA) is Pw x AHT / (N - A). The tool tries N = A+1, A+2 and so on until both your service level and your optional occupancy cap are met.
Shrinkage is applied after the Erlang step: scheduled agents = ceil(agents / (1 - shrinkage)). It is a planning convention, not part of the Erlang C maths.
Limits. Erlang C assumes Poisson arrivals, exponential handle times, an unlimited queue and callers who never hang up. Real queues with abandonment, skills routing or bursts need more or fewer agents. Check interval-by-interval, because workload changes through the day.
FAQ
What is Erlang C used for?
It estimates how many agents a queue needs so that a target share of calls is answered within a target time, assuming callers wait in an unlimited queue.
How do I add shrinkage to Erlang C?
Run Erlang C to get the agents needed on the phones, then divide by (1 - shrinkage) and round up. With 30% shrinkage, 14 agents on the phones becomes 20 scheduled.
What is a good service level target?
There is no single standard. The defaults here (80% answered within 20 seconds) are only an illustration. Set the target from your own customer expectations and budget.
Why does Erlang C sometimes overstate staffing?
It assumes nobody abandons the queue. Callers who hang up shorten the queue for others, so the real service level is often better than the model says.
Sources
Retrieved
- Wikipedia: Erlang (unit), Erlang B and Erlang C formulas
- Metricgate: Erlang C service level and average speed of answer
- Wikipedia: M/M/c queue
Formulas are standard published results; the cited pages state them. Inputs, defaults and rounding are this tool's own. Runs entirely in your browser. Nothing you type is sent or stored.
Scope
Erlang C staffing is a planning model with stated assumptions, not a guarantee of service level.