Erlang Library for Excel Function Reference



Applies to: Excel 2003, Excel 2007, Excel 2010

Returns the Erlang B blockage for a specified number of servers and specified offered traffic.


ErlbBlockage( nsrv, trafficInErlangs)

nsrv is the number of servers (can be any non-negative number).

traffic in Erlangs is the offered traffic in erlangs (can be any non-negative number)..


Formula Description Return Value
=ErlbBlockage( 3, 10.4) Returns Erlang B blockage for 3 servers and 10.4 erlangs of offered traffic. 0.7411421
=ErlbBlockage( 32.4, 30) Returns Erlang B blockage for 32.4 servers and 30 erlangs of offered traffic.  Illustrates the fact that nsrv does not have to be an integer. 0.0897575

VBA Function Declaration

Public Function ErlbBlockage(nsrv As Double, trafficInErlangs As Double) As Double

See Also



When nsrv is an integer, this is the famous Erlang B function, also called the Erlang Loss Function, defined by
     B(n, x) = (xn/n!)/(1 + x + x2/2! + x3/3! + ... + xn/n!)
where n = number of servers and x = offered traffic in erlangs.  Please note however that this formula is not a practical algorithm for computing the Erlang B function. The Erlang Library for Excel uses an algorithm based on Excel's built-in worksheet functions EXP, GAMMALN, and GAMMADIST.

The queueing model which applies here is the M/M/n/n queue.  That is: Poisson arrivals, exponential service time, n servers, and n slots for customers in the system (no waiting slots).

If this worksheet function is not available, and returns the #NAME? error, then you must install and load the Erlang Library for Excel from Abstract Micro Systems.


Case Study: Computing Trunking Blockage

Typically we use Erlang B to estimate trunking blockage (also called congestion) in a telephone exchange.  Suppose that we have an exchange with these parameters:

  Number of incoming trunks:  107
  Incoming calls offered per hour:  2000
  Average call length:  3 minutes

Assume further that calls arrive in a Poisson process and that call lengths are exponentially distributed.  Finally, assume that if a caller finds that all trunks are busy (that is, if the caller gets a busy signal), then the caller hangs up and goes away.  

We are interested in estimating the blockage b, defined as the fraction of callers that are blocked, that is, get a busy signal.  We use the Erlang B function as follows.  First, we compute the offered load x in erlangs:

x = (calls per period)*(call length) / (period length) = 2000 * (3 minutes) / (60 minutes) = 6000/60 = 100 erlangs

Then the blockage is

b = ErlbBlockage( nsrv, trafficInErlangs) = ErlbBlockage( 107, 100) = 0.039106

In other words, we estimate that approximately 4 percent of callers will be blocked.

Abstract Micro Systems, Nashville, Tennessee
Contact Abstract Micro Systems