Call center staffing

Erlang C vs. simulation for call center staffing

Erlang C is the formula behind most call center staffing calculators. It's quick, and it's a good first estimate. Here's where it holds up on a real day, where it misses, and what to use when your calls and shifts change by the hour.

What Erlang C does

Give an Erlang C calculator your calls per hour, your average handle time and a number of agents. It returns the average wait and the share of callers who wait at all. Most calculators turn that into a service level, such as 80% of calls answered in 20 seconds.

To get there, the formula assumes four things.

The first one is usually close to true. The other three are where a real day drifts away from the formula.

Where it breaks on a real day

Calls change hour to hour

Most centers have a morning rush, a lunch dip and an afternoon tail. Erlang C answers one hour at a time, as if each hour were the only one.

Staffing changes by shift

Agents start, go to lunch and head home on a schedule. The formula can't see a shift change coming, or what the hour after one looks like.

A rush leaves a line behind

Callers still on hold at 11:59 are still on hold at noon. The formula doesn't know what the last hour left behind. Each hour gets its own long-run answer, whatever happened before it.

Handle times aren't always exponential

Some calls follow a script and run close to the same length. Others are all over the place. Erlang C only covers the exponential case. QueueSim lets you pick exponential, normal or constant handle times.

The average hides the worst calls

A 3-minute average wait can include callers who held for 25 minutes. QueueSim shows the longest wait in each hour next to the average.

One day, both ways

Take a help line open 8 a.m. to 8 p.m. Calls average 6 minutes. There's a two-hour morning rush with 8 agents, a lunch hour with 7, a steady afternoon with 6 and an evening shift of 4.

The Erlang C column is the formula's average wait for each hour on its own. The two simulation columns come from QueueSim running every call through 30 simulated days of this schedule.

HourCalls per hourAgentsErlang C avg waitSimulated avg waitSimulated longest wait
8 a.m.4053.31.928
9 a.m.4053.33.319
10 a.m.76812.73.226
11 a.m.76812.74.424
Noon5571.83.125
1 p.m.4561.71.318
2 p.m.4561.71.716
3 p.m.4561.72.615
4 p.m.4561.72.427
5 p.m.3043.11.626
6 p.m.3043.11.414
7 p.m.3043.12.427

Waits in minutes. Simulation: QueueSim's discrete-event engine, random arrivals, exponential handle times, 30 simulated days, run September 28, 2026. Erlang C: the standard steady-state formula for each hour's calls and agents.

Three parts of the day tell most of the story.

In the steady afternoon the two agree closely, 1.3 to 2.6 minutes simulated against 1.7 from the formula. At 8 a.m. the simulation comes in lower because the day starts with nobody on hold. When the day holds still, the formula does its job.

Questions

What is Erlang C?

A formula from telephone traffic engineering. Give it calls per hour, average handle time and a number of agents, and it returns the chance a caller has to wait and the average wait, for an hour that holds steady. Queueing textbooks call the same setup the M/M/c queue, which the queueing guide explains.

Is Erlang C wrong?

No. For its assumptions it's exact, and a simulation of a steady hour with exponential handle times lands close to it. It's a good quick estimate. The trouble starts when the day doesn't hold still. If you use Claude, QueueSim for Claude can run the formula and the simulation side by side for any steady hour.

When should I use simulation instead of Erlang C?

When calls change by the hour, staffing changes by shift, or you care about the longest waits and not only the average. That describes most real call centers.

How many agents do I need?

Enter your calls for each hour and your current shifts in QueueSim, then add or move agents until each hour's wait is where you want it. The simulator reruns every time you change a number. It's free and there's no sign-up.

Try it with your own numbers

Run this day, then make it yours

The button opens the simulator with this exact schedule. Change the calls per hour, the agents on each shift or the handle time, and each hour's wait updates.