Call Centre Simulator
Angela Jezewska
Management Consultant

Stochastic Models for Simulation of Call Centres

University of Manchester Institute of Science and Technology
Mathematics, Statistics and Operations Research Final Year Project

email for further information alec@shiftpatterns.com email author Angela Jezewska

The Call Centre Simulator program is available to purchase, please email for the Price List


Home Page   Description of Program   Purchase Details  Examples   Contact  Upgrade  Project  Consultancy  CDT

Abstract

The project "Stochastic Models for Simulation of Call Centres" is aimed at solving some of the problems faced by call centres when trying to discern how many operators are needed at any given time.

A call centre is a location where a group of operators answer telephone calls for a company, these call can be either internal, external or both. By using the data available from call centres, a stochastic simulation model of the operations of a call centre was created. This model is based on queuing theory mainly that of the M/D/c queue. This is a queue where the arrival rate of customers is memoryless, i.e. with Poisson distribution, a constant service time D and c identical servers.

This model can be of a lot of help the call centre managers when trying to determine how many operators have to be on duty because unlike equations to calculate average waiting times of customers the program will calculate individual waiting time quickly. Since the program is a stochastic model the program can be run many time with the same parameters but with different results. Thereby achieving a better idea of the situation. The program can also be used to test what would happen if an operator went to the toilet when everything was going smoothly. Would everything be going smoothly ten minutes later?

It is to questions like this that the answers must be known in order to staff correctly. After all it’s no good knowing how many staff are needed if there has been no allowances made for operators having breaks.

This project is an overview of queuing theory related to call centre operations and a program to simulate them.

 

Contents

 

Abstract

Page 1

Contents

Page 2

Introduction to the Project

Page 3

An Introduction into Call Centre Problems

Page 4

Queuing Theory

 
 

Introduction to Queuing Theory

Page 10

 

A History of Queuing Theory Outlining the Major Events

Page 15

 

Kendall’s Notation

Page 17

 

Mathematics for Queuing Theory

Page 19

 

M/M/c

Page 22

 

Generalised Poisson Model

Page 24

 

M/D/c

Page 27

Summary of Queuing Theory

Page 30

The Program

 
 

Introduction to the Call Centre Software

Page 31

 

Manual for Call Centre Software

Page 34

 

The Range of Results

Page 39

 

An Example of how the program could be used to simulate call centre operations.

Page 41

Real Life Examples

Page 45

Limitations of the Project

Page 48

Conclusion

Page 50

Bibliography

Page 51

Appendix

Page 52

Introduction to the Project

 

Queues have been a necessary but disagreeable part of our lives since time in memorial. The average person will spend 5 years of their life waiting in a queue, and therefore it is certainly desirable to do all that is possible to reduce this time. This is the purpose of my project. Like the father of queuing theory, A. K. Erlang, who worked for the Danish Telephone Company in Copenhagen, I will try to improve the service of call centres. I hope this will then give us back some time to smell the roses rather than rushing around like rats purely to wait in a queue.

The aim of this project is to produce a user-friendly simulation program to successfully calculate the number of operators required to maintain a reasonable waiting time for customer.

In pursuit of this aim it was necessary to consider the types of queues available to be used with in a call centre. For call centres the most popular is the post office queue but is that the most efficient?

There is also the problem of which model to use to simulate customers entering and leaving the system. The most popular equations are Erlang’s however do that suit simulation or are they merely for theoretical models?

This project proposes to answer these questions and use the results to simulate call centre operations.

 

 

 

An Introduction into Call Centre Problems

In call centres, they usually have large display monitors or some other device to display information to the operators. The items displayed are a selection from;

  • Number of calls Today
  • Number of calls currently in the Queue
  • Number of abandoned calls Today
  • Number of operators currently engaged in handling a call

These displays are for two different sets of people;

  1. The Supervisors who can monitor the call centre operations using a ‘look up and see what is happening’ quality control method. If they ‘look up’ and see that all the operators are busy and the Queue is less than a predetermined number, everything is running smoothly. And if one of these parameters is above the predetermined number, then the Supervisor needs to amend the operations to bring the parameters back to normal
  2. The operators who can see the numbers in the Queue and therefore plan their current and next call. They know the Supervisor will react if a parameter exceeds a predetermined limit and act accordingly. They also know what happens if the parameters fall below certain limits and Human Nature being what it is, the operators try to ‘work the system’ if a method exists that enables them to do less work. In the long term, this drives innovation forwards, but in the short term it drives most Supervisors crazy.

If we look at the three most popular methods of dealing with a Queue, we can simulate how Human Nature alters the mathematical modelling.

Method 1: The Post Office Queue

All customers form one Queue and are dealt with by the first free operator. Each operator can see the Queue and the other operators. As an operator finishes with the current customer, they wrap up the operation and flag that they are free for the next customer. Each operator will deal with different numbers of customers per shift, but the work time will be almost identical for all operators.

Method 2: The Supermarket Queue

There are as many Queues as there are operators and customers can join any Queue at their discretion. Queues tend to have a similar length irrespective of the time it takes to deal with each customer. Customers are free to leave one Queue and join another albeit they will have to start the Queue at the back. Each operator will deal with different numbers of customers per shift, but the work time will be almost identical for all operators.

Method 3: Allocation By Arrival Rate

The operators are allocated the customers in turn at the time of their arrival. Each operator will deal with exactly the same number of customers but the time-spent working will be different. The customers cannot see the operation, they are blind.

Each of these methods can be modelled mathematically, until Human Nature takes control. What Call Centres need to know is "which is the most efficient?" On the face of these descriptions, methods 1 and 2 would appear more efficient, but are they?

Operator Efficiency

Methods 1 and 2 do not encourage each operator to perform an efficient operation. The time-spent working is identical no matter how efficient they are. Indeed, when Queue lengths are less than the number of operators, there is a disincentive to finish quickly, since each operator that does finish quickly means that the last operator to finish will not have any work to do. Also, the only way that an operator can establish a break in the work, is to ‘sabotage’ the operation. (Sabotage comes from the Sabot, a shoe, that workers would throw into machinery to stop work) Sabotage can take many forms, including using forms!

