Session 01 - Introduction

Download Report

Transcript Session 01 - Introduction

Matching Supply with Demand:
An Introduction to Operations Management
Gérard Cachon
ChristianTerwiesch
All slides in this file are copyrighted by Gerard Cachon and Christian
Terwiesch. Any instructor that adopts Matching Supply with
Demand: An Introduction to Operations Management as a required
text for their course is free to use and modify these slides as desired.
All others must obtain explicit written permission from the authors to
use these slides.
Slide ‹#›
Variability – Waiting Times
Slide ‹#›
An Example of a Simple Queuing System
Call center
Incoming
calls
Sales reps
processing
calls
Calls
on Hold
Answered
Calls
 At peak, 80%
Blocked calls
(busy signal)
Abandoned calls
(tired of waiting)
Lost throughput
Holding cost
Lost goodwill
Lost throughput (abandoned)
Slide ‹#›
of calls dialed
received a
busy signal.
 Customers
getting through
Financial
had consequences
to wait on
average
10$$$
Cost of capacity
$$$ Revenue
Cost per customer
minutes
 Extra
telephone
A Somewhat Odd Service Process
Patient
1
2
3
4
5
6
7
8
9
10
11
12
Arrival
Time
0
5
10
15
20
25
30
35
40
45
50
55
Service
Time
4
4
4
4
4
4
4
4
4
4
4
4
7:00
7:10
7:20
Slide ‹#›
7:30
7:40
7:50
8:00
A More Realistic Service Process
Patient 1
1
2
3
4
5
6
7
8
9
10
11
12
0
7
9
12
18
22
25
30
36
45
51
55
Service
Time
5
6
7
6
5
2
4
3
4
2
2
3
Patient 2
Patient 5
Patient 4
Patient 7
Patient 6
Patient 9
Patient 8
Patient 11
Patient 10
Patient 12
Tim
7:00
7:10
7:20
7:30
7:40
7:50
3
2
Number of cases
Patient
Arrival
Time
Patient 3
1
0
2 min.
3 min.
4 min.
Service times
Slide ‹#›
5 min.
6 min.
7 min.
8:00
Variability Leads to Waiting Time
Patient
1
2
3
4
5
6
7
8
9
10
11
12
Arrival
Time
0
7
9
12
18
22
25
30
36
45
51
55
Service
Time
5
6
7
6
5
2
4
3
4
2
2
3
Service time
Wait time
7:00
7:10
7:20
7:30
7:40
7:50
8:00
7:00
7:10
7:20
7:30
7:40
7:50
8:00
5
4
3
2
Inventory
(Patients at
lab)
1
0
Slide ‹#›
Modeling Variability in Flow
Flow Rate
Minimum{Demand, Capacity} = Demand = 1/a
Outflow
No loss, waiting only
This requires u<100%
Outflow=Inflow
Processing
Buffer
Inflow
Demand process is “random”
Processing
p: average processing time
Look at the inter-arrival times
IA1
IA2
IA3
Same as “activity time” and “service time”
IA4
Time
CVp =
a: average inter-arrival time
CVa =
St-Dev(processing times)
Average(processing times)
St-Dev(inter-arrival times)
Can have many distributions:
CVp depends strongly on standardization
Often Beta or LogNormal
Average(inter-arrival times)
Often Poisson distributed:
CVa = 1
Constant hazard rate (no memory)
Exponential inter-arrivals
Difference between seasonality and variability
Slide ‹#›
The Waiting Time Formula
Flow rate
Inventory
Inflowwaiting Iq
Average flow
time T
Outflow
Increasing
Variability
Entry to system
Begin Service
Departure
Time in queue
Tq Time p
Service
Flow Time T=Tq+p
Theoretical Flow Time
Utilization
Waiting Time Formula
2
2
 utilization   CVa  CV p 
Tim e in queue Activity Tim e


2
 1  utilization  

Variability factor
Utilization factor
Slide ‹#›
Service time factor
100%
Waiting Time Formula for Multiple, Parallel Resources
Inventory
in service Ip
Inventory
Inflow waiting Iq
Outflow
Flow rate
Entry to system Begin Service
Departure
Time in queue
Tq Time p
Service
Flow Time T=Tq+p
Waiting Time Formula for Multiple (m) Servers
2 ( m 1) 1 
 CVa2  CV p2 
 Activity tim e  utilization


