Erlang C Calculator for Call Center Staffing

Work out how many agents you need to hit your service level target, for phone queues or live chat, including shrinkage. Free, no sign-up.

Channel
Interval length

Forecast calls arriving in one 30-minute interval.

sec

Talk time plus hold plus after-call work.

%
sec

e.g. 80% of calls answered within 20 seconds.

%

Time paid but not available: breaks, training, meetings, absence.

Agents to schedule
20
Including 30% shrinkage
Agents answering
14
Logged in and available to take calls
Service level
88.8%
Answered within 20s (target 80%)
Avg speed of answer
7.8s
Occupancy
71.4%
Share of time agents are busy
Traffic
10 Erl
Hours of work per hour
Around your answer
AgentsService levelASAOccupancy
1264%40.4s83.3%
1379.6%17.1s76.9%
14 (min)88.8%7.8s71.4%
1594.1%3.7s66.7%
1697.1%1.7s62.5%
40%
Agents to schedule
13
For the 60 calls left
Fewer agents
7
Per interval at this volume

Assumes contacts the AI resolves never reach the queue and the rest keep the same handle time. Staffing does not fall in a straight line: small queues lose efficiency, so the saving is usually smaller than the share of contacts removed. Bund AI answers web chat and email, not phone, so for calls this models moving questions to self-serve chat.

Free. No sign-up. Everything is calculated in your browser, nothing you enter is sent anywhere.

How it's calculated

Traffic intensity
A (Erlangs) = contacts per interval x AHT (sec) / interval length (sec)
Erlang B, built up one agent at a time
B(0) = 1, B(k) = A x B(k-1) / (k + A x B(k-1))
Erlang C, chance a contact waits
Pw = N x B(N) / (N - A x (1 - B(N)))
Service level
SL = 1 - Pw x e^(-(N - A) x target time / AHT)
Speed of answer and occupancy
ASA = Pw x AHT / (N - A) Occupancy = A / N
Headcount to schedule
Scheduled = agents / (1 - shrinkage %)
N is the number of agents answering and has to be greater than A. For live chat, AHT is divided by the number of chats each agent handles at once. The Erlang B recurrence avoids the huge factorials in the textbook formula, so it stays accurate for large queues.
Worked examples

Erlang C staffing examples

Four queues worked through the calculator, including the standard textbook reference case.

The textbook case

A phone queue with an 80/20 service level target.

100 calls per 30 minutes, 180 second handle time, 80% answered within 20 seconds, 30% shrinkage.

Traffic is 100 x 180 / 1,800 = 10 Erlangs. 14 agents reach an 88.8% service level with a 7.8 second average speed of answer and 71% occupancy. With shrinkage you schedule 20.

One agent short

The same queue with 13 agents instead of 14.

100 calls per 30 minutes, 180 second handle time, 13 agents.

Service level drops to 79.6%, just missing 80/20, and average speed of answer more than doubles to 17 seconds. Queues are very sensitive to the last agent or two.

Live chat with concurrency

A chat team where each agent runs two chats at once.

200 chats per hour, 480 second handle time, 2 chats per agent, 80% answered within 30 seconds.

Effective handle time per chat slot is 240 seconds, so traffic is 13.3 Erlangs. 17 agents hit an 83.7% service level. After 30% shrinkage you schedule 25.

AI resolving 40%

The textbook queue if an AI agent resolved 40% of contacts first.

60 contacts reach the team instead of 100, same handle time and target.

Traffic falls to 6 Erlangs and 9 agents meet the target, 13 scheduled instead of 20. That is 35% fewer seats for 40% fewer contacts, because small queues are less efficient.

Using the results

Getting from Erlang C to a real rota

Erlang C is a model with assumptions. These are the adjustments most workforce planners make.

01

Erlang C assumes nobody hangs up

The model treats every contact as waiting until answered. Real customers abandon, so Erlang C tends to overstaff slightly. That is usually the safe side to be wrong on.

02

Keep occupancy below about 85%

High occupancy looks efficient but leaves no recovery time between contacts. Sustained occupancy above 85 to 90% is linked to burnout and attrition.

03

Plan for 30 to 35% shrinkage

Breaks, training, meetings, coaching and absence typically remove a third of paid time. Measure your own and use that figure.

04

Staff each interval separately

Volume changes through the day. Run the calculator for each 30 or 60 minute interval of your forecast rather than for a daily average.

FAQ

Questions people ask

More free tools

The cheapest contact to staff is the one that never reaches the queue.

Bund AI answers routine questions on web chat and email instantly, using your own help content, and hands anything that needs a person to your team with the full conversation. Fewer contacts in the queue means fewer seats to fill at peak.

Get started with Bund AIEstimate your savings