You are on page 1of 33

An Optimal Design of the

M/M/C/K Queue for Call Centers


William A. Massey
Department of Operations Research
and Financial Engineering,
Princeton University
wmassey@princeton.edu

1
Acknowledgements

This is joint work with Rodney B. Wallace of IBM and


George Washington University.

Related paper to appear in QUESTA.

2
Telephone Call Centers

3
Our Research Goal
We have a call center manager who serves a given
customer base. The average calling rate and times
in service are known for these customers. Moreover,
they expect a specific level of service performance.

Our goal is to develop formulas and algorithms to


assist the manager in finding the minimal number of
call agents and telephone lines needed to provide
a given service level target.

4
Call Centers with Instant Answering:
The M/M/∞ Queueing Model
1

 2  Q∞


We have a Poisson arrival rate , mean service time


1/, as well as an infinite number of call center agents
and telephone lines. 5
Steady State Properties of Q∞
• Setting  the number of customers in the
system Q∞ has the Poisson distribution
n
e  
P(Q n)  .
n!
• The mean number of customers in the system Q∞
equals its variance and is called the mean offered
load or the mean number of requested call agents.
E[Q ] Var [Q ]  .
6
Call Centers with “Music” (Delays):
The M/M/C/∞ Queueing Model
1

 2  min(QC/ ∞, C)
∞  2 1 

We have a Poisson arrival rate , mean service time


1/, C call center agents and an infinite number of
telephone lines. 7
Steady State Properties of QC/∞
Let the random variable DC / ∞ be the delay for the
customer arriving to the M/M/C/∞ queue in steady-
state, which holds if and only if C (i.e. the
mean
number of requested call agents is less than the
number of available call agents). We define the
probability of delay to be

C (  ) P( DC /   0) P(QC /  C ).
This is called the Erlang C-Formula.
8
Applications of the
Erlang C-Formula
• It can be shown that the probability of the
delay exceeding t is
 ( C   ) t
C /  (  ,  , t ) P( DC /   t ) C (  )e .
• The mean queue length and delay are
 C (  ) C (  )
E[QC /  ]   and E[ DC /  ]  .
C  (C   ) 

9
How to Compute the
Erlang C-Formula
C  C (  )
C (  ) 
C     C (  )
where  < C and C is the Erlang B formula,
which solves the recursion relation
 C  1 (  )
C (  )  , where  0 (  ) 1.
C   C  1 (  )
10
Call Centers with Music and
Busy Signals: The M/M/C/K Queue
1

 1{Q < C+K} 2  min(QC/K, C)


C/K
K  2 1 

We have a Poisson arrival rate , mean service time


1/, C call center agents, and C + K telephone lines.
11
The M/M/C/K Design Problem


 The Design (C,K) = ?
 Problem
t

Given:  = customer calling rate,1/ = conversation


time,  = blocking probability, t = delay threshold,
 = conditional delay probability for exceeding t.
