Erlang Library for Excel Function Reference

Contents

ErlcWait4


Applies to: Excel 2003, Excel 2007, Excel 2010

Returns the average wait in seconds in the Erlang C queueing model, for a given number of servers, period length, number of calls per period, and average handle time.

Syntax

ErlcWait4( nsrv, secondsPerPeriod, callsPerPeriod, ahtSeconds)

nsrv is the number of servers, and can be any non-negative number (not necessarily an integer).

secondsPerPeriod is the period length in seconds.

callsPerPeriod is the number of arriving calls in the period.

ahtSeconds is the average handle time (mean duration of service), and can be any positive number.

Examples

Formula Description Return Value
=ErlcWait4(20, 1800, 100, 240 ) Returns the average wait time (in seconds) given that there are 20 agents, period length of 1800 seconds (one-half hour), 100 calls arriving during the period, and average handle time of 240 seconds. 2.243505841
=ErlcWait4(20, 1800, 100, 300) Same assumptions as previous example except average handle time is 300 seconds. 30.4312286

VBA Function Declaration

Public Function ErlcWait4(nsrv As Double, secondsPerPeriod As Double, callsPerPeriod As Double, ahtSeconds As Double) As Double

See Also

ErlcFractionDelayed

Remarks

You should take care not to call this function unless nsrv < trafficInErlangs.  In the case that nsrvtrafficInErlangs, the function theoretically should return "infinity"; what it actually does is return a very large number, 1050.

Please also always supply a value greater than 0 for aht.  It makes no sense theoretically to put aht = 0, and in this case the function will return the value 0.

The queueing model that applies here is the M/M/n/ queue, also known as the Erlang C queueing model. That is: Poisson arrivals, exponential service time, n servers, and infinitely slots for customers in the system.

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?

Case Study: Computing Average Wait in a Call Center

You may use ErlcWait4 to estimate the average wait time for incoming calls in a call center.  Suppose that we have a call center with these parameters during a certain period of time:

  Maximum number of calls that can be waiting:  Very large
  Period length:  30 minutes
   
  Number of agents:  103
  Incoming calls offered during the period:  1000
  Average handle time:  3 minutes

Assume further that the calls arrive in a Poisson process, that the handle times are exponentially distributed, and that the queue of waiting calls is processed in a FIFO manner.  Finally, assume that if a caller finds that all agents are busy, then the caller will wait until an agent picks up the call.

We are interested in estimating the average wait time t for all callers, where callers who are served immediately are included in the average with their wait time taken to be 0.  We use ErlcWait4 as follows.

The average wait time is

t = ErlcWait4( nsrv, secondsPerPeriod, callsPerPeriod, ahtSeconds)
  = ErlcWait4( 103, 1800, 1000, 180)
  = 40.8478 seconds

Abstract Micro Systems, Nashville, Tennessee
Contact Abstract Micro Systems