WFM Helper

Erlang C vs Erlang A: What's the Difference and When Each Applies

16 Aug 2026

The same starting point

Both models answer the same question: given a volume of work, an average handle time and a number of agents, what happens to the queue? Both assume arrivals are random and independent, described by a Poisson process, and that handle times follow an exponential distribution. Where they part company is what customers do while they wait.

Erlang C, the patient customer

Erlang C assumes infinite patience. Every caller who arrives waits as long as it takes, and nobody hangs up. From that assumption you get the probability a caller waits at all, the expected wait, service level against a target answer time, and the required agent count for a target.

This is the model behind nearly every staffing calculator in the industry, including the calculators on this site, and there is a good reason for that. It is transparent, it needs only inputs you actually have, and it errs toward safety.

The consequence of the patience assumption is systematic overstaffing when queues get long. Because nobody leaves the queue in the model, the modelled queue grows longer than the real one, the modelled wait is worse than reality, and so the model demands more agents than you need. In a stable, well staffed operation at 80/20 the effect is small. In a badly congested queue it can be substantial.

Erlang C also breaks down in two specific places. When traffic intensity approaches or exceeds the number of agents, it predicts an infinite queue and stops being useful. And for very long handling times relative to the interval, a 30 minute interval with 20 minute calls, the maths assumes work completes inside the interval when much of it spills into the next one.

Erlang A, the impatient customer

Erlang A extends the model with abandonment. It adds one parameter, average patience, usually expressed as a mean time to abandon, and treats hanging up as a third thing that can happen to a call alongside being answered or continuing to wait.

That single addition changes the output in useful ways. Abandonment acts as a safety valve: as the queue lengthens, callers leave, the queue self limits, and the model no longer demands agents to serve calls that in reality never get served. Erlang A typically recommends fewer agents than Erlang C for the same target, and it can tell you the abandon rate directly, which Erlang C cannot.

It also lets you answer questions Erlang C cannot express at all. What abandon rate should we plan for? If we add an accurate wait time announcement and patience drops, what happens to staffing? Should we target service level or abandon rate for this queue?

The catch with Erlang A

Erlang A needs a patience estimate, and patience is genuinely hard to measure. It varies by queue, by channel, by time of day, by whether the customer is chasing money or browsing. Worse, it is censored data: you only observe how long the people who abandoned were willing to wait, not how long the answered ones would have waited. Estimating patience properly means survival analysis on your own abandon data, not a number borrowed from a blog post.

Feed Erlang A a guessed patience figure and you get a confident answer built on an invention. That is more dangerous than the known conservatism of Erlang C.

Choosing in practice

Use Erlang C for routine interval staffing, capacity plans, hiring cases, and any queue where abandonment is low, under roughly 3 to 5%. Use it whenever you cannot defend a patience estimate, and whenever the answer has to be auditable by people who will not read a survival curve.

Use Erlang A when abandonment is material, when you are asked to plan to an abandon target, when you are deliberately running lean and want to know the real cost, and when you have enough abandon data to fit patience by queue and day type.

Use simulation instead of either when the reality does not fit the assumptions: skills based routing, callbacks, blended voice and digital work, concurrency in chat, or handle times that are long relative to the interval. Both Erlang models assume a single homogeneous pool serving one queue, and most modern contact centres are not that.

A sensible working position

Plan with Erlang C, then sanity check the busiest queues against actual abandonment. If real abandon rates are consistently far below what your queue length implies, you are carrying the Erlang C safety margin, and you can decide whether that margin is worth its cost. That is a business decision, not a maths one, and the value of understanding both models is that it becomes a decision at all rather than an accident.

Get new WFM tools first

One short email when a new calculator, template or article goes live. No spam.

Try the free WFM calculators