Queues with Impatient Customers M/M/N+M (G) Palm/Erlang...

21
Queues with Impatient Customers M/M/N+M (G) Palm/Erlang-A e.mail: [email protected] Website: http://ie.technion.ac.il/serveng 1

Transcript of Queues with Impatient Customers M/M/N+M (G) Palm/Erlang...

Page 1: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

Queues with

Impatient Customers

M/M/N+M (G)

Palm/Erlang-A

e.mail: [email protected]

Website: http://ie.technion.ac.il/serveng

1

user
Highlight
user
Highlight
Page 2: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
Page 3: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
user
Text Box
user
Highlight
Page 4: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
user
Highlight
Page 5: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
user
Highlight
Page 6: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
Page 7: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 8: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

Page 9: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 10: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

Page 11: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
user
Highlight
Page 12: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
Page 13: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 14: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 15: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
Page 16: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
Page 17: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 18: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
Page 19: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

user
Highlight
user
Highlight
user
Highlight
Page 20: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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

Page 21: Queues with Impatient Customers M/M/N+M (G) Palm/Erlang …iew3.technion.ac.il/serveng/References/5_Erlang_A.pdf · The Erlang-A (Palm, M/M/n+M) Model Simplest model with abandonment,

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