Returns the number of servers required to achieve a desired average wait time in the Erlang C queueing model.
ErlcNsrvFromWait( trafficInErlangs, ahtSeconds, averageWaitSeconds)
trafficInErlangs is the offered traffic in erlangs (can be any non-negative number).
ahtSeconds is the average handle time, that is, mean duration of service (can be any positive number). Measured in seconds.
averageWaitSeconds is the desired average wait time (can be any positive number). Measured in seconds.
Formula | Description | Return value |
---|---|---|
=ErlcNsrvFromWait(10, 180, 15) | Computes the number of servers required for traffic load=10 erlangs, average handle time = 180 seconds, and desired average wait = 15 seconds. | 13.164668 |
=ErlcNsrvFromWait(100, 180, 15) | Same problem as above, except number of erlangs is 100. | 105.64029 |
Public Function ErlcNsrvFromWait(trafficInErlangs As Double,
ahtSeconds As Double, averageWaitSeconds As Double) As Double
ErlcFractionDelayed, ErlcNsrvFromWait4
Special cases. If trafficInErlangs = 0, then ErlcNsrvFromWait returns 0. If averageWaitSeconds = 0 and trafficInErlangs > 0, then ErlcNsrvFromWait returns a large number very close to 105 (100000). Theoretically the answer should be positive infinity in this case, but because of its implemention algorithm, ErlcNsrvFromWait always returns a number less than or equal to 105. In practical telecom scenarios, this limitation is not an issue.
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?
You may use ErlcNsrvFromWait to make a staffing calculation for a call center, when the staffing level is to be based on a desired average wait for incoming calls. 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 |
Incoming calls offered during the period: | 1000 |
Average handle time: | 3 minutes |
Desired Average Wait for calls | 15 seconds |
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 number n of agents that we must have available in order to achieve the desired wait time. We use the ErlcNsrvFromWait function as follows. First, we compute the offered load x in erlangs:
x = (calls per period)*(call length) / (period length) = 1000 * (3 minutes) / (30 minutes) = 3000/30 = 100 erlangs
Then the required number of agents is
n = ErlcNsrvFromWait( trafficInErlangs, ahtSeconds, averageWaitSeconds) = ErlcNsrvFromWait(100, 180, 15) = 105.6403
In other words, we will need between 105 and 106 agents to achieve the desired average wait time of 15 seconds.