Tim ein queue




m
2

  1  utilization  

Slide ‹#›
Example: Online retailer
Customers send emails to a help desk of an online retailer every 2 minutes, on
average, and the standard deviation of the inter-arrival time is also 2 minutes.
The online retailer has three employees answering emails. It takes on average 4
minutes to write a response email. The standard deviation of the service times
is 2 minutes.
Estimate the average customer wait before being served.
Slide ‹#›
Service Levels in Waiting Systems
Fraction of 1
customers
who have 0.8
to wait x
0.6
seconds or
0.4
less
0.2
0
0
90% of calls had to wait
25 seconds or less
Waiting times for those customers who do
not get served immediately
Fraction of customers who get served
without waiting at all
50
100
150
200
Waiting time [seconds]
• Target Wait Time (TWT)
• Service Level = Probability{Waiting TimeTWT}
• Example: Deutsche Bundesbahn Call Center
- now (2003): 30% of calls answered within 20 seconds
- target: 80% of calls answered within 20 seconds
• Formulas: see Service Operations course / simulation
Slide ‹#›
Managerial Responses to Variability: Pooling
Waiting
Independent ResourcesTime T
70.00
2x(m=1)
q
m=1
60.00
50.00
40.00
m=2
30.00
20.00
m=5
Pooled Resources
(m=2)
10.00
m=10
0.00
60%
65% 70%
75%
80%
85%
90%
95%
Utilization u
Implications:
+ balanced utilization
+ Shorter waiting time (pooled safety capacity)
- Change-overs / set-ups
Slide ‹#›
Managerial Responses to Variability: Priority Rules
in Waiting Time Systems
Service times:
A
A: 9 minutes
B: 10 minutes
C: 4 minutes
D: 8 minutes
C
B
9 min.
19 min.
4 min.
12 min.
C
23 min.
Total wait time: 9+19+23=51min
D
A
21 min.
D
B
Total wait time: 4+13+21=38 min
• Flow units are sequenced in the waiting area (triage step)
• Shortest Processing Time Rule
- Minimizes average waiting time
- Problem of having “true” processing times
• First-Come-First-Serve
- easy to implement
- perceived fairness
• Sequence based on importance
- emergency cases
- identifying profitable flow units
Slide ‹#›
Data in Practical Call Center Setting
Number of customers
Per 15 minutes
Distribution Function
1
160
140
0.8
Exponential distribution
120
100
0.6
80
0.4
60
40
Empirical distribution
(individual points)
0.2
20
23:00
21:15
19:30
17:45
16:00
14:15
12:30
10:45
9:00
7:15
5:30
3:45
2:00
0:15
0
0
0:00:00 0:00:09 0:00:17 0:00:26 0:00:35 0:00:43 0:00:52 0:01:00 0:01:09
Inter -arrival time
Time
• Within a “slice”, exponential
distribution (CVa=1)
• See chapter 6 for various data
analysis tools
• Seasonality vs. variability
• Need to slice-up the data
Slide ‹#›
What to Do With Seasonal Data
Measure the true demand data
Apply waiting model in each slice
Slice the data by the hour (30min, 15min)
Slide ‹#›
Managing Waiting Systems: Points to Remember
• Variability is the norm, not the exception
• Variability leads to waiting times although utilization<100%
• Use the Waiting Time Formula to
- get a qualitative feeling of the system
- analyze specific recommendations / scenarios
• Managerial response to variability:
- understand where it comes from and eliminate what you can
- accommodate the rest by holding excess capacity
• Difference between variability and seasonality
- seasonality is addressed by staffing to (expected) demand
Slide ‹#›
Call Center: Lean
Diagnostic Example
Slide ‹#›
Call Center Overview
Large UK Retail bank- operates each week day from 8.30am to 6pm
Handles three types of calls (agents are dedicated to call type)
All subsequent information is about type 1 calls (similar numbers for type 2 and 3 calls)
Type 1 calls are direct payments for mortgages / loans that customers do using checks or credit cards
Agents make 30 pounds per hour loaded salary
Typical time commitments from agents:
Taking calls / “wrap time”
Six weeks of paid vacation
Average absenteeism rate of 6%
Other time commitments for the agents,
such as breaks, training, special duties: 15%
Picture from Switzer & CO, illustrative only
Slide ‹#›
Demand, Call Handling, and Service Level
Demand information (Type 1 calls)
Call volume changes over the course of the day
Typical day is shown on the right
Calls come in randomly, given this seasonal pattern (CVa=1)
Call center operates for 252 days a year (closed week-ends, holidays)
Call handling information
Type 1 calls take on average 5 minutes (with a CVp=1)
This includes actual call time as well as wrap time
Actual value varies by agent / customer
Number of staffed seats for type 1 calls
In each time slot, 9 agents are currently on duty from 8.30am to 6.00pm
Service level / targeted wait time
The average wait time is targeted to be 2 minutes or less
Present wait time is significantly longer for 11-12 time slot
At other times, agents have plenty of capacity (e.g., at 8.30am)
Cost: about 0.04 pounds per minute for wait or talk time
Slide ‹#›
Sample of Calls
Variation exists across agents handling calls – the following information is about type 1 calls
A sample of calls across three agents has been collected (Matthew, Daniel, and Anna)
For the purpose of this exercise, consider the following calls:
1b, 1c, 2a, 2b, 2d, 3a, 3b
You can assume that this data (and its variation in customer and agent behavior) is representative
Audio files have been made available to you
Picture from Livehacker blog
Slide ‹#›
Assignment
You are on site in the call center and have the information provided above
The goal of the project is to conduct an initial diagnosis of the call center operation
What productivity improvement will you aim for?
What is your pitch to the client’s CEO?
Detailed assignments:
1. Excel model of status quo (with Tq)
2. Compute current OPE / OEE
3. Detailed, micro-level analysis of calls; estimate improvement potential
4. Evaluate improvements (shorter calls, staffing plan, pooling, other)
Slide ‹#›
What generates queues?

