The Erlang C formula turns offered call load and a service-level target into a staffing number. Here it is worked out live — and written out as a clean, self-contained reference implementation in thirty languages. Free to copy, verified against known values.
| Agents | Answer<t | ASA | Occupancy | P(wait) |
|---|
Six functions. Everything else is arithmetic.
Traffic intensity in Erlangs — the number of concurrent conversations in progress on average. 100 calls in 30 min at 180 s each = 10 Erlangs.
The Erlang C term: the chance an arriving call finds every agent busy and joins the queue. Built from Poisson terms; ρ=u/m is occupancy.
Fraction of calls answered within t seconds — the classic “80/20” grade of service. Drops out of the wait probability directly.
Mean seconds a caller waits before an agent picks up, across all calls (the ones answered instantly count as zero).
How hard the agents work. Above ~90% the queue and burnout both explode — the reason you can’t staff to the raw load.
Increment agents until the service-level and answer-time goals are both satisfied. The number the calculator above returns.
Same five functions, thirty languages. Self-contained — paste and run.