Find: The minimal number of agents C and phone
lines C+K needed for the  and t requirements. 12
Ad-Hoc Erlang Design Solution
1. Let the effective arrival rate be*=(1-).
2. Using an arrival rate * and a service rate , find the
smallest C such that P(DC / ∞ > t) < .
3. Compute E[DC / ∞].
4. Let the effective service time be 1/*=1/+ E[DC / ∞].
5. Using an arrival rate  and a service rate *, find the
smallest L such that P(QL / 0 = L) < .
6. Now let K = (L-C)+.
Now we replace this ad-hoc method with two
new approaches (exact and asymptotic). 13
Performance Variables
QC/K = random number of customers in the M/M/C/K
system in steady-state. This is also called the carried
load or the number of customers that gain access to
a call agent.

DC/K = random conditional delay for the M/M/C/K


queue in steady-state.

14
Performance Measures
C/K() = P(QC/K = C+K)
= blocking probability (call center availability).

C/K(t) = P( DC/K>t | QC/K < C+K ).


= conditional probability of delay
exceeding t (speed to answer).

C/K() = P( DC/K>0 | QC/K < C+K )


= conditional delay probability.

15
M/M/C/K Steady State Results
C (  ) (  / C ) K (C   )
C / K (  )  K
,
C    C (  ) (1  (  / C ) ) 
C (  ) (1  (  / C ) K ) C
C / K (  )  K1
,
C    C (  ) (1  (  / C ) ) 
K i
K1 1   C  e  C t i
(  t )
C / K (  ,  , t ) C / K (  )  K
 ,
i 0 1 ( / C) i!

and L’Hopital’s rule applies when C.


16
Blocking Probability Limit
It follows from our blocking probability formula that

lim  C / K (  ) (1  C /  ) 
K 

and this is a decreasing limit.

Hence for all 0<<1, we can say that C/K < 


holds for some finite K if and only if  < C.

17
Delay and Blocking Monotonicity
Properties for (C,K)
If C1 < C2 and C1 + K1 < C2 + K2 , then
 C1 / K1 (  )  C2 / K 2 (  )
so the blocking probability for the first system is larger.

If C1 < C2 and C1 + K1 > C2 + K2 , then

C1 / K1 (  ,  , t ) C2 / K 2 (  ,  , t )
and the delay for the first system is larger. 18
Defining a Minimal (C,K) Pair

The cost of an additional telephone line is insignificant


compared to the cost of an additional call agent. We
then define the pair (C1,K1) to be “smaller than” the
pair (C2,K2) if C1 < C2 or we have C1 = C2 and K1 < K2.

19
Exact Search Design Algorithm
K

3. First (C,K) Pair with


Delay > or Blocking <  (and Delay < ?).
C < 
Region
Smaller Blocking
Larger Delay

2. Last (C,K) Pair with


Delay < and  < C.

Larger Blocking
Larger Delay
Blocking > 
0. Blocking=1 Region 1. First (C,0) Pair with
and Delay=0. Blocking <  and Delay = 0.
20
Smaller Blocking
C
Square Root Rule of Thumb
for the M/M/C/K Design Problem
For instant answering (infinite number of agents), the
number of customers in the system has a Poisson
distribution with mean and variance equal to .

The optimal number of agents required should be close to


the mean number in this system plus some constant x
times its standard deviation, which is C =  + x √.

A well-designed system should only have people waiting as


an exceptional case so the amount of waiting spaces
should equal the standard deviation of this system times
some constant y or K = y √.
21
Asymptotic Behavior of the
Erlang B-Formula
Taking the limit as the mean offered load becomes
large, while using the square root rule of thumb, we
have
 ( x)
lim     x (  )  ,
  
 ( x)
where
x
1 x 2
/2 1  y2 / 2
 ( x)  e and  ( x)  e dy.
2 2 
22
Defining the Special Function 
If we define the function (y) for all positive y to be
 ( ( y ))
 y,
 ( ( y ))
then it is the unique solution to the differential equation
1
 ( y )  and  ( 2 /  ) 0.
y ( y  ( y ))

23
Blocking Asymptotics
We can show that
lim ρ  ρ  x (  )  ˆ ( x, y ),

  ρ y ρ

where
 xy
xe  ( x) /  ( x)
ˆ ( x, y )   xy
,
x  (1  e ) ( x) / ( x)
and setting x =(z) gives us
  (z) y
ˆ  ( z ) e z
 ( ( z ), y )    (z) y
.
 ( z )  (1  e )z 24
Asymptotic Blocking Level Curve
The (x,y) pairs where
ˆ ( x, y )  
can be parameterized by
x  ( z )
when (z) > 0, and

y
1
log 

 z  ( z )     
.
 ( z)     ( z )  z  
 
25
Delay Asymptotics
We can show that
lim ρ  x
  ρ y ρ   ,  
ρ ˆ ( x, y,  ),

where
(e  x  e  xy )   ( x) /  ( x)
ˆ ( x, y,  )   xy
,
x  (1  e ) ( x) /  ( x)
and setting x =(z) gives us
  ( z )    (z) y 
(e e ) z
ˆ ( ( z ), y,  )    ( z) y
.
 ( z )  (1  e )z 26
Asymptotic Optimal
Design Solution
Find x and y such that

ˆ ( x, y )  ρ and ˆ ( x, y,  t ρ )  .
Using the blocking level curve, this problem
reduces to solving a fixed point equation for
some z

z
   ( z )   ρ   ( z )  z 
.
e  ( z )   ρ 
  (z) t ρ

27
Numerical Design Comparisons
Let 1/ = 10.0 minutes, t = 0.5 minutes,  = 0.001 and
 = 0.2.

28
Design Performance Comparisons
Let 1/ = 10.0 minutes, t = 0.5 minutes,  = 0.001 and
 = 0.2.

29
Summary of Numerical Results
• All three methods do a good job in estimating the
number of call agents C.
• The ad-hoc method performs worst in estimating the
number of additional telephone lines K.
• As a result, ad-hoc performs worst in reaching the target
blocking level and can be off by a factor from 2 to 12.
• The asymptotic method gives answers close to the target
blocking and delay levels.
• Given a pre-computed table of values for , the fixed
point iteration for the asymptotic method is the easiest
to compute and requires the least number of steps.
30
M/M/∞ State Space Diagram

    

0 1  n-1 n 

 2 (n-1) n n+1

n · P(Q∞ = n) = · P(Q∞ = n-1)

    ( / ) n
P(Q n)  P(Q 0)  P(Q 0).
 2  n n!
31
M/M/C/∞ State Space Diagram

    

0 1  C C+1 

 2 C C C

 (  / ) n
 P(QC /  0) if n  C ,
n!
P(QC /  n)  n
 ( / ) P(Q 0) if n C.
 C!C n  C C /

32
M/M/C/K State Space Diagram

     

0 1  C C+1  C+K

 2 C C C C

 (  / ) n
 P(QC / K 0) if 0 n  C ,
n!
P(QC / K n)  n
 ( / ) P(Q 0) if C n C  K .
 C!C n  C C / K

33

You might also like