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.
- Calls arrive at random, at one steady rate.
- Handle times follow one particular random pattern, the exponential.
- The same number of agents is on the phones the whole time.
- The hour you're asking about repeats forever, so the line has settled at its long-run average.
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.
| Hour | Calls per hour | Agents | Erlang C avg wait | Simulated avg wait | Simulated longest wait |
|---|---|---|---|---|---|
| 8 a.m. | 40 | 5 | 3.3 | 1.9 | 28 |
| 9 a.m. | 40 | 5 | 3.3 | 3.3 | 19 |
| 10 a.m. | 76 | 8 | 12.7 | 3.2 | 26 |
| 11 a.m. | 76 | 8 | 12.7 | 4.4 | 24 |
| Noon | 55 | 7 | 1.8 | 3.1 | 25 |
| 1 p.m. | 45 | 6 | 1.7 | 1.3 | 18 |
| 2 p.m. | 45 | 6 | 1.7 | 1.7 | 16 |
| 3 p.m. | 45 | 6 | 1.7 | 2.6 | 15 |
| 4 p.m. | 45 | 6 | 1.7 | 2.4 | 27 |
| 5 p.m. | 30 | 4 | 3.1 | 1.6 | 26 |
| 6 p.m. | 30 | 4 | 3.1 | 1.4 | 14 |
| 7 p.m. | 30 | 4 | 3.1 | 2.4 | 27 |
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.
- The rush, 10 a.m. to noon. Erlang C says callers wait 12.7 minutes on average. The simulation says 3.2, then 4.4. Two hours isn't long enough for the line to reach the formula's long-run size. If your target were a 5-minute average, the formula would tell you to add agents. The simulation says the 8 you have already get there.
- Noon. For 55 calls and 7 agents, Erlang C says 1.8 minutes. The simulation says 3.1, because noon callers wait behind the line the rush left. That's the carry-over the formula can't see.
- The worst calls. The average stays under 5 minutes all day, yet the longest wait passes 25 minutes in six of the twelve hours. An Erlang C calculator doesn't show you those callers.
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.