Example

In a supermarket, bar coding is not 100% efficient, hence an item incorrectly coded stops the process. When this happens an operator has 3 choices, they can call the ‘bar code finder’ to find the information whilst they carry on working, or, they can stop working at each instance until the correct bar code is found. Or, they can store the incorrectly bar coded items until the end of the operation and call in the ‘bar code finder’ at that point. The first choice leaves little time for breaks, the latter two choices can include a long rest period(s). Which operation is observed most often? I think all 3 are equally observed and the question is why is the first one, the most efficient but gives the least down time, seen at all? Usually this choice is selected when any delay in the operation eats into the operators allotted time off. They may be going off shift or it might be break time, whatever the cause, the operator does not want a slowing down of the operation to cause the operation to encroach into ‘their’ time. This is called ‘job and knock’.

Method 3 is popular because it encourages operators to finish each operation efficiently. There is no incentive to dawdle. The better the operator, the more downtime they have as individuals. The operators have incentives to learn best practise. Supervisors can establish the current efficiency of the operation using a parameter, which measures ratio of work time and downtime, and use comparisons between operators. There are 2 bad points however, the first is that operators have an incentive to finish the operation as soon as possible which can introduce errors in the proceedings. The second is that customers can feel under pressure to finish quickly, which is bad policy if the business expects to establish a long term relationship with its customers and have repeat orders. The operators also know that if the downtime exceeds certain limits, then the number of operators will be reduced accordingly. It might be that operators will lose their jobs and those that remain want pay increases to reflect their contribution to the increase in company profits.

Humans are gregarious by nature, hence in quiet periods, the calls are often longer on average because the operators ‘like to chat’ to the customers. This effects the statistics.

There are special exceptions to the above Queuing analysis, when life and limb are involved. The emergency services must use Method 1, since Method 3 would be unacceptable, operators cannot be idle if peoples lives are at stake. However, most of the calls to 999 are not life threatening emergencies. They are not time critical. For example, most burglaries will be reported when they are discovered, which is when people wake up, arrive at work or get home at lunch or evening time. These none time-critical calls can be handled just as easily by Method 3, if the burglary call number was different, say 998.

In the program I have used method 3 in the analysis, since this is the least affected by Human Nature. Each operator handles the calls in strict rotation. If calls are abandoned, only the operator assigned to handle that call is affected. For instance, if there are 5 operators, then Operator #1 will be assigned calls #1,# 6, #11, #16, etc. If call #11 is abandoned, then the operator moves onto call #16.

Impatient customers

Many customers are impatient because of the hectic lives we lead. Therefore when we have an excessive wait on our hands, we are tempted to give up and do something else. Customers in a queue are no different. When faced with a large wait a customer may decide to leave before being served. There are three ways in which customers may leave. Baulking; customer see length of queue and decides to leave without joining it. Reneging; customer joins queue and then decides to leave because they consider the queue to be too long or not moving fast enough. Jockeying; the customer moves in-between different queues in an attempt to get served fastest, this will normally lead to disappointment because the queue the customer is in has only a probability of a 1/3 of finishing first in most circumstances. This is because a customer can see three queues (his and the two either side) and all things being equal, his queue will only finish first in one out of three times.

In Call Centres, there is no baulking or jockeying because the customer has no idea which queue is the shortest or how long their expected wait is. However an awful lot renege because the customer joins the queue, waits a reasonable length of time and then ends the call. The customer may call back when he has more time or may take his business elsewhere. Both of these cases are bad business. In the first, the company gains a bad reputation for poor service and looses business as a consequence. In the second the company losses business. Loss of business equals loss of profit. Therefore the manager must ensure that the waiting time is at a suitable level to ensure good business relations while keeping costs to a suitable level.

The diagram on the next page shows how to minimise total cost. The manager of the call centre must attribute a cost to the loss of a call and then work out how to staff correctly.

A call centre manager must know the following in order to calculate the number of staff required:

    1. Cost of staff per hour
    2. Number of calls per hour
    3. Average waiting time of calls depending on number of staff on duty.
    4. Percentage of calls abandoned at any given average waiting time.
    5. Cost of each abandoned call.

This project is designed to help call centre managers by advising them how long the average waiting time will be depending on how many staff are on duty.


This information combined with the others mentioned above and proper staff scheduling knowledge will create a well-managed call centre.

Introduction to Queuing Theory

"In queuing theory, we study situations where units of some kind arrive at a service facility for receiving service of some description, some of the units have to wait for service, and depart after service."

(Kashyap and Chaudhry, 1988)

In all situations where units arrive at some facility, which serves and eventually releases them, there are six basic elements in terms of which the servicing system can be described:

    • Distribution of arrivals
    • Service pattern
    • Queue discipline
    • System capacity
    • No. of service channels
    • Number of service stages

There are two ways of describing how a queue forms, by means of a probability distribution for the number of arrivals over a fixed period of time or, by the distribution for the times in-between the arriving customers.

Number of arrivals over a fixed time

Arrival distribution, this specifies the probability that | customers will arrive during a given period of time. There are various theoretical distributions, which might describe such a process, in this example I will use the Poisson Distribution.

f(| )= (k t)| · e-k t

| !

f(| ) is the probability that there will be | Poisson arrivals during a time interval of length t. Here k is the arrival rate, the average number of arrivals per time unit.

Interarrival distribution

To find the probability that the time between two successive arrivals lies between two arbitrary numbers, a and b, say, is the probability that there are zero arrivals up to time a multiplied by the probability that there is one arrival between a and b. Using the above equation, the probability that there are zero arrivals up to time a is e-k a, and the probability that there is one arrival between a and b is 1- e-k (b-a).

  • e-k a - e-k b

This is an exponential distribution.

From the graph above, the shaded area under the graph gives the probability of a customer arriving with in the interval (a, b).

Distribution of Arrivals

