Best Erlang B Calculators Compared: Accuracy, Speed, and Features

How to Use an Erlang B Calculator for Capacity PlanningCapacity planning for telecommunications trunks, VoIP gateways, contact centers, and other call-bearing systems requires accurate estimations of how many simultaneous call paths (trunks, channels, lines) you need to meet a target level of service. The Erlang B formula and its calculators are the most widely used tools for estimating required trunk capacity when blocked calls are lost (i.e., callers receive a busy signal or immediate refusal and do not retry). This article explains Erlang B fundamentals, when to use it, how to gather inputs, how to use an Erlang B calculator step-by-step, examples, limitations, and practical tips for realistic planning.


What is Erlang B?

Erlang B is a mathematical formula developed by Agner Krarup Erlang for telephony. It calculates the probability that a call is blocked (loss probability) in a system with a finite number of servers (trunks) and no queuing. The model assumes:

  • Arrivals follow a Poisson process (random, memoryless).
  • Call holding times are exponentially distributed (memoryless).
  • Blocked calls are lost (no retries or queuing).
  • Offered traffic (in Erlangs) is steady and measured over the relevant time interval.

Key terms:

  • Offered traffic (A): Total simultaneous usage in Erlangs. One Erlang equals one continuous resource busy for one hour (or proportionally within another interval).
  • Number of trunks (N): The number of concurrent call paths available.
  • Blocking probability (B or Pb): The probability that an incoming call finds all N trunks busy and is therefore blocked.

Why use Erlang B for capacity planning?

Erlang B is appropriate when blocked calls are cleared (lost) and do not enter a queue — common for traditional trunking scenarios, SIP trunks, and many telecom provisioning situations. It helps answer questions like:

  • How many trunks do I need to keep blocking below X% during peak hour?
  • If offered traffic increases by Y Erlangs, how does required trunk count change?
  • What is the expected blocking probability for my current trunk count?

Erlang B is simple, well-understood, and supported by calculators and tables — making it practical for engineering and procurement decisions.


Inputs you need

To use an Erlang B calculator, determine these inputs accurately:

  1. Peak call arrival rate or offered traffic (A, in Erlangs)

    • Calculate from average calls per interval and average call duration:
      • A = λ × H, where λ is the calls per second (or minute) and H is average call holding time (in same time unit), converted to Erlangs.
    • Common approach: measure busy-hour call attempts (BHCA) and average call duration (ACD).
      • Example: BHCA = 3,600 calls in busy hour; ACD = 3 minutes = 0.05 hour → A = 3,600 × 0.05 / 1 hour = 180 Erlangs.
  2. Desired blocking probability (B)

    • Expressed as a proportion (e.g., 0.01 for 1% blocking).
    • Choose target based on service level objectives (SLOs), cost constraints, and user experience expectations. Typical targets: 0.1%–1% for carrier trunks, 1%–5% for internal PBX in non-critical scenarios.
  3. Current or planned trunk count (optional)

    • Some calculators let you input N and A to compute B; others let you input A and B to compute N.

How to use an Erlang B calculator — step-by-step

  1. Measure or estimate busy-hour traffic

    • Use CDRs, switch counters, or monitoring tools to get BHCA and ACD.
    • Convert to Erlangs: A = (BHCA × ACD) / 3600 if ACD in seconds, or A = BHCA × (ACD in hours).
  2. Choose a target blocking probability

    • Pick percentage based on requirements (e.g., 0.01 for 1%).
  3. Open an Erlang B calculator

    • Many online calculators accept two of three values (A, N, B).
    • Some calculators support batch queries and CSV import for multiple sites.
  4. Enter offered traffic (A) and desired blocking (B) to compute required trunks (N)

    • If the calculator requires BHCA and ACD, input those and let it compute Erlangs internally.
  5. Verify results by testing alternative values

    • Increase or decrease N to see how B changes; check sensitivity.
  6. Add operational margins

    • Consider spare capacity for growth, call spikes, failover, and maintenance. Common margin: 5–20% above calculated N depending on risk tolerance.

Example calculations

Example 1 — Compute Erlangs from measurements:

  • Busy-hour call attempts (BHCA): 2,400
  • Average call duration (ACD): 2 minutes = 120 seconds
  • A = (2,400 × 120) / 3,600 = 80 Erlangs

Example 2 — Determine trunks for 80 Erlangs with 1% blocking:

  • Input A = 80, B = 0.01 into Erlang B calculator → N ≈ 106 trunks (calculator result varies slightly with rounding; check tool).

Example 3 — Find blocking probability for fixed trunks:

  • If you currently have 100 trunks and offered traffic is 80 Erlangs, input A = 80, N = 100 → B ≈ 0.016 (1.6% blocking).

Interpreting results and practical considerations

  • Blocking probability is the fraction of calls that will receive a busy signal. For 1% blocking and 3,600 offered calls in an hour, ~36 callers would be blocked during the busy hour.
  • Erlang B assumes blocked calls are lost. If callers retry quickly, the actual offered load increases and Erlang B underestimates required capacity.
  • If call retries or queuing occur (i.e., callers wait), use Erlang C (queuing) or more advanced models.
  • For SIP trunks with dynamic channel allocation or bursty traffic, consider traffic variability and aggregation effects.
  • For redundancy, plan additional capacity for failover scenarios (e.g., voice gateways down).

Limitations of Erlang B

  • No queuing or retries modeled — not suitable when callers redial or systems queue calls.
  • Assumes exponential call durations and Poisson arrivals; heavy-tailed or correlated traffic (e.g., call storms) breaks assumptions.
  • Sensitive to measurement errors in BHCA and ACD — garbage in, garbage out.
  • Not ideal for very small systems (few calls) where stochastic variability matters more.

Practical tips and heuristics

  • Measure busy-hour traffic over several days/weeks and use the highest consistent peak rather than a single outlier.
  • Use a margin for growth (at least 10%) unless you have near-real-time provisioning.
  • For SIP trunks with overbooking and statistical multiplexing across many customers, coordinate with your carrier about their blocking targets and aggregation behavior.
  • When uncertain about retry behavior, simulate using simple retry models or add an uplift to offered Erlangs to approximate retries.
  • Document assumptions (measurement interval, ACD, peak definition, target blocking) so future planners can reproduce or update calculations.

Quick reference formulas

  • Offered load (Erlangs): A = (BHCA × ACD) / 3600 (if ACD in seconds)
  • Erlang B recursive formula (useful for calculators or scripts):
    • B(0, A) = 1
    • B(n, A) = (A × B(n-1, A)) / (n + A × B(n-1, A)) for n = 1, 2, …, N

When to use alternatives

  • Use Erlang C when callers queue instead of being lost.
  • Use Markov/queueing models or simulations when arrivals are non-Poisson, durations non-exponential, or retry behavior significant.
  • Use simulations for highly bursty or correlated traffic (e.g., marketing campaigns, emergency calls, or call centers with scheduled callbacks).

Conclusion

An Erlang B calculator is a practical, widely used tool for capacity planning when blocked calls are lost. Accurate inputs (BHCA and ACD), a clear blocking target, and sensible operational margins produce reliable trunk counts. Be mindful of the model’s assumptions and use Erlang C or simulation methods when queuing or retries are present.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *