Monte Carlo Simulation using Excel / Crystal Ball / @Risk / Python. Case: AirJet Airlines . AirJet operates a nonstop flight from St. Louis to Miami, scheduled to depart on May 23, at 10
am. This particular route does not face any significant competition, and the airplane used for this
flight has a net capacity of 180. All seats on the plane are economy-level type, and there are no
prior seating assignments (think, e.g., of Southwest Airlines).
As commonly practiced in airline revenue-management systems, AirJet limits itself to a set of
prices (“fares”) from which it chooses which one(s) to activate in any given time. For this flight,
AirJet considers two fares only: A low-fare of $250, and a high-fare (HF), which is a decision
variable. In the base case, the high-fare price is HF = $1,600.
Since variable costs – the marginal costs of flying an additional passenger – are negligible, AirJet
is primarily interested in maximizing revenues via deciding the protection level for high-fare seats,
and the price of high-fare seats. All seats that are not protected will sell, at the low-fare price.
Important Note: while this example has a few similarities with the SkyJet case we analyzed, the
example is very different. Do NOT USE your SkyJet model as a starting point. It will only
confuse you. In this simulation, you do not need to consider the timing of selling tickets, or of
customer arrivals.
[2]
The Demand Model
AirJet has a simple model for predicting demand for flights. Based on historical data, they found
that there are generally two types of customers: High Value (HV) customers, and Low-Value
customers (LV). There are sufficient LV customers to purchase any tickets available to them.
Demand from High-Value customers depends on the price offered, and is random. Demand follows
a Normal Distribution. However, the mean of the Normal Distribution depends on the price
offered, using the following equation:
𝑀𝑒𝑎𝑛 𝐷𝑒𝑚𝑎𝑛𝑑 (𝜇) = 110 −
𝐻𝐹
30
The standard deviation of the distribution is always 20.
For example, in the base case, HF = 1,600, and µ = 56.6667. The distribution of demand by HighValue customers is N(56.6667,20
2
).
When the HF price changes, mean demand changes, too.
Pricing and Tickets Policy
The pricing policy currently used by AirJet is based on the concept of Protection Level. The idea
is that there are tickets reserved for High-Value customers. The protection level is the number of
tickets reserved to be sold at the High Fare. Assuming that Low Value customers arrive before
High Value customers, the airline reserves tickets for the High Value customers.
In practice, this means that all tickets not protected, will be sold to Low Value customers at LF.
In the base case, the protection level is 40 tickets. The traditional thinking is quite risk-averse, and
wants to assure that nearly all seats on the flight are sold. Setting a higher protection level may
lead to empty seats on a flight.
To clarify, since there are 180 seas on the flight, and 40 are reserved to be sold at HF, 140 tickets
on this flight will be sold at the price of LF (=$250). Once these 140 tickets are sold, only the High
Fare is available for customers that show up to purchase tickets.
While 40 tickets are reserved for the high value customers, not all of these are guaranteed to be
sold. If demand by HV is less than 40, some seats will remain empty on the flight. Even in the base
case, where HF = $1,600, and µ = 56.66667, there is still a chance that demand by HV customers
is less than 40. Although in the base case, this probability is low.
Revenue
A primary objective is to maximize revenue. Revenue is based simply on the price of each ticket
sold. There are other metrics of interest, such as the number of HF tick
Operations Analytics: Simulation SCOT 500M, Spring 2024
Share