Free tool

Erlang C staffing calculator

Work out how many agents need to be on the phones at the same time for your hourly call volume and service level target, using the Erlang C model. It runs in your browser: no sign-up, and your values are never sent anywhere.

Your call volume and target

The starting values are examples only, not industry data. Replace them with figures from your own ACD, phone system or contact center reports.

Calls offered in the hour you want to plan. Starting with your busiest hour is a good idea.

Average length of a call in seconds, including talk, hold and after-call work.

Share of calls you want answered within the target time.

How many seconds a call may wait at most. In an 80/20 target this is 20.

Share of paid time agents cannot take calls: breaks, training, meetings and leave. Enter 0 to leave it out.

Estimated requirement

Agents needed on the phones at the same time

12

Target: 80% of calls answered within 20 seconds

Agents to schedule (shrinkage 30%)
18
Expected service level (20 sec)
86.2%
Average speed of answer (ASA)
14.4 sec
Calls that have to wait
17.6%
Agent occupancy
69.4%
Traffic intensity
8.33 Erlangs

This is an estimate for a single one-hour interval. Erlang C assumes callers never hang up while waiting, so the result usually errs on the cautious side.

How to use it

Where to find your numbers

01

Calls per hour

Take the number of offered calls hour by hour from your ACD or phone system reports. Because the load changes during the day, calculating each hour separately is more realistic than dividing a daily average. Starting with the busiest hour shows when you need the most agents.

02

Average handle time

Add hold time and after-call work, such as notes and record updates, to the talk time. If you enter talk time alone, the requirement comes out too low.

03

Service level target

The target says what share of calls should be answered within how many seconds. A common example is 80/20: eighty percent of calls answered within twenty seconds. Set it from your customers' expectations and the commitments you have made.

Method

How we calculate

The calculator applies the Erlang C queueing model, long used in contact center planning. It turns the call volume into traffic intensity in Erlangs, then adds agents one at a time until the service level target is met and returns the smallest number that meets it. Each step also shows the same calculation with the example values.

  1. 01

    Traffic intensity (A)

    A = calls per hour × average handle time (sec) ÷ 3,600

    The total hours of work the calls bring in one hour. One Erlang is one line kept busy for a full hour. You need more agents than this value, otherwise the queue keeps growing.

    With the example values100 × 300 ÷ 3,600 = 8.33 Erlangs

  2. 02

    Number of agents (N)

    N starts at the first whole number above A and goes up by one until the target is met

    The values below are calculated for each N. The first N whose service level reaches the target is the result.

    With the example valuesN = 12 (11 agents give 74.9%, target 80%)

  3. 03

    Probability of waiting (Erlang C)

    P = (Aᴺ ÷ N! × N ÷ (N − A)) ÷ (Σ Aᵏ ÷ k! [k = 0 … N − 1] + Aᴺ ÷ N! × N ÷ (N − A))

    The chance that a call finds every agent busy and joins the queue. To avoid overflow with large numbers, the formula is not evaluated directly but built step by step from the Erlang B probability; the result is the same.

    With the example valuesP = 0.176 (17.6%)

  4. 04

    Service level

    SL = 1 − P × e^(−(N − A) × target time ÷ handle time)

    The expected share of calls answered within the target time. Calls that never wait and calls that wait less than the target both count.

    With the example values1 − 0.176 × e^(−(12 − 8.33) × 20 ÷ 300) = 86.2%

  5. 05

    Average speed of answer (ASA)

    ASA = P × handle time ÷ (N − A)

    The average wait across all calls, including those answered straight away.

    With the example values0.176 × 300 ÷ (12 − 8.33) = 14.4 sec

  6. 06

    Occupancy

    occupancy = A ÷ N

    The share of agents' time on the phones spent handling calls. The higher it gets, the less time agents have to recover between calls.

    With the example values8.33 ÷ 12 = 69.4%

  7. 07

    Agents to schedule

    scheduled = N ÷ (1 − shrinkage), rounded up

    Turns the agents needed on the phones into the number of people to put on the schedule, so breaks, training and leave are covered.

    With the example values12 ÷ (1 − 0.3) = 17.1 → 18

Assumptions

Erlang C is a model and rests on these assumptions:

  • Calls arrive at random and independently of each other (Poisson arrivals), at a steady average rate within the interval.
  • Handle times are exponentially distributed; the average handle time you enter is the mean of that distribution.
  • Callers have unlimited patience: nobody hangs up while waiting in the queue.
  • There is a single queue, calls are answered in the order they arrive and every agent can take every call.
  • Lines and queue capacity are unlimited, so no caller gets a busy signal, and the number of agents does not change during the interval.

What the calculation leaves out

The calculator gives the agent requirement for one queue and one hour. The following are not part of the result:

  • Callers who hang up in the queue and call again later. Hang-ups shorten waits and repeat calls add volume; neither is counted.
  • Skills-based routing and multiple queues. The calculation is for one queue in which every agent can take every call.
  • Other work agents do in the same shift, such as outbound calls, email, chat and messaging.
  • Shift, break and lunch planning. Calculate each hour of the day separately and spread the results across your shifts.
FAQ

Frequently asked questions

What is Erlang C?

Erlang C is a queueing model based on the work of the Danish engineer Agner Krarup Erlang on telephone traffic. For a given call volume and number of agents it gives the probability that a caller has to wait; the service level and average wait are calculated from that probability. Contact centers have long used it to estimate how many agents they need.

I plan in 30-minute or 15-minute intervals. What should I enter?

Convert the calls in the interval to an hourly rate: 60 calls in half an hour and 30 calls in fifteen minutes both equal 120 calls per hour. The average handle time and the service level target stay the same. The result is the number of agents needed on the phones during that interval.

What is shrinkage and what value should I use?

Shrinkage is the share of paid time agents cannot take calls: breaks, training, meetings, leave and absence. Erlang C gives the agents needed on the phones; shrinkage turns that into the number of people to schedule. Work out your own figure from your shift and leave records; the starting value in the field is only an example.

Why might the result differ from what I really need?

Erlang C assumes that callers never hang up while waiting, that calls arrive at random but at a steady rate, and that every agent can take every call. In reality some callers hang up, so the result often errs on the cautious side and may show slightly more agents than you need. If you have sudden call spikes or skills-based routing, treat the result as a starting point and compare it with the service level you actually achieve.

How does an AI voice agent change the number of agents I need?

A voice agent can resolve part of your calls, such as appointments, order status or common questions, before they reach an agent. In that case, enter only the calls that are passed to agents. When the voice agent collects the caller's details first, the handle time of transferred calls can change too; you can calculate both scenarios and compare them.

Read next

Queues and contact center planning

Call queue
A call queue holds incoming calls in order when no operator is free and connects each one to the next suitable operator when its turn comes.
Average handle time (AHT)
Average handle time (AHT) is a call center metric for how long a call takes on average, including talk time, hold time and after-call work.
Automatic call distribution (ACD)
ACD is the call center function that automatically routes each incoming call to a suitable available operator according to rules you define.

Ship a voice agent this week.

We onboard new teams in under five business days, with your scripts and your numbers.

Start a pilot