In the majority of cases the customers arrive in a stochastic pattern, and therefore it is necessary to know the probability distribution of the interarrival times. Sometimes customers may turn up simultaneously therefore the probability distribution of the size of the batch is required.

When dealing with human customers, they may become impatient. If the queue is too long or is moving too slowly the customer may decide not to enter the queue in which case they have balked. Or the customer may leave the queue in which case they have reneged. If there are parallel queues the customer may move in between them and is therefore a jockey. In these cases the arrival process may be said to be state-dependent. A customer once having left the queue may renter, this is poetically common in call centres where the customer may loss the connection when on a mobile.

Sometimes the arrival distribution does not depend on time and is therefore called stationary. If it is time dependent then it is nonstationary.

Service Pattern

A probability distribution is needed to describe the customer service pattern. In most cases the server will serve one customer at a time but in some cases the server may serve in a batch. In some cases the service process may be state-dependent i.e. the server may work faster when the queue builds up or may become inefficient and flustered.

The service pattern may be stationary or nonstationary, this is based exclusively on how long the operator had been in the system, e.g. they may become less efficient as time passes because they are getting tired. In the majority of cases service and arrival patterns are mutually independent.

Queue Discipline

This is concerned with how the customers are selected for service once a queue had formed.

FCFS (fist come, first served) this is used in post office queues and supermarket queues, etc.

LCFS (last come, first served) this is used mainly in inventory.

RSS (random selection for service) the customers are selected for service completely randomly independent of time of arrival.

PR (priority) each customer is given a value of priority, e.g. how much money will be generated though their custom, and are served in the order of their priority.

GD (general description) there are two general descriptions, which are based on priority.

  • Pre-emptive: a customer comes in with a higher priority rating than the customer being currently served. The customer being served is pre-empted i.e. the service is stopped. The higher priority customer is then served and once their service has been completed the pre-empted customer can either start afresh or continue from the point of pre-emption.
  • Non-pre-emptive: a customer comes in with a higher priority rating than the customer being currently served. The higher priority customer is then moved to the front of the queue but is not served until the lower priority customer has been served.

System Capacity

In some cases there may not physically be enough room in the waiting room and so when a queue reaches a certain size forced balking takes effect. These systems are referred to as finite queuing systems.

Number of Service Channels

There are two types of service channels, one where there are multi parallel servers feeding of a single line, or multi parallel servers with their own queue. These servers in both cases can serve customers simultaneously.

Number of Service Stages

A queuing system may have a single stage server or a multi stage server. Each stage may have a different service pattern and recycling or feedback may occur i.e. when a service has not been completed properly and so must be completed before another stage may take place. In some cases the service may have to be done in a predetermined order or the order may differ depending on each customer. E.g. self-service restaurant, some customers may only require food where as others will require food and drink and desert.

 

 

A History of Queuing Theory Outlineing the Major Events

"We study the phenomena of standing, waiting, and serving, and we call this Queuing Theory"

(Kleinrock, 1975)

1909 A.K. (Agner Krarup) Erlang ( also known as the "Father of Queuing Theory")published his first paper on queuing theory

"The Theory of Probabilities and Telephone Conversations"

1920 G.F. O'Dell major pioneer in queuing theory

1922 E.C. Molina major pioneer in queuing theory

1928 Thornton Fry ‘Probability and its Engineering Uses’ major pioneer in queuing theory

1927 E.C. Molina wrote ‘Application of the Theory of Probability to

Telephone Trunking Problems’

1930 Felix Pollaczek major pioneer in queuing theory

1931 Further work was done by Kolmogorov

1932 Khinchin M/G/1 Queues: The Pollaczek-Khinchin Formula

and C.D. Crommelin "Delay Probability Formulae When the Holding Times are Constant",

1936 Conny Palm ‘Intensity Variations in Telephone Traffic‘

  1. Kendall introduced the A/B/C type queuing notation
  1. Frank Haight introduced the concepts of balking, reneging, and parallel queues

1961 The proof of Little's formula was published, Saaty's "Elements of Queueing Theory,"

  1. A.M.Lee added the symbols d and e to Kendall’s notation.
  1. Percy Brill developed the level crossing method
  1. Marcel Neuts introduced the matrix analytic method.

 

Erlang first pioneered queuing theory in 1909, however the golden age did not occur until the 1950 with the introduction of Kendal’s notation.

Kendall’s notation

"... a queue is a line of customers waiting to be served."

(Lester Lipsky, 1992)

In 1953 Kendall published his notation for queuing theory, this notation is still in use today and is the most widely used throughout the queuing literature. From now on the types of queues included in this project will be described using his notation.

A/B/c/N/K where:

A the interarrival distribution

B the service time distribution

C the number of parallel servers

N the system capacity

K the queue discipline.

For A and B the following symbols are traditionally used:

GI general independent interarrival time;

G general service time distribution;

Hk k-stage hyperexponential interarrival or service time distribution;

Ek Erlang-k interarrival or service time distribution;

M Exponential interarrival or service time distribution;

D deterministic (constant) interarrival or service time distribution;

PH phase type.

For K the following symbols are traditionally used:

FCFS First come, first served;

LCFS Last come, first served;

RSS Random selection for service;

PR Priority;

GD General discipline.

Usually the shorter notation A/B/c is used and it is assumed that:

  • there is no limit to the queue size,

  • the customer source is infinite,

  • the queue disciple is First In First Out

Mathematics for Queuing Theory

 

"...the theory of queues deals with the investigation of the stochastic law of different processes arising in connection with mass servicing in cases where random fluctuations occur."

(Takacs, 1962)

Markov Property and Markov Chains

Let t0< t1<… tn-1< tn where n=0,1,2… and t is a point in time.

If {an} is a set of random variable dependent on time. Then the set has a transition probability and is a Markov Process if the following Markovian property applies.

P{an = xn ½ an-1 = xn-1, …, a0 = x0 } = P{an = xn ½ an-1 = xn-1}

Where x1, x2,…xn is a known state.

