Definition · Contact centre and BPO
Erlang C
Definition
Erlang C is a queuing formula that calculates the probability that an incoming call has to wait, given call volume, average handle time and the number of agents. Contact centers use Erlang C to work out how many agents they need in each interval to hit a service level target, such as 80% of calls answered in 20 seconds.
Also called: Erlang C formula, Erlang calculator, Erlang C model, Call center staffing calculator
Formula
P(wait) = X ÷ (Y + X), where X = A^N ÷ factorial(N) × N ÷ (N − A) and Y = sum of A^k ÷ factorial(k) for k = 0 to N − 1; Service level = 1 − P(wait) × e^(−(N − A) × T ÷ AHT)
- A (traffic intensity, in Erlangs)
- Calls in the interval × AHT in seconds ÷ interval length in seconds. One Erlang is one hour of call work per hour.
- N
- Number of agents logged in and available. N must be greater than A or the queue grows without limit.
- AHT
- Average handle time in seconds: talk, hold and after-call work.
- T
- Target answer time in seconds, for example 20 seconds in an 80/20 service level.
- ASA
- Average speed of answer = P(wait) × AHT ÷ (N − A).
Worked example
A queue expects 180 calls in a 30-minute interval with a 300-second AHT. Traffic A = 180 × 300 ÷ 1,800 = 30 Erlangs. With 34 agents, P(wait) is about 38% and service level about 71% in 20 seconds. With 35 agents, service level is about 80%, just under target. With 36 agents, P(wait) falls to about 21%, service level rises to about 86% and ASA is about 11 seconds. Occupancy at 36 agents = 30 ÷ 36 = 83%. So the interval needs 36 agents on the phones before shrinkage.
What Erlang C calculates
Erlang C answers one question: if calls arrive at random and wait in a queue until answered, how many agents do I need for a given level of service? The model was published by the Danish engineer A. K. Erlang in the early 1900s for telephone exchanges, and it is still the default engine in most staffing calculators and many WFM tools.
From three inputs (call volume, average handle time and the number of agents) it returns the probability that a caller waits, the average wait, the service level and the occupancy that staffing level produces. Planners run it for each 15- or 30-minute interval, increasing N until the service level target is met.
How to use an Erlang calculator step by step
- Take the interval forecast for calls and AHT from your call volume forecasting model.
- Convert to traffic intensity in Erlangs: calls × AHT ÷ interval seconds.
- Start with N equal to the next whole number above A and calculate the probability of waiting.
- Convert that to service level for your answer-time target.
- Add one agent at a time until service level meets the target. That N is your required agents on the phones.
- Divide by (1 − shrinkage) to get scheduled agents, then sum across intervals and shifts to get FTE and hiring needs.
Every free call center staffing calculator online does steps 2 to 5. The value a planner adds is in step 1 and step 6: a good forecast and honest shrinkage.
Reading the results: the power of scale
The most useful insight from Erlang C is how strongly queue size affects efficiency. In the example above, 30 Erlangs of work needs 36 agents, about 20% above raw workload, and runs at 83% occupancy. A queue with 3 Erlangs of work at the same 80/20 target needs 6 agents (5 agents reach only about 79%), double the raw workload, and runs at 50% occupancy.
That has practical consequences. Splitting one large queue into many small skill groups costs real headcount. Merging queues, or cross-training agents so they can take more than one call type, saves headcount at the same service level. It also explains why the last few agents in a large queue matter so much: going from 34 to 36 agents in the example lifts service level by about 15 points.
Known limits of Erlang C
Erlang C rests on assumptions that real contact centers break every day:
- No abandonment. The model assumes every caller waits forever. In practice people hang up, which reduces the load on the queue. Erlang C therefore tends to overstate the staff you need, sometimes by several agents in a busy interval. Erlang A adds abandonment to correct for this.
- Random, steady arrivals. It assumes calls arrive randomly at a constant average rate within the interval. Spikes after a marketing email or an outage break that.
- One skill, one queue. Multi-skill routing, where agents serve several queues with priorities, is outside what the formula handles.
- All agents identical. A new hire in nesting with a 480-second AHT and a tenured agent at 260 seconds are treated as the same.
- Voice only. Chat with concurrency and email that can wait hours need different models.
For simple single-skill voice queues, Erlang C is good enough and easy to explain. For complex multi-skill, multi-channel operations, WFM software typically uses simulation, and results can differ meaningfully.
Why it matters for hiring
Erlang C sits at the start of the chain that ends in a requisition. Interval requirements become scheduled agents, then FTE, then a headcount gap, then a hiring class. A small error at the start compounds. Use a 280-second AHT when the new-hire class will really run at 360 seconds for its first two months, and the hiring plan comes up short by several agents per 100 seats.
When a hiring plan looks surprisingly large or small, ask to see the Erlang inputs: volume, AHT, service-level target and shrinkage. Recruiting leaders who can read those four numbers have far better conversations with operations.
Common mistakes
- Running Erlang on daily or hourly totals. Use the same interval length your schedule uses.
- Forgetting after-call work in AHT. It is part of the work and must be in the traffic calculation.
- Applying shrinkage before Erlang instead of after. Calculate agents on the phones first, then divide by (1 − shrinkage).
- Chasing an arbitrary target. An 80/20 service level is a convention, not a law. Pick the target that fits the customer and the cost.
Frequently asked questions
What is Erlang C used for?
Erlang C is used to calculate how many agents a contact center needs in an interval to meet a service level target, given forecast call volume and average handle time. It also returns the probability of waiting, average speed of answer and occupancy.
What is the Erlang C formula?
It calculates the probability a call waits from traffic intensity A (calls × AHT ÷ interval seconds) and agents N. Service level is then 1 − P(wait) × e^(−(N − A) × target seconds ÷ AHT). Most teams use an Erlang calculator rather than computing it by hand.
How accurate is an Erlang calculator?
For single-skill inbound voice with stable arrivals it is close enough for planning. Because it ignores abandonment, it usually overstates required staff a little. For multi-skill routing or chat, simulation tools give better answers.
What is the difference between Erlang B, Erlang C and Erlang A?
Erlang B assumes blocked calls are lost, with no queue, and is used for sizing phone lines. Erlang C assumes callers wait indefinitely in a queue. Erlang A extends Erlang C by allowing callers to abandon.
Does a call center staffing calculator include shrinkage?
Many do as an optional input. If yours does not, divide the agents it returns by (1 − shrinkage) to get the number you need to schedule.