SautiDesk

Team

How many agents do you need? The Erlang method in plain language

The SautiDesk team
19 Oct 2026 · 9 min read

The short answer

To work out how many agents you need, multiply calls per hour by average handle time to get your workload in erlangs, then use the Erlang C formula to find the fewest agents that meet your service level. Add shrinkage for breaks and leave. 60 calls an hour at 4 minutes each needs 7 on the phones for 80% answered in 20 seconds.

An Erlang calculator tells you how many agents you need to answer a given number of calls within a target time. It takes calls per hour, average handle time and a service level target, and a shrinkage allowance turns the answer into a roster. This page works through one full example with every figure checked.

The method is named after A. K. Erlang, a Danish mathematician and engineer who worked out how many operators a telephone exchange needed for a given call volume. Call centres still use it for inbound staffing and scheduling, and it explains why one extra agent can change the wait so much.

What do you need before you start?

You need these numbers for each hour you plan. Take them from your last few weeks of call records, not from a guess.

  • Arrival rate: calls arriving per hour, for the hour you are planning. Plan one hour at a time, because 10am and 3pm are rarely the same.
  • Average handle time (AHT): talk time plus hold plus wrap-up, in seconds. See customer service KPIs.
  • Service level target: the share of calls to answer within a set time, such as 80% in 20 seconds.
  • Shrinkage: the share of paid time agents are not available because of breaks, leave, sickness, training and meetings.
  • Occupancy ceiling (optional): the highest share of time you will let agents be busy. Call Centre Helper’s example caps it at 85%.

Step 1: turn calls and handle time into workload

Workload in erlangs equals calls per hour multiplied by AHT in hours, as Wikipedia’s entry on the erlang) sets out. One erlang is one agent busy for a full hour. This is the only arithmetic you need to do by hand.

Example: a Nairobi clinic booking line gets 60 calls in its busiest hour, and each call takes 240 seconds (4 minutes) including wrap-up. Workload A = 60 × 240 ÷ 3,600 = 4 erlangs. Four agents would be busy for the whole hour if calls arrived perfectly evenly. They do not, so you need more than 4.

Step 2: why you need more agents than the workload

Calls arrive at random, so sometimes three land in one minute and none for the next two. When every agent is busy, the next caller waits. Erlang C estimates the chance that an arriving caller has to wait, given the workload and the number of agents.

With exactly 4 agents for 4 erlangs, the queue keeps growing. With 5, the chance a caller waits is still 55%. The chance then falls quickly with each added agent.

Step 3: find the fewest agents that meet your service level

Try 5 agents, then 6, then 7, and stop at the first number that meets your target. For each, Erlang C gives the probability of waiting (Pw). The service level is then 1 − Pw × e^(−(N − A) × T ÷ AHT), where N is agents, A is erlangs, T is the target answer time in seconds and AHT is in seconds.

60 calls an hour, 240-second handle time, 4 erlangs, target 80% in 20 seconds
Agents on the phonesCallers who waitAnswered within 20 sAverage wait (all calls)Agent occupancyMeets 80/20?
555.4%49.0%133.0 s80.0%No
628.5%75.9%34.2 s66.7%No
713.5%89.5%10.8 s57.1%Yes
85.9%95.8%3.5 s50.0%Yes
92.4%98.4%1.1 s44.4%Yes

The answer for this hour is 7 agents on the phones. Six miss the target at 75.9%, and going from 5 to 7 cuts the average wait from 133 seconds to about 11. Occupancy at 7 agents is 4 ÷ 7 = 57%, well under the 85% cap in Call Centre Helper’s example, which leaves room for work that is not calls.

Step 4: add shrinkage to get the roster size

Shrinkage is the time you pay for but cannot put on the phones. Divide the agents you need on the phones by (1 − shrinkage) to get how many to schedule. Call Centre Helper puts the industry average at around 30 to 35% and uses 30% in its own example.

Example: 7 agents needed on the phones, shrinkage 30%. 7 ÷ (1 − 0.30) = 7 ÷ 0.70 = 10 agents rostered for that hour. If your real shrinkage is 35%, 7 ÷ 0.65 = 10.8, so you would roster 11. Work out your own shrinkage from your rota: total hours lost to breaks, leave, sickness and training, divided by total paid hours.

What is a good service level target?

Pick a target your customers will tolerate and your budget can pay for. 80% in 20 seconds is a common example, and Call Centre Helper’s worked example uses it, but it is a convention, not a rule. Lines where a delay costs more, such as emergency bookings, justify a tighter target than a line that takes orders.

The table shows the price. At 7 agents you answer 89.5% in 20 seconds, at 6 only 75.9%, so one agent decides whether you meet 80/20. Set the target with the cost of that agent in front of you, and do not promise more than you can staff. The same target goes into your SLA.

How does this change through the day?

Run the calculation for every hour or half hour, because the busy hour is the only one where you need the full count. For the same clinic, take a quieter hour with 30 calls at 240 seconds: A = 30 × 240 ÷ 3,600 = 2 erlangs.

Quiet hour: 30 calls, 240 seconds, 2 erlangs, target 80% in 20 seconds
Agents on the phonesAnswered within 20 sMeets 80/20?
359.1%No
485.3%Yes
595.4%Yes

Half the calls need 4 agents rather than 7. Call centre scheduling means building a rota that follows this curve, with more people at the busy hours and fewer in the quiet ones. Put lunches and training in the quiet hours, and limit leave around the peaks.

What does the Erlang method get wrong?

Erlang C assumes callers never hang up while waiting. Real callers do, so, as Wikipedia notes), it predicts more agents than are really needed. Treat the result as a safe starting point, then check it against your real service level.

  • Forecast error. The call count is a forecast. Compare it with actuals each week and adjust.
  • Handle time moves. A new product or a bad week lengthens calls. Recheck AHT monthly.
  • Mixed work. If agents also reply to WhatsApp and email, not all their time is on the phones. Plan the phone hours first, then add the message workload.
  • Skills. The formula assumes one pool of agents. Separate queues for separate languages or topics each need their own count.
  • Callbacks and outbound. They take agent time that the calculation above leaves out.

How can SautiDesk help with staffing?

On SautiDesk Pro, the How many people report applies Erlang C for you. It forecasts calls for each hour from the same weekday over the previous eight weeks, takes handle time as talk plus wrap-up from your recent calls, and uses the service level target in your workspace settings. The result is people needed on the phones for each hour, before shrinkage, so still apply Step 4.

Two more reports help you check the rota against the real day: Forecast vs actual compares what you expected with what came in, and Occupancy & utilisation shows how busy agents were. Reports are a Pro feature and Basic has none; see pricing. How callers are routed to those agents matters as much as the headcount, which call queues and ACD explained covers.

Keep reading

CallsCall queues and ACD explained: how calls reach the right agent8 min readMetricsCustomer service KPIs: the 12 numbers worth tracking10 min readCallsHow to start a small call centre in Kenya: a 30-day plan11 min read

Good questions

An Erlang calculator estimates how many agents a call centre needs. You give it calls per hour, average handle time and a service level target, and it returns the fewest agents that meet the target.

Five channels. Zero customers lost.

Get started now. Pay only for the calls and messages you use.