Erlang C calculator: how many agents or lines you need in the peak hour.
Enter the calls you expect in your busiest hour, how long each call lasts and the answer-time target you want to meet. The calculator returns the smallest number of agents, or concurrent lines, that meets it.
The answer is peak concurrency: how many calls you must be able to handle at the same moment, whether people take them or an AI voice agent for order calls runs them as parallel lines.
What the numbers mean
Traffic (Erlangs): how many calls are in progress at the same time, on average, during the hour. One Erlang is one line or agent busy for the whole hour.
Agents or lines needed: the smallest number of people, or simultaneous call channels, that meets your service-level target. It is always more than the traffic, because calls do not arrive evenly.
Service level achieved: the share of calls answered within your target time with that many agents.
Average speed of answer: the average wait across all calls, including the ones answered at once.
Occupancy: the share of time each agent spends on calls. High occupancy looks efficient but leaves no slack for a burst of calls.
Calls that wait: the probability that a caller finds every agent busy and has to queue.
How it is calculated
The calculator uses the Erlang C formula, the queueing model published by the Danish engineer A. K. Erlang and still widely used to size inbound call handling. It assumes calls arrive at random, callers wait rather than hang up, and every agent can take any call.
Traffic: A = calls in the hour × average handle time (seconds) ÷ 3,600, in Erlangs.
Probability a call waits, with N agents: P(wait) = [AN/N! × N/(N − A)] ÷ [Σk=0..N−1 Ak/k! + AN/N! × N/(N − A)].
Service level: SL = 1 − P(wait) × e−(N − A) × T ÷ AHT, where T is the target answer time.
Average speed of answer: ASA = P(wait) × AHT ÷ (N − A).
Occupancy = A ÷ N.
Start at the first whole number above A and add one agent at a time until SL meets the target.
To avoid overflow with large numbers, the script computes P(wait) through the equivalent Erlang B recursion instead of raw factorials; the result is the same.
Worked example (illustrative)
Say a helpline expects 200 calls in its busiest hour, each lasting 180 seconds on average, and the target is 80% of calls answered within 20 seconds. Traffic is 200 × 180 ÷ 3,600 = 10 Erlangs. Adding agents one at a time:
Agents (N)
Calls that wait
Service level in 20 s
Average speed of answer
Occupancy
11
68.2%
39.0%
122.8 s
90.9%
12
44.9%
64.0%
40.4 s
83.3%
13
28.5%
79.6%
17.1 s
76.9%
14
17.4%
88.8%
7.8 s
71.4%
Thirteen agents fall just short of 80%, so the answer is 14. Notice how much each extra agent changes the result near the target: going from 12 to 14 agents cuts the average wait from about 40 seconds to under 8. These figures come only from the formula and the example inputs above.
What the formula leaves out
Abandoned calls. Erlang C assumes nobody hangs up, so it overstates the agents needed when many callers give up.
Shrinkage. The result is agents on the phones at that moment. People on breaks, training or leave are extra: rostered agents = agents needed ÷ (1 − your shrinkage share). Use your own shrinkage figure.
Other intervals. Size each busy hour, or each half-hour with calls × 2, separately; one daily average hides the peak.
Outbound campaigns. For dialling a list, the question is how many calls run at once, not who waits. Use the dialling rate × average call length ÷ 3,600 as the traffic and treat the agents figure as concurrent lines.
Where AI Calling fits
The same arithmetic applies whether the calls are handled by people or by software: the number that matters is peak concurrency. AI Calling answers the helpline and calls outlets with many calls running in parallel, so the figure this calculator gives is the number of simultaneous lines to plan for, while people take the complaints and credit questions it hands over. For deciding which calls to automate, read AI calling vs human telecalling, and for the out-of-hours peak, see after-hours lead response.
Questions
How do I calculate how many call centre agents I need?
Work out traffic as peak-hour calls × average handle time in seconds ÷ 3,600, then use the Erlang C formula to find the smallest number of agents whose service level meets your target, and add shrinkage for breaks and leave.
What is Erlang C?
A queueing formula by A. K. Erlang that gives the probability a caller has to wait when calls arrive at random and callers queue rather than hang up. Call centres use it to size staffing for a service-level target.
What does 80/20 service level mean?
That 80% of calls are answered within 20 seconds. It is a common convention, not a rule; choose the target that suits your callers and enter it in the calculator.
Does Erlang C work for AI voice agents?
Yes, as a way to size concurrent lines: the traffic in Erlangs is the average number of calls in progress at once, and the result is the number of simultaneous channels needed to meet your answer-time target.