Skip to content NEW BitVoice AI Agents now speak 22 Indian languages Learn more →
BitVoice

Erlang C Call Centre Staffing: How Many Agents Do You Need?

Use Erlang C to work out how many call centre agents you need: inputs, a worked example of 120 calls and 4 minute AHT, plus how to add shrinkage to the roster.

Call centre manager planning agent shifts on a whiteboard

“How many agents do I need?” is the first question every call centre manager asks, and guessing gets expensive both ways. Too few agents and callers wait, give up and call again. Too many and people sit idle. Erlang C is the standard formula call centres use to answer the question. This guide explains Erlang C call centre staffing in plain terms, works through a full example and shows how to add shrinkage so the roster matches real life.

What Erlang C does

Erlang C takes three numbers about a busy period and tells you how many agents you need to answer a set share of calls within a target time. It assumes callers who find all agents busy wait in a queue rather than hang up straight away, which matches how most inbound queues work.

You do not need to do the maths by hand. Free Erlang C calculators and spreadsheet templates are easy to find. What matters is feeding them the right inputs and reading the answer correctly.

The inputs you need

InputWhat it meansWhere to find it
Calls per intervalCalls offered in a 30 or 60 minute slotInbound CDR or queue reports
Average handle time (AHT)Talk + hold + after call work, in secondsWallboard or agent performance report
Service level targetShare of calls answered within a set time, such as 80% in 20 secondsYour own business decision
Interval lengthUsually 30 minutesYour planning choice

Use the busiest interval of a normal week, not the daily average. A queue that takes 400 calls a day may get a quarter of them between 10 and 11 in the morning.

AHT matters as much as call volume. Read average handle time and after call work to measure it properly, including wrap-up time.

Step 1: Work out the traffic in Erlangs

Traffic intensity, measured in Erlangs, is the number of agents you would need if calls arrived perfectly evenly with no waiting.

Traffic (Erlangs) = calls per interval x AHT in seconds / interval length in seconds

Example: 120 calls in a 30 minute interval, AHT of 4 minutes (240 seconds).

Traffic = 120 x 240 / 1800 = 16 Erlangs

So you need more than 16 agents. With exactly 16, the queue would grow without limit.

Step 2: Find the agents for your service level

Erlang C now calculates, for each possible number of agents, the chance a caller has to wait and the share answered within the target. Here is the result for 16 Erlangs with a target of 80% of calls answered in 20 seconds:

AgentsChance of waitingAnswered in 20 sAverage speed of answerOccupancy
1774%32%177 s94%
1853%55%64 s89%
1937%71%30 s84%
2026%82%15 s80%
2117%89%8 s76%
2211%93%4 s73%

20 agents is the smallest number that meets 80 in 20. Notice how sharply things change around the answer. Going from 18 to 20 agents cuts average speed of answer from about a minute to 15 seconds. Going from 20 to 22 brings a smaller gain. This is why one or two missing agents at peak hour hurt so much.

Also watch occupancy, the share of logged-in time agents spend on calls. Above about 85 to 90% for long periods, people tire, AHT rises and quality drops. Small teams cannot reach high occupancy and a good service level at the same time, so expect lower occupancy in queues with fewer agents.

Step 3: Add shrinkage

Erlang C tells you how many agents must be on the phones in that interval. Agents are not available every paid minute. Shrinkage is the share of paid time lost to:

  • Tea and lunch breaks.
  • Team meetings, training and coaching.
  • Leave and absence.
  • System issues and personal time.

Agents to roster = agents needed / (1 – shrinkage)

With 30% shrinkage, the example becomes 20 / 0.7 = 28.6, so you roster 29 agents for that interval.

Measure your own shrinkage. In Voxdial Contact Center, agents choose a break reason when they go unavailable, and the agent performance and detailed reports show time spent on calls, in closure and on breaks. That gives you real figures instead of a guess.

Step 4: Repeat for every interval

Run the same calculation for each 30 minute interval of the day, then build shifts that cover the peaks. You will usually find a morning peak, a post-lunch peak and quiet early evenings. Stagger shift start times and breaks so you are not short when calls rise.

Where Erlang C gets it wrong

Erlang C is a good starting point, not a guarantee.

  • It assumes nobody hangs up. Real callers abandon, so Erlang C slightly overstates the agents needed in very busy queues.
  • It assumes one queue. If agents serve several queues or channels, plan them together.
  • It assumes steady AHT. New agents and new products push AHT up.
  • It ignores callbacks and chat. Callbacks to missed callers and WhatsApp conversations also need agent time.

Check your plan against reality every week on the wallboard: service level, average speed of answer, abandoned calls and agents available. See call centre KPIs and the wallboard.

Reduce what you need instead of only adding people

  • Shorter wrap-up through simple dispositions and forms. See call disposition codes.
  • Better first call resolution, so fewer repeat calls. See first call resolution.
  • Auto callback for abandoned callers during quieter intervals, so the peak is smoothed out.
  • A BitVoice AI voice agent as backup when every agent is busy, which takes the request and passes it to the next free agent with a summary.

Voxdial Contact Center gives you the queue reports, wallboard and break tracking to plan staffing on real numbers. Talk to BitVoice to see it on your own call data.

FAQs

What is Erlang C in a call centre?

Erlang C is a formula that uses calls per interval, average handle time and a service level target to work out how many agents you need to answer a set share of calls within a target time.

How do I calculate how many agents I need?

Work out traffic in Erlangs (calls x AHT / interval length), use an Erlang C calculator to find the agents that meet your service level, then divide by one minus shrinkage to get the number to roster.

What is a normal shrinkage figure?

It varies by business. Breaks, training, meetings and leave often add up to around a quarter to a third of paid time. Measure your own from break and status reports.

Why does Erlang C sometimes overstaff?

It assumes callers never hang up while waiting. In real queues some callers abandon, which reduces the load, so very busy queues may need slightly fewer agents than Erlang C suggests.

Share

Related articles

See BitVoice working on your calls

Book a demo and we'll map your call flows and suggest the right setup.