This means that the probability of being in state xn at time tn depends only on being in state xn-1 at time tn-1.

Markov Chains is a special case of a Markov Process.

If there is finite number of states {xn} where each state is mutually exclusive and at any point in time (tn) the system is in one of these states and that the system is Markovian.

From this a homogeneous transition matrix P can be defined where each probability is fixed and independent of time.

[

]

P{an = 0½ an-1=0}

P{an = 0½ an-1=1}

P{an = 0½ an-1=2}

P{an = 1½ an-1=0}

P{an = 1½ an-1=1}

P{an = 1½ an-1=2}

P =

P{an = 2½ an-1=0}

P{an = 2½ an-1=1}

P{an = 2½ an-1=2}

P{an = 3½ an-1=0}

P{an = 0½ an-1=1}

P{an = 3½ an-1=2}

The sum of all probabilities contained in P is equal to one and no probability is less than zero.

The sequence {an} is a homogeneous Markov Chain.

 

 

The Exponential Distribution

Definition:

f(t) = l e-l t, where tm 0 and l >0.

Probability Density Function:

F(t) = 1 - e-l t, where tm 0 and l >0.

Expectation:

E(t) = 1/k

The exponential distribution is very important to queuing theory since as with the interarrival times of customers the exponential distribution is random due to it’s lack of memory.

The exponential distribution is oblivious to how much time has pasted, i.e. if 10 minutes or an hour has pasted since the last customer entered the system then the residual probability until the next customer arrives is the same.

Let I be the time interval since the last customer arriving where I>0.

 

P{t>X+I½ t>I} = P{t>X+I, t>I} = P{t>X+I} = e-l (I+X) = e-l X = P{t>X}

P{t>I} P{t>I} e-l I

 

The Poisson Distribution

Probability Density Function:

F(t) = l ke-l , where tm 0 and l >0.

k!

Expectation:

E(t) = k

Variance:

Var(t) = l

Note the Poisson Process is also independent of previous time like the exponential distribution.

 

 

 

M/M/c Queue

"A queue, or a waiting line, involves arriving items that wait to be served at the facility which provides the service they seek."

(Saaty,1932)

This queue has a Poisson arrival rate of l , c= number of servers and mean time of customer service of E(S).

By using the standard results in Appendix 3, the proportion of customers delayed, average number of customers in the queue and the average waiting time of customers can be calculated.

How to calculate these results where Pj = probability of the average time when j customers are in the system and Pj is and approximation of Pj.

    • Let P0 = 1
    • Calculate Pj for j<c-1.

Where Pj = l Pj-1 . E(S)

j

    • Calculate the server utilisation (r ) which is the proportion of time that the

servers are busy where: r = l E(S)

c

c-1

    • ¡ = S Pj + r Pj-1

j=0 1-r

 

To calculate Pj for any j:

 

