Leader's guide
Contact centre staffing calculator: Erlang C, shrinkage and occupancy
How many agents do you need on the phones to answer 80% of calls within 20 seconds, and how many must you schedule to have them there? This calculator answers both with Erlang's C-formula, shows what one more or one fewer agent does to the wait, and explains where the model helps planners and where it falls short.
In short
- Workload in erlangs is calls multiplied by handle time, divided by the length of the interval.
- Near the point where the queue can just cope, one agent changes the wait dramatically; above the target, extra agents buy little.
- Agents to schedule is agents on queue divided by one minus shrinkage, and most plans underestimate shrinkage.
- Erlang C ignores abandons and concurrent digital work, so use it to size and sense-check, not to schedule.
01
The calculator
Enter the calls you expect in one interval, your average handle time, your service level goal, an occupancy ceiling and your shrinkage. The calculator works out the workload, the smallest number of agents on queue that meets your goal, and the number to schedule once shrinkage is allowed for. The table shows what happens with a few agents more or fewer, which is often the most useful part when you are deciding whether to approve overtime or move people between queues. Everything runs in your browser and nothing is sent or stored.
This calculator uses Erlang's C-formula, the classic model for voice queues. It assumes calls arrive at random, nobody hangs up while waiting and each agent handles one call at a time. Real queues have abandons, so it slightly overstates the agents you need; it does not suit email or messaging, where agents work on several conversations at once. Use it to size and sense-check, and your workforce management system to schedule.
| Agents on queue | Service level | Average speed to answer | Calls that wait | Occupancy | Agents to schedule |
|---|
02
How Erlang C works, in plain terms
The Danish engineer A. K. Erlang developed the mathematics of telephone traffic more than a century ago, and his delay formula, known as Erlang C, is still the starting point for contact centre staffing. It treats a queue as calls arriving at random, each needing an agent for an average handle time, with every call waiting until an agent is free. The ITU's teletraffic engineering handbook sets out the model in full.
The first step is the workload, measured in erlangs: the number of calls multiplied by the average handle time, divided by the length of the interval. Two hundred calls of five minutes each in half an hour is 200 × 300 seconds ÷ 1,800 seconds, or 33.3 erlangs, meaning that 33.3 agents would be busy all the time just to keep up. With exactly that many agents the queue never clears, so you always need more agents than erlangs.
From the workload and the number of agents, Erlang C gives the probability that a call has to wait at all. From that come the service level, the share of calls answered within the target time, and the average speed to answer. The calculator searches upwards from the workload until it finds the smallest number of agents that meets your service level and keeps occupancy under your ceiling.
03
What one more agent buys
The relationship between agents and waiting is not a straight line, and that is the single most useful thing for leaders to understand. Close to the workload, each extra agent transforms the queue. Above the target, each extra agent buys a little more service at the same cost. The table uses the calculator's defaults: 200 calls in half an hour, a five-minute handle time and a target of 80% answered within 20 seconds.
Going from 35 to 37 agents cuts the average wait from about two minutes to about 35 seconds. Two absences, a team meeting that overruns or a training session in the wrong half-hour make that difference to every caller in the interval, which is why we at QVCCS say the wait customers feel is a staffing decision, not an agent performance problem.
| Agents on queue | Service level | Average speed to answer | Calls that wait | Occupancy |
|---|---|---|---|---|
| 35 | 37.7% | 125 seconds | 69.7% | 95.2% |
| 36 | 53.8% | 62 seconds | 55.2% | 92.6% |
| 37 | 66.2% | 35 seconds | 43.2% | 90.1% |
| 38 | 75.6% | 21 seconds | 33.4% | 87.7% |
| 39 | 82.6% | 13 seconds | 25.4% | 85.5% |
| 40 | 87.8% | 9 seconds | 19.1% | 83.3% |
04
Shrinkage: the number most plans get wrong
Erlang C tells you how many agents must be on queue. Shrinkage is the paid time when people are not: annual leave, sickness, training, team meetings, coaching, one-to-ones and system problems. To turn agents on queue into agents to schedule, divide by one minus shrinkage. Thirty-nine agents on queue with 30% shrinkage means scheduling 56.
Be realistic about shrinkage. Sickness and holiday pressure peak at the times you can least afford them, and meetings and training are usually planned as if they will take less time than they do. In our experience, measured occupancy usually comes in below the planned figure for exactly this reason: shrinkage was underestimated. Genesys Cloud's historical shrinkage view compares planned and actual non-interacting time by activity, which is the quickest way to find out which part of the plan is wrong. Build your shrinkage figure from your own history, by category and by season, rather than from a single number carried forward from last year.
05
Occupancy: why a ceiling matters
Occupancy is the share of on-queue time spent handling contacts, and Erlang C produces it automatically: workload divided by agents. Large queues can meet the same service level at much higher occupancy than small ones, because a bigger pool absorbs random peaks. With the same five-minute calls and the same 80% in 20 seconds target, 50 calls in half an hour need 12 agents at about 69% occupancy, 200 calls need 39 at about 86%, and 800 calls need 142 at about 94%.
That pooling effect is real and useful, and it is the main argument for fewer, broader queues and skills. It also means that the bigger the contact centre, the more likely the maths is to recommend an occupancy nobody can sustain. An agent at 94% occupancy has a few seconds between calls, all day, with no time to recover from a difficult conversation. Set an occupancy ceiling that suits the work, and let the calculator add the agents needed to respect it.
06
Where Erlang C falls short
Erlang C assumes that nobody abandons, so in a real queue, where some callers hang up, it slightly overstates the agents you need. It assumes each agent handles one contact at a time, so it does not suit email or messaging, where agents work on several conversations at once and response time matters more than wait. It treats every call as interchangeable, so it cannot see skills, languages or priorities, and it assumes the interval's calls arrive evenly at random, which is rarely true in the first minutes after a marketing email or a service outage.
Workforce management systems go further. In Genesys Cloud, planners set service goal templates with a service level or an average speed to answer goal, and an optional abandon rate goal, and scheduling optimises against more than one goal at once, across planning groups. Use Erlang C to understand the shape of the problem, to sense-check a forecast, or to answer a quick question in a meeting, and use workforce management to build the schedule.
Questions
Common questions
What is an erlang?
An erlang is a unit of telephone traffic: one erlang is one line or agent kept busy continuously. For a contact centre, the workload in erlangs is the number of calls in an interval multiplied by the average handle time, divided by the length of the interval. Two hundred five-minute calls in half an hour is 33.3 erlangs, so at least 34 agents are needed just to keep up.
Is Erlang C still accurate for modern contact centres?
For voice queues it remains a sound starting point, and its main error, ignoring abandons, makes it slightly cautious. It is not designed for email or messaging, where agents handle several conversations at once, and it cannot model skills or uneven arrivals within an interval. Use it to size and sense-check, and a workforce management system such as Genesys Cloud WFM to schedule.
How much shrinkage should I plan for?
There is no universal figure, because shrinkage depends on your leave entitlements, sickness, training, coaching and meeting patterns, and it changes by season. Build it from your own history, category by category, and compare plan with actual every week. Genesys Cloud's historical shrinkage view shows planned against actual non-interacting time, which makes underestimates visible quickly.
Why does one more agent make such a difference to the wait?
Because waiting grows sharply as agents approach the workload. When agents only just outnumber the erlangs, every random burst of calls builds a queue that takes a long time to clear, and one more agent gives the queue room to recover. Well above the target, the queue already clears quickly and an extra agent buys little.
Sources
- Teletraffic engineering handbook – ITU-D and International Teletraffic Congressitu.int
- Add a service goal template – Genesys Cloud Resource Centerhelp.genesys.cloud
- Historical shrinkage overview – Genesys Cloud Resource Centerhelp.genesys.cloud
- Workforce management metric definitions – Genesys Cloud Resource Centerhelp.genesys.cloud
- Agent utilization – Genesys Cloud Resource Centerhelp.genesys.cloud
Keep reading
More guides
Will AI replace contact centre agents? What the evidence says, and how to plan
Will AI replace call centre and contact centre agents? What the research shows, which work AI takes on, which stays with people, and how to plan your workforce.
Read the guideMonitoring contact centre agents lawfully and fairly: a leader's guide
How to monitor contact centre agents lawfully and fairly in the UK: call and screen recording, dashboards, analytics and AI, home workers and outsourcers.
Read the guideHow the role of the contact centre is changing in the era of AI
How AI changes the contact centre for customers, agents, supervisors and leaders: AI that acts through governed tools, new measures and how to start safely.
Read the guide