Erlang C Call Center Staffing Calculator
Agents required for a call volume, average handle time and service-level target (e.g. 80% in 20 s) using Erlang C — traffic in Erlangs, probability of waiting, average speed of answer, occupancy and shrinkage-adjusted headcount.
How it works
Traffic A = calls × AHT ÷ interval; P(wait) from Erlang C: [Aⁿ/n! × n/(n−A)] ÷ [Σₖ₌₀ⁿ⁻¹ Aᵏ/k! + Aⁿ/n! × n/(n−A)]; service level = 1 − P(wait) × e^(−(n−A) t/AHT); ASA = P(wait) × AHT ÷ (n − A); scheduled = agents ÷ (1 − shrinkage)
Erlang C is the queueing formula behind nearly every contact-centre staffing model. It assumes calls arrive at random (Poisson), handle times are exponential, callers wait rather than abandon, and agents are interchangeable — and from the offered traffic in Erlangs (hours of work per hour) it gives the probability that a caller has to wait, from which the service level and average speed of answer follow. Its key insight is the economics of scale: a small queue needs far more agents than its Erlang load to hit 80/20, while a large one can run at 85–90% occupancy, so pooling skills or sites saves headcount. Because agents are only productive when logged in and available, the “bodies in chairs” figure must be divided by one minus shrinkage to get the roster. Real centres add abandonment (Erlang A) and interval-by-interval forecasting on top.
Worked example
240 calls in 30 minutes at 300 s AHT is 40 Erlangs. 46 agents already answer 82% within 20 s, but at 87% occupancy; 47 agents reach 87% at 85.1% — a hair over the 85% cap — so 48 agents (91% in 20 s, ASA about 6 s, 83% occupancy) is the answer. With 30% shrinkage that means scheduling about 69 people for the interval.
Frequently asked questions
Why does Erlang C over-staff?
It assumes nobody hangs up, so queues look worse than reality; centres with high abandonment use Erlang A or simulation, or accept the small cushion.
Chat and email?
Concurrent chats: divide AHT by the concurrency (e.g. 2.5 chats at once). Email and back-office work are not real-time — use workload ÷ productive hours instead of Erlang C.
Related calculators
Workforce planning estimate; local employment law, union agreements and your own historical data should govern actual schedules and targets.