Knowledge Centre
Erlang COperations & Workforce··4 min read

What is Erlang C?

Nearly every contact-centre staffing plan on earth rests on a formula worked out for telephone exchanges more than a century ago. It is a good formula. The trouble is that most of the people living with its consequences have never seen its assumptions written down, and the assumptions are where the decisions hide.

What Erlang C actually computes

Erlang C is a queueing model, named after A. K. Erlang, the Danish engineer who studied congestion in early telephone networks. It takes three inputs: how fast work arrives (the arrival rate), how long each contact takes on average (the service time, average handle time in contact-centre language), and how many agents are on duty. From these it predicts how the queue will behave: the probability that a new contact waits at all, the average wait, and the share of contacts answered within a target time, which operations report as service level.

Multiply arrival rate by service time and you get the offered load, measured in erlangs: the number of agents that would suffice if work arrived perfectly smoothly. It never does. Contacts arrive at random and they cluster, so the real question the model answers is how much headroom above the theoretical minimum a queue needs before waiting becomes acceptable.

To answer it, the model assumes. Arrivals are random and independent of each other. The arrival rate holds steady across the planning interval. Every agent can handle every contact. And nobody abandons: a caller who joins the queue waits for as long as it takes. Each of these is false in most real operations, in ways that matter.

The non-linear cost of short queues

The most valuable thing Erlang C teaches has nothing to do with decimal places: queues do not degrade gracefully. As agent occupancy approaches its ceiling, waiting times do not rise in a straight line. They bend upward, then go vertical.

For illustration only, with rounded numbers. Suppose contacts arrive at an average of two hundred per hour and each takes six minutes to handle. The offered load is twenty erlangs. Twenty agents is not tight, it is unstable: the queue grows without limit, because there is no headroom to recover from random clusters. Twenty-one agents clears the work, but with waits most customers would call broken. A handful more transforms the experience. The distance between meltdown and coping is one person; the distance between coping and good is a few.

The same mathematics explains why pooling matters. Large groups absorb randomness better than small ones, so a combined queue can run hotter than several fragments while delivering the same waits. Every time a queue is split, by language, by brand, by an exclusive skill, the operation buys that randomness back and pays for it in heads. Splitting a queue is a staffing decision, even when the person making it believes they are making a routing decision.

Where the model breaks

Three assumptions fail most often, and each failure has a direction.

  • Non-stationary demand. The model holds the arrival rate constant within the interval. Real demand ramps, spikes and collapses inside the half hour: a marketing send, an outage, an invoice run. An average that was accurate for the interval can still leave a queue at twenty past nine, and the tighter the service target, the more that smoothing flatters the plan.
  • Multi-skill routing. The model assumes identical, interchangeable agents. Real centres run overlapping skill groups, and running Erlang C separately per queue counts shared people more than once, quietly overstating capacity. Multi-skill operations need simulation or correction factors, and both need owners.
  • Abandonment. The model assumes infinite patience. Real callers hang up, which shortens queues and flatters the arithmetic: a centre can appear to hit its service level partly because the customers it failed stopped waiting. Variants such as Erlang A model abandonment explicitly; the deeper requirement is honesty about what the reported number includes.

Practitioners respond with corrections: efficiency overlays, occupancy caps, uplifts for shrinkage. Adjustment is not the failure. The failure is that adjustments ossify: a factor introduced to survive one quarter quietly becomes permanent, and within a few planning cycles nobody can state what the plan now assumes, or why.

One concrete example

Clearly illustrative, with no customer implied. A retailer’s contact centre plans with Erlang C at half-hour intervals, using a handle-time figure carried forward for years and a small efficiency factor a former planner once applied. Then a product change moves simple queries into self-service. Call volumes fall, and the calls that remain are longer and harder, so offered load rises even as the visible count drops. Service level slides. Because the headline number is falling, leadership concludes the agents have slowed down, and tightens adherence targets. Morale drops, attrition rises, handle time worsens further. The formula was never wrong. Its inputs were somebody’s job, and nobody was doing it.

The assumptions are decisions

Erlang C does not make staffing decisions; it performs arithmetic on assumptions, and the assumptions are the decision. The forecast it consumes is a claim about the future whose accuracy can be scored. The handle time is a claim about how the work is changing. The service target is not a law of nature but a commercial choice about how long customers should wait, usually anchored in a service level agreement, and the choice to tolerate a split queue is a choice to pay for fragmentation.

In a decision-intelligence view, each input is treated as evidence with a stated quality: measured, modelled or merely asserted. Each has an owner, and each has a date by which reality should have confirmed or contradicted it. The alternative is the common one: assumptions buried as settings in a workforce tool, outliving the person who set them, making staffing decisions on nobody’s authority. Erlang C is a lens, and workforce planning is the discipline of owning what the lens is pointed at.

Common questions

What is Erlang C?

Erlang C is a queueing model used to work out contact-centre staffing. From an arrival rate, an average handle time and a number of agents, it predicts the probability that a contact queues, the expected wait, and the service level. It assumes random arrivals, a steady arrival rate within the interval, interchangeable agents and no abandonment, so its output is only as good as those assumptions, which is why each of them needs an owner.

What inputs does Erlang C need?

Three: an arrival rate (contacts per interval), an average service time (handle time including after-call work), and the number of agents on duty. Multiplying arrival rate by service time gives the offered load in erlangs, the staffing floor if work arrived perfectly smoothly. In practice a service level target sits alongside these to convert predicted waits into a required headcount, and a shrinkage allowance converts that requirement into schedules.

Why do small staffing changes have such large effects on waiting times?

Because queueing behaviour is non-linear near full occupancy. When agents are almost fully loaded there is no headroom to recover from random clusters of arrivals, so backlogs compound instead of clearing. Removing one agent near the ceiling can tip a queue from stable to effectively unbounded, while adding a few can collapse waits entirely. The same mathematics is why pooled queues outperform fragmented ones at the same total headcount.

What are the main limitations of Erlang C?

Three failures dominate. It assumes demand is steady across the planning interval, so it smooths over surges inside the half hour. It assumes every agent can handle every contact, so applied per queue it miscounts people shared across skills. And it assumes nobody abandons, so it overstates required staff where callers give up, while hiding the customers who were lost. Variants such as Erlang A and simulation address parts of this; owned, dated assumptions address the rest.

Part of the pillarEnterprise Decision Intelligence, the complete philosophy in one essay

Related reading