350. Erlang B
The Erlang B formula: probability that all servers in an M/M/c/c queue (Poisson arrivals, exponential service, servers, capacity = no queue) are busy. Arriving customers facing all-busy are blocked / lost.
350.1. Formula
where is the offered load (in Erlangs).
is the blocking probability — proportion of arrivals turned away.
350.2. Telephony origin
Developed by A. K. Erlang for telephone networks (1917). servers = trunk lines; blocked calls are dropped (no queue — caller hears busy signal).
Used for over a century to size phone networks: how many trunk lines do I need to keep blocking probability below some threshold (typically 1% or 0.1%)?
350.3. Worked example
calls/hour, average call lasts minutes = hr. So Erlangs.
How many trunks to keep blocking below 1%?
| 3 | |
| 5 | |
| 7 | |
| 8 |
Need trunks for blocking with offered load 2.5 Erlangs.
350.4. Recursive formula (numerically stable)
This recursion avoids the factorials that overflow in direct computation. Standard implementation.
350.5. Erlang B vs Erlang C
| Model | System | Blocked customer |
|---|---|---|
| Erlang B (M/M/c/c) | c servers, no queue | lost (dropped) |
| Erlang C (M/M/c) | c servers, infinite queue | waits |
Erlang B is the blocking probability (proportion lost). Erlang C is the waiting probability (proportion who must wait > 0).
For the same parameters, Erlang B < Erlang C.
350.6. Where it shows up
- Telephone trunk sizing (historical, but still relevant for VoIP gateways)
- Connection limits on servers (max concurrent connections)
- Hospital bed capacity (refused-admission probability)
- Parking lot sizing (turn-away rate)
- Toll booth design
350.7. Insensitivity to service distribution
Surprisingly: Erlang B is insensitive to the service-time distribution — only the mean matters. So even if call durations are highly variable, Erlang B’s blocking probability formula stays exact. Holds because of PASTA (Poisson Arrivals See Time Averages) + reversibility.