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.

Advertisement

Your numbers

Your numbers
min
sec

Talk time plus after-call work.

%

Share of calls answered within the answer time.

sec
%

Breaks, training, sick days, meetings: time paid but not on the phones.

%

100% means no cap. Lower it to keep agents from running flat out.

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

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.

Advertisement
Advertisement