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 |
Public Function ErlbBlockage(nsrv As Double, trafficInErlangs
As Double) As Double
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.
How?
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.