Queues with Impatient Customers M/M/N+M (G) Palm/Erlang...
Transcript of Queues with Impatient Customers M/M/N+M (G) Palm/Erlang...
Queues with
Impatient Customers
M/M/N+M (G)
Palm/Erlang-A
e.mail: [email protected]
Website: http://ie.technion.ac.il/serveng
1
Supporting Material (in Website) Gans, Koole, and M.: “Telephone Call Centers: Tutorial, Review and Research Prospects.” Review of State-of-the-Art Research.
Brown, Gans, M., Sakov, Shen, Zeltyn, Zhao: "Statistical Analysis of a Telephone Call Center: A Queueing-Science Perspective." Analysis of Arrivals, Services and Patience.
Garnett, M. and Reiman: "Designing a Call Center with Impatient Customers." Erlang-A, based on Garnett's MSc thesis.
M. and Zeltyn: "The Impact of Customer Patience on Delay and Abandonment: Some Empirically-Driven Experiments with the M/M/N+G Queue." On the relation between P(Ab) and E(Wait).
Zeltyn: Ph.D. thesis, on M/M/N+G.
Palm: "Intensitatsschwankungen im fernsprechverkehr," (In English) Ericsson Technics, 1943.
Palm: "Methods of judging the annoyance caused by congestion." Tele, 1953: Recommended.
Baccelli and Hebuterne: "On queues with impatient customers." In Performance '81, ed. Gelenbe, 1981.
2
The Erlang-A (Palm, M/M/n+M) Model
Simplest model with abandonment, used by well-run call centers.
Building blocks:
• λ – Poisson arrival rate.
• µ – Exponential service rate.
• n – number of service agents.
• θ – individual abandonment rate.
agents
arrivals
abandonment
λ
µ
1
2
n
…
queue
θ
• Patience time τ ∼ exp(θ):
time a customer is willing to wait for service;
• Offered wait V :
waiting time of a customer with infinite patience;
• If τ ≤ V , customer abandons; otherwise, gets service;
• Actual wait W = min(τ, V ).
3
Erlang-A vs. Erlang-C
48 calls per min, 1 min average service time,
2 min average patience
probability of wait average wait
vs. number of agents vs. number of agents
35 40 45 50 55 60 65 700
0.2
0.4
0.6
0.8
1
number of agents
prob
abili
ty o
f wai
t
Erlang−AErlang−C
35 40 45 50 55 60 65 700
10
20
30
40
50
number of agents
aver
age
wai
ting
time,
sec
Erlang−AErlang−C
If 50 agents:
M/M/n M/M/n+M M/M/n, λ ↓ 3.1%
Fraction abandoning – 3.1% -
Average waiting time 20.8 sec 3.7 sec 8.8 sec
Waiting time’s 90-th percentile 58.1 sec 12.5 sec 28.2 sec
Average queue length 17 3 7
Agents’ utilization 96% 93% 93%
“The fittest survive” and wait less - much less.
Abandonment reduces workload when needed – at high-congestion
periods.
4
Operational Performance Measures
The most popular performance measure is P{W ≤ T ; Sr}or even worse P{W ≤ T | Sr}.
We recommend either:
• P{W ≤ T ; Sr} - fraction of well-served;
• P{Ab} - fraction of poorly-served.
or a four-dimensional refinement:
• P{W ≤ T ; Sr} - fraction of well-served;
• P{W > T ; Sr} - fraction of served, with a potential for
improvement (say, a higher priority on next visit);
• P{W > ε; Ab} - fraction of poorly-served;
• P{W ≤ ε; Ab} - fraction of those whose service-level is
undetermined.
8
Additional important performance measures:
• Delay probability P{W > 0};
• Average wait E[W ];
• ASA (Average Speed of Answer) – used extensively in call
centers; usually defined as E[W |Sr];
• Agents’ occupancy ρ =λ · (1− P{Ab})
nµ.
• Average queue-length E[Q].
9
Operational Performance Measures:calculation via 4CallCenters
Erlang-A parameters:
λ = 300 calls per hour, 1/µ = 2 min, n = 10, 1/θ = 2 min.
Target times T = 30 sec, ε = 10 sec.
• P{W ≤ T ; Sr} = 71.1%;
• P{W > T ; Sr} = 87.5%− 71.1% = 16.4%;
• P{W > ε; Ab} = 12.5%− 3.9% = 8.6%;
• P{W ≤ ε; Ab} = 3.9%.
• Delay probability P{W > 0} = 100%− 45.8% = 54.2%.
10
Additional performance measures
• Average Time in Queue = E[W ] = 15 sec;
• ASA = E[W |Sr] = 13.8 sec;
• Agents’ Occupancy ρ = 87.5%.
• Average Queue Length E[Q] = 1.3.
11
P{Ab}/E[W ] relation
Theoretical: In Erlang-A (and other queueing models with exp(θ)
patience):
P{Ab} = θ · E[W ] .
Proof. Balance equation:
θ · E[Q] = λ · P{Ab} . (1)
Little’s formula:
E[Q] = λ · E[W ] . (2)
Substitute (2) into (1).
Empirical relations
Israeli bank: yearly data
hourly data aggregated
0 50 100 150 200 250 300 350 4000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Average waiting time, sec
Pro
bab
ility
to
ab
and
on
0 50 100 150 200 250
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
Average waiting time, sec
Pro
bab
ility
to
ab
and
on
The graphs are based on 4158 hour intervals.
13
U.S. bank
Retail Telesales
0 10 20 30 40 50 60 70 80 900
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Average wait, sec (aggregated)
Pro
babi
lity
to a
band
on (
aggr
egat
ed)
0 10 20 30 40 50 60 70 800
0.02
0.04
0.06
0.08
0.1
0.12
0.14
Average wait, sec (aggregated)
Pro
babi
lity
to a
band
on (
aggr
egat
ed)
Retail – significant abandonment during first seconds of wait.
Linear patterns with non-zero intercepts
Israeli data: new customers VRU-time included in wait
0 50 100 150 200 250 3000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Average waiting time, sec
Pro
bab
ility
to
ab
and
on
0 50 100 150 200 2500
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Average wait (VRU + queue), sec
Pro
bab
ility
to
ab
and
on
Left-hand plot ≈ exp patience with balking:
0 with probability p, exp(θ) with probability (1− p).
Right-hand plot ≈ delayed patience: c + exp(θ), c > 0.
14
Erlang-A: parameter estimation andprediction
Estimation: inference from historical data (e.g. exp, normal)
were parameters assumed fixed over time.
Prediction: forecast behavior of sample outside of original data
set.
Arrivals (λ)
• Typically Poisson, time-varying rates, constant at 15/30/60
min scale;
• Significant uncertainty concerning future rates ⇒ prediction;
• Predict separately daily volumes and fraction of arrivals per
time interval.
Services (µ)
• Typically stable from day to day ⇒ estimation;
• Can change depending on time-of-day;
• Typically, service time 6= talk time.
First approach:
service time = talk time + wrap-up time (after-call work) + . . . ;
Second approach:
service time =Total Working Time− Total Idle Time
Number of Served Customers.
15
Number of agents (n)
• Output of WFM software given λ, µ, θ, performance goals.
One gets number of FTE’s (Full Time Equivalent positions).
• Agents on schedule = FTE’s · RSF (Rostered Staff Factor)
(RSF > 1). Reasons: absenteeism, unscheduled breaks, . . .
• Obtaining historical data on n can be hard.
Patience (θ)
Observations are censored!
• Customer abandoned ⇒ patience R known;
• Customer served ⇒ offered wait V known ⇒ R > V .
Avoiding direct “uncensoring”: use P{Ab} = θ · E[W ] .
hourly data aggregated
0 50 100 150 200 250 300 350 4000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Average waiting time, sec
Pro
bab
ility
to
ab
and
on
0 50 100 150 200 250
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
Average waiting time, sec
Pro
bab
ility
to
ab
and
on
Regression ⇒ average patience (1/θ) ≈ 450 sec.
16
Estimating patience distribution
Are patience times really exponential?
To “uncensor data” use Kaplan-Meier (product-limit) estimator.
Output: estimates of hazard rate and survival function of patience.
Empirical hazard rates of patience times
U.S. bank Israeli bank
0 10 20 30 40 50 600
0.05
0.1
0.15
0.2
0.25
0.3
0.35
time, sec
haza
rd r
ate
0 50 100 150 2000
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5x 10
−3
time, sec
haza
rd r
ate
Israeli bank: regular vs. priority customers
14
28Time, sec
17
Israeli bank: service types
Figure 15: Survival curves (Nov.–Dec.)
Time
Sur
viva
l
0 200 400 600 800 1000
0.0
0.2
0.4
0.6
0.8
1.0
WRV
Figure 16: Survival curves for time willing to wait (Nov.–Dec.)
Time
Sur
viva
l
0 500 1000 1500 2000 2500 3000
0.0
0.2
0.4
0.6
0.8
1.0
INNENWPS
anomalies. In spite of the fact that one expects the true distributions to be skewed to the right, theestimated distributions are severely truncated. This is especially true for types PS and NE becausethey are more heavily censored. See Figure 16. A result of this is that the estimated means for PSand NE calls are much smaller than the estimated medians, while the opposite relation holds for
26
IN – Internet Assistance; NE – Stock Transactions;
NW – New Customers; PS – Regular
Conclusions:
• Patience time are, in general, non-exponential;
• Most tele-customers are very patient;
• Kaplan-Meier is very informative concerning patience
qualitative patterns (abandonment peaks, comparisons, . . . );
• Kaplan-Meier can be problematic concerning estimation of
quantitative characteristics (mean, variance, median).
E[R] =∫∞0
S(x)dx, where S(x) - survival function of patience.
However,S(x) not reliable for large x.
Question: can we apply Erlang-A with non-exponential patience?
18
Fitting a simple model to a complex reality
Erlang-A Formulae vs. Data Averages
P{Ab} E[W ] P{W > 0}
0 0.1 0.2 0.3 0.4 0.5 0.60
0.1
0.2
0.3
0.4
0.5
Probability to abandon (Erlang−A)
Pro
babi
lity
to a
band
on (
data
)
0 50 100 150 200 2500
50
100
150
200
250
Waiting time (Erlang−A), sec
Wai
ting
time
(dat
a), s
ec
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Probability of wait (Erlang−A)
Pro
babi
lity
of w
ait (
data
)
• Points: hourly data vs. Erlang-A output;
• Formulae with continuous n used;
• Patience estimated via P{Ab}/E[W ] relation;
• Erlang-A estimates – close upper bounds.
19
Fitting a simple model to a complex reality:
Patience index
Theoretical Patience Index ∆=time willing to wait
time required to wait
=average patience
average offered wait. (3)
Calculation is difficult.
Empirical Patience Index ∆=% served
% abandoned. (4)
Easily calculable from ACD reports.
If R and V exponentially distributed, (4) is MLE of (3).
Patience index – empirical vs. theoretical
0
1
2
3
4
5
6
7
8
9
10
2 3 4 5 6 7 8 9
Empirical Index
Theo
retic
al In
dex
20
Customer-Focused Queueing Theory
Waiting experience can be summarized by:
1. Time that a customer expects to wait;
2. Time that a customer is willing to wait (R, patience or need);
3. Time that a customer must wait (V , offered wait);
4. Time that a customer actually waits (W = min(R, V ));
5. Time that a customer perceives waiting.
If 1=3, 4=5: (R, V, W ) from the basic model.
200 abandonment in Direct-Banking: perceived vs. actual waiting.
Customer-Focused Queueing Theory
– 200 abandonment in Direct-Banking
– Not scientific
Reason to Abandon Actual Abandon Perceived Abandon PerceptionTime (sec) Time (sec) Ratio
Fed up waiting 70 164 2.34(77%)
Not urgent 81 128 1.6(10%)
Forced to 31 35 1.1(4%)
Something came up 56 53 0.95(6%)
Expected call-back 13 25 1.9(3%)
⇒ Rational Abandonment from Invisible Queues (with
Shimkin).
21
21
Adaptive behavior of impatient customers
Question: Do customers adapt their patience to system perfor-
mance (offered wait)?
Israeli bank: Internet-support customers
Rational abandonment from invisible queues: Mandelbaum, Shimkin,
Zohar.
22
Advanced features of 4CallCenters
Advanced profiling
Vary input parameters of Erlang-A and display output (perfor-
mance measures) in a table or graphically.
Example: 1/µ = 2 minutes, 1/θ = 3 minutes;
λ varies from 40 to 230 calls per hour, in steps of 10;
n varies from 2 to 12.
Probability to abandon Average wait
.0%
10.0%
20.0%
30.0%
40.0%
50.0%
60.0%
70.0%
80.0%
40 90 140 190
Calls per Interval
%A
band
on
2 3 4 56 7 8 910 11 12 EOS curve
0
20
40
60
80
100
120
140
40 90 140 190
Calls per Interval
Ave
rage
Tim
e in
Que
ue (s
ecs)
2 3 4 56 7 8 910 11 12 EOS curve
Red curve: EOS (Economies-Of-Scale)
23
Advanced staffing queries
Multiple performance goals.
Example: 1/µ = 4 minutes, 1/θ = 5 minutes;
λ varies from 100 to 1200, in steps of 50.
Performance targets:
P{Ab} ≤ 3%; P{W < 20 sec; Sr} ≥ 0.8.
4CallCenters output
24
4CallCenters. Advanced staffing queries.
Dynamics of staffing level and performance.
Recommended staffing level Target performance measures
0
10
20
30
40
50
60
70
80
90
100 300 500 700 900 1100
Calls per Interval
Num
ber o
f Age
nts
.0%
.5%
1.0%
1.5%
2.0%
2.5%
3.0%
3.5%
100 300 500 700 900 1100
Calls per Interval
%A
band
on
78%
80%
82%
84%
86%
88%
90%
92%
%Se
rved
with
in 2
0 se
c
%Abandon %Abandon Target%Served within 20 sec %Served within 20 sec Target
EOS: 10 agents needed for 100 calls per hour but only 83 for 1200
calls per hour.
25