Erlang C vs. Little’s Law: Staffing a Response Queue Without a Discrete-Event Simulation
Two classic queueing tools answer different questions. Together they provide a fast analytical first pass for response-time staffing problems such as inspection callboards.
The inspection-request problem
Consider a production environment where mechanics complete work and place inspection requests onto a callboard. Quality-assurance personnel respond as parallel servers. The operational requirement is not simply to keep QA busy; it may be to respond to 90 percent of requests within 15 minutes. Structurally, that resembles a call-center queue: stochastic arrivals wait for the next qualified server.
A discrete-event simulation can represent detailed realities such as zones, priorities, travel, breaks, skill matrices, batching and time-varying demand. But before building that model, an analytical queue can establish scale, expose unstable assumptions and provide a defensible staffing approximation.
What Erlang C calculates
Erlang C is an M/M/c queueing model: Poisson arrivals, exponentially distributed service times, c identical parallel servers, one pooled queue, unlimited waiting capacity and no abandonment. Define arrival rate λ, service rate per server μ and offered load a = λ/μ. Utilization is ρ = λ/(cμ); if ρ is at least one, steady-state waiting diverges.
The Erlang C probability of delay estimates the chance an arrival must wait. More importantly for a service-level requirement, the waiting-time tail is P(Wq > t) = C(c,a) exp(-(cμ-λ)t). Therefore P(Wq ≤ t) gives a direct way to search for the smallest staffing level c that achieves, for example, 90 percent response within 15 minutes.
What Little’s Law calculates
Little’s Law is L = λW. Applied to the queue, Lq = λWq. It relates long-run average number in the system, throughput and average time in the system under broad steady-state conditions. Unlike Erlang C, it does not require exponential service or Poisson arrivals for the identity itself.
That generality is also why Little’s Law cannot independently answer a service-level staffing question. If λ is known but W is the desired outcome, L = λW does not tell us how many servers create that W or what fraction of requests meet a 15-minute threshold. Erlang C supplies a queueing mechanism; Little’s Law supplies a conservation relationship and excellent sanity check.
Why averages are not a 90th-percentile SLA
An average wait of ten minutes does not imply that 90 percent of requests are answered within fifteen minutes. Service-level requirements concern the waiting-time distribution, not merely its mean. This distinction is operationally important because congestion is nonlinear as utilization approaches one.
For the inspection example, I would use Erlang C to estimate staffing against the 90%-within-15-minutes requirement, then use Little’s Law to cross-check implied average queue size and time in system. The analytical model should be calibrated from observed request-arrival and inspection-service distributions rather than treated as ground truth.
Other analytical queueing models
Erlang C is only one member of a larger toolkit. M/M/1 is the single-server baseline. M/M/c handles multiple servers. Erlang B models loss systems with no waiting room. Erlang A adds abandonment or patience. M/G/1 allows a general service-time distribution, and the Pollaczek–Khinchine result shows explicitly how service-time variability affects waiting. Kingman’s approximation provides an extremely useful G/G/1 approximation using utilization and the coefficients of variation of arrivals and service.
For multi-server systems with non-exponential service, approximations such as Allen–Cunneen can be more realistic than Erlang C. Queueing networks model multiple connected stations. Priority queues represent classes that do not receive identical service. Finite-source and finite-capacity models matter when the calling population or buffer is bounded. These models occupy the useful space between simple flow identities and full discrete-event simulation.
When to graduate to discrete-event simulation
Erlang C becomes less representative when arrivals vary sharply by shift, inspectors are not interchangeable, requests require particular qualifications or zones, travel consumes meaningful time, priorities preempt ordinary work, service times are strongly non-exponential, or inspectors perform substantial work outside the queue. A simulation can represent those mechanisms directly.
A strong workflow is therefore layered: Little’s Law for flow accounting, an analytical queue for rapid staffing and sensitivity analysis, then discrete-event simulation when operational detail materially changes the decision. Optimization can sit above either model to search staffing patterns, schedules or assignments. The objective is not to use the most sophisticated method; it is to use the simplest model that preserves the decision-relevant physics.