Skip to main content
Have a personal or library account? Click to login
A Dynamic Predictive Likelihood Framework for Anticipatory Adaptive Nested Optimization in Airline Seat Reservation Control Cover

A Dynamic Predictive Likelihood Framework for Anticipatory Adaptive Nested Optimization in Airline Seat Reservation Control

Open Access
|Mar 2026

Full Article

1.
INTRODUCTION

A key challenge in airline seat allocation is the assignment of seats within the same cabin across different fare classes. This topic has been widely addressed in the revenue management literature, including the studies [212] and further references cited therein.

Littlewood [2] proposed a solution to the seat allocation problem for a single-leg flight with two fare classes. The method is based on marginal revenue comparison: the low-fare (or economy) class should be closed when its certain revenue becomes lower than the expected marginal revenue from the high-fare (or business) class. Thus, a booking request for the low-fare class should be accepted as long as: 1c2c1Pr(X1>u1),{c_2} \ge {c_1}\Pr ({X_1} > {u_1}), in which c1 and c2 represent high- and low-fare levels, respectively, X1 is the high-fare class demand, u1 represents the number of seats protected for the high-fare class, and Pr(X1 > u1) is the probability of selling more high-fare class seats than the protected number u1. The smallest value of u1 satisfying the above condition defines the protection level for the high-fare class. No protection level is defined for the low-fare class. Instead, u2 denotes the booking limit for the low-fare class – in other words, this class remains open until the number of bookings there reaches u2. The total seat capacity U is given by u1 + u2. The high-fare class remains open as long as the total number of bookings across both fare classes does not exceed this capacity.

Richter [3] provided a marginal analysis that showed that condition (1) yields an optimal allocation (under certain continuity conditions). Belobaba [4] generalized condition (1) to cases with more than two fare classes, introducing the Expected Marginal Seat Revenue (EMSR) method (with two principal variants commonly referred to as EMSRa and EMSRb; the additive formulation presented here corresponds to EMSRa). In this approach, the protection level u1 is obtained from: 2c2=c1Pr(X1>u1),{c_2} = {c_1}\Pr ({X_1} > {u_1}), which corresponds to Littlewood’s rule expressed in equation form. The total protection level for the two highest fare classes, denoted u(2), is given as: 3u1+u2=u(2)=u21+u22,{u_1} + {u_2} = u(2) = u_2^1 + u_2^2, where u21u_2^1 and u22u_2^2 represent individual levels of protection calculated as: 4c3=c1Pr(X1>u21){c_3} = {c_1}\Pr ({X_1} > u_2^1) 5c3=c2Pr(X2>u22).{c_3} = {c_2}\Pr ({X_2} > u_2^2),

The cumulative protection level for the three highest fare classes is obtained by summing the corresponding individual protection levels. In general, the limit of booking for any class j is Uuj−1, in which U is the total number of seats available. However, EMSRa does not necessarily produce revenue-optimal booking limits when more than two fare classes are considered [57].

Brumelle and McGill [7] demonstrated that conditions for the optimal nested protection levels can be reduced to the following set of probability statements (valid under certain assumptions): 6c2=c1Pr(X1>u(1)),c3=c1Pr(X1>u(1)X1+X2>u(2)),cm=c1Pr(X1>u(1)X1+X2>u(2)X1+X2++Xm1>u(m1)).\matrix{ {{c_2} = {c_1}\Pr ({X_1} > u(1)),} \cr {{c_3} = {c_1}\Pr ({X_1} > u(1)\mathop \cap \nolimits^ {X_1} + {X_2} > u(2)),} \cr \vdots \cr {{c_m} = {c_1}\Pr ({X_1} > u(1)\mathop \cap \nolimits^ {X_1} + {X_2} > u(2)\mathop \cap \nolimits^ \ldots \mathop \cap \nolimits^ {X_1} + {X_2} + \cdots + {X_{m - 1}} > u(m - 1)).} \cr }

2.
NEW OPTIMIZATION METHODOLOGY FOR AIRLINE SEAT PROTECTION LEVELS WITH MULTIPLE NESTED FARE CLASSES ON SINGLE-LEG FLIGHTS
2.1
Problem formulation

Consider a single-leg flight with m nested fare classes ordered according to decreasing fare levels, (cm<cm−1<…<c1), where cj denotes the fare of the j-th class and U is the total aircraft seat capacity. The decision variables u1,…,um, denote the protection levels allocated to the respective fare classes. Because the classes are nested, capacity assigned to higher-fare classes is protected from lower-fare demand. The objective is to determine the vector (u1,…,um) that maximizes the total expected revenue. The performance index used to achieve the optimal allocation of seats can be defined as: 7R(u1, ,um)=Rm(um)+Em{ Rm1(i=m1muiXm) }+Em{ Em1{ Rm2(i=m2muii=m1mXi) } }++Em{ Em1{ { E2{ R1(i=1muii=2mXi) } } } } },\matrix{ {R({u_1}, \ldots ,{u_m})} \cr { = {R_m}({u_m}) + {E_m}\{ {R_{m - 1}}(\mathop \sum \limits_{i = m - 1}^m {u_i} - {X_m})\} + {E_m}\{ {E_{m - 1}}\{ {R_{m - 2}}(\mathop \sum \limits_{i = m - 2}^m {u_i} - \mathop \sum \limits_{i = m - 1}^m {X_i})\} \} } \cr { + \ldots + {E_m}\{ {E_{m - 1}}\{ \ldots \{ {E_2}\{ {R_1}(\mathop \sum \limits_{i = 1}^m {u_i} - \mathop \sum \limits_{i = 2}^m {X_i})\} \} \} \} \} ,} \cr }

Equation (7) expresses the total expected revenue as a recursive sequence of conditional expectations reflecting the nested priority structure of the fare classes. Lower-fare demand is realized first, and higher-fare classes receive the residual protected capacity. The allocation is subject to the total seat capacity constraint: 8j=1muj=U,uj0 for j=1(1)m,\mathop \sum \limits_{j = 1}^m {u_j} = U,\quad {u_j} \ge 0\quad forj = 1(1)m, where 9Rm(um)=E{ cmmin(um,Xm) }=cm(0umxmfm(xm)dxm+umumfm(xm)dxm)=cm(um0umFm(xm)dxm){R_m}({u_m}) = E\{ {c_m}\min ({u_m},{X_m})\} = {c_m}(\mathop \smallint \limits_0^{{u_m}} {x_m}{f_m}({x_m})d{x_m} + \mathop \smallint \limits_0^{{u_m}} {u_m}{f_m}({x_m})d{x_m}) = {c_m}({u_m} - \mathop \smallint \limits_0^{{u_m}} {F_m}({x_m})d{x_m})

Here, um denotes the capacity allocated to the m-th fare class, Xm denotes the customer demand for the m-th fare class, fm(xm) represents a probability density function of Xm, and Fm(xm) is the cumulative distribution function of Xm. The next term in equation (7): 10Em{ Rm1(i=m1muiXm) }=cm10um(i=m1muixm0i=m1muixmFm1(xm1)dxm1)fm(xm)dxm+cm1um(um10um1Fm1(xm1)dxm1)fm(xm)dxm\matrix{ {{E_m}\left\{ {{R_{m - 1}}\left( {\sum\limits_{i = m - 1}^m {{u_i}} - {X_m}} \right)} \right\} = {c_{m - 1}}\int\limits_0^{{u_m}} {\left( {\sum\limits_{i = m - 1}^m {{u_i}} - {x_m} - \int\limits_0^{\sum\limits_{i = m - 1}^m {{u_i}} - {x_m}} {{F_{m - 1}}} \left( {{x_{m - 1}}} \right)d{x_{m - 1}}} \right)} {f_m}\left( {{x_m}} \right)d{x_m}} \cr { + {c_{m - 1}}\int\limits_{{u_m}}^\infty {\left( {{u_{m - 1}} - \int\limits_0^{{u_{m - 1}}} {{F_{m - 1}}} \left( {{x_{m - 1}}} \right)d{x_{m - 1}}} \right)} {f_m}\left( {{x_m}} \right)d{x_m}} \cr } represents the expected revenue contribution of the (m–1)th fare class after accounting for the random demand realization of the lower-priority m-th class. The inner argument reflects the residual capacity available to class m − 1 once demand from class m has been satisfied. The expectation is taken with respect to the distribution of Xm.

More generally, the subsequent terms in (7), including expression (11), represent the expected revenue contributions of higher-priority fare classes obtained recursively. Each expectation conditions on the demand realizations of all lower-priority classes, and the residual capacity is determined by subtracting cumulative lower-class demand from the cumulative allocated capacity. This recursive structure formally captures the nested allocation mechanism. 11Em{ Em1{ Rm2(i=m2muii=m1mxm) } }=cm20umi=m1m0uixm(i=m2muii=m1mxmi=m2muii=m1mxm0Fm2(xm2)dxm2)fm1(xm1)dxm1fm(xm)dxm+cm20umi=m1muixm(um20um2Fm2(xm2)dxm2)fm1(xm1)dxm1fm(xm)dxm+cm2um0um1(i=m2m1uixm10i=m2m1uixm1Fm2(xm2)dxm2)fm1(xm1)dxm1fm(xm)dxm+cm2umum1(um20um2Fm2(xm2)dxm2)fm1(xm1)dxm1fm(xm)dxm\matrix{ {{E_m}\left\{ {{E_{m - 1}}\left\{ {{R_{m - 2}}\left( {\sum\limits_{i = m - 2}^m {{u_i}} - \sum\limits_{i = m - 1}^m {{x_m}} } \right)} \right\}} \right\}} \cr { = {c_{m - 2}}\mathop \smallint \limits_0^{{u_m}} \mathop {}\limits^{\sum\limits_{i = m - 1}^m {{u_i}} - {x_m}} \mathop \smallint \limits_0^{{u_i} - {x_m}} \left( {\sum\limits_{i = m - 2}^m {{u_i}} - \sum\limits_{i = m - 1}^m {{x_m}} - \mathop \smallint \limits_0^{\sum\limits_{i = m - 2}^m {{u_i}} - \sum\limits_{i = m - 1}^m {{x_m}} } {F_{m - 2}}\left( {{x_{m - 2}}} \right)d{x_{m - 2}}} \right){f_{m - 1}}\left( {{x_{m - 1}}} \right)d{x_{m - 1}}{f_m}\left( {{x_m}} \right)d{x_m}} \cr { + {c_{m - 2}}\mathop \smallint \limits_0^{{u_m}} \mathop \smallint \limits_{\sum\limits_{i = m - 1}^m {{u_i}} - {x_m}}^{{u_{m - 1}}} \left( {u_{m - 2}^m - \mathop \smallint \limits_0^{{u_{m - 2}} - {x_m}} {F_{m - 2}}\left( {{x_{m - 2}}} \right)d{x_{m - 2}}} \right){f_{m - 1}}\left( {{x_{m - 1}}} \right)d{x_{m - 1}}{f_m}\left( {{x_m}} \right)d{x_m}} \cr { + {c_{m - 2}}\mathop \smallint \limits_{{u_m}}^\infty \mathop \smallint \limits_{{u_m}}^{{u_{m - 1}}} \left( {\sum\limits_{i = m - 2}^{m - 1} {{u_i}} - {x_{m - 1}} - \mathop \smallint \limits_0^{\sum\limits_{i = m - 2}^{m - 1} {{u_i}} - {x_{m - 1}}} {F_{m - 2}}\left( {{x_{m - 2}}} \right)d{x_{m - 2}}} \right){f_{m - 1}}\left( {{x_{m - 1}}} \right)d{x_{m - 1}}{f_m}\left( {{x_m}} \right)d{x_m}} \cr { + {c_{m - 2}}\mathop \smallint \limits_{{u_m}}^\infty \mathop \smallint \limits_{{u_{m - 1}}}^\infty \left( {{u_{m - 2}} - \mathop \smallint \limits_0^{{u_{m - 2}}} {F_{m - 2}}\left( {{x_{m - 2}}} \right)d{x_{m - 2}}} \right){f_{m - 1}}\left( {{x_{m - 1}}} \right)d{x_{m - 1}}{f_m}\left( {{x_m}} \right)d{x_m}} \cr }

Expression (11) therefore represents the expected revenue contribution from the (m2)th fare class, obtained after conditioning on the demand realizations of all lower-priority classes.

2.2
Optimal Solution

The following assumptions are imposed:

  • The model considers a single-leg flight.

  • Fare classes are nested.

  • No cancellations occur.

  • Demands are mutually independent.

  • Denied booking requests result in lost revenue (no backlogging or spillover recovery).

Theorem 1.

Given the performance index defined by equations (7), (8), the optimal protection levels must satisfy those formulas: 12ck=ck1F¯k1(uk1)+ck20 uk1 F¯k2(i=k2k1uixk1)fk1(xk1)dxk1+ck30 uk1 0 i=k2k1uixk1 F¯k3(i=k3k1uii=k2k1xi)i=k2k1fi(xi)dxi+ck(m1)0 uk1 0 i=k2k1uixk1 0 i=k(m2)k1uii=k(m3)k1xi F¯k(m1)(i=k(m1)k1uii=k(m2)k1xi)i=k(m2)k1fi(xi)dxi,k=2(1)m.\matrix{ {{c_k} = {c_{k - 1}}{{\bar F}_{k - 1}}\left( {{u_{k - 1}}} \right)} \cr { + {c_{k - 2}}\mathop \smallint \limits_0^{\left\langle {{u_{k - 1}}} \right\rangle } {{\bar F}_{k - 2}}\left( {\sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {x_{k - 1}}} \right){f_{k - 1}}\left( {{x_{k - 1}}} \right)d{x_{k - 1}}} \cr { + {c_{k - 3}}\mathop \smallint \limits_0^{\left\langle {{u_{k - 1}}} \right\rangle } \mathop \smallint \limits_0^{\left\langle {\sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {x_{k - 1}}} \right\rangle } {{\bar F}_{k - 3}}\left( {\sum\limits_{i = k - 3}^{k - 1} {{u_i}} - \sum\limits_{i = k - 2}^{k - 1} {{x_i}} } \right)\prod\limits_{i = k - 2}^{k - 1} {{f_i}} \left( {{x_i}} \right)d{x_i}} \cr \vdots \cr { + {c_{k - (m - 1)}}\mathop \smallint \limits_0^{\left\langle {{u_{k - 1}}} \right\rangle } \mathop \smallint \limits_0^{\left\langle {\sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {x_{k - 1}}} \right\rangle } \cdots \mathop \smallint \limits_0^{\left\langle {\sum\limits_{i = k - (m - 2)}^{k - 1} {{u_i}} - \sum\limits_{i = k - (m - 3)}^{k - 1} {{x_i}} } \right\rangle } {{\bar F}_{k - (m - 1)}}\left( {\sum\limits_{i = k - (m - 1)}^{k - 1} {{u_i}} - \sum\limits_{i = k - (m - 2)}^{k - 1} {{x_i}} } \right)\prod\limits_{i = k - (m - 2)}^{k - 1} {{f_i}} \left( {{x_i}} \right)d{x_i},} \cr {k = 2(1)m.} \cr }

Proof:

The result follows from applying the method of Lagrange multipliers to the constrained optimization problem defined by (7)–(8), combined with mathematical induction on the number of fare classes.

Corollary 1.1.:

