Special Structure Considered in this Talk

An Asymptotic Parameter Regime for
Analyzing Large Call Centers
J. Michael Harrison
Graduate School of Business
Stanford University
July, 2004
Sources
 A method for staffing large call centers based on stochastic
fluid models, with Assaf Zeevi, to appear in Manufacturing
and Service Operations Management.
 Design and control of a large call center: Asymptotic
analysis of an LP-based method, with Achal Bassamboo
and Assaf Zeevi, submitted for publication.
Outline



An Illustrative Call Center Model
Hierarchical System Management
The Very Special Case with Homogeneous
Customers and Agents



High-Volume Asymptotics
The Limiting Fluid Model
Asymptotically Optimal Staffing

A Double Limit
Asymptotically Optimal Staffing

Final Staffing Proposal

Simulation Results
Insensitivity (Two Graphs)


2
An Illustrative Call Center Model
1
2
Customer classes
indexed by i = 1, 2
q1 1
B1
B2
q2 2
Server pools
indexed by j = 1, 2
P1
P1
P2
bj = size of pool j
x11 11
x12 12 + x22 22
Hierarchical System Management
 Determine capacity vector b = (b1, b2) that remains in force
over the time interval [0,T]
 Choose server allocations Xij() dynamically based on
system status
3
The Kinds of Call Centers
on Which We Focus
 High volume (need dozens of servers, say)
 Relatively fast service (in minutes, say)
 Relatively fast abandonment (in minutes, say)
4
The Very Special Case with
Homogeneous Customers and Agents

(in customers per time unit) evolves
as a stochastic process {(t), 0tT}
abandonment rate 
per time unit per customer
in queue
penalty p
per abandonment
b = number of servers
c = cost per server
 = service rate per server
Choose b so as to
minimize (b)  c b + p
5
T


E    Q(t ) dt 


0

.
Stochastic Processes
(t) = instantaneous arrival rate at time t
Z(t) = number of customers in the system at time t
X(t) = number of servers working (busy) at time t
Q(t) = number of customers waiting at time t
X(t) = Z(t)  b
Q(t) = [Z(t) – b]+
Cost Structure
p = penalty incurred per abandonment
c = cost of one server
Objective
Choose a pool size (that is, number of servers) b so as to
minimize (b)  c b + p
T


E    Q(t ) dt 


0

6
High-Volume Asymptotics
Consider a sequence of models indexed by n = 1, 2, … . In
the nth model one has
 n (t )  n (t ),
where the stochastic process {(t), 0tT} is fixed (independent of n), as are all other model parameters. Let the capacity
of the nth system be of the form
bn  n  where   0,
and define
1
zn (t )  Z n (t ) for 0  t  T and n  1, 2,... .
n
The Limiting Fluid Model
Claim. zn  z as n  , where z = {z(t), 0  t  T} is the
stochastic fluid model whose sample paths are determined by
the following ODE (with stochastic driver ):
d

z t    (t )   z (t )      z (t )    .
dt
7
Asymptotically Optimal Staffing
in the Fluid Limit
Define
T

 (  )  c  pE    z (t )     dt  ,
0

and let * be the value of  that minimizes (). The
proposed staffing level for the nth system is
bn*  n * 
Claim.
for
n  1, 2, ...
1
n bn*     *  as n   ,
n
and for any sequence of staffing levels {bn} one has
lim inf
1
n bn     *  as n  
n
8
Side Comment:
Steady-State Behavior of a Time-Homogeneous
Fluid Model
Consider a fluid model with infinite time horizon and (t) = 
(a fixed constant) for all t  0. It is easy to show that
 x(t)  (  )
and
 q(t) ( – )+
as t   and hence that
x(t)  x( =
q(t)  q( =
1

1

(  ) ,
( – )+,
and
z(t)  z( =
1

(  ) +
as t  
9
1

( – )+
A Double Limit
Pressing even further in the search for tractability, one may
uniformly accelerate arrival, service and abandonment processes by a factor of k, in addition to the acceleration of
arrivals described above.
That is, consider a sequence of models parameterized by k =
1, 2, … in which
k = k,
k = k,
ck = kc
and
 k (t )  k n(k )  (t ) , where nk    .
As before, suppose that capacity of the kth system has the form
bk = [n(k)] for some 0. Now define
zk t  
1
1
Z k (t ) and qk t  
Qk t .
nk 
nk 
Claim. zk  z and qk  q as k, where
qt  
1

 (t )    and zt   1  t     q(t ),

10
0  t  T.
Asymptotically Optimal Staffing
in the Double Limit
Define
T


    c  pE    t     dt 
0

and then let * be the value of 0 that minimizes ().
The proposed staffing level for the kth system is
bk*  nk  *  for k  1,2... .
Claim.
1
k bk*     *  as k  
k nk 
and for any other sequence of staffing levels {bk} one has
lim inf
1
k bk     *  as k   .
k nk 
Simplified Representation of 
T
    c  pT   x    dF  x 
0
where
1T
F  x    P t   xdt , x  0
T 0
11
Final Staffing Recommendation
Let
1T
F  x    Pt   xdt , x  0
T 0
and

x

  x, b   bc  pT   b  .


(x,b)
slope
- (pT-c)
slope
+c
b
x

The proposed staffing level b* is the integer b that minimizes

 b      x, b  dF  x , b  0.
0
The problem of calculating b* is a newsvendor problem.
12
A Numerical Example with Homogeneous
Customers and Agents

(in customers per minute) evolves
as a stochastic process  see next
slide
 = 1 abandonment per
p = $1
per abandonment
minute per customer
in queue
b servers (to be chosen)
T = 480 minutes (one 8-hour day)
c = $240 per server per day
 = 1 service per minute
Choose b so as to
minimize (b)  c b + p
13
T


E    Q(t ) dt 


0

.
14
Double Limit
Approximation
Simulation Results
Optimal Personnel Abandon Total Optimal Personnel Abandon Total
Pool
Cost
Cost
Cost
Pool
Cost
Cost
Cost
Size b*
for b*
with b* with b* Size b*
for b*
with b* with b*
Doubly Variable
Demand Scenario
115
$27,600
$3,000
$30,600
115
$27,600
$3,452
$31,052
Temporally Variable
Demand Scenario
112
$27,000
$1,050
$28,050
112
$26,880
$1,958
$28,838
Randomly Variable
Demand Scenario
115
$27,600
0
$27,600
115
$27,600
$1,712
$29,312
Constant Demand
Scenario (  100)
100
$24,000
0
$24,000
105
$25,200
$1,439
$26,639
15
Doubly Variable Demand Scenario
Constant Demand Scenario
16