1. The document provides an introduction to simulation and its application to yield management problems.
2. It gives an example of simulating airplane overbooking, where the number of customer no-shows and demand for seats are modeled as random variables.
3. The simulation is demonstrated using Crystal Ball software in Excel, with assumption cells to model random inputs and forecast cells to calculate key outputs like revenue and bumping costs.
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Sim i (yield mgmt)
1. SIMULATION – PART I
Introduction to Simulation
and Its Application to
Yield Management
For this portion of the session, the learning objectives are:
Receive an introduction to the technique of Simulation.
Learn the meaning of Yield Management.
Illustrate how simulation can be applied to Yield Management in general and the
Airplane Overbooking Problem in specific.
Learn how to simulate using a Table of Random Numbers.
Receive an introduction to simulation using Crystal Ball, an add-in to Excel.
1
2. GENERAL PRINCIPLES OF SIMULATION
A simulation is an experiment in which we attempt to understand how
something will behave in reality by imitating its behavior in an artificial
environment that approximates reality as closely as possible. (In this course,
the artificial environment will be an Excel spreadsheet within a computer.)
Within this artificial environment, a simulation conducts an experiment that
would be too costly and too time-consuming to conduct in reality. A simulation
uses “funny money” and just a few minutes (or seconds) of time.
Because a simulation is based on random numbers, any value obtained from a
simulation is only an estimate, that is, only an approximation of the true value.
Because a simulation is based on random numbers, obtaining accurate
estimates requires a simulation with a very large number of “trials” (or “runs” or
“iterations”).
Because a simulation requires a very large number of trials, a simulation is best
conducted on a computer.
2
3. Yield Management is used by many businesses, such as:
Airlines
Hotels
Rental Cars
Restaurants
Yield Management encompasses a wide variety of techniques, such as
maximizing profit by determining how to adjust the prices of “seats” as it gets
closer and closer to the date/time when customers will use the “seats”. In this
course, we will not consider this technique.
A technique of Yield Management that we will consider is optimizing the number of
reservations to confirm for a limited number of “seats”, where there are two types
of penalties:
1. A penalty for having customers who have confirmed reservations but who are
unable to “occupy a seat”, and
2. A penalty for having empty “seats” because of customers who are “no shows”.
A common practice in Yield Management is overbooking, that is, confirming
more reservations than the number of “seats” available.
To illustrate how simulation can be applied to Yield Management, we will use an
example of airplane overbooking. 3
4. EXAMPLE
To illustrate both simulation and the airplane overbooking problem, we will
consider the example below.
A B C D E F G H I J K L M N O P Q
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB.
11 100-109 0.01 each
12 DECISION 110-119 0.02 each
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each
14 130-139 0.02 each
Decision Cell with lower limit of 115,
15 140-149 0.01 each
upper limit of 149, and step size of 1
16
NOTE: As indicated in Cell A13, we will temporarily assume that the maximum
allowable number of confirmed reservations is 127. 4
5. Below is a complete summary of our example’s given data:
A B C D E F G H I J K L M N O P Q R S
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB. ----------> DEMAND PROB.
11 100-109 0.01 each 100 0.01
12 110-119 0.02 each 101 0.01
13 120-129 0.04 each 102 0.01
14 130-139 0.02 each 103 0.01
15 140-149 0.01 each 104 0.01
16 105 0.01
17 106 0.01
18 107 0.01
19 108 0.01
20 109 0.01
21 110 0.02
22 111 0.02
23 112 0.02
24 113 0.02
25 114 0.02
26 115 0.02
27 116 0.02
28 117 0.02
29 118 0.02
30 119 0.02
31 120 0.04
32 121 0.04
33 122 0.04
34 123 0.04
35 124 0.04
36 125 0.04
37 126 0.04
38 127 0.04
39 128 0.04
40 129 0.04
41 130 0.02
42 131 0.02
43 132 0.02
44 133 0.02
45 134 0.02
46 135 0.02
47 136 0.02
48 137 0.02
49 138 0.02
50 139 0.02
51 140 0.01
52 141 0.01
53 142 0.01
54 143 0.01
55 144 0.01
56 145 0.01
57 146 0.01
58
59
147
148
5
0.01
0.01
60 149 0.01
8. The Binomial Probability Distribution
To model the scenario where customers with confirmed reservations are “no shows”,
we will use the Binomial Probability Distribution.
Suppose there will be n independent trials of an event that has two possible outcomes:
Outcome 1, with probability p
Outcome 2, with probability 1-p
Then, the number of the n trials that end in Outcome 1 has a Binomial Probability
Distribution with parameters n and p. (Alternatively, the number of the n trials that
end in Outcome 2 has a Binomial Probability Distribution with parameters n and 1-p.)
Example 1: The number of “heads” that results when you flip a coin 10 times has a
Binomial Probability Distribution with parameters n=10 and p=0.50.
Example 2: If there is a 10% chance that a potential airplane passenger with a
confirmed reservation is a “no show”, then the number of “no shows” that results when
there are 120 confirmed reservations has a Binomial Probability Distribution with
parameters n=120 and p=0.10.
For a Binomial Probability Distribution with parameters n and p, the mean is np and the
variance is np(1-p).
The next slide displays the probability distributions for the Binomial Probability
Distributions in Example 1 and Example 2 above. 8
10. SIMULATION THE NUMBER OF “NO SHOWS”
USING A TABLE OF RANDOM NUMBERS
For simplicity, assume
There 15 confirmed reservations.
0.1 is the probability that a person with a confirmed reservation is a “No Show”.
As examples,
# of “No Shows” =
# of “No Shows” =
# of “No Shows” =
10
12. The following pages provide a summary of how to use
Crystal Ball to analyze the Airplane Overbooking Problem.
12
13. OVERVIEW OF CRYSTAL BALL
After launching Crystal Ball, you will see the following menu and toolbars, where the three
menu selections and the lower toolbar have been added-in to Excel. Crystal Ball permits three
types of cells:
Assumption Cells: Each Assumption Cell contains a value about which you are uncertain.
(Think of the Assumption Cells as the decision problem’s independent variables or inputs.)
Forecast Cells: Each Forecast Cell is one of the spreadsheet’s “bottom lines” and contains
a formula that refers directly or indirectly to at least one of the Assumption Cells. (Think of the
Forecast Cells as the decision problem’s dependent variables or outputs.)
Decision Cells: Each Decision Cell is under control of the decision maker and contains a
value from of a set of alternative values.
Copy Data Paste Data Run Preferences New Menu Selections
Define Forecast Charts Create Report
Start Simulation
Forecast
Define
Stop Simulation Single Step
Decision
Define 13
Reset Simulation
Assumption
14. Defining Assumption Cell A18: the Demand for Confirmed Reservations
The demand for confirmed reservations is a so-called Custom Probability
Distribution.
It would be too time-consuming to manually enter the Custom Probability
Distribution displayed in the Cell Range R11:S60.
Fortunately, Crystal Ball provides a way to “read in” the 50 values and the
associated probabilities.
To do so, we proceed as summarized on the next slide.
14
15. First click on Cell A18, next click the
Define Assumption icon, then click
Custom, and finally click OK. After doing
so, the dialog box to the right appears. In
this dialog box, first enter the Assumption
Cell’s name as “Demand”, and then click
Load Data.
After doing so, the dialog box to the right
appears. In this dialog box, enter the Cell
Range R11:S60, and then click OK.
After doing so, the dialog box
to the right appears, in which
the Custom Probability
Distribution has been “read
in”. Click OK to return to the
spreadsheet. 15
16. Defining Assumption Cell A20: the Number of “No Show” Reservations
To define Assumption Cell A20,
1. Click on Cell A20.
2. Click Binomial.
3. Click OK.
4. In the resulting dialog box,
A. Enter the name as Number
Who “No-Show”.
B. Enter “Probability” as the
cell reference =A9, and
enter “Trials” as cell
reference =A19.
C. Click Enter.
D. Click OK.
16
17. After temporarily assuming that the maximum allowable of confirmed reservations is
set to 127, after defining the two Assumption Cells in Cells A18 and A20, and after
defining the Forecast Cell in Cell A27, we obtain the following spreadsheet:
A B C D E F G H I J K L M N O P Q R S
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB. ----------> DEMAND PROB.
11 100-109 0.01 each 100 0.01
12 DECISION 110-119 0.02 each 101 0.01
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each 102 0.01
14 130-139 0.02 each 103 0.01
Decision Cell with lower limit of 115,
15 140-149 0.01 each 104 0.01
upper limit of 149, and step size of 1
16 105 0.01
17 RESULTS OF DECISION ANNOTATIONS FOR COLUMN A 106 0.01
18 127 Demand for Confirmed Reservations <--- Assumption Cell: Custom with above data 107 0.01
19 127 Actual Number of Confirmed Reservations <--- =MIN(A13,A18) 108 0.01
20 13 Number With Reservations Who "No-Show" <--- Assumption Cell: Binomial with n=A19 & p=A9 109 0.01
21 114 Number With Reservations Who "Show" <--- =A19-A20 110 0.02
22 114 Number With Reservations Who Board Plane <--- =MIN(A4,A21) 111 0.02
23 0 Number With Reservations Who Are "Bumped" <--- =A21-A22 112 0.02
24 113 0.02
25 $45,600 Total Revenue from Tickets <--- =A5*A22 114 0.02
26 $0 Total Cost of "Bumping" <--- =A6*A23 115 0.02
27 $45,600 TOTAL CONTRIBUTION <--- Forecast Cell: =A25-A26 116 0.02
28 117 0.02
Our goal is to determine what value in Cell A13 will maximize the mean of Cell A27. 17
18. This slide and the following three slides display spreadsheets resulting from
“debugging” the model by repeatedly clicking on the Single Step icon until four
distinct types of scenarios are obtained.
Scenario 1: Demand > Supply & Bumping Occurs
A B C D E F G H I J K L M N O P
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB.
11 100-109 0.01 each
12 DECISION 110-119 0.02 each
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each
14 130-139 0.02 each
Decision Cell with lower limit of 115,
15 140-149 0.01 each
upper limit of 149, and step size of 1
16
17 RESULTS OF DECISION ANNOTATIONS FOR COLUMN A
18 136 Demand for Confirmed Reservations <--- Assumption Cell: Custom with above data
19 127 Actual Number of Confirmed Reservations <--- =MIN(A13,A18)
20 7 Number With Reservations Who "No-Show" <--- Assumption Cell: Binomial with n=A19 & p=A9
21 120 Number With Reservations Who "Show" <--- =A19-A20
22 115 Number With Reservations Who Board Plane <--- =MIN(A4,A21)
23 5 Number With Reservations Who Are "Bumped" <--- =A21-A22
24
25 $46,000 Total Revenue from Tickets <--- =A5*A22
26 $3,500 Total Cost of "Bumping" <--- =A6*A23
27 $42,500 TOTAL CONTRIBUTION <--- Forecast Cell: =A25-A26 18
28
19. Scenario 2: Demand > Supply & No Bumping Occurs
A B C D E F G H I J K L M N O P
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB.
11 100-109 0.01 each
12 DECISION 110-119 0.02 each
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each
14 130-139 0.02 each
Decision Cell with lower limit of 115,
15 140-149 0.01 each
upper limit of 149, and step size of 1
16
17 RESULTS OF DECISION ANNOTATIONS FOR COLUMN A
18 130 Demand for Confirmed Reservations <--- Assumption Cell: Custom with above data
19 127 Actual Number of Confirmed Reservations <--- =MIN(A13,A18)
20 13 Number With Reservations Who "No-Show" <--- Assumption Cell: Binomial with n=A19 & p=A9
21 114 Number With Reservations Who "Show" <--- =A19-A20
22 114 Number With Reservations Who Board Plane <--- =MIN(A4,A21)
23 0 Number With Reservations Who Are "Bumped" <--- =A21-A22
24
25 $45,600 Total Revenue from Tickets <--- =A5*A22
26 $0 Total Cost of "Bumping" <--- =A6*A23
27 $45,600 TOTAL CONTRIBUTION <--- Forecast Cell: =A25-A26 19
28
20. Scenario 3: Demand < Supply & Bumping Occurs
A B C D E F G H I J K L M N O P
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB.
11 100-109 0.01 each
12 DECISION 110-119 0.02 each
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each
14 130-139 0.02 each
Decision Cell with lower limit of 115,
15 140-149 0.01 each
upper limit of 149, and step size of 1
16
17 RESULTS OF DECISION ANNOTATIONS FOR COLUMN A
18 125 Demand for Confirmed Reservations <--- Assumption Cell: Custom with above data
19 125 Actual Number of Confirmed Reservations <--- =MIN(A13,A18)
20 9 Number With Reservations Who "No-Show" <--- Assumption Cell: Binomial with n=A19 & p=A9
21 116 Number With Reservations Who "Show" <--- =A19-A20
22 115 Number With Reservations Who Board Plane <--- =MIN(A4,A21)
23 1 Number With Reservations Who Are "Bumped" <--- =A21-A22
24
25 $46,000 Total Revenue from Tickets <--- =A5*A22
26 $700 Total Cost of "Bumping" <--- =A6*A23
27 $45,300 TOTAL CONTRIBUTION <--- Forecast Cell: =A25-A26 20
28
21. Scenario 4: Demand < Supply & No Bumping Occurs
A B C D E F G H I J K L M N O P
1 Airplane Overbooking
2
3 GIVEN DATA
4 115 Plane Capacity
5 $400 Ticket Price (Assume this is fully refundable to those who "no-show".)
6 $700 Cost per "Bumped" Passenger
7 Assume that the variable cost per passenger is 0.
8 Assume no "stand-bys".
9 0.1 Probability That a Passenger with a Confirmed Reservation is a "No-Show"
10 Probability Distribution for the Demand for Confirmed Reservations ----------> DEMAND PROB.
11 100-109 0.01 each
12 DECISION 110-119 0.02 each
13 127 Maximum Allowable Number of Confirmed Reservations 120-129 0.04 each
14 130-139 0.02 each
Decision Cell with lower limit of 115,
15 140-149 0.01 each
upper limit of 149, and step size of 1
16
17 RESULTS OF DECISION ANNOTATIONS FOR COLUMN A
18 121 Demand for Confirmed Reservations <--- Assumption Cell: Custom with above data
19 121 Actual Number of Confirmed Reservations <--- =MIN(A13,A18)
20 9 Number With Reservations Who "No-Show" <--- Assumption Cell: Binomial with n=A19 & p=A9
21 112 Number With Reservations Who "Show" <--- =A19-A20
22 112 Number With Reservations Who Board Plane <--- =MIN(A4,A21)
23 0 Number With Reservations Who Are "Bumped" <--- =A21-A22
24
25 $44,800 Total Revenue from Tickets <--- =A5*A22
26 $0 Total Cost of "Bumping" <--- =A6*A23
27 $44,800 TOTAL CONTRIBUTION <--- Forecast Cell: =A25-A26 21
28
22. Now that we are confident that the spreadsheet has been properly
constructed, we are ready to run the simulation.
Recall that our goal is to determine the optimal value for the Maximum
Number of Reservation to Confirm, that is the value for Cell A13 that
maximizes the mean of the total contribution (to overhead and profit)
Although time-consuming, one way to do this would be to run the
simulation 35 times, first with Cell A13 =115, then with Cell A13 =116, …,
and finally with Cell A13 =149. After doing so, we could then choose the
value that maximized the mean of the total contribution.
Wouldn’t it be nice if Crystal Ball could automate this process for us?
In fact, Crystal Ball can do so through its Decision Table Tool.
The next slide illustrates how to use the Decision Table Tool.
22
23. Using Crystal Ball’s Decision Table Tool
Step 1. To define the Decision Cell, first click cell and then Step 2. Choose the Run, Tools, Decision Table menu
click the Define Decision icon. The dialog box below will pop selection. The dialog box below (#1 of 3) will pop up. Within
up. Within this box, enter a descriptive name for the decision this box, highlight one of the Forecast Cells to be the
and enter its lower & upper limits; then click on the radio button Target Cell (i.e., the Forecast Cell whose mean value you
for Discrete and enter the Step. Finally click on OK. want to optimize). Then click Next.
Step 3. In the resulting dialog box (#2 of 3), move the Step 4. In the resulting dialog box (#3 of 3), first enter the
Decision Variable from “Available” to “Chosen” (i.e., from left to number of trials for each simulation and then click Start.
right) by first highlighting the decision variable and then
clicking “>>”. Finally, click Next.
23
24. Crystal Ball’s Decision Table Tool yields Rows 1-3 in the spreadsheet below. By
clicking in Cell A1 on Forecast Charts, you can view any of the 35 Forecast Charts,
including the one corresponding to the maximum Total Contribution, which can then
be pasted into the spreadsheet.
24