356. Square-Root Staffing

A simple rule of thumb for sizing call-center / service-system capacity. Halfin-Whitt asymptotic regime (1981).

356.1. The rule

Given offered load 𝑎=𝜆𝜇 Erlangs, optimal number of servers is approximately:

𝑐𝑎+𝛽𝑎

— a base of 𝑎 servers (deterministic capacity) plus a safety margin 𝛽𝑎 that grows as 𝑎.

356.2. Three quality regimes (parameterized by 𝛽)

For typical call centers targeting “80% of calls answered within 20 sec”, 𝛽0.71.0.

356.3. Why 𝑎?

In the heavy-traffic limit, queueing behavior is governed by central limit-style fluctuations. The natural fluctuation scale of an offered load 𝑎 is 𝑎 — same as the standard deviation of a Poisson(𝑎) distribution.

If you provision exactly 𝑎 servers, fluctuations of size 𝑎 overwhelm capacity routinely. If you provision 𝑎+𝑎, you absorb typical fluctuations. Bigger 𝛽 → more safety.

356.4. Example

Call center: 50 calls/min, average 3 min per call → 𝑎=150 Erlangs.

Strategy𝛽𝑐=𝑎+𝛽𝑎Behavior
No safety015050% chance customer waits
Modest0.5156 30% wait probability
Quality1.5168 10% wait probability
Premium2.5181< 3% wait probability

(Wait probabilities approximate, depend on abandonment, service distribution, etc.)

356.5. Practical use

  1. Estimate offered load 𝑎=𝜆𝜇
  2. Choose target service level (e.g., 80% answered in 20 sec)
  3. Look up corresponding 𝛽 (or simulate to calibrate)
  4. Staff 𝑐𝑎+𝛽𝑎

Compare to Erlang C / Erlang A exact calculations — typically very close.

356.6. Why it’s the right scale

For a fixed fraction-of-time-waiting target (constant probability of waiting), 𝛽 stays constant as offered load grows. So if you double traffic (𝑎 doubles), safety margin only grows as 21.4x — capacity grows by 𝑎 less than linearly.

This is the economies of scale of pooling: big call centers need proportionally less slack capacity than small ones.

356.7. See also