Calculate call blocking probability and required trunk lines using the Erlang B formula.
The Erlang B formula calculates the probability that an incoming call finds all circuits busy and is blocked, given a fixed number of circuits and offered traffic load with no queuing or retries (lost calls cleared). It's the classic model used since the early 20th century for sizing telephone trunk groups: B(N,A) = (A^N/N!) / Σ(A^k/k!, k=0 to N). This calculator uses the numerically stable recursive form B(0,A)=1, B(n,A) = A·B(n-1,A) / (n + A·B(n-1,A)) to avoid overflow from large factorials.
Erlang B blocking probability
B(N,A) = (A^N / N!) / Σ(A^k / k!, for k = 0 to N)
Recursive form (numerically stable)
B(0,A) = 1; B(n,A) = A·B(n-1,A) / (n + A·B(n-1,A))
One Erlang represents one circuit being continuously occupied for the full measurement period. Traffic of 10 Erlangs could mean, for example, 10 circuits each busy 100% of the time, or 20 circuits each busy 50% of the time — it's a measure of intensity, not a count of calls.
It's the core assumption behind Erlang B: a blocked caller simply hangs up and does not retry or wait in a queue. This makes Erlang B appropriate for trunk sizing where blocked calls truly disappear, as opposed to Erlang C, which models callers waiting in a queue.
1% (0.01) is a common target grade-of-service for many carrier-grade trunk groups, meaning no more than 1 in 100 calls is blocked during the busy hour. Critical applications might target 0.1% or lower; less critical internal trunks sometimes tolerate 2-5%.
Erlang B assumes blocked calls are lost entirely (no queuing) — appropriate for circuit-switched trunk sizing. Erlang C instead assumes blocked callers wait in a queue until an agent/circuit frees up, which is the standard model for call center staffing. See the Erlang C calculator for that case.