An arrival rate that predictably
exceeds the service rate (i.e.,
capacity) of a process.
 e.g., toll booth congestion
on the NJ Turnpike during
the Thanksgiving Day rush.

Variation in the arrival and
service rates in a process where
the average service rate is more
than adequate to process the
average arrival rate.
 e.g., calls to a brokerage
are unusually high during a
particular hour relative to
the same hour in other
weeks (i.e., calls are high by
random chance).
Slide ‹#›
Predicable and unpredictable variation at An-ser
Number of customers
Per 15 minutes
160
140
120
100
80
60
40
20
Time
Slide ‹#›
23:00
21:15
19:30
17:45
16:00
14:15
12:30
10:45
9:00
7:15
5:30
3:45
2:00
0:15
0
Defining inter-arrival times and a stationary process

An inter-arrival time is the amount of time between two arrivals to a
process.

An arrival process is stationary over a period of time if the number of
arrivals in any sub-interval depends only on the length of the interval and
not on when the interval starts.

For example, if the process is stationary over the course of a day, then
the expected number of arrivals within any three hour interval is about
the same no matter which three hour window is chosen (or six hour
window, or one hour window, etc).

Processes tend to be non-stationary (or seasonal) over long time
periods (e.g., over a day or several hours) but stationary over short
periods of time (say one hour, or 15 minutes).
Slide ‹#›
Arrivals to An-ser over the day are non-stationary
Number of customers
… and the peaks
and troughs are
predictable (they
occur roughly at the
same time each day.
The number of arrivals
in a 3-hour interval
clearly depends on
which 3-hour interval
your choose …
Per 15 minutes
160
140
120
100
80
60
40
20
Time
Slide ‹#›
23:00
21:15
19:30
17:45
16:00
14:15
12:30
10:45
9:00
7:15
5:30
3:45
2:00
0:15
0
How to describe (or model) inter-arrival times

We will use two parameters to describe inter-arrival times to a process:
 The average inter-arrival time.
 The standard deviation of the inter-arrival times.

What is the standard deviation?

Roughly speaking, the standard deviation is a measure of how
variable the inter-arrival times are.

Two arrival processes can have the same average inter-arrival time (say
1 minute) but one can have more variation about that average, i.e., a
higher standard deviation.
Slide ‹#›
Relative and absolute variability
Average = 10 Stdev = 10
50
45
40
35
30
25
20
15
10
5
0
Average = 100 Stdev = 10
120
Inter-arrival time (min)

The standard deviation is an absolute measure of variability.
Two processes can have the same standard deviation but one can seem
much more variable than the other:
 Below are random samples from two processes that have the same
standard deviation. The left one seems more variable.
Inter-arrival time (min)

100
80
60
40
20
0
Observation
Observation
Slide ‹#›
Relative and absolute variability (cont)

Average = 100 Stdev = 10
Average = 10 Stdev = 10
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
Inter-arrival time /Average

The previous slide plotted the processes on two different axes.
Here, the two are plotted relative to their average and with the same axes.
Relative to their average, the one on the left is clearly more variable
(sometime more than 400% above the average or less than 25% of the
average)
Inter-arrival time /Average

Observation
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
Observation
Slide ‹#›
Coefficient of variation


The coefficient of variation is a measure of the relative variability of a
process – it is the standard deviation divided by the average.
The coefficient of variation of the arrival process:
CVa 
Standarddeviationof interarrival tim e
Averageinterarrival tim e
Average = 100 Stdev = 10
CVa = 10 /10 = 1
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
CVa = 10 /100
= 0.1
Observation
Inter-arrival time /Average
Inter-arrival time /Average
Average = 10 Stdev = 10
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
Observation
Slide ‹#›
Service time variability

The coefficient of variation of the service time process:
CV p 
Standarddeviationof activity tim es
Averageactivity tim e
Frequency
800

Standard deviation of activity
times = 150 seconds.

Average call time (i.e., activity
time) = 120 seconds.

CVp = 150 / 120 = 1.25
600
400
200
0
Call durations (seconds)
Slide ‹#›
A multi-server queue
Arriving
customers
Departing
customers
Customers
Multiple
waiting for service servers

Assumptions:
 All servers are equally skilled,
i.e., they all take p time to
process each customer.
 Each customer is served by
only one server.
 Customers wait until their
service is completed.
 There is sufficient capacity to
serve all demand.







Slide ‹#›
a = average interarrival time
Flow rate = 1 / a
p = average activity time
Capacity of each server = 1 / p
m = number of servers
Capacity = m x 1 / p
Utilization = Flow rate / Capacity
= (1 / a) / (m x 1 / p)
= p / (a x m)
A multi-server queue – some data and analysis

Suppose:
 a = 35 seconds per customer
 Flow rate = 1 / 35 customers per second
 p = 120 seconds per customer
 Capacity of each server = 1 / 120 customers per second
 m = number of servers = 4

Then
 Capacity = m x 1 / p = 4 x 1 / 120 = 1 / 30 customers per second
 Utilization = Flow rate / Capacity
= p / (a x m)
= 120 / (35 x 4)
= 85.7%
Slide ‹#›
The implications of utilization

A 85.7% utilization means:
 At any given moment, there is a 85.7%
chance a server is busy serving a customer
and a 1-0.857 = 14.3% chance the server is
idle.
 At any given moment, on average 85.7% of
the servers are busy serving customers and
1 – 0.857 = 14.3% are idle.

If utilization < 100% then:
 The system is stable which means that the size of the queue does not
keep growing over time. (Capacity is sufficient to serve all demand)

If utilization >= 100% then:
 The system is unstable, which means that the size of the queue will
continue to grow over time.
Slide ‹#›
Stable and unstable queues
200
200
a = 35
a = 35
180
p = 120
Total number of customers in the system
Total number of customers in the system
180
160
m=4
140
Utilization = 86%
120
100
80
60
40
p = 120
160
100
80
60
40
20
0
0
5000
10000
15000
20000
25000
30000
Time (seconds)
Utilization = 114%
120
20
0
m=3
140
0
5000
10000
15000
20000
Time (seconds)
Slide ‹#›
25000
30000
Time spent in the two stages of the system
Recall:
p = Activity time
m = number of
servers
Tq = Time in queue
p = Time in service
T = Tq + p = Flow time
2(m 1) 1 
 CVa2  CV p2 
 Activity tim e  Utilization


Tim ein queue 




m
2

  1 - Utilization  


The above Time in queue equation works only for a stable system, i.e., a
system with utilization less than 100%
Slide ‹#›
What determines time in queue in a stable system?
The capacity factor:
Average processing time of
the system = (p/m).
Demand does not influence
this factor.
2
2
t   Utilization 2(m 1) 1   CVa  CV p 
 Activity ime
T imein queue  





m
1
Utilizatio
n
2

 

 
The variability factor:
The utilization factor:
This is how variability influences
time in queue – the more
variability (holding average
demand and capacity constant)
the more time in queue.
Average demand influences this
factor because utilization is the
ratio of demand to capacity.
Slide ‹#›
Evaluating Time in queue

Suppose:
 a = 35 seconds, p = 120 seconds, m = 4
 Utilization = p / (a x m) = 85.7%
 CVa = 1, CVp = 1
2(m 1) 1 
 CVa2  CV p2 
 Activity tim e   Utilization


Tim ein queue 




m
2

  1 - Utilization  

2(4 1) 1 
2
2


1

1
 120  0.857



 2   150

4
1
0.857

 

 

So Flow time = 150 + 120 = 270 seconds.
 In other words, the average customer will spend 270 seconds in the
system (waiting for service plus time in service)
Slide ‹#›
How many customers are in the system?

Use Little’s Law, I = R x T

R = Flow Rate = (1/a)
 The flow rate through the system
equals the demand rate because
we are demand constrained
(utilization is less than 100%)

Iq = (1/a) x Tq = Tq / a

Ip = (1/a) x p = p / a
 Note, time in service does not
depend on the number of servers
because when a customer is in
service they are processed by
only one server no matter how
many servers are in the system.
Iq = Inventory in queue Ip = Inventory in service
I = Iq + Ip = Inventory in the system
Slide ‹#›
Utilization and system performance
2(m 1) 1 
 CVa2  CV p2 
 Activity tim e  Utilization


Tim ein queue 


m
2

  1 - Utilization  

200
180
160
Time in queue
increases
dramatically as the
utilization
approaches 100%
m=1
140
Time in queue

Activity time = 1
120
CVa = 1
CVp = 1
100
80
60
40
20
0
80%
82%
84%
86%
88%
90%
92%
Utilization
Slide ‹#›
94%
96%
98% 100%
Which system is more effective?
Pooled system:
One queue, four
servers
Partially pooled
system:
Two queues, two
servers with each
queue.
Separate queue
system:
Four queues, one
server with each
queue.
a = 35
m=4
For each of
the 2 queues:
a = 35 x 2 = 70
m=2
For each of the 4
queues:
a = 35 x 4 = 140
m=1
Slide ‹#›
Across these three
types of systems:
Variability is the same:
CVa = 1, CVp = 1
Total demand is the
same: 1/35 customers
per second.
Activity time is the
same: p = 120
Utilization is the
same: p / a x m =
85.7%
The probability a
server is busy is the
same = 0.857
Pooling can reduce Time in queue considerably
Pooled
system
Partially
pooled
system
Separate
queue
system
a = 35, p = 120, m = 4, CVa = 1, CVp = 1
Tq = 150
Flow Time = 270
For each of the two queues:
a = 70, p = 120, m = 2, CVa = 1, CVp = 1
Tq = 336
Flow Time = 456
For each of the four queues:
a = 140, p = 120, m = 1, CVa = 1, CVp = 1
Tq = 720
Flow Time = 840
Slide ‹#›
Pooling reduces the number of customers waiting but not
the number in service
Pooled
system
Partially
pooled
system
Iq = 4.3
Ip = 3.4
Iq = 4.3
Ip = 3.4
Iq = 4.8
Ip = 1.7
Inventories
for each
queue
within the
system
Iq = 9.6
Ip = 3.4
( 2 times the
inventory in
each queue )
Inventories
for the total
system
Separate
queue
system
Iq = 5.1
Ip = 0.86
Slide ‹#›
Iq = 20.4
Ip = 3.4
( 4 times the
inventory in
each queue )
Why does pooling work?
= A customer waiting
= A customer in service
Separate
queue
system
Pooled
system




Both systems currently have 6 customers
In the pooled system, all servers are busy and only 2 customers are waiting
In the separate queue system, 2 servers are idle and 4 customers are waiting
The separate queue system is inefficient because there can be customers
waiting and idle servers at the same time.
Slide ‹#›
Some quick service restaurants pool drive through
ordering

The person saying “Can I take your
order?” may be hundreds (or even
thousands) of miles away:

Pooling the order taking
process can improve time-inqueue while requiring less
labor.

It has been shown that queue
length at the drive through
influences demand – people
don’t stop if the queue is long.

However, this system incurs
additional communication and
software costs.
Slide ‹#›
Limitations to pooling

Pooling may require workers to have a broader set of skills, which may
require more training and higher wages:
 Imagine a call center that took orders for McDonalds and Wendys …
now the order takers need to be experts in two menus.
 Suppose cardiac surgeons need to be skilled at kidney transplants as
well.

Pooling may disrupt the customer – server relationship:
 Patients like to see the same physician.

Pooling may increase the time-in-queue for one customer class at the
expense of another:
 Removing priority security screening for first-class passengers may
decrease the average time-in-queue for all passengers but will likely
increase it for first-class passengers.
Slide ‹#›
Why the long queues for the women’s restroom?
2(m 1) 1 
 CVa2  CV p2 
 p   u


Tim ein queue   




m
1
u
2
  

 
p  Activity tim e
u  Utilization 
p
am
Slide ‹#›
Potty-parity Laws


Women’s Restroom Equity Bill:
 Passed NY City Counsel May 2005.
 Requires women’s restrooms to have
twice the flushing capacity of men’s
restrooms (at least a 2:1 ratio of
women’s toilets to men’s toilets & urinals)
 In the context of Time in queue equation,
this law requires m to increase for
women, which decreases the capacity
factor (p/m), and decreases utilization.
2(m 1) 1 
 CVa2  CV p2 
 p   u


Tim ein queue   





m
1
u
2
  

 
Other solutions:
 Unisex restrooms (pools capacity, at
least the toilets)
 Flexible partitions that can change the
size of each restroom.
Slide ‹#›
p  Activity tim e
u  Utilization 
p
am
Summary

Even when a process is demand constrained (utilization is less than 100%),
waiting time for service can be substantial due to variability in the arrival
and/or service process.

Waiting times tend to increase dramatically as the utilization of a process
approaches 100%.

Pooling multiple queues can reduce the time-in-queue with the same
amount of labor (or use less labor to achieve the same time-in-queue).
Slide ‹#›
Recitation Questions
(prepare the questions described on the following slides for
the R5 recitation)
Slide ‹#›
Rent-A-Phone
Rent-A-Phone is a new service company that provides European
mobile phones to American visitors to Europe. The company
currently has 80 phones available at Charles de Gaulle Airport in
Paris. There are, on average, 25 customers per day requesting a
phone. These requests arrive uniformly throughout the 24 hours
the store is open. (Note: This means customers arrive at a faster
rate than 1 customer per hour) The corresponding coefficient of
variation is 1.
Slide ‹#›
Rent-A-Phone (cont)
Customers keep their phone for 72 hours on average. The
standard deviation of this time is 100 hours.
Given that Rent-A-Phone currently does not have a competitor in
France providing equally good service, customers are willing to
wait for the telephones. Yet, during the waiting period, customers
are provided a free calling card. Based on prior experiences,
Rent-A-Phone found that the company incurred a cost of $1 per
hour per waiting customer, independent of day or night.
Slide ‹#›
Rent-A-Phone (Questions)
a)
What is the average number of telephones the company has in its
store?
b)
How long does a customer, on average, have to wait for the
phone?
c)
What are the total monthly (30 days) expenses for telephone
cards?
d)
Assume that it costs Rent-A-Phone $1000 per unit per month for a
new phone. Is it worth it to buy one additional phone? Why?
Slide ‹#›