Before departure, customer request a ticket in a specific fare-class ... protect fewer seats for high-fare classes so more customers buy tickets into low-fare classes ...
Airline Price-Sensitive Demand Optimization Leg Optimization with Mixed Demand Xiaodong Luo Mohammad Liaee and Sylvia Zhu (Sabre)
Confidential
Confidential
1
Outline • Introduction To Core Revenue Management Models • Motivation of Price-sensitive demand optimization • Leg Optimization Using Dynamic Programming •
Independent demand case
•
Dependent demand, 100 % sell down case (Price-sensitive)
•
Hybrid case (Price-sensitive)
• Summary and Ongoing Work Confidential
2
Core RM Models Seasons
Seasonality
Historic Demand
Untruncation
Demand Forecast
Forecasting
Overbooking Levels
Cabin Overbooking
Forecasting
partitioning • Clustering Possible Approach
• Parametric seasonality
• Customer Choice Based untruncation with recapture • Expectation Maximization • Hybrid demand
Network Optimization
Protections
Leg Optimization
Inventory Control
Optimization Fare Processing
• History
Bid prices
• Time Series Forecasting • Customer Choice Model • Bayesian direct forecasting • Network
Fares Business Rules Engine
• Economic or Quality of Service models • PNR cancellation & no-show rates • Flight cancellation
• Stochastic bid
• Product choice-
• Bid-price Curve
price model
based EMSRb
• Leg class AUs
• Deterministic bid price model • Randomized bid price model
• Dynamic Programming
• Dual Bid-price Curves
• Fare Bucket EMSRb
& no-show rates
parametric method Confidential
3
Motivation – Nature of Demand • Independent Demand Before departure, customer request a ticket in a specific fare-class Airline decides to accept or reject the request This model does not accurately describe customers’ behavior
• Dependent Demand – Price Sensitive Airline sells both low-fare and high fare tickets The customer can be classified by the ticket fair classes that they intend to buy Some customers are willing to pay high but will grab low-fare tickets if they are available
Disadvantage of independent demand assumption Airlines observe more sales in low-fare classes and less sales in high-fare classes – underestimate high-fare demand Airlines protect fewer seats for high-fare classes so more customers buy tickets into low-fare classes Confidential
4
Earlier Work On Leg optimization: Choice-based EMSR f Bl ESMRb: Pr (DY ≥ C − AU B ) ≤ l , fY
f jl = fare j − BPi i ≠l
AU B = 0
0 < AU B < C
AU B = C
EMSR with
Unadj. EMSR
θ
DY+U(AUB)
DY+U(0)
DB - AUB AUB
DB AUB 1-θ
Do
Do
FA upsell
Dynamic generalized Choice-based programming EMSR upsell
0.00%
DY
Do+Z(0) Do+Z(AUB)
-1.00% % Rev. Gap vs. Optimal
DY
FA upsell & max_dmd
-3.00% -4.00%
Belobaba & Weatherford, 1996
-5.00% -6.00% -7.00%
f − f Y *θ cbESMR: Pr (DY + U ( AU B ) ≥ C − AU B | DB ≥ AU B ) ≤ B fY * (1 − θ )
Fiig & Isler, 2005
-2.00%
Gallego, Li & Ratliff, 2007
Littlewood, 1972
• Test results for 2 class problem • Traditional generalization to multi-class case Confidential
5
Leg Optimization: Dynamic Programming • Problem How to allocate the remaining cabin capacity of a flight to each demand classes in order to maximize the expected revenue.
• Input Class
=1,…, N where 1 is the top class in the cabin.
fi
Fare of class
Cap
remaining capacity in the flight cabin
Di
demand of the cabin when class is the lowest open class
di
specific demand introduced by adding class , meaning that di = Di – Di-1 and D1 = d1 and Di = d1 + d2 + … + di
Class
Fare
1
Y
950
2
890
…
M …
500
…
Q …
N-1
K
379
N
Z
299
…
…
In the following we present a Dynamic Programming(DP) approach for three different demand cases
Confidential
6
A schematic view of the three cases: Case 1: Case 2: Case 3:
Demand is 100% independent Demand is 100% dependent (price-sensitive) Demand is mixed
Case 1
Case 2
Case 3
Independent demand
dependent demand – 100% sell down case
dependent demand – partial sell down case
Marginal revenue transformation for demand and prices
Dynamic programming or other leg models
Dynamic programming 2
Confidential
7
Case 1: Independent Demand Case Assumption: Bookings happen in each demand class independent of the lowest open class fare. The total demand from demand class is
and it only makes a booking at fare class if it is still available, and will
be lost otherwise. Stage
class being processed Protection for current class (Decision Variable) Total protections allocated so far to classes
,
1, … , (State)
At stage , the DP recursive equation is:
max
∗
We use backward induction to compute all optimal solutions. Assuming a Gamma distribution for the demand, the gamma parameters are α= 1/cvi2 and β= (di) cvi2 Expected Bookings (Pi) =
Confidential
8
Case 2: Illustration For Dependent Demand Case Assumption: All bookings are at the price of the lowest open class , only class or higher customers can make the booking
Expected Booking(Pi)
1 1 ……
Stage : booking class State: a unique combination of [ , ,
] i-1 i-1
1, … ,
•
= total seats allocated to classes
•
= remaining value of Di-1 when is to be closed
Pi
: Number of the seats protected for class Objective: Maximize expected revenue
i
Ai
i+1 Ai+1
… N Confidential
9
Case 2: Total Dependent Demand Case (100 percent sell down) Assumption: All bookings are at the price of the lowest open class , only class or higher customers can make the booking Stage
fare class being processed total protections allocated so far to classes
,
1, … ,
protection for class (Decision Variable) remaining cabin demand after class gets closed (and i-1 becomes the lowest open class) ,
A state in stage can be defined as:
Revenue recursive formula in stage can be written as:
,
max
∗
,
Where • Expected Bookings (Pi) = •
min {
− Expected Bookings (Pi),
where α= 1/cvi2 and β= (
) cvi2
}
is continuous and will be rounded to a portion of demand unit (like 0.5 or 1/3 or 1/4 or …). More choices for
means more accuracy for the algorithm.
We again use backward induction to solve the problem Confidential
10
Case 3: Mixed Demand Case Assumption: we assume that the bookings come from different demand classes for each open class with known probabilities. These probabilities vary as the lowest open class changes. Input
demand in class when class is the lowest open class percentage of the cabin demand in demand class when class is the lowest open class
Then,
/
When the demand is completely independent (case 1): /
/
if
that is: demand in class is
and 0 otherwise. and can only be booked when the lowest fare class is
When the demand is completely dependent (case 2): /
/
if
and 0 otherwise.
In real world, the demand are neither completely dependent or completely independent. We use marginal revenue transformation convert case 3 to case 1. Confidential
11
Mixed Demand Case – Marginal Revenue The expected Total Revenue(TR) when class remains lowest open class is:
1
By closing class , the change in the demand is
while the change in the
. Then, Marginal Revenue of class can be calculated as:
revenue is
Class
2 … i-1 i … N
i
fi
Di
A B C D E F G H I J K L
258 250 240 215 203 198 180 144 130 114 88 60
5 10 16 25 30 40 55 61 73 86 100 115
Booking mix Sij 1
2
1.00
0.19 0.81
3
4
5
6
0.02 0.02 0.01 0.01 0.45 0.12 0.01 0.02 0.53 0.20 0.05 0.01 0.66 0.20 0.03 0.73 0.30 0.63
7
8
9
10
11
12
0.01 0.01 0.01 0.01 0.08 0.21 0.68
0.01 0.00 0.01 0.01 0.01 0.01 0.10 0.86
0.00 0.00 0.01 0.01 0.01 0.01 0.03 0.20 0.73
0.00 0.00 0.01 0.01 0.01 0.01 0.02 0.05 0.16 0.73
0.00 0.00 0.00 0.01 0.01 0.01 0.01 0.03 0.05 0.14 0.74
0.00 0.00 0.00 0.00 0.00 0.01 0.02 0.04 0.05 0.06 0.10 0.70
TRi 1290 2515 3918 5635 6246 8073 10327 9204 10081 10593 10077 9123
MRi newMRi 258.0 245.0 233.9 190.7 122.2 182.7 150.2 -187.1 73.1 39.4 -36.9 -63.6
258 245 234 191 122 163 150 -187 -14 9 -37 -51 Confidential
12
Mixed Demand Case – Efficient Fare Some of the fare classes may not be efficient, i.e., they should not receive any protection (we still include class ’s demand when calculating the total revenue (TR) of the classes below ) i A B C D E F G H I J K L
After removing Inefficient fares (Not their demand) and calculating use
and
fi
Di
258 5 250 10 240 16 215 25 203 30 198 40 180 55 144 61 130 73 114 86 88 100 60 115
TRi 1290 2515 3918 5635 6246 8073 10327 9204 10081 10593 10077 9123
MRi newMRi 258 245 234 191 122 183 150 -187 73 39 -37 -64
258 245 234 191 122 163 150 -187 -14 9 -37 -51
for remaining classes, we can
and the DP for independent demand (Case 1) to solve the problem and find the optimal
protections. So, the DP in case 1 can solve case 2 and 3 using fare adjustment. Confidential
13
Ongoing work • We are writing a paper on this, which includes more extensive simulation results • We are developing time dependent DPs, and using approximate dynamic programming technique to solve these DPs.
Confidential
14
Thanks you!
Confidential
15