Erlang Loss Formula Calculator
In a telephone trunk group, a call centre without a queue, or any system with a fixed pool of channels, some requests arrive when every channel is already busy. Those requests are not delayed: they are lost. The Erlang loss formula, better known as Erlang B, calculates the probability of exactly that happening, from just two numbers: the offered traffic in Erlangs and the number of servers or channels available.
Enter those two values below and the calculator returns the blocking probability as a decimal, as a percentage, and as a grade of service figure, using the same Erlang B mathematics as the classic traffic tables. There is no queue in this model: if your callers wait on hold instead of being turned away, you need Erlang C thinking, not this formula, and the sections below explain how to tell the two apart.
Quick Answer
How to use the Erlang Loss Formula Calculator
First, express your offered traffic in Erlangs. One Erlang is one channel busy continuously, so multiply the arrival rate by the average holding time in the same time unit: 120 calls per hour with an average length of 4 minutes is 120 × (4/60) = 8 Erlangs. Enter that figure, then enter the number of servers, channels, lines, or agents that can be occupied simultaneously, and press Calculate. Fractional traffic is fine; the server count is a whole number, and a decimal entry is truncated, so 10.9 servers is treated as 10.
The calculator returns three fields. Blocking probability is the Erlang B result as a decimal between 0 and 1. Blocking percentage is the same number multiplied by 100, which is the form most capacity plans quote. Grade of service repeats the blocking probability, for a reason explained in its own section below: in loss-system dimensioning, grade of service is defined as that probability, so the two fields are one number, not two different calculations. If you are costing the operation behind those channels rather than sizing them, the call center cost calculator covers the staffing spend side of the same problem.
The Erlang loss formula
where A is the offered traffic in Erlangs, N is the number of servers, and B(A, N) is the probability that a new arrival finds all N servers busy and is lost. This page evaluates the identical formula through the standard recurrence Bk = (A × Bk-1) / (k + A × Bk-1), starting from B0 = 1, which stays numerically stable at sizes where factorials overflow.
The formula comes from A. K. Erlang's early twentieth-century work on telephone traffic, and it rests on specific assumptions: arrivals follow a Poisson process, holding times are independent, there are far more potential callers than channels, and a blocked request is cleared immediately instead of waiting. Those assumptions fit trunk groups, circuits, and licence or connection pools well. They fit a staffed help desk with a hold queue poorly, because real callers there do wait. Probability tools that model single events rather than traffic streams, such as the compound probability calculator or the conditional probability calculator, answer different questions and will not size a channel pool.
Worked example
A small contact operation receives offered traffic of 8 Erlangs in its busy hour and has 10 channels. Substituting into Erlang B: B(8, 10) = (810 / 10!) / Σ (8k / k!) for k = 0 to 10. The calculator returns a blocking probability of 0.12166106, a blocking percentage of 12.166106%, and a grade of service of 0.12166106. In plain terms, roughly 1 call in 8 arriving in the busy hour finds every channel occupied and is lost. Note that an older version of this page quoted about 10.92% for this example: that figure was wrong, and 12.17% is the value the formula and published Erlang B tables support. Whether 12.17% is tolerable depends on the service: for a revenue or emergency line it almost certainly is not, which is what the sizing table below is for.
How blocking falls as you add channels
Blocking does not decline linearly with capacity. Each added channel cuts the loss rate by a growing proportion until the curve flattens, which is why traffic engineers work from tables like this one instead of rules of thumb. All values below are for 8 Erlangs of offered traffic, computed with the same formula as the calculator.
| Servers (N) | Blocking probability | Blocking percentage | Reading |
|---|---|---|---|
| 8 | 0.23557026 | 23.557026% | Nearly 1 in 4 requests lost |
| 9 | 0.17314083 | 17.314083% | Still far above any service target |
| 10 | 0.12166106 | 12.166106% | The worked example above |
| 11 | 0.08128832 | 8.128832% | One channel cut losses by a third |
| 12 | 0.05140639 | 5.140639% | Entering the moderate range |
| 13 | 0.03066463 | 3.066463% | Under a 5% ceiling |
| 14 | 0.01722089 | 1.722089% | Close to the classic 1% target |
| 15 | 0.00910089 | 0.910089% | First size that beats 1% |
| 16 | 0.00452983 | 0.452983% | Comfortable headroom |
Read the table from your target backwards. If the service standard is the traditional 1% busy-hour grade of service, 8 Erlangs needs 15 channels, not the 10 that a naive "one channel per Erlang plus a spare" guess suggests. The same method prices physical infrastructure decisions too: channel and drop planning for a site network, for instance, pairs naturally with the cost per network drop calculator once the Erlang B sizing says how many endpoints must be served at once.
Grade of service: why two outputs are identical
It is fair to ask why this calculator shows both a blocking probability and a grade of service when they always match. In Erlang B dimensioning, grade of service is defined as the proportion of calls blocked in the busy hour, which is precisely the blocking probability. Traditional traffic tables were indexed by grade of service (0.01, 0.005, and so on), so tools in this field report the figure under both names: the probability for engineers who think in decimals, and the grade of service for planners working to a tabled target. Nothing extra is being calculated, and any tool that shows two different numbers in these fields for a pure Erlang B calculation should be treated with suspicion.
Erlang B vs Erlang C
| Question | Erlang B (this page) | Erlang C |
|---|---|---|
| What happens when all servers are busy? | The request is blocked and lost | The request waits in a queue |
| Main output | Blocking (loss) probability | Probability of waiting, service level, wait times |
| Typical systems | Trunk groups, circuits, channel and licence pools | Staffed call centres with hold queues |
| Queue assumed? | No queue at all | Unlimited queue, callers never abandon |
Choosing the wrong model is the most common Erlang mistake. Apply Erlang B to a queueing call centre and you will overstate loss, because callers who would have waited are counted as lost. Apply Erlang C to a trunk group and you will understate loss, because a full trunk group cannot queue anyone. Real centres with impatient callers sit between the two, which is what the Erlang A model addresses, but for genuine loss systems (a busy signal, a rejected connection, a full licence pool) Erlang B is the correct and complete answer.
Assumptions and limits
The result is only as good as the busy-hour traffic figure behind it, so measure A over the busiest consistent hour rather than a whole day, and re-measure as demand grows. The model also assumes blocked requests disappear; if your callers immediately redial, real offered traffic is higher than the first-attempt figure, and blocking will be worse than calculated. Finally, a note on computation: this calculator evaluates Erlang B through its recurrence relation. A direct factorial implementation silently overflows once factorials exceed the floating-point range at 171! (and the A^N term can overflow even earlier: the live tool already returned NaN at A=150, N=170), returning NaN or zero for exactly the large systems planners ask about. The recurrence returns correct values at those sizes and identical values everywhere else, which you can confirm against the sizing table above.
Key takeaways
- Erlang B needs only two inputs: offered traffic in Erlangs and the number of servers. Everything else is interpretation.
- Blocking falls steeply, then flattens, as channels are added: at 8 Erlangs, going from 10 to 15 servers moves loss from 12.17% to 0.91%.
- Grade of service and blocking probability are the same number in this model, by definition.
- Use Erlang B only where blocked requests are truly lost. If requests queue, Erlang B is the wrong model.
Frequently asked questions
The Erlang loss formula, usually called Erlang B, gives the probability that a new call or request is blocked in a system with a fixed number of servers or channels and no waiting queue. Blocked requests are lost rather than held, which is why it is also known as the loss formula.
Traffic intensity is the offered load in Erlangs: the arrival rate multiplied by the average holding time, so 120 calls per hour lasting an average of 3 minutes is 120 × 0.05 = 6 Erlangs. Number of servers is the count of channels, lines, agents, or trunks that can be busy at the same time.
Many voice networks are designed for a grade of service of 1% or lower in the busy hour, meaning at most 1 call in 100 is blocked. Less critical services may accept 2% to 5%. In this calculator the grade of service is the blocking probability itself, shown as a decimal.
They are the same quantity stated twice. In Erlang B dimensioning, grade of service is defined as the probability that a call is blocked, so the calculator reports the identical value in both fields rather than performing two different calculations.
Erlang B assumes there is no queue: a request that finds every server busy is turned away and lost. Erlang C assumes requests wait in a queue until a server frees up, so it produces waiting-time and service-level estimates instead of a loss probability.
Yes. It evaluates the formula with the standard recurrence relation, which stays numerically stable for hundreds of channels and high traffic loads where a direct factorial calculation overflows.
No. You enter traffic already expressed in Erlangs. To convert, multiply calls per hour by the average call duration in hours: for example, 200 calls per hour at 6 minutes each is 200 × 0.1 = 20 Erlangs.
Add This Calculator to Your Website
Embed this calculator on your own site with the code below. Pick a size to preview it live, then copy the code.
Powered by Calculator Zilo
References
- Westbay Engineers: Erlang B Calculator, the long-running reference implementation of the Erlang B traffic model, with the Erlang for Excel and Windows traffic tools.
- Anaplan Anapedia: ERLANGB function documentation, defining the Erlang loss system, the offered load, and the closed-form formula used here.
- Ian Angus, Telemanagement: An Introduction to Erlang B and Erlang C, a practitioner overview of the loss and queueing models, busy-hour measurement, and grade of service targets.