The optimality formulas in (12) can be equivalently expressed in the following forms: 13ck=ck1Pr(Xk1>uk1)+ck2Pr(Xk2>i=k2k1uiXk1Xk1 uk1 )+ck3Pr(Xk3>i=k3k1uii=k2k1XiXk2 i=k2k1uiXk1 ,Xk1 uk1 )+ck(m1)Pr( Xk(m1)>i=k(m1)k1uii=k(m2)k1XiXk(m2) i=k(m2)k1uii=k(m3)k1Xi , ,Xk2 i=k2k1uiXk1 ,Xk1 uk1 ),k=2(1)m.\matrix{ {{c_k} = {c_{k - 1}}\Pr \left( {{X_{k - 1}} > {u_{k - 1}}} \right)} \cr { + {c_{k - 2}}\Pr \left( {{X_{k - 2}} > \sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {X_{k - 1}}\mid {X_{k - 1}} \le \left\langle {{u_{k - 1}}} \right\rangle } \right)} \cr { + {c_{k - 3}}\Pr \left( {{X_{k - 3}} > \sum\limits_{i = k - 3}^{k - 1} {{u_i}} - \sum\limits_{i = k - 2}^{k - 1} {{X_i}} \mid {X_{k - 2}} \le \left\langle {\sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {X_{k - 1}}} \right\rangle ,{X_{k - 1}} \le \left\langle {{u_{k - 1}}} \right\rangle } \right)} \cr \vdots \cr { + {c_{k - (m - 1)}}\Pr \left( {{X_{k - (m - 1)}} > \sum\limits_{i = k - (m - 1)}^{k - 1} {{u_i}} - \sum\limits_{i = k - (m - 2)}^{k - 1} {{X_i}} \mid {X_{k - (m - 2)}} \le \left\langle {\sum\limits_{i = k - (m - 2)}^{k - 1} {{u_i}} - \sum\limits_{i = k - (m - 3)}^{k - 1} {{X_i}} } \right\rangle ,} \right.} \cr {\left. { \ldots ,{X_{k - 2}} \le \left\langle {\sum\limits_{i = k - 2}^{k - 1} {{u_i}} - {X_{k - 1}}} \right\rangle ,{X_{k - 1}} \le \left\langle {{u_{k - 1}}} \right\rangle } \right),\quad k = 2(1)m.} \cr }

Expression (13) provides an intuitive interpretation of the optimal protection levels. Each equation balances the marginal revenue of fare class k against the expected marginal revenue contributions of higher-priority classes, conditioned on the realization of lower-priority demands. The conditions in (13) hold when demands are modeled as continuous random variables (cf. Curry [5]) as well as when they are discrete (cf. Wollmer [6]).

2.3
Example

To illustrate the optimality conditions, consider a single-leg flight with m = 3 nested fare classes. In this case, condition (12) implies that the optimal protection levels u1,u2{u_1}^ * ,{u_2}^ * must satisfy (14) below: 14c2=c1F¯1(u1*),c3=c2F¯2(u2*)+c10u2*F¯1(i=12ui*x2)f2(x2)dx2.{c_2} = {c_1}{\bar F_1}(u_1^*),\quad {c_3} = {c_2}{\bar F_2}(u_2^*) + {c_1}\mathop \smallint \limits_0^{u_2^*} {\bar F_1}(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_2}){f_2}({x_2})d{x_2}.

However, (14) can be reformulated into an equivalent representation, shown in (15), which expresses the second condition in terms of cumulative distribution functions and conditional expectations: 15c2=c1F¯1(u1*),c3=c1[ F¯1(u1*)F¯2(u2*)+0u2*F¯1(i=12ui*x2)f2(x2)dx2 ].{c_2} = {c_1}{\bar F_1}(u_1^*),\quad {c_3} = {c_1}[{\bar F_2}(u_2^*){\bar F_2}(u_2^*) + \mathop \smallint \limits_0^{u_2^*} {\bar F_1}(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_2}){f_2}({x_2})d{x_2}].

To facilitate further simplification, observe that the integral term appearing in (15) can be rewritten as shown in (16): 160u2*F¯1(i=12ui*x2)f2(x2)dx2=F¯1(u1*)F¯2(u2*)+F¯1(u1*+u2*)+u1*u1*+u2*F¯2(i=12ui*x1)f1(x1)dx1,\mathop \smallint \limits_0^{u_2^*} {\bar F_1}(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_2}){f_2}({x_2})d{x_2} = - {\bar F_1}(u_1^*){\bar F_2}(u_2^*) + {\bar F_1}(u_1^* + u_2^*) + \mathop \smallint \limits_{u_1^*}^{u_1^* + u_2^*} \bar F(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_1}){f_1}({x_1})d{x_1},

Substituting expression (16) into (15) yields the equivalent system given in (17): 17c2=c1F¯1(u1*),c3=c1[ F¯1(u1*+u2*)+u1*u1*+u2*F¯2(i=12ui*x1)f1(x1)dx1 ].{c_2} = {c_1}{\bar F_1}(u_1^*),\quad {c_3} = {c_1}[{\bar F_1}(u_1^* + u_2^*) + \mathop \smallint \limits_{u_1^*}^{u_1^* + u_2^*} {\bar F_2}(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_1}){f_1}({x_1})d{x_1}].

Brumelle and McGill [7] demonstrated that, for the three-class case, the optimal nested protection level conditions can be reduced to: 18c2=c1Pr(X1>u1*),c3=c1Pr(X1>u1*X1+X2>u1*+u2*),{c_2} = {c_1}\Pr ({X_1} > u_1^*),\quad {c_3} = {c_1}\Pr ({X_1} > u_1^*\mathop \cap \nolimits^ {X_1} + {X_2} > u_1^* + u_2^*), where 19Pr(X1>u1*)=F¯1(u1*)\Pr ({X_1} > u_1^*) = {\bar F_1}(u_1^*) and 20Pr(X1>u1*X1+X2>u1*+u2*)=Pr(X1>u1*+u2*)+Pr(u1*<X1u1*+u2*X2>u1*+u2*X1)=F¯1(u1*+u2*)+u1*u1*+u2*F¯2(i=12ui*x1)f1(x1)dx1.\matrix{ {\Pr ({X_1} > u_1^*\mathop \cap \nolimits^ {X_1} + {X_2} > u_1^* + u_2^*)} \cr { = \Pr ({X_1} > u_1^* + u_2^*) + \Pr (u_1^* < {X_1} \le u_1^* + u_2^*\mathop \cap \nolimits^ {X_2} > u_1^* + u_2^* - {X_1})} \cr { = {{\bar F}_1}(u_1^* + u_2^*) + \mathop \smallint \limits_{u_1^*}^{u_1^* + u_2^*} {{\bar F}_2}(\mathop \sum \limits_{i = 1}^2 u_i^* - {x_1}){f_1}({x_1})d{x_1}.} \cr }

Combining expressions (18), (19), and (20) establishes the equivalence with (17). This example highlights the probabilistic interpretation of the optimality conditions in the three-class case. However, as the number of nested fare classes increases (i.e., m ≥ 4), the corresponding probability expressions become increasingly complex. In particular, the EMSRb approach [7] may exhibit limited practical applicability when the number of fare classes is large.

3.
NUMERICAL EXAMPLE
3.1
Statement of the problem

Consider a single-leg flight with m = 3 nested fare classes, where customer demands X1, X2, X3 follow independent exponential distributions: 21Xj~fj(xj)=1θjexp(xj/θj),xj(0,),{X_j}\~{f_j}({x_j}) = {1 \over {{\theta _j}}}\exp ( - {x_j}/{\theta _j}),\quad {x_j} \in (0,\infty ), with scale parameters given by θ1 = 10.4, θ2 = 20, θ3 = 30. The fare rates are: c1 = 2, c2 = 1, c3 = 0.5. The objective is to determine the optimal booking limits that maximize the total expected revenue R(u1, u2, u3) for m = 3 nested fare classes, subject to the capacity constraint: 22j=13uj=U,uj0 (integer value) for j{1,2,3},\mathop \sum \limits_{j = 1}^3 {u_j} = U,\quad {u_j} \ge 0(integervalue)forj \in \{ 1,2,3\} , where U = 60 is the total number of seats available.

3.2
Non-nested Optimization

For comparative purposes, consider first the case in which fare classes are treated as non-nested. The total expected revenue for a single-leg flight with m non-nested fare classes is: 23R(u1,u2,u3)=j=13R(uj)=j=13cj(uj0ujFj(xj)dxj),R({u_1},{u_2},{u_3}) = \mathop \sum \limits_{j = 1}^3 R({u_j}) = \mathop \sum \limits_{j = 1}^3 {c_j}({u_j} - \mathop \smallint \limits_0^{{u_j}} {F_j}({x_j})d{x_j}), subject to the capacity constraint given in (22). The corresponding optimal solution is: 24u1*=20,u1*=24,u1*=16,u_1^* = 20,\quad u_1^* = 24,\quad u_1^* = 16, which yields the total expected revenue: 25RNon-nested (u1*=20,u2*=24,u3=16)=37.936.{R^{Non - nested}}(u_1^* = 20,u_2^* = 24,u_3^ \bullet = 16) = 37.936.

3.3
Nested Optimization

We now consider the nested allocation model. The expected total revenue for m = 3 nested fare classes is given by (26): 26R(u1,u2,u3)=R3(u3)+E3{ R2(i=23uiX3) }+E3{ E2{ R1(i=13uii=23Xi) } }=c3[ u30u3F3(x3)dx3 ]+c20u3[ i=23uix30i=23uix3F2(x2)dx2 ]f3(x3)dx3+c2u3[ u20u2F2(x2)dx2 ]f3(x3)dx3+c10u3[ 0i=23uix3[ i=13uii=23xi0i=13uii=23xiF1(x1)dx1 ]f2(x2)dx2 ]f3(x3)dx3+c10u3[ u2+u3x3[ u10u1F1(x1)dx1 ]f2(x2)dx2 ]f3(x3)dx3+c1u3[ 0u2[ i=12uix20i=12uix2F1(x1)dx1 ]f2(x2)dx2 ]f3(x3)dx3+c1u3[ u2[ u10u1F1(x1)dx1 ]f2(x2)dx2 ]f3(x3)dx3,\matrix{ {R\left( {{u_1},{u_2},{u_3}} \right) = {R_3}\left( {{u_3}} \right) + {E_3}\left\{ {{R_2}\left( {\sum\limits_{i = 2}^3 {{u_i}} - {X_3}} \right)} \right\} + {E_3}\left\{ {{E_2}\left\{ {{R_1}\left( {\sum\limits_{i = 1}^3 {{u_i}} - \sum\limits_{i = 2}^3 {{X_i}} } \right)} \right\}} \right\}} \cr { = {c_3}\left[ {{u_3} - \mathop \smallint \limits_0^{{u_3}} {F_3}\left( {{x_3}} \right)d{x_3}} \right] + {c_2}\mathop \smallint \limits_0^{{u_3}} \left[ {\sum\limits_{i = 2}^3 {{u_i}} - {x_3} - \int_0^{\sum\limits_{i = 2}^3 {{u_i}} - {x_3}} {{F_2}} \left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3}} \cr { + {c_2}\mathop \smallint \limits_{{u_3}}^\infty \left[ {{u_2} - \mathop \smallint \limits_0^{{u_3}} {F_2}\left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3}} \cr { + {c_1}\mathop \smallint \limits_0^{{u_3}} \left[ {\mathop \smallint \limits_0^{\sum\limits_{i = 2}^3 {{u_i}} - {x_3}} \left[ {\sum\limits_{i = 1}^3 {{u_i}} - \sum\limits_{i = 2}^3 {{x_i}} - \mathop \smallint \limits_0^{\sum\limits_{i = 1}^3 {{u_i}} - \sum\limits_{i = 2}^3 {{x_i}} } {F_1}\left( {{x_1}} \right)d{x_1}} \right]{f_2}\left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3}} \cr { + {c_1}\mathop \smallint \limits_0^{{u_3}} \left[ {\mathop \smallint \limits_{{u_2} + {u_3} - {x_3}}^\infty \left[ {{u_1} - \mathop \smallint \limits_0^{{u_1}} {F_1}\left( {{x_1}} \right)d{x_1}} \right]{f_2}\left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3}} \cr { + {c_1}\mathop \smallint \limits_{{x_3}}^\infty \left[ {\mathop \smallint \limits_0^{{u_3}} \left[ {\sum\limits_{i = 1}^2 {{u_i}} - {x_2} - \mathop \smallint \limits_0^{\sum\limits_{i = 1}^2 {{u_i}} - {x_2}} {F_1}\left( {{x_1}} \right)d{x_1}} \right]{f_2}\left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3}} \cr { + {c_1}\mathop \smallint \limits_{{x_3}}^\infty \left[ {\mathop \smallint \limits_{{u_2}}^\infty \left[ {{u_1} - \int_0^{{u_1}} {{F_1}} \left( {{x_1}} \right)d{x_1}} \right]{f_2}\left( {{x_2}} \right)d{x_2}} \right]{f_3}\left( {{x_3}} \right)d{x_3},} \cr } again subject to the capacity constraint (22). Here, solving the optimization problem yields the optimal protection levels: 27(u1*,u2*)=argmin(u1,u2)([ c2c1F¯1(u1) ]2+ [ c3c2F¯2(u2) +c10u2F¯1(u1+u2x2)f2(x2)dx2 ]2)=(7,25),u3*=Uu1*u2*=28,(u_1^*,u_2^*) = \arg \mathop {\min }\limits_{({u_1},{u_2})} (\matrix{ {{{[{c_2} - {c_1}{{\bar F}_1}({u_1})]}^2} + [{c_3} - {c_2}{{\bar F}_2}({u_2})} \cr { + {c_1}\mathop \smallint \limits_0^{{u_2}} {{\bar F}_1}({u_1} + {u_2} - {x_2}){f_2}({x_2})d{x_2}{]^2}} \cr } ) = (7,25),\quad u_3^* = U - u_1^* - u_2^* = 28, and the resulting expected revenue: 28RNested (u1*=7,u2*=25,u3=28)=42.207.{R^{Nested}}(u_1^* = 7,u_2^* = 25,u_3^ \bullet = 28) = 42.207.

To quantify the benefit of nesting, the relative improvement in expected revenue compared with the non-nested case is computed as: 29Iimp.per(RNested ,RNon-nested )=RNested (u1*,u2*,u3*)RNon-nested (u1,u2,u3)RNon-nested (u1,u2,u3)100%=42.20737.9637.96100%=11.26%.\matrix{ {{I_{imp.per.}}({R^{Nested}},{R^{Non - nested}}) = {{{R^{Nested}}(u_1^*,u_2^*,u_3^*) - {R^{Non - nested}}(u_1^ \bullet ,u_2^ \bullet ,u_3^ \bullet )} \over {{R^{Non - nested}}(u_1^ \bullet ,u_2^ \bullet ,u_3^ \bullet )}}100\% } \cr { = {{42.207 - 37.96} \over {37.96}}100\% = 11.26\% .} \cr }

Remark 1.

It remains an open question whether the magnitude of the improvement observed in (29) persists (on average) for different values of m, alternative fare structures, and other distributions of customer demand.

3.4
Optimization according to the EMSRa Method

In this case, the performance index is given by (26) subject to the capacity constraint (22), and the protection levels are determined according to the EMSRa heuristic. The corresponding optimal solution is: 30u1*=argminu1[ c2c1F¯1(u1) ]2=7.u_1^* = \arg \mathop {\min }\limits_{_{{u_1}}} {[{c_2} - {c_1}{\bar F_1}({u_1})]^2} = 7. which follows from (2)–(5). The remaining protection levels are then obtained as: 31u2#=u21+u22u1=21,u3#=Uu1u2#=32,u_2^\# = u_2^1 + u_2^2 - u_1^ * = 21,\quad u_3^\# = U - u_1^ * - u_2^\# = 32,

The resulting expected revenue under the EMSRa allocation is: 32REMSRa(u1*=7,u2#=21,u3#=32)=42.141.{R^{EMSRa}}(u_1^* = 7,u_2^\# = 21,u_3^\# = 32) = 42.141.

To assess the performance difference between the proposed nested optimization and the EMSRa heuristic, the relative improvement in expected revenue is computed as: 33Iimp.per.(RNested,REMSRa)=RNested(u1,u2,u3)REMSRa(u1,u2,u3)REMSRa(u1,u2,u3)100%=42.20742.14142.141100%=0.157%.\matrix{ {{I_{imp.per.}}({R^{Nested}},{R^{EMSRa}}) = {{{R^{Nested}}(u_1^ * ,u_2^ * ,u_3^ * ) - {R^{EMSRa}}(u_1^ \bullet ,u_2^ \bullet ,u_3^ \bullet )} \over {{R^{EMSRa}}(u_1^ \bullet ,u_2^ \bullet ,u_3^ \bullet )}}100\% } \cr { = {{42.207 - 42.141} \over {42.141}}100\% = 0.157\% .} \cr }

The numerical results indicate that, for the parameter values considered, the proposed optimization yields a modest improvement over EMSRa.

Remark 2.

It remains an open question whether the magnitude of the improvement observed in (33) persists (on average) for different values of m, alternative fare structures, and other distributions of customer demand.

4.
NOVEL DYNAMIC MODEL FOR ANTICIPATORY ADAPTIVE NESTED OPTIMIZATION OF AIRLINE SEAT RESERVATION CONTROL
4.1
Model Description

Consider a single-leg flight with two service classes (business and economy) for a fixed departure date. The booking horizon prior to departure is divided into m predefined decision epochs (referred to as reading dates), at which the reservation control policy may be updated. Let 0 = τ0 < τ1 < τ < τm < τm+1 = T denote the sequence of decision times obtained from the m-th reading dates. The interval (τ0 = 0, τ1], (τ1, τ2],…, (τl−1, τl] obtained by the m reading dates: τ1, τ2, …, τl. These reading dates are indexed as: 0 < τ1 < τ2 < … < τl, with τl being the time of departure The interval (τi−1, τi] represents the i-th reading period, and (τl−1, τl] is the reading period immediately preceding departure. The reading periods which are closer to departure typically cover much shorter intervals than those further from departure, reflecting the higher intensity of booking activity as departure approaches. For instance, the final reading period immediately preceding departure may cover 1 day, whereas one month from departure such a period may cover 1 week.

Let T ∈ (τ0, τ1) denote the time when the customer receives a seat reservation for the flight. It is assumed that T represents a random variable which follows the underlying distribution with the probability density function f(t) and cumulative distribution function F(t), where θ is a parameter (generally a vector). The probability that a reservation request occurs within the i-th reading period is therefore given by (34): 34pi=Pr(T( τi1,τi ])=τi1τifθ(t)dt=Fθ(τi)Fθ(τi1),i=1l+1,{p_i} = \Pr (T \in ({\tau _{i - 1}},{\tau _i}]) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_\theta }(t)dt = {F_\theta }({\tau _i}) - {F_\theta }({\tau _{i - 1}}),\quad i = 1 \ldots l + 1, where τ0 = 0, τl+1 = ∞.

The customer demands for the high- and low-fare classes are considered to be stochastically independent. Each booking at the high-fare class in reading period (τ0 = 0, τ1] generates revenue of ci, whereas a booking in the low-fare class generates c_i_{_{}}, where c_i_<ci{_{}} < {c_i} for all i ∈ {1, …, l). It is further assumed that fare levels satisfy the monotonicity conditions given in (35): 35c1<c2<<cl,c_1<c_2<<c_l,c_i/ci<1i{1,,l}.{c_1} < {c_2} < \ldots < {c_l},\quad {_1} < {_2} < \ldots < {_l},\quad {_i}/{c_i} < 1\quad \forall i \in \{ 1, \ldots ,l\} .

In the following, we consider the case of a single-leg flight with two service classes (business and economy) and l = 3 reading periods.

4.2
Process of the Control of Airline Seat Reservation

Step1. At this stage, the following predictive likelihood functions are constructed to estimate future customer demand for a single-leg flight with two service classes (economy, business), each divided into three fare subclasses (six subclasses in total).

a)
Business service class

The predictive likelihood function used to estimate future demand for the business service class with three fare subclasses is given by (36). 36L1(u1,u2,u3θ1,U1)=U1!u1!u2!u3!(U1u1u2u3)!i=14piui,u4=U1u1u2u3{L_1}({u_1},{u_2},{u_3}\mid {\theta _1},{U_1}) = {{{U_1}!} \over {{u_1}!{u_2}!{u_3}!({U_1} - {u_1} - {u_2} - {u_3})!}}\mathop \prod \limits_{i = 1}^4 p_i^{{u_i}},\quad {u_4} = {U_1} - {u_1} - {u_2} - {u_3} where U1 denotes the total airplane seat capacity to be shared among the two service classes; ui, i = 1,…,3, are the predictive likelihood estimates of future customer demand for business service class with three fare subclasses in the reading periods (τ0 = 0, τ1], i = 1,…3, respectively. The probabilities pi are defined in (37): 37pi=Pr(T1( τi1,τi ])=τi1τifθ1(t1)dt1=Fθ1(τi)Fθ1(τi1),i=1l+1,{p_i} = \Pr ({T_1} \in ({\tau _{i - 1}},{\tau _i}]) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_{{\theta _1}}}({t_1})d{t_1} = {F_{{\theta _1}}}({\tau _i}) - {F_{{\theta _1}}}({\tau _{i - 1}}),\quad i = 1 \ldots l + 1,

In this formulation, T1 denotes the random time when a business fare class customer receives a seat reservation for the flight (it represents a random variable which follows the underlying distribution fθ1(t1) and cumulative distribution Fθ1(t1), in which θ1 denotes a parameter (generally a vector), τ0 = 0, τm+1 = ∞, l = 3). The quantity pi represents the probability that a business service class customer receives a seat reservation within the i-th reading period (τi −1, τi].

b)
Economy service class

Similarly, the predictive likelihood function for estimating future customer demand for economy service class with three fare subclasses is given by (38): 38L2(u1_,u2_,u3_θ2,U1)=U1!u1_!u2_!u3_!(U1u1_u2_u3_)!i=14p_iui_,u4_=U1u1_u2_u3_{L_2}(\underline {{u_1}} ,\underline {{u_2}} ,\underline {{u_3}} \mid {\theta _2},{U_1}) = {{{U_1}!} \over {\underline {{u_1}} !\underline {{u_2}} !\underline {{u_3}} !({U_1} - \underline {{u_1}} - \underline {{u_2}} - \underline {{u_3}} )!}}\mathop \prod \limits_{i = 1}^4 {^{\underline {{u_i}} }}_i,\quad \underline {{u_4}} = {U_1} - \underline {{u_1}} - \underline {{u_2}} - \underline {{u_3}} and the associated probabilities are defined in (39): 39p_i=Pr(T2( τi1,τi ])=τi1τifθ2(t2)dt2=Fθ2(τi)Fθ2(τi1),i=1l+1,{_i} = \Pr ({T_2} \in ({\tau _{i - 1}},{\tau _i}]) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_{{\theta _2}}}({t_2})d{t_2} = {F_{{\theta _2}}}({\tau _i}) - {F_{{\theta _2}}}({\tau _{i - 1}}),\quad i = 1 \ldots l + 1,

In this formulation, T2 is the random time when an economy service class customer receives a seat reservation for the flight (it represents a random variable which follows the underlying distribution fθ2(t2) and cumulative distribution function F2(t2) in which θ2 is a parameter (generally a vector), τ0 = 0, τl+1 = ∞, l = 3). The quantity p_i_{_i} represents the probability that an economy service class customer receives a seat reservation within the i-th reading period (τi −1, τi];

The optimal demand estimates for both service classes, denoted u1,u2,u3;u_1_,u_2_,u_3_,{u_1}^ * ,{u_2}^ * ,{u_3}^ * ;{_{}}^ * ,{_{}}^ * ,{_{}}^ * , are obtained by maximizing the logarithm of the predictive likelihood function in (40): 40lnL1(u1,u2,u3θ1,U1)+lnL2(u_1,u_2,u_3θ2,U1)\ln {L_1}({u_1},{u_2},{u_3}\mid {\theta _1},{U_1}) + \ln {L_2}({_1},{_2},{_3}\mid {\theta _2},{U_1}) subject to the constraints given in (41): 41i=13ui+i=13u_iU1,ui0,u_i0,i{1,2,3}.\mathop \sum \limits_{i = 1}^3 {u_i} + \mathop \sum \limits_{i = 1}^3 {_i} \le {U_1},\quad {u_i} \ge 0,\quad {_i} \ge 0,\quad i \in \{ 1,2,3\} .

Next, using the estimated demand values obtained above, the optimal protection levels for business-class customers are determined via nested optimization according to (42): 42uiopl=minki0 such that c_icij=ki+1ui*+u_i*(ui*+u_i*j)pij(1pi)ui*+u_i*j,i(1,2,3}.u_i^{opl} = \min {k_i} \ge 0suchthat{_i} \ge {c_i}\mathop \sum \limits_{j = {k_i} + 1}^{u_i^* + _i^*} (\matrix{ {u_i^* + _i^*} \cr j \cr } )p_i^j{(1 - {p_i})^{u_i^* + _i^* - j}},i \in (1,2,3\} .

This expression defines the minimal protection level satisfying the required revenue dominance conditions across the three business fare subclasses. The corresponding booking limits (bl) for future economy service class customers with three fare subclasses are given by (43): 43uibl=ui*+u_i*uiopl,i(1,2,3}.u_i^{bl} = u_i^* + _i^* - u_i^{opl},i \in (1,2,3\} .

Step 2. At this stage, updated predictive likelihood functions are constructed to estimate future customer demand for a single-leg flight with two service classes (business and economy), now considering two remaining fare subclasses in each class (four subclasses in total).

a)
Business service class

The predictive likelihood function for estimating future demand in the business service class with two remaining fare subclasses is given by (44): 44L1(u2,u3θ1,U2)=U2!u2!u3!(U2u2u3)!i=24piui,u4=U2u2u3{L_1}({u_2},{u_3}\mid {\theta _1},{U_2}) = {{{U_2}!} \over {{u_2}!{u_3}!({U_2} - {u_2} - {u_3})!}}\mathop \prod \limits_{i = 2}^4 p_i^{{u_i}},\quad {u_4} = {U_2} - {u_2} - {u_3} where U2 is the available airplane seat capacity (at Step 2) to be shared among the two service classes; ui, i = 2, 3, are the predictive likelihood estimates of future customer demand for business service class with two remaining fare subclasses in the reading periods (τi−1, τi]; i = 2, 3, respectively. The associated probabilities are defined in (45)–(46): 45p2=Pr(T1( τ1,τ2 ])=τ1τ2fθ1(t1)dt1=Fθ1(τ2)Fθ1(τ1),{p_2} = \Pr ({T_1} \in ({\tau _1},{\tau _2}]) = \mathop \smallint \limits_{{\tau _1}}^{{\tau _2}} {f_{{\theta _1}}}({t_1})d{t_1} = {F_{{\theta _1}}}({\tau _2}) - {F_{{\theta _1}}}({\tau _1}), 46pi=Pr(T1( τi1,τi ])=τi1τifθ1(t1)dt1=Fθ1(τi)Fθ1(τi1),i=3,4.{p_i} = \Pr \left( {{T_1} \in \left( {{\tau _{i - 1}},{\tau _i}} \right]} \right) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_{{\theta _1}}}\left( {{t_1}} \right)d{t_1} = {F_{{\theta _1}}}\left( {{\tau _i}} \right) - {F_{{\theta _1}}}\left( {{\tau _{i - 1}}} \right),\quad i = 3,4.]

b)
Economy service class

The predictive likelihood function for estimating future demand in the economy service class with two remaining fare subclasses is given by (47), and the respective the associated probabilities are defined in (48)–(49): 47L2(u2_,u3_θ2,U2)=U2!u2_!u3_!(U2u2_u3_)!i=24pu_i_i,u4_=U2u2_u3_{L_2}(\underline {{u_2}} ,\underline {{u_3}} \mid {\theta _2},{U_2}) = {{{U_2}!} \over {\underline {{u_2}} !\underline {{u_3}} !({U_2} - \underline {{u_2}} - \underline {{u_3}} )!}}\mathop \prod \limits_{i = 2}^4 {\underline {{p^{{{}_i}}}} _i},\quad \underline {{u_4}} = {U_2} - \underline {{u_2}} - \underline {{u_3}} 48p_2=Pr(T2( τ1,τ2 ])=τ1τ2fθ2(t2)dt2=Fθ2(τ2)Fθ2(τ1),{_2} = \Pr ({T_2} \in ({\tau _1},{\tau _2}]) = \mathop \smallint \limits_{{\tau _1}}^{{t_2}} {f_{{\theta _2}}}({t_2})d{t_2} = {F_{{\theta _2}}}({\tau _2}) - {F_{{\theta _2}}}({\tau _1}), 49p_i=Pr(T2( τi1,τi ])=τi1τifθ2(t2)dt2=Fθ2(τi)Fθ2(τi1),i=3,4.{_i} = \Pr ({T_2} \in ({\tau _{i - 1}},{\tau _i}]) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{t_2}} {f_{{\theta _2}}}({t_2})d{t_2} = {F_{{\theta _2}}}({\tau _i}) - {F_{{\theta _2}}}({\tau _{i - 1}}),\quad i = 3,4.

The optimal demand estimates, denoted u2,u3,u_2_,u_3_{u_2}^ * ,{u_3}^ * ,{_{}}^ * ,{_{}}^ * , are obtained by maximizing the logarithm of the predictive likelihood function, in (50): 50lnL1(u2,u3θ1,U2)+lnL2(u_2_,u_3_θ2,U2)\ln {L_1}({u_2},{u_3}\mid {\theta _1},{U_2}) + \ln {L_2}({_2},{_3}\mid {\theta _2},{U_2}) subject to the constraints given in (51): 51i=23ui+i=23u_iU2,ui0,u_i0,i{2,3}.\mathop \sum \limits_{i = 2}^3 {u_i} + \mathop \sum \limits_{i = 2}^3 {_i} \le {U_2},\quad {u_i} \ge 0,\quad {_i} \ge 0,\quad i \in \{ 2,3\} .

Next, using the estimated demand values obtained above, the optimal protection levels for business-class customers are determined via nested optimization according to (52): 52uiopl=minki0 such that c_icij=ki+1ui*+u_i*(ui*+u_i*j)pij(1pi)ui*+u_i*j,i(2,3}.u_i^{opl} = \min {k_i} \ge 0suchthat{_i} \ge {c_i}\mathop \sum \limits_{j = {k_i} + 1}^{u_i^* + _i^*} (\matrix{ {u_i^* + _i^*} \cr j \cr } )p_i^j{(1 - {p_i})^{u_i^{{u_i}} + _i^* - j}},\quad i \in (2,3\} .

This expression identifies the minimal protection level that satisfies the required revenue dominance condition across the remaining business fare subclasses. The booking limits for the economy service class with two remaining fare subclasses are then computed as given in (53): 53uibl=ui*+u_i*uiopl,i(2,3}.u_i^{bl} = u_i^* + _i^* - u_i^{opl},\quad i \in (2,3\} .

Step 3. At this stage, predictive likelihood functions are constructed to estimate future customer demand for a single-leg flight with two service classes (business and economy), considering one remaining fare subclass in each class.

a)
Business service class

The predictive likelihood function for estimating future demand in the business service class with one remaining fare subclass is given by (54): 54L1(u3θ1,U3)=U3!u3!(U3u3)!i=34piui,u4=U3u3{L_1}({u_3}\mid {\theta _1},{U_3}) = {{{U_3}!} \over {{u_3}!({U_3} - {u_3})!}}\mathop \prod \limits_{i = 3}^4 p_i^{{u_i}},\quad {u_4} = {U_3} - {u_3} where U3 denotes the available airplane seat capacity at Step 3, shared between the two service classes. The variable u3 represents the predictive likelihood estimate of future customer demand for the business service class during the reading period (τ2, τ3]. The associated probabilities are defined in (55)–(56): 55p3=Pr(T1( τ2,τ3 ])=τ2τ3fθ1(t1)dt1=Fθ1(τ3)Fθ1(τ2),{p_3} = \Pr ({T_1} \in ({\tau _2},{\tau _3}]) = \mathop \smallint \limits_{{\tau _2}}^{{\tau _3}} {f_{{\theta _1}}}({t_1})d{t_1} = {F_{{\theta _1}}}({\tau _3}) - {F_{{\theta _1}}}({\tau _2}), 56pi=Pr(T1( τi1,τi ])=τi1τifθ1(t1)dt1=Fθ1(τi)Fθ1(τi1),i=4,{p_i} = \Pr \left( {{T_1} \in \left( {{\tau _{i - 1}},{\tau _i}} \right]} \right) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_{{\theta _1}}}\left( {{t_1}} \right)d{t_1} = {F_{{\theta _1}}}\left( {{\tau _i}} \right) - {F_{{\theta _1}}}\left( {{\tau _{i - 1}}} \right),\quad i = 4,

b)
Economy service class

The predictive likelihood function for estimating future demand in the economy service class with one remaining fare subclass is given by (57): 57L2(u_3θ2,U3)=U3!u_3!(U3u_3)!i=34p_iu_i,u_4=U3u_3,{L_2}({_3}\mid {\theta _2},{U_3}) = {{{U_3}!} \over {{{}_3}!({U_3} - {{}_3})!}}\mathop \prod \limits_{i = 3}^4 _i^{{{}_i}},\quad {_4} = {U_3} - {_3}, where U3 denotes the available airplane seat capacity at Step 3, shared between the two service classes. The variable u_3_{_{}} represents the predictive likelihood estimate of future customer demand for the economy service class during the reading period (τ2, τ3]. The associated probabilities are defined in (58)–(59): 58p_3=Pr(T2( τ2,τ3 ])=τ2τ3fθ2(t2)dt2=Fθ2(τ3)Fθ2(τ2),{_3} = \Pr ({T_2} \in ({\tau _2},{\tau _3}]) = \mathop \smallint \limits_{{\tau _2}}^{{\tau _3}} {f_{{\theta _2}}}({t_2})d{t_2} = {F_{{\theta _2}}}({\tau _3}) - {F_{{\theta _2}}}({\tau _2}), 59p_i=Pr(T2( τi1,τi ])=τi1τifθ2(t2)dt2=Fθ2(τi)Fθ2(τi1),i=4.{_i} = \Pr ({T_2} \in ({\tau _{i - 1}},{\tau _i}]) = \mathop \smallint \limits_{{\tau _{i - 1}}}^{{\tau _i}} {f_{{\theta _2}}}({t_2})d{t_2} = {F_{{\theta _2}}}({\tau _i}) - {F_{{\theta _2}}}({\tau _{i - 1}}),\quad i = 4.

Further, the corresponding optimal demand estimates (u3*;u_3_*u_3^*;_{}^*) or the single-leg flight with two service classes (business and economy) are obtained by maximizing the logarithm of the predictive likelihood function: 60lnL1(u3θ1,U3)+lnL2(u_3θ2,U3)\ln {L_1}({u_3}\mid {\theta _1},{U_3}) + \ln {L_2}({_3}\mid {\theta _2},{U_3}) subject to the constraints in (61): 61u3+u_3U3,u30,u_30.{u_3} + {_3} \le {U_3},\quad {u_3} \ge 0,\quad {_3} \ge 0.

Using the corresponding optimal demand estimates (u3*;u_3_*)\left( {u_3^*;_{}^*} \right) the optimal protection level for future business-class customers is determined (via nested optimization) as given in (62): 62uiopl=minki0 such that c_icij=ki+1ui*+ui*(ui*+u_i*j)pij(1pi)ui*+ui*j,i=3.u_i^{opl} = \min {k_i} \ge 0suchthat{_i} \ge {c_i}\mathop \sum \limits_{j = {k_i} + 1}^{u_i^* + u_i^*} (\matrix{ {u_i^* + _i^*} \cr j \cr } )p_i^j{(1 - {p_i})^{u_i^* + u_i^* - j}},i = 3.

The booking limit for future economy-class customers is then computed as: 63u3bl=u3*+u_3*u3opl.u_3^{bl} = u_3^* + _3^* - u_3^{opl}.

Final Step (Departure time t = τm). At departure, a statistical analysis is conducted to enable continuous optimization of the booking-class structure in response to evolving customer demand and competitive pricing strategies.

5.
RECOGNITION OF CHANGES IN CUSTOMER DEMAND OR PRICING STRATEGIES OF A COMPETITOR THROUGH MINIMIZATION OF MISRECOGNITION PROBABILITY

Let H0 denote the null hypothesis that no change has occurred in customer demand or in a competitor’s pricing strategy. The test statistic used to make this decision is the mean time to seat reservation (MTTSR). If MTTSR ≤ μa, we accept H0. If MTTSR ≥ μr, we reject H0, where μa < μr.

The probability of rejecting H0, if MTTSR ≤ μa, is called the risk of a type I error, which is denoted by αI. The probability of accepting H0, if MTTSR ≥ μr, is called the risk of a type II error, which is denoted by αII.

Let us assume that the random variable T (the time until a customer receives a seat reservation for the flight) follows a two-parameter Weibull distribution with the probability density function (PDF) in (64): 64fβ,δ(t)=(δβ)(tβ)δ1exp[ (tβ)δ ],t>0,β>0,δ>0,{f_{\beta ,\delta }}(t) = ({\delta \over \beta }){({t \over \beta })^{\delta - 1}}\exp [ - {({t \over \beta })^\delta }],\quad t > 0,\beta > 0,\delta > 0, and cumulative distribution function (CDF) shown in (65): 65Fβ,δ(t)=1exp[ (tβ)δ ],t>0,β>0,δ>0,{F_{\beta ,\delta }}(t) = 1 - \exp [ - {({t \over \beta })^\delta }],\quad t > 0,\quad \beta > 0,\quad \delta > 0,

The distribution is parameterized by the scale parameter β and the shape parameter δ. The shape parameter δ is assumed to be known. To determine whether the null hypothesis H0 should be accepted or rejected, the test procedure must satisfy the following conditions: 66Pr( reject H0 Weibull MTTSR μa)αI( Risk of Type I ),\Pr (reject{H_0}\mid WeibullMTTSR \le {\mu _a}) \le {\alpha _I}(RiskofTypeI), 67Pr( accept H0 Weibull MTTSR μr)αII( Risk of Type II ),\Pr (accept{H_0}\mid WeibullMTTSR \ge {\mu _r}) \le {\alpha _{II}}(RiskofTypeII),

Here, (68) defines the acceptable Weibull MTTSR: 68μa=Eβa,δ{T}=0tfβa,δ(t)dt=0tδβa(tβa)δ1exp[ (tβa)δ ]dt=βaΓ(1+1δ){\mu _a} = {E_{{\beta _a},\delta }}\{ T\} = \mathop \smallint \limits_0^\infty t{f_{{\beta _a},\delta }}(t)dt = \mathop \smallint \limits_0^\infty t{\delta \over {{\beta _a}}}{({t \over {{\beta _a}}})^{\delta - 1}}\exp [ - {({t \over {{\beta _a}}})^\delta }]dt = {\beta _a}\Gamma (1 + {1 \over \delta })

While (69) defines the rejectable Weibull MTTSR: 69μr=Eβr,δ{T}=0tfβr,δ(t)dt=0tδβr(tβr)δ1exp[ (tβr)δ ]dt=βrΓ(1+1δ){\mu _r} = {E_{{\beta _r},\delta }}\{ T\} = \mathop \smallint \limits_0^\infty t{f_{{\beta _r},\delta }}(t)dt = \mathop \smallint \limits_0^\infty t{\delta \over {{\beta _r}}}{({t \over {{\beta _r}}})^{\delta - 1}}\exp [ - {({t \over {{\beta _r}}})^\delta }]dt = {\beta _r}\Gamma (1 + {1 \over \delta })

From (68) and (69), respectively, we obtain: 70βaδ=[ μa/Γ(1+1δ) ]δ,βrδ=[ μr/Γ(1+1δ) ]δ.\beta _a^\delta = {[{\mu _a}/\Gamma (1 + {1 \over \delta })]^\delta },\beta _r^\delta = {[{\mu _r}/\Gamma (1 + {1 \over \delta })]^\delta }.

Now consider a random sample of size n, consisting of observations (T1, … , Tn), representing times to seat reservation. The Weibull MTTSR threshold μ is assumed to be prespecified, while the total probability of misrecognizing a change in customer demand or in a competitor’s pricing strategy: 71α=αI+αII,\alpha = {\alpha _I} + {\alpha _{II}}, is not prespecified. The objective is to determine the separation threshold h that minimizes the total misrecognition probability defined in (71). It can be shown that the maximum likelihood estimator (MLE) of βaδ\beta _a^\delta , based on the random sample (T1, … , Tn) of size n from (64), is: 72βδ=i=1nTiδ/n,{\hat \beta ^\delta } = \mathop \sum \limits_{i = 1}^n T_i^\delta /n,

If βδ=βaδ{\beta ^\delta } = \beta _a^\delta , then: 73βδ~gβa,δ(βδn)=1Γ(n)(βaδ/n)n(βδ)n1exp(βδβaδ/n),βδ0;{\hat \beta ^\delta }\~{g_{{\beta _a},\delta }}({\hat \beta ^\delta }\mid n) = {1 \over {\Gamma (n){{(\beta _a^\delta /n)}^n}}}{({\hat \beta ^\delta })^{n - 1}}\exp ( - {{{{\hat \beta }^\delta }} \over {\beta _a^\delta /n}}),\quad {\hat \beta ^\delta } \ge 0;

Similarly, the maximum likelihood estimator (MLE) of βrδ\beta _r^\delta , based on the random sample (T1, … , Tn) of size n from (64), is given by (72), and if βδ=βrδ{\beta ^\delta } = \beta _r^\delta then: 74βδ~gβr,δ(βδn)=1Γ(n)(βrδ/n)n(βδ)n1exp(βδβrδ/n),βδ0.{\hat \beta ^\delta }\~{g_{{\beta _r},\delta }}({\hat \beta ^\delta }\mid n) = {1 \over {\Gamma (n){{(\beta _r^\delta /n)}^n}}}{({\hat \beta ^\delta })^{n - 1}}\exp ( - {{{{\hat \beta }^\delta }} \over {\beta _r^\delta /n}}),\quad {\hat \beta ^\delta } \ge 0.

Thus, the total misrecognition probability can be expressed as: 75α(hn)=αI(hn)+αII(hn)=hgβa,δ(βδn)dβδ+0hgβr,δ(βδn)dβδ.\alpha (h\mid n) = {\alpha _I}(h\mid n) + {\alpha _{II}}(h\mid n) = \mathop \smallint \limits_h^\infty {g_{{\beta _a},\delta }}({\hat \beta ^\delta }\mid n)d{\hat \beta ^\delta } + \mathop \smallint \limits_0^h {g_{{\beta _r},\delta }}({\hat \beta ^\delta }\mid n)d{\hat \beta ^\delta }.

To minimize the probability of misrecognition, the separation threshold h is determined from (75) as follows: 76h=argminhα(hn)=argminh(hgβa,δ(βδn)dβδ+0hgβr,δ(βδn)dβδ).h = \arg \mathop {\min }\limits_h \alpha (h\mid n) = \arg \mathop {\min }\limits_h (\mathop \smallint \limits_h^\infty {g_{{\beta _a},\delta }}({\hat \beta ^\delta }\mid n)d{\hat \beta ^\delta } + \mathop \smallint \limits_0^h {g_{{\beta _r},\delta }}({\hat \beta ^\delta }\mid n)d{\hat \beta ^\delta }).

Accordingly, H0 is accepted if βδh;H0{\hat \beta ^\delta } \le h;{H_0} is rejected if βδ>h{\hat \beta ^\delta } > h.

Remark 3.

Assume that the total airplane seat capacity U equals n seats and that k ordered observations T1 ≤ … ≤ Tn of the time to seat reservation are available. Then: 77βδ=i=1kTiδ+(nk)Tkδk,{\hat \beta ^\delta } = {{\mathop \sum \limits_{i = 1}^k T_i^\delta + (n - k)T_k^\delta } \over k}, and: 78if βδ=βaδ,βδ~gβa,δ(βδk)=1Γ(k)(βaδ/k)k(βδ)k1exp(βδβaδ/k),βδ0,if{\beta ^\delta } = \beta _a^\delta ,\quad {\hat \beta ^\delta }\~{g_{{\beta _a},\delta }}({\hat \beta ^\delta }\mid k) = {1 \over {\Gamma (k){{(\beta _a^\delta /k)}^k}}}{({\hat \beta ^\delta })^{k - 1}}\exp ( - {{{{\hat \beta }^\delta }} \over {\beta _a^\delta /k}}),\quad {\hat \beta ^\delta } \ge 0, 79 if βδ=βrδ,βδ~gβr,δ(βδk)=1Γ(k)(βrδ/k)k(βδ)k1exp(βδβrδ/k),βδ0.f{\beta ^\delta } = \beta _r^\delta ,\quad {\hat \beta ^\delta }\~{g_{{\beta _r},\delta }}({\hat \beta ^\delta }\mid k) = {1 \over {\Gamma (k){{(\beta _r^\delta /k)}^k}}}{({\hat \beta ^\delta })^{k - 1}}\exp ( - {{{{\hat \beta }^\delta }} \over {\beta _r^\delta /k}}),\quad {\hat \beta ^\delta } \ge 0.

6.
CONCLUSIONS

This article presents the development of a new dynamic model designed to improve anticipatory and adaptive statistical decision-making in airline seat allocation problems. The proposed framework integrates demand estimation, hypothesis testing, and nested optimization to support more effective revenue management under parametric uncertainty in customer demand models.

The control policy presented in this manuscript, although developed for application in the airline industry, has potential relevance for other capacity-constrained service sectors, including tourism, hospitality, car rental services, shipping, and related industries. While the specific modeling details may vary across sectors, the central objective remains the same: to improve demand-driven decision-making through systematic, data-based methodologies rather than relying on manual judgment, intuition, or heuristic guesswork. The proposed approach emphasizes the use of formal mathematical models and computational tools to support disciplined and transparent decision processes.

Given the broader societal trend toward increasing technological integration and data-driven management, a gradual shift from purely human-centered decision-making toward mathematically supported decision systems appears both inevitable and desirable. The present study contributes to this transition by demonstrating how structured statistical and optimization methods can be applied to complex operational problems in practice.

Language: English
Page range: 57 - 75
Submitted on: Aug 26, 2025
Accepted on: Jan 9, 2026
Published on: Mar 18, 2026
In partnership with: Paradigm Publishing Services
Publication frequency: 4 issues per year

© 2026 Nicholas Nechval, Konstantin Nechval, published by ŁUKASIEWICZ RESEARCH NETWORK – INSTITUTE OF AVIATION
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.