{

l Pj-1 . E(S)

: j=0,1,…c-1

 

Pj =

¡ j

   
 

r j-c+1 Pj-1

: j >c-1

 

The proportion of customers delayed:

r Pc-1

1-r

Average number of customers in queue:

Lq = r 2 Pc-1

(1-r )2

Average delay of customers:

Wq = r Pc-1 E(S)

c (1-r )2

I have written an excel file to calculate these results. See appendix 4.

 

Generalised Poisson Model

 

"A queue or waiting line is formed when customers arrive at a counter offering certain facilities and demand service."

(Prabhu,1997)

This model is based on both Poisson arrivals and departures. This is generally a steady state behaviour i.e. the operation has been in use for some time, so it has settled down into a routine. Therefore the transient or start up state is ignored. This model assumes that the service time is state dependent i.e. it depends on the queue length. Therefore if the queue is long then the operators will speed up and vice versa.

Let

N = the number of customers in the queue.

l n = state dependent arrival rate of customers.

m n = state dependent departure rate of customers.

Pn = probability of n customers currently in the system

Pn is a function of l n and m n. This can be used to determine the performance of the system, by calculating queue length and average waiting times. Therefore the effectiveness of the system can be determined.

Transition-rate diagram originally from The Sixth Edition of "Operational Research an Introduction" by Hamdy A. Taha (1997).

 

From the axioms in appendix 1

P(more than one event occurring within an interval) ® 0 as h ® 0

Therefore the number of customers (n) can change to n+1 or n-1 for n>0.

This is shown in the Transition-rate diagram above. When there are no customers in the system then the number of customers can only increase to 1 at a rate of l 0 and m 0 is undefined.

Therefore the probability of being in state n (i.e. having n customers in the system under steady-state conditions) is the probability of being in state n-1 and gaining a customer pulse the probability of being in state n+1 and loosing a customer.

= l n-1Pn-1 + m n+1Pn+1

The probability of leaving state n is therefore the probability of being in state n and gaining a customer pulse the probability of being in state n and loosing a customer.

= l nPn + m nPn = (l n+ m n)Pn

By equating these two probabilities

Þ l n-1Pn-1 + m n+1Pn+1 = (l n+ m n)Pn

Substituting n=0

Þ l -1P-1 + m 1P1 = (l 0+ m 0)P0 since l -1P-1 and m 0 is undefined

Þ m 1P1 = l 0P0

Þ P1 =(l 0/m 1) P0

 

Substituting n=1

Þ l oP0 + m 2P2 = (l 1+ m 1)P1

Substituting P1

Þ l oP0 + m 2P2 = (l 1+ m 1) (l 0/m 1) P0

Þ m 2P2 = l 1(l 0/m 1) P0

  • P2 = l 1l 0 P0 / (m 1m 2)

If this substituting of n is continued to n=m, we get

  • Pm = (l m-1l m-2l o)P0 / (m mm m-1m 1) for m=1,2,3…

º

P0 = 1- å n=1 Pn

Now the probability of being any state can be determined.

 

 

 

 

 

 

 

M/D/c Queue

"A queue, or a waiting line, involves arriving items that wait to be served at the facility which provides the service they seek."

(Saaty, 1932)

The M/D/c queue has customers arriving in a Poisson formation at a rate k , with a customer service time D and c identical parallel servers.

Assuming traffic intensity q = k D/c <1.

Any customers who are being served at time t, will have left the system at time t+D, since the service time is a constant D. Therefore any customers present within the system at time t+D are customers who, were in the queue at time t or customers that arrived in the interval (t, t+D). Let Pj(s)be the probability that at time s there are j customers in the system.

c c+j

Pj(t+D) = S Pk(t)e-k D(k D)j +S Pk(t)e-k D(k D)j-k+c j=0,1,2…

k=0 j! k=c+1 (j-k+c)!

If the number of arrivals within a time D is Poisson distributed with mean k D and if t V ¥ then,

c c+j

Pj = e-k D(k D)j S Pk+S Pke-k D(k D)j-k+c j=0,1,2…

j! k=0 k=c+1 (j-k+c)!

Normalising the equation

¥

  • S Pj = 1

j=0

c-1

Pj » (c-l Dt )-1 t -j S pk(t k-t c)

k=0

where t is the unique solution within the interval (1,¥ ) to:

el D(1-t )t c = 1

Let ¥

Lq = S (j-c) Pj

j=c

¥

  • Lq = 1 [ (cr )2 – c(c-1) + S {c(c-1) – j(j-1)Pj ]

2c(1-r ) j=0

Using Little’s formula with T = time spent by a customer in a queuing system (waiting and being served) and E(T)= the average delay for a customer. E(n) is the average number of customers in the queue and k is the arrival rate for customers. Little's Formula, first published in 1961, states k E(T)=E(n). Therefore Lq = k Wq, where Wq is the waiting time distribution.

 

To calculate Wq(x)

Let m = [x/D] where m is the largest integer contained in x/D.

Let u = x – mD.

Implement the following recursion scheme until bmc+c-1 has been acquired.

Wq(x) = bmc+c-1(u).

This result comes from "Stochastic Models An Algorithmic Approach" by Henk C. Tijms (1995). For a complete proof please refer to this book.

See Appendix 6 for results table waiting times.

 

Summary of Queuing Theory

"A Queuing System can be described as customers arriving for service, waiting for service if it is not immediate, and if having waited for service, leaving the system after being served."

(Gross and Harris, 1985)

Queuing theory while extremely interesting is exceptionally hard to understand and so from a practical point of view would be completely useless, since most managers would be utterly lost in the mathematics. Also while averages of waiting times are helpful, it does give a overview of the entire process as simulation does. The simulation takes each individual event while the equations take all the events as an average and are therefore not as useful. Simulation produces a picture of events, which is impossible only using the equations. All call centre workloads vary with time, and at present the analytical solution has not been found and therefore can only be approximated by simulation. It is impossible with queuing theory to reproduce human behaviour, as it is dependent on the state in which they find them selves. The generalised poison model tries to represent this attitude, however it can not reproduce laziness or inefficiency in one server, or in the case of 999 calls, it doesn’t matter how long the queue is each call must be dealt with properly and without impatience. Also some severs may wish to get though their work as quickly as possible so they can have longer breaks.

In conclusion queuing theory is helpful for basing simulations on but as a sole resource would be impractical in the working world.

 

Manual for Call Centre Software

Introduction to the program

A call centre is set up to answer telephone calls from outside the call centre. These might be from external callers such as the public, or from internal sources such as staff using computers and requiring support.

The aim of the Call Centre Program is to provide an estimate of the number of staff required to cover an anticipated number of calls at an expected level. The program attempts to replicate and simulate problem areas in a Call Centre by using the data that they collect. Call Centres collect certain data such as call volumes, call rate, queues and abandoned calls so the parameters are based on this data.

The program allows you to run the simulation of increasing call volumes, calculate the call delay and show how many calls are unanswered. When another operator(s) is brought in, this can be seen to reduce the call delay. When the call delay reaches zero, all the calls are answered.

The tricky situation is when the call rates increase from one level to another and a decision has to be made when to start another operator and for how long. Similar situations occur when operators take breaks, e.g. how long can they be away from their station before calls are delayed for too long, and how long must the interval be between one operator returning and the next one going off for their break. No other program solves this.

Introduction into staffing a Call Centre

A Call Centre is most profitable when staffing numbers are correct for the volume of calls and the level of service required by the client. Some Call Centres attempt to overstaff, e.g. if each incoming call generates a large profit, or when lives are in danger. This is because every missed call is expensive or peoples’ lives are put at risk. A Call Centre can also understaff so that all operators are working at 100% however, a certain number of calls will be abandoned. This can be simulated as well. However, a simple calculation will show this. E.g. if the operators can handle only 100 calls/hour then when the call rate is 200 calls/hour, obviously 100 calls are abandoned.

The best way for a call centre to operate is to work out the cost of one extra member of staff and calculate the amount of profit that will be created by employing them. E.g. if one extra operator means that 10 more calls per hour will be answered, and each call generates a profit of £5 and if the operator only cost £7 per hour then it is worth employing that extra operator.

For a certain number of calls or a call rate, and for an average time for each call, the program can work out the best number of operators to answer the calls. If too many operators are on duty, then the call delay is zero and you can see this immediately. As the operator numbers are reduced, there comes a point when the Call Delay is noticeable, hence you have the correct number of operators on duty. This can be worked out in other ways such as using the Erlang formulas, however that does not tell you what is happening as the calls are coming in. When there is a problem with the number of staff at a certain point, Erlang formulas will not tell you what is happening or how to rectify the situation.

Call operators are Humans, not machines and as such, they do not act and react like machines. In a Call Centre operation, due consideration must be given to ‘breaks’ in the day for drinks, food, etc. also for human nature e.g. a propensity to delay the start of work and to finish early. This behaviour is difficult to model and is not modelled in this program. What can be modelled is the average response from responsible people prepared to share work equally. For instance, it is possible to model a ‘slow’ operator that takes longer to deal with a call than the average. This would show up as a longer call delay average for all staff and could be plotted separately if required.

Without software such as this, which can simulate typical situations, Call Centre manager would have to guess results based on 'common sense', generally held ideas and experience. They can often be totally wrong when many factors need to be taken into account.

 

Manual for Call Centre Software

Figure 1

Figure 1 shows the input and results table.

Input Lines

Incoming Call Rate is the number of calls a call centre receives per half-hour. These include all calls abandoned and duplicate calls when abandoned calls are redialed into the call centre. Half an hour is defined to be from the start of the hour (or half hour) e.g. 12.00 to one second before the next half-hour e.g. 12.29.59.1 Call centres will always have some variation of these figures available.

Incoming calls Rate of change. Call centres never receive a flat rate of calls. The number of calls fluctuate depending on the time of day, e.g. people discover electricity faults which have occurred at home during the day when they get home from work, so an electricity company will have more calls after 5.00pm than at 2.00pm. This is entered as a percentage increase e.g. if the call rate increases from 50 to 100 calls per half hour you would enter x%, where x is the percentage increase in the two hundred calls covered by the program, e.g. 100. However this parameter has not been solved fully therefore a degree of inspection is needed.2

 

 

Average length of call is the time it takes to deal with the call from initiation to wrap up. I.e. time required on the phone and the time to deal with any paper work etc. produced by the call. Call Centres will have this information available. The program does not take this to be a random variable because it is not random but dependent on human nature.3

Number of Operators is the number of operators actually on duty to answer calls during the half-hour. The maximum number of operators is 25, due to the limited size of the program however this could easily be expanded indefinitely.

Initial Call Delay is the average number of seconds that a call is delayed for at the start of a cycle. The program will find this on the previous run. In the first run this parameter is zero, in order to find the delay on the last call. When you have found the delay on the last call enter it on consecutive runs as the Initial Call Delay.

Call Prematurely Terminated is a percentage of the total number of calls entering the system. Callers do not hang on forever and if they have been waiting too long will hang up. The call centre will have this information available to them however there is a problem when a call is started in one half hour and then abandoned in the second so this is not a hundred percent accurate. Call Canters will always have abandoned calls therefore they must be included in the calculations.

Calls waiting initially is the number of calls waiting to be answered at the start of the cycle. Call Centres will know this parameter.

After entering the parameters, I have set the program to generate new data by manual means. By pressing F9 key, a new set of calculations is produced.

Output Lines

Average Call Delay is the average delay experienced by the 200 calls. This is to be used to collaboration with the graph "Call Delay".4

The next set of results are to be used in collaboration with each other in order to determine the efficiency of the call centre with a particular number of operators.

This is to be used with "Initial Call Delay".5 This shows the time that the last call was answered.

This shows the time that the last call arrived. In this example the 200th caller would have arrived at 40.4 minutes into the cycle.

Last Call Delay is the time it took to answer the last call. In this example the last call was delayed for nearly 11 minutes. This is an unacceptable level of quality. Therefore more operators would be required.

Graphs

Call Delay

Figure 2

Figure 2 shows the Call Delay over the 200 calls.

This graph can be found by clicking on the tab marked "Call Delay" which is highlighted in the figure.

In this example the call delay is increasing with each call, therefore it is clear that more operators are required to combat this problem.

 

Call Rate

Figure 3

Figure 3 shows the Average Call Rate/per half-hour over the 200 calls.

This graph can be found by clicking on the tab marked "Call Rate" which is highlighted in the figure.

The above graph shows that whilst the average number of calls per half-hour is 150, the variation in time between incoming calls can vary between 125 and 170. This average is the rate at which any 5 adjacent calls come in. This shows the randomness of the incoming calls using the random factor and an appropriate Poisson Distribution.

 

1In queuing Theory this is referred to as l .

2Note that this rate of change has been approximated. For more information see limitations of project.

3See Introduction into call centre problems

4See page 35

5See page 33

 

 

 

The Range of Results

Every time the F9 key is executed, a different set of results will be calculated. In an operation such as this, there is not just one result, each ‘day’ is different and will produce different data. The program needs to reflect this randomness by producing a range of results and then staff accordingly.

Below are 4 results, all based on the same parameters.

 

 

The same data obviously produces different results due to the randomness of the incoming calls. Managers have to gauge their response to this variation when staffing a call centre. In this example, clearly all the call delays are less than 30 seconds and are acceptable.

It is important never to rely on one set of results from the program, all results are unique solutions. A range of results needs to be found to staff accordingly.

 

An Example of how the program could be used to simulate call centre operations.

 

We have the following parameters.

Call Rate is 100-calls/half hour, there are 10 operators, average call length is 180 sec’s, no calls waiting, no initial delay. See figure 4.

Figure 4

Figure 5

The results in figure 5 show that all calls are being answered with almost zero delay.

Everything is going fine, so an operator would like a toilet break, how long can they have?

This can be simulated.

First reduce the number of operators by one, therefore nine operators are available to answer calls. See figure 6.

Figure 6

This gives the following graph.

This graph shows that unanswered calls soon start to build up and if the call delay time is set to one minute as a maximum, this happens after about 40 calls. The results show that about 4 calls are waiting in the queue. See figure 7.

Often a call centre needs to find out how quickly a bad situation can occur. The above graph shows that almost instantly the delay starts increasing rapidly. An innocuous action can create serious difficulties and often does. The call centre tempo suddenly changes due to very simple causes, and it is often difficult to know where these causes originated.

Figure 7

This information shows that a 10-12 minute toilet break will generate a queue and a waiting time, very quickly.

Now the program can be run again with the operator returning to duty after 10 minutes, with a queuing time of 60 seconds and 4 people in the queue. See figure 8.

Figure 8

Figure 9

Figure 9 shows that it takes 140 calls to return to the situation prior to the operator’s 10-minute toilet break. At 100 calls/half hour, this is 40-45 minutes. Or in practical terms, the operators can only have toilet breaks at intervals of 55 minutes, so for 10 operators that is once per day!

A common problem for call centres is understanding why, when they have enough staff, the call delay time does not stay at a few seconds.

From this example the answer is obvious: they forgot to allow for breaks.

Real Life Examples

Example of Truck Manufacturer

A UK national breakdown service for buses and lorries experienced a problem whereby the predicted workload seemed to be correct but they were getting a large number of abandoned calls and more calls per job than anticipated.

A typical job was as follows:

  1. Bus or truck breaks down
  2. Driver calls for breakdown repair or recovery. =1 call
  3. Call Centre organises breakdown/repair by informing closest garage. = 1 call
  4. Garage attends breakdown and reports in and later reports closure of job or requires parts to complete job = 1 or 2 calls
  5. Call Centre organises parts for breakdown = 1 call
  6. Call Centre informs garage and breakdown of estimated time to complete job = 1 or 2 calls
  7. Garage reports closure of job. = 1 call

Average number of calls/job = 6, average call length 5 minutes.

All calls are placed onto one national phone number and all calls are dealt with in strict rotation, first come, first serve. Also, if an incoming call required a follow on outgoing call, this had priority.

The call centre had a penalty clause of £50 if the garage, within 60 minutes of notification, did not attend the breakdown.

The call centre software did not ‘flash up’ the incoming call initiators name and no records were held to associate phone numbers and drivers, or garages or parts stores (because most calls were from mobile phones)

The call centre anticipated breakdown rates and times fairly accurately from past data, but there seemed to be many more calls on average/job and many abandoned calls at the peak breakdown times. The question was; should they have more staff in the call centre than the Erlang formula predicted?

The call centre log, when sorted, showed that many abandoned calls were from the same phone numbers even though the initiator was not identified. Secondly, many more calls were placed at around 8-9am and 4-5pm, than anticipated in the predictions. The breakdown times showed, as expected, peaks before 8am and after 5pm.

When the breakdown calls were initially simulated, no one had inserted into the calculations the opening and closing times of the garages and the parts stores. Whilst the 60minute penalty referred to attending breakdowns, it did not refer to the overall completion times. Hence many vehicles would breakdown at night and weekends, be towed to the garage and the repair would start when the garage opened at 8am. The garages would call in for parts and estimated times of completion in the morning and evening. Also a ‘deadline of 5pm was in force for delivery of parts the next day.

All of this none essential breakdown call traffic swamped the centre with a ‘ball’ of calls at 8am and 5pm causing an overload which rolled on for several hours until it evaporated. This could be modelled by the simulator to test out various theories of possible solutions prior to implementation. Possible solutions ranged from having separate numbers for different types of calls, introducing a voice logging system with ‘call-back’, have the initiator ‘press 1 for breakdown’ and filter calls, have more staff on duty at 8-9am by overlapping the night and day shifts, or change the procedures above and enable bypassing of the call centre, i.e. the garage calls the parts centre directly. Other possibilities are email of some messages or have key codes for automating some procedures. And any combination of the above could be tried out. In fact, there are over a hundred possible combinations of these and other solutions, which can also vary according to the time of day. They are impossible to try out in ‘real life’ because of the time and expense it takes. They are just a few hours work on the simulator using the call log statistics and trying each possible solution in turn

 

Limitations of the Project

Unfortunately due to the limited time and size of this project there are several areas considered with this problem that had to be left unsolved or unacknowledged. This section is dedicated to theses lamented enigmas in the hope that one day they will be solved and the hope that the reader will not be limited by the size of the project and go on to understand the uncovered aspects.

During this project I was unable to simulate two types of call being received at once. Many call centres do not deal with only one type of call, for instance a call centre may receive call for internal and external sources. The internal calls may only take a fraction of the times that an external call would because the employees of the company will have had more experience with the system. Due to the limited time for the project and the limited size of the program I was unable to allow for this factor to be simulated.

One of the biggest problems in queuing theory is how to allow for a changing rate of incoming customers. This is a very big fact for call centres because like all other businesses they have their peak hours where the incoming rate of customers is higher than at other times. In the past the only way to calculate for this was to conveniently forget about what happens as the incoming rate changes and concentrate on what happens during off and on peak times. I have been unable to solve this problem but I have approximated an answer. It works on the basis of the incoming calls increasing linearly between the two rates. From the equation below the program can calculate the interarrival times and then by summing these results the arrival time of each customer can be calculated. Please note that 1800 is the number of seconds in half and hour.

Due to the limited size of the program I have only allowed for a maximum of 25 operators. This could easily be increased but I decided to limit it to a reasonable size to demonstrate the programs potential rather than to create a program to work for all systems. The number of calls that are calculated for are limited to 200 for the same reasons.

Due to the limited size of the report I was not able to go into the full details concerning the mathematics of the program or the queuing theory behind it. I therefore recommend The Sixth Edition of "Operational Research an Introduction" by Hamdy A. Taha (1997) and "Stochastic Models an Algorithmic Approach" by Henk C. Tijms (1995) as these were my main reference texts.

 

 

 

Conclusion

During the course of this project I have looked at many of the different aspects of queuing theory in relation to call centre operations. I have found that human nature has a large part to play in queues both from the server and customer point of view since at the end of the day they are both human.

I have analysed the different types available for a call centre and have selected Allocation By Arrival Rate as the most efficient queue type for a call centre. I have studied the different types of queues and selected the M/D/c queue as the best approximation the behaviour of a call centre system.

I created a program to simulate the M/D/c queue. This program I feel has great potential and I hope that one day it may be used to help staff call centres correctly. This type of program has been long awaited and with this program managers will be able to increase productivity of their operators and optimise efficiency.

I have used this program to simulate real life situations from the data I have collected from companies. These examples show that my program can improve the efficiency of call centres and help managers staff correctly depending on their needs.

This project has attained it’s aim to produce a user-friendly simulation program to successfully calculate the number of operators required to maintain a reasonable waiting time for customer.

 

Bibliography

"Stochastic Models an Algorithmic Approach" by Henk C. Tijms published 1995.

"Queuing Theory in OR" by E. Page published 1972.

Sixth Edition "Operational Research an Introduction" by Hamdy A. Taha published 1997.

"Fundamentals of Queuing Theory" Third Edition By Donald Gross and Carl M. Harris published 1998.

"Introduction to Queuing Theory" by Robert B. Cooper published 1972.

"Applications of Queuing Theory" Second Edition by G.F. Newell published 1982.

"An Introduction to Queuing Networks" by Jean Walrand published 1988.

"Principals of Operational Research" by Harvey M. Wagner published 1972.

Web sites used:

http://networks.ecse.rpi.edu/~vastola/pslinks/perf/node46.html

http://www2.uwindsor.ca/~hlynka/qhist.html

http://www2.uwindsor.ca/~hlynka/qdef.html

http://www.mcs.vuw.ac.nz/courses/OPRE352/Includes/netwklectures/jackson.html

http://wings.buffalo.edu/courses/sp01/ie/374/374qintro1/tsld005.htm

http://mie.eng.wayne.edu/faculty/chelst/informs/modules/armleg/armleg-teacher/brief.htm

http://www2.uwindsor.ca/~hlynka/queue.html

http://www.ms.ic.ac.uk/jeb/or/queue.html

http://www.doc.ic.ac.uk/~ajf98/past_work/queueing_theory/Andy/what_is_queueing_theory.html

http://www.doc.ic.ac.uk/~ajf98/past_work/queueing_theory/Andy/statistics.html

http://www2.uwindsor.ca/~hlynka/qfaq.html

http://www.cs.panam.edu/~meng/Course/CS6354/Notes/meng/master/node4.html

Acknowledgements

I would like to acknowledge my supervisor, Professor Patrick Laycock, for all the beneficial discussions on queuing theory. I would like to thank my father for finding companies to contribute data and for teaching me how to use lotus.

 

 

Appendix 1

The exponential distribution is based on three axioms:

Axiom 1: Given N(t), the number of events during the interval (0,t), the probability process describing N(t) has stationary independence increments, in the sense that the probability of an event occurring in the interval (T,T+S) depends only on the length of S.

Axiom 2: The probability of an event occurring in a sufficient small time interval h>0 is positive but less than 1.

Axiom 3: In a sufficiently small time interval h>0, at most one event can occur-that is, P{N(h)>1}=0.

This reference is taken from The Sixth Edition of "Operational Research an Introduction" by Hamdy A. Taha (1997).

Appendix 2

Steady-State Measures of Performance

The most commonly used measures of performance in a queuing situation are

Ls = Expected number of customers in system

Lq = Expected number of customers in queue

Ws = Expected waiting time in system

Wq = Expected waiting time in queue

C = Expected number of busy servers

º

Ls = S npn

n=1

º

Lq = S (n-c)pn

n=c+1

The relationship between Ls and Ws (also Lq and Wq) is known as Little’s formula, and is given as

Ls = k effWs

Lq = k effWq

The parameter k eff is the effective arrival rate at the system. It equals the (nominal) arrival rate k when all arriving customers can join the system. Otherwise, if some customers cannot join because the system is full, then k eff < k .

Ws = Wq + 1/l

1/l = expected service time

Ls = Lq + k eff/l

C = Ls - Lq = k eff/l

 

This reference is taken from The Sixth Edition of "Operational Research an Introduction" by Hamdy A. Taha (1997).

 

 

 

 

 

 

Appendix 3

Standard formulas for the M/M/c queuing model

This system assumes that the arrival process is Poisson with rate l , the service time is exponential with mean E(S) = 1/m and c identical servers.

Definition

r = l E(S) <1

c

The following recursion relation gives Pj the average time probabilities where j customers are in the system:

Min(j,c) m Pj = l Pj-1, j=1,2,…

A simple computational scheme can be based on this relation:

Pj = r j-c+1 Pc-1, j>c-1.

Algorithm

Step 0: Initialise P0:=1.

Step 1: For j=1,…,c-1, let Pj:= l Pj-1/(jm ).

Step 2: Calculate the normalising constant ¡ form

c-1

¡ = S Pj + r Pj-1

j=0 1-r

Normalise the Pj ‘s according to

Pj : = Pj /¡ for j=0,1,..,c-1

Step 3. For any j> c-1, Pj = r j-c+1 Pj-1

Since r j-c+1 Pj-1 for j>c-1, we can find the long run fraction of customers who are delayed, given by:

r Pc-1

1-r

Using the representation Lq = S º j=c (j-c)Pj, we find the long run average number of customers in queue is given by

Lq = r 2 Pc-1

(1-r 2)

The average delay in queue of customers equals,

Wq = r Pc-1 E(S)

c (1-r )2

in agreement with Little’s formula Lq = l Wq.

This reference is taken from "Stochastic Models An Algorithmic Approach" by Henk C. Tijms (1995).

 

Appendix 4

Please see attached disc for program entitled Calculations for MMc queue.

This program works out the calculations for and M/M/c queue.

Step one: enter the parameters arrival rate l , the service time mean E(S) = 1/m and c number of identical servers. Into the yellow boxes A2, B2, C2 respectively.

Step two: Go to column M (Purple) and find the number of servers in the example, e.g. if you entered 4 into C2 then go to M7.

Step three: Look along the row related to your c and find the proportion of customers delayed, average number of customers in queue and average waiting times in columns P, Q, R respectively.

 

 

 

 

Project in MS Word
Please download as self extracting file

More information about C-Desk Technology

Tel: +44 1 636 816466 Fax: +44 1 636 816882 E-mail alec@shiftpatterns.com

Contact: Alec Jezewski CDT (C-Desk Technology) http://www.visualrota.co.uk

The Old Vicarage, Station Road, Rolleston, Newark, Nottinghamshire, Great Britain, NG23 5SE


Feedback Form

Name/Position:

E-Mail:

Type of Organization?:

Where in the World are you?:

Please add your comments or request:

Did you find this page of any interest to you or was it useful.

2004 Copyright. All rights reserved.