Paper

Transcription

Paper
Forecasting Time Series of Inhomogeneous
Poisson Processes
with Applications to Call Center Workforce Management
Haipeng Shen
Department of Statistics and Operations Research
University of North Carolina at Chapel Hill
June 3, 2009
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
1 / 34
Outline
1
Motivation
2
Methods
3
Application
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
2 / 34
First Direct call center
First Direct (Larreche et al., 1997)
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
3 / 34
A more modern call center
Call-Center Environment: Service Network
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
4 / 34
Call-Centers:
“Sweat-Shops of the 21st Century"
A sweatshop
call center???
Haipeng Shen (UNC-CH)
10
Forecasting Poisson Arrival Rates
QPRC-09
5 / 34
A vast call center world
4 million call center agents in US, 800 thousands in UK, 500
thousands in Canada and 500 thousands in India
Call center costs exceeded $300 billion worldwide
70% of the cost for human resource
A wider perspective
Multi-disciplinary research area
Service Enterprise Engineering (NSF)
Service Science, Management, and Engineering (IBM)
Service Science - “computer science of the 21st century”
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
6 / 34
Queueing model associated with a
single
location:
Queueing
model
for a single call center
lost calls
retrials
busy
arrivals
queue
abandon
retrials
returns
lost calls
Gans, Koole and Mandelbaum (2003)
Call-center hardware
Queueing model parameters
w = 5 work stations
Haipeng Shen (UNC-CH)
N = 3 CSR-servers
Forecasting Poisson Arrival Rates
QPRC-09
7 / 34
Review, basic model...
The M/M/N +estimate
∞ model uses
or theM/M/N
Erlang-C/∞
model
Performance
model:
x
x
•
•
•
•
x
x
x
x
x
no blocking, abandonment, or retrials
fixednoarrival
and abandonment,
service rates or retrials
blocking,
exponential interarrival and service times
fixed arrival rate λj and service rate µj for time period j
measures of stationary
performance
exponential inter-arrival and service times
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09 108 / 34
“Standard” model for call center workforce
management
1
Forecast offered load (e.g., by the 1/2-hour)
{Rj = λj /µj : j = 1, . . . , m}
where λj : arrival rate, µj : service rate.
2
Find minimum numbers of agents to make QoS constraint
sj = min{s | P{Delay ≤ T } ≥ 1 − }
where in the common 80-20 rule, T = 20 seconds and = 20%.
3
Find minimum cost assignment of agents to schedules
min{cN | AN ≥ s; N ≥ 0; N integer}
where A: 0-1 schedule matrix, N: # of agents for each schedule, c: schedule cost.
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
9 / 34
However, arrival rates are not known with certainty
2000
2500
Intraday Call Volume Profile
0
500
Call Volume
1000 1500
Mon
Tue
Wed
Thu
Fri
7
9
Haipeng Shen (UNC-CH)
11
13
15
17
Time
Forecasting Poisson Arrival Rates
19
21
23
QPRC-09
10 / 34
The research problem
For a given day, call arrivals follow an inhomogeneous Poisson
process
I
I
I
Day-to-day time series dependence
Within-day dependence
Seasonal effects
Two forecasting scenarios:
I
I
Day-to-day forecasting of future daily arrival rate profile
Within-day updating of existing forecast
Perform stochastic scheduling (with recourse) using the
distributional forecasts
Apply the approach to large-scale real systems
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
11 / 34
The data
Bank with a network of 4 call centers in northeast US
300K calls/day, 60K/day seeking agents, 1K agents in peak hours
210 weekdays between January 6th and October 24th, 2003
Call volumes during every quarter hour between 7am and
midnight
For each day, 68-dimensional vector of Poisson variables
Across days, time series of vectors
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
12 / 34
Statistical model
y(i) = (yi1 , . . . , yim )T : arrival count profile of the ith day
λ(i) = (λi1 , . . . , λim )T : arrival rate profile of the ith day
y(1) , . . . , y(n) , . . .: m-dimensional vector time series
Time series of vectors of Poisson variables
High dimension
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
13 / 34
Dimension reduction
K -factor model

y ∼ Poisson(λ ), i = 1, . . . , n,
(i)
(i)
g(λ ) = βi1 f1 + · · · + βiK fK ≡ Fβ ,
(i)
(i)
I
I
g: link function
generalized linear models
Time series model for β (i)
Intraday feature vectors f1 , . . . , fK ∈ R m (K m)
I
I
summarize intraday call arrival patterns
reveal dominant intraday arrival features
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
14 / 34
Model estimation
K -factor model

y ∼ Poisson(λ ), i = 1, . . . , n,
(i)
(i)
g(λ ) = βi1 f1 + · · · + βiK fK ≡ Fβ ,
(i)
(i)
Time series model for β (i)
Two-step procedure
I
I
extracting β (i) and fj using alternating maximum likelihood (AML)
building time series model for β (i)
Univariate time series models for components of β (i)
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
15 / 34
Forecasting future rate profile
Using historical count data y(i) , i = 1, . . . , n, to forecast future rate
profile λ(n+h) (h > 0)
from the factor model
λ(n+h) = g −1 (βn+h,1 f1 + · · · + βn+h,K fK ).
I
I
I
f1 , . . . , fK by AML
(βi,1 , . . . , βi,K ) by AML
time series forecasts of β (n+h) = {βn+h,1 , . . . , βn+h,K }T
Interval and distributional forecasts
I
bootstrap the time series models
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
16 / 34
Deviance reduction plot
2000
Deviance Reduction
6000
10000
14000
Deviance Reduction Plot
2
Haipeng Shen (UNC-CH)
3
4
5
6
7
Number of Factors
Forecasting Poisson Arrival Rates
8
9
10
QPRC-09
17 / 34
First two intraday factors
Second Intraday Feature Vector
7
9
11
13
15
17
Time−of−day
Haipeng Shen (UNC-CH)
19
21
23
−0.3
−0.2
−0.1
0.0
0.1
0.04 0.06 0.08 0.10 0.12 0.14 0.16
0.2
First Intraday Feature Vector
7
9
11
Forecasting Poisson Arrival Rates
13
15
17
Time−of−day
19
21
23
QPRC-09
18 / 34
Time series plot of first factor score series
0.078
First Score Series
0.066
First Score Series
0.070
0.074
Mon
Tue
Wed
Thr
Fri
0
Haipeng Shen (UNC-CH)
50
100
Day Index
Forecasting Poisson Arrival Rates
150
200
QPRC-09
19 / 34
Lag-1 scatter plot of first factor score series
0.066
Next Weekday’s First Score
0.070
0.074
0.078
Scatter Plot of First Score Series
0.066
Haipeng Shen (UNC-CH)
0.070
0.074
Current Day’s First Score
Forecasting Poisson Arrival Rates
0.078
QPRC-09
20 / 34
Model building
Varying-coefficient AR(1) model
βi1 = a1 (di−1 ) + b1 βi−1,1 + i1 ,
di−1 denotes the day-of-the-week of day i − 1
Varying slope does not provide any significant improvement
Similar models for additional factors
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
21 / 34
1500
Distributional arrival-rate forecasts (often) work well
500
Rate
1000
actual volume
forecast
7
Haipeng Shen (UNC-CH)
9
11
13
15
17
Time
Forecasting Poisson Arrival Rates
19
21
23
QPRC-09
22 / 34
500
Rate
1000
1500
Night-before forecasts can sometimes be off
7
9
Haipeng Shen (UNC-CH)
11
13
15
17
Time
Forecasting Poisson Arrival Rates
19
21
23
QPRC-09
23 / 34
Dynamic updating: the problem
Early part of the day: ye(n+1) , λe(n+1)
Latter part of the day: yl(n+1) , λl(n+1)
Two sets of information available
{y(1) , . . . , y(n) } and ye(n+1)
Goal: to obtain updated forecast of λl(n+1)
Time series forecast does not use new info in yen+1
l,TS
TS
TS
flK )
λ̂n+1 = g −1 (β̂n+1,1
fl1 + · · · + β̂n+1,K
How to use the new info?
I
TS
update β̂n+1,k
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
24 / 34
Dynamic updating
Estimate β (n+1) using info from ye(n+1)

e
ye
(n+1) ∼ Poisson(λ(n+1) ),
e
g(λe
(n+1) ) = F β (n+1) .
Incorporate info from time series forecasts
Minimize penalized likelihood wrt β (n+1)
TS
−2 loglik{ye(n+1) } + ω kβ (n+1) − β̂ (n+1) k2
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
25 / 34
Density
0.010
0.015
actual volume
original forecast
12:00PM update
7
9
11
13
15
17
Time
Haipeng Shen (UNC-CH)
19
21
23
0.000
500
0.005
Rate
1000
1500
actual volume
original forecast
12:00PM update
0.020
Forecast updates can significantly reduce error and
uncertainty
1200
1300
Forecasting Poisson Arrival Rates
1400
1500
Rate
1600
1700
QPRC-09
26 / 34
Implications for workforce management
Distribution of future λ(n+h) determined from the forecast
With distributions for λ(n+h) , solve a stochastic program (SP)
Considering forecast updates, solve a SP with recourse
I
Changing staffing assignments
F
F
send agents home early ... → reduce cost
call in part-time agents ... → better achieve QoS measure
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
27 / 34
We test six scheduling schemes
Two schemes with no updating
I
one scenario = IP ♦
I
100 scenarios = SP100 Two schemes with an afternoon update of the original schedule
I
one scenario = UP I
100 scenarios = UP100 Two schemes that update an original schedule with recourse
I
I
one scenario = RP f
100 scenarios = RP100 v
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
28 / 34
Testing the value of the scheduling schemes
1
Preliminary forecast using previous n days of data
2
Solve 4 scheduling problems based on initial forecast
I
I
IP ♦ and SP100 1st phase of RP fand RP100 v
3
Update forecast based on 1st part of day
4
Update solutions based on revised forecast
I
I
5
IP ⇒ UP and SP100 ⇒ UP100 2nd phase of RP fand RP100 v
Simulate using schedules and actual arrival counts
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
29 / 34
One set of empirical tests
The same network of four large retail-banking call centers in US
I
Schedule updates at 11am
Shift structure and costs
I
262 feasible daily schedules (7 and 9-hour shifts, with breaks)
F
I
cost of 1 per agent per 1/2-hour interval
4,973 potential recourse actions (with 1/2-hour costs)
F
send home (-0.75), overtime (1.5), call in (2.0)
Arrival data, forecasts, and QoS target
I
I
I
Last 100 days as testing set
Forecasts based on previous (rolling) 110 days of data
Target expected abandonment rate of 3% across scenarios
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
30 / 34
Updating systematically lowers cost per call
0.091
cost per h
handled call
0.089
0.087
0.085
0.083
0.081
0.079
0.077
0%
20%
40%
60%
80%
100%
% days at or below stated level
% days at or below stated level
IP
Haipeng Shen (UNC-CH)
UP
RP
SP100
UP100
Forecasting Poisson Arrival Rates
RP100
QPRC-09
31 / 34
RP and RP100 saving 3.2%–3.5% vs IP and SP100
weightted average
e abandonm
ment rate
3.20%
3.15%
3.10%
3.05%
3.00%
2.95%
2 90%
2.90%
2.85%
2.80%
0.078
0.079
0.079
0.080
0.080
0.081
0.081
0.082
0.082
weighted average cost per handled call
weighted average cost per handled call
IP
Haipeng Shen (UNC-CH)
UP
RP
SP100
UP100
Forecasting Poisson Arrival Rates
RP100
QPRC-09
32 / 34
Collaborators
Arrival rate forecasting/updating
I
Jianhua Huang (Texas A&M, Statistics)
Scheduling
I
I
Noah Gans (Wharton, OM)
Yong-Pin Zhou (U Washington, OM)
Acknowledgement of Support
NSF grant DMS-0606577 (Statistics)
NSF grant CMMI-0800575 (Service Enterprise Engineering)
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
33 / 34
Questions?
22
Haipeng Shen (UNC-CH)
Forecasting Poisson Arrival Rates
QPRC-09
34 / 34