Practice Paper

Journal of Revenue and Pricing Management (2008) 7, 7–16. doi:10.1057/palgrave.rpm.5160107

Principles for simulations in revenue management

Michael Frank1, Martin Friedemann2 and Anika Schröder3

Correspondence: Anika Schroder, Institute of Mathematics, Clausthal University of Technology, Erzstrasse 1, 38678, Clausthal-Zellerfeld, Germany. Tel: +49 5323 722417; Fax: +49 5323 722304; E-mail: anika.schroeder@tu-clausthal.de

1Michael Frank is senior project manager of revenue management development at Lufthansa German Airline (LH). Dr Frank's research interests include queuing theory, production planning and stochastic simulations.

2Martin Friedemann develops validation methods for hybrid forecasting as part of his work as project manager in the IT department at LH. He is also in the course of finishing his doctoral thesis, which will include an investigation of dynamic capacity allocation in revenue management.

3Anika Schröder is currently concentrating on the conclusion of her dissertation. She is sponsored by the research cooperation of LH and Clausthal University of Technology. Her research pertains to dynamic pricing and customer choice, including stochastic simulations for comparing different demand models.

Received 2 August 2007; Revised 2 August 2007.

Top

Abstract

Simulations are commonly applied in Revenue Management (RM) to give proof of new concepts. Most publications in this area focus on the methodical part and disregard a detailed description of the simulation in use. The underlying assumptions and simplifications, however, have a strong impact on the results. Although the make-up of a simulation environment always depends on the investigation undertaken, some general rules for simulations in RM can be established. In this paper, we provide a guideline for developing a stochastic simulation model to be used for analyses in RM. Many occurring questions cannot be universally answered. Therefore, we point out difficult decisions and give advices concerning setup, input data and calibration as well as the modelling of demand, forecast and optimisation. Finally, we present a specific simulation study as an example.

Keywords:

revenue management, stochastic simulation, simulation setup, demand modelling

Top

INTRODUCTION

Revenue Management (RM) can be characterised as an upcoming subject facing the increasing number of publications in this area. Most papers deal with enhancements of optimisation or forecasting methods. In order to proof the performance of these new or modified procedures, researchers usually make use of simulations. While focusing on the RM methods, there is often little said about the applied simulation model. The simulation's setup and input, however, have a significant impact on results. General standards of how an RM simulation needs to be built or standard tools do not exist.

As opposed to other industries or other fields in air traffic, there are only few disposable RM simulators with a general scope. Classical universal simulation tools are made for material flow modelling. Their customisation for RM purpose involves high effort due to the necessary optimisation and forecasting. One well-known general RM simulator is the Passenger Origin Destination Simulator (PODS) operated by the Massachusetts Institute of Technology (see eg Eguchi and Belobaba, 2004; Carrier, 2003). This tool is, however, not available for most analysts. Therefore, many past projects required the development and implementation of special simulation tools.

This paper aims to provide a guideline for developing an RM simulation. For a detailed description of the various modules, we will refer to existing literature. This work rather focuses on differences between a simulation environment and reality as well as simulation's special features. It is intended to highlight common assumptions of the models and their effects on forecasting and optimisation. Note that this paper is based on airline RM and its simulation. However, the approach should easily be translated into other industrial sectors.

Top

FUNDAMENTALS AND SIMULATION SETUP

Simulation enables us to assess the impact of system changes in an artificial environment and to comprehend complex interdependencies. In RM, simulation is the only way to get valid results about quantitative implications of methodical modifications. Factors like passengers' booking behaviour for example, strongly influence the output. From an airline's prospective these follow random fluctuations that prohibits experiments in the real system, because observed changes in output cannot clearly be traced back to the alteration in method. Another problem with analyses in the RM area consists in the fact that in reality the customer's decision process, the available alternatives and the reasons why these were not chosen are not known. So ex post we cannot draw conclusions concerning the interaction between supply and demand during the booking horizon. Typical problems in the RM context requiring simulation studies are:

  • What revenue impact does a modification of the optimisation procedure have?
  • Which kind of interdependencies between forecasting and optimisation do exist?

Model building

A simulation setup is normally based on the architecture of real RM systems. On top, we need a module that generates artificial demand. The following is an overview over the basic components:

Demand generation: The demand generator provides a passenger request stream for each run.

Booking system: The booking system manages the actual cumulating bookings over the horizon.

Inventory control: The inventory control decides whether to accept or deny a booking request.

Forecasting: The forecaster uses historical data to supply a prediction for future flights that will be compared and if necessary updated with actual bookings during the sales horizon.

Optimisation: The optimiser calculates key data for the inventory control on the basis of the provided forecasts, usually in the form of booking limits or bidprices.

Pricing: Pricing contributes the fares for the various available products.

Figure 1 shows the described components of an RM system and their interaction. This schematic display neglects smaller modules integrated in real RM systems, for example group manager, whose significance needs to be assessed as the case arises. The question whether we should reproduce it in the simulation should be answered in the light of the specific analysis to be undertaken. Main principle for every simulation model should be: not as accurate as possible, but as accurate as necessary.

Figure 1.
Figure 1 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The general design of an RM simulation contains all major components with their various interactions

Full figure and legend (44K)

The state of a simulation is closely related to the modelling and the included components. It will usually consist of the actual booking status, the inventory control rules (eg bidprices, booking limits), forecasts and fares.

Type of simulation

For an airline it is impossible to exactly predict demand for its various flights. The amount of people who want to travel from A to B is subject to many external factors. Additionally, numerous travel alternatives arise for a passenger's flight decision. Beside the specific date of booking, also the questions which carrier, which particular flight and which booking classes should be booked is part of the passenger choice. An airline does not have reliable information about the basic principles of such a decision and therefore a booking appears stochastic.

This stochastic demand and its prediction establish the basis of RM and are therefore essential for a simulation. Hence, the incorporation of the demand side implies a discrete stochastic simulation. Furthermore, an event-driven model suggests itself, given that the arrival of a booking request will cause a change of state. This new arrival may implicate forecast modifications and therewith differing optimisation results. In other respect, state changes can arise at particular fixed points in time prior to departure when a re-optimisation with actual booking information takes place, that is a time-driven simulation is also possible but not necessary.

In a simulation the demand is integral part of the model. Setting-up a simulation we recommend to separate the demand generation from the actual simulation core which enables to produce and save demand streams beforehand. This speeds up the simulation and furthermore allows to testify and compare different optimisation methods with the same but still stochastic demand streams.

Evaluation

An event-driven stochastic simulation requires a statistical analysis. The individual runs' results are subject to random effects, just like in reality. Hence, we need to carry out a statistical assessment in form of the method of repeated trials. We calculate key data and target values of the analysis as arithmetic means over multiple simulation runs. The means' quality achieved by the simulation experiment can be determined by confidence intervals. Checking different scenarios against each other, we should analyse the corresponding means with the principle of multiple comparison. Detailed information can be found in Law and Kelton (2000).

Course of a simulation study

A simulation run normally spans the whole booking horizon of all considered flights. Eventually, we can restrict the analysis to the time span up to departure with significant booking receipt. In the course of a simulation run, the requests will be processed in the chronological order given by the demand generator. Forecasting updates and, if necessary, re-optimisation interrupt this process at the data capture points (dcps). A schematic display of a simulation experiment is given in Figure 2.

Figure 2.
Figure 2 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The flow chart describes the course of a simulation experiment in RM

Full figure and legend (81K)

Top

COMPONENT DESCRIPTION

Before developing a simulation environment, we have to make some basic decisions influencing all parts of the model. The most important aspects and their general implications are stated below. As a basic principle, we need to determine the supply part under consideration. Its aspects are in particular:

Flights/network: Does the objective require a leg, a set of legs, a part of the network or the entire airline's network?

Market fraction: Should we consider competition?

O&D versus leg: Possible versions consist of regarding all components at leg level, basing only the demand modelling on O&Ds, and orienting demand and forecasting or on top optimisation by O&Ds.

Pricing/booking classes: Establishing this fact together with the preceding leg or O&D decision gives the definition of what we consider a product in the simulation.

Cancellations/No-Shows: Whether we take cancellations and no-shows into account has an impact on almost all components. We will explain this in the respective section.

Demand

Demand modelling is a critical part of a simulation, because the fluctuations in demand normally have a stronger influence on revenue results than any method modification. Therefore, incorporating the stochastic nature of demand and basing it on past data is essential for the simulation quality and a close link to reality.

Furthermore, we should separate demand and supplier. Since realistically, an airline has limited information and therefore needs to predict customer behaviour, one should avoid a link between, for example optimisation and demand in the simulation environment. When assessing optimisation methods, it is advisable to consciously use a demand model that is not considered in the optimisation. These procedures often have to make very simplified assumptions to obtain tractable solutions. In real applications, however, they are also confronted with a more complex customer behaviour.

Simulating demand, we have to distinguish two model parts: the customer's behaviour and his timing. The customer behaviour model describes the choice process of a single passenger. It defines which attributes are crucial for a customer's booking in a certain carriage or booking class. The request timing model determines the actual point in time when the passenger makes this decision.

First, we need to determine the premises for a customer's product choice. As a rule, we can classify customer behaviour models into two different types: upsell and choice models. The simplest customer behaviour model assumes independent booking classes, in which it corresponds to an upsell model with an upsell parameter of zero. It is based on the fundamental assumption of independent demand for each individual booking class, justified by tariff conditions. Thereby, we separately generate customers for each product, who leave the system if their product is not available for purchase. This strong constraint can be relaxed in several ways. Upsell models assume that a customer requests another higher valued product with a certain upsell probability if the desired one is not available.

For possible choice models we usually use discrete models, for example logit or probit models. The number of parameters is generally unlimited. It is possible to let the customer choose between different carriers, various departure times and several products restricted to an individual willingness-to-pay or budget. Tariff conditions can also be reflected. A choice model is harder to handle than an upsell model. The complexity does not originate from implementation but is due to the necessary statistical analysis for parameters. Defining the parameter set we should bear in mind the need of calibration. For instance, willingness-to-pay can normally only be estimated via surveys. Accordingly, settings in the simulation should be tested by carrying out sensitivity analyses. Furthermore, considering choice we can barely estimate how much demand for which product or which booking class respectively appears. Owing to the interaction between customers' decisions and optimisation, choice models are more complex in calibration and much more time consuming in debugging.

In both approaches, the actual generation of necessary passenger attributes happens randomly based on historical distribution information. For parameters like upsell or time preferences, we can either generate the attribute individually for every single customer, for a market segment or for the whole clientele.

We refer to the generation of single customer's requests in time as request timing model. At this point of the simulation, the specific request passes the customer behaviour model to become a booking request on the desired product aggregation level. As a general rule, distribution information of historical data serves as a basis for the request timing model. In particular, we mostly take into account mean and standard deviation of the unconstrained demand for the correct aggregation level as well as empirical distribution functions over the booking horizon (see Figure 3).

Figure 3.
Figure 3 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The determination of the demand pattern over time is based on distribution information of historical bookings

Full figure and legend (11K)

If we take cancellations and no-shows into consideration, we need to generate a larger number of requests to obtain the same booking level. This can either happen by increasing passenger numbers or by generating multiple bookings per customer. The cancellation of a booking can be attached to a request, for example as a boolean and a time parameter.

Forecasting

The general distinction in simulating the RM forecast is drawn between static and dynamic forecasting procedures. Choosing a static method, we fix reference curves in the beginning of the simulation experiment and use them for all runs without updating. We can take possible reference curves from the real RM system or we can produce them as a perfect prediction based on the demand modelling incorporated in the simulation. Static predictions do not identify the interaction between realised bookings and change in forecast and optimisation which will be considered in dynamic procedures. For the latter, we need to provide flight histories used to estimate a forecast for future flight events. In the current run of the simulation, we use the results of previous runs for this purpose. Since there does not exist a history for the first run, we need to create an initial forecast. A perfect forecast or a constant prediction of zero for all products are candidates for this. Depending on the initial forecast quality, a certain number of pre-runs is necessary. These are not part of the evaluation and therefore do not influence the results. During this period the reference curves are supposed to level off. The dynamic procedures do not differ from those in the real world's systems. First, observations are unconstrained if booking classes are closed. Secondly, we build the actual forecast out of unconstrained data of the earlier runs based on time series analysis. Thirdly, forecasts are updated with actual bookings over the sales horizon. Corresponding unconstraining methods as well as updating procedures are introduced and reviewed in Zeni (2001). For details about time series analyses, see Hamilton (1994).

It is also possible to access the perfect forecast for each run. However, as mentioned before, in many simulation studies this will be debatable if not impossible. In reality, the main reason for undertaking forecasts is the lack of knowledge concerning actual demand. Taking the perfect forecast for granted artificially improves the forecast quality and departs from reality. It, however, remains very useful when analysing the impact of forecast errors as well as proofing the theoretical dominance of a specific optimisation method.

Unfortunately, we usually observe a mismatch in forecast quality between simulation and reality. The reason why the real forecast error will be larger than the one in the simulation is displayed in Figure 4 and will be explained subsequently.

Figure 4.
Figure 4 - Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

We use different populations as history for predictions in reality and in simulations

Full figure and legend (39K)

Already in the beginning of the booking horizon, we need a forecast for the departure day. In reality, this is normally based on an ascertained number of historical flight events of the same flight number on the same weekday. In a simulation, the same flight events in the previous runs are used. The procedure is based on the assumption that historical data origins from the same population. In the simulation environment this is true due to the systematic demand generation; but in the real world, it cannot be guaranteed. Here, updating does not only involve a comparison of bookings at hand and forecasts but also a re-calculation of the predictions themselves. This is due to the fact that now, new flight events belong to the considered population as shown in Figure 4. In a simulation, no actual time has elapsed and the estimation always consists of the same preceding runs. Therefore, forecast fluctuation is lower and its error smaller.

Trying to approach the real forecast quality, we have several options. For instance, we can induce the prediction by random noise. The decision how much noise is necessary can hardly be established because we cannot measure the real forecast error — real unconstrained demand is not known. Here, we need sensitivity analyses. Seasonal fluctuations can also be introduced to the demand. Since the forecast has to adopt the volume changes, its quality will degrade.

If cancellations are considered in the simulation experiment, we also need to predict them. Although the forecasts used in optimisation methods only contain achievable net bookings, we need information about possible cancellations of realised bookings for updates within the sales horizon.

Optimisation

When choosing an optimisation method for the simulation, the first priority is the standard in the modelled system. Depending on the focus of the investigation, a simpler model can come into question for runtime reasons.

For a broad overview of the multitude of optimisation procedures, we refer the reader to Talluri and van Ryzin (2004). The complexity of static procedures is unproblematic as opposed to dynamic ones, which already significantly increase the intricacy of computing on leg level (cf. Littman et al., 1995). It is advantageous that we can easily parallelise the network problem by decomposing the network into its legs.

Network-based methods often rely on linear programs which should rather be solved with a corresponding solver than with a proprietary development. An according solver benchmark which is constantly kept up-to-date can be found in Solver-Benchmark (2007).

Top

CALIBRATION

The aim of calibration is fixing unknown parameters by comparing specified simulation results with corresponding real values. For parameters we can merely estimate or measure, we need sensitivity analyses.

First of all, to assess scenarios, we need a base case representing the real status quo in the simulation model. We must not directly compare scenario results to reality but have to put them in relation to the base case. We then transfer these relative findings to the real world. If possible, key figures are taken from reality to determine the base case. Remaining, not precisely known input parameters (eg upsell probabilities in the customer behaviour model) are fixed so that the resulting simulation output closely matches the actual outcome. Absolute equality cannot be achieved and is not required. The figures should lie inside a confidence interval of real data. To validate the obtained results and to develop a better understanding of the functioning correlation in the modelled system, we conduct sensitivity analyses with regard to a choice of input figures. The object of investigation will determine their extent and purpose. In most cases we will find the following parameters among the influencing factors:

  • The demand to capacity ratio has the most extensive consequences. It directly impacts optimisation and via unconstraining also forecasting. With increasing demand and constant capacity, the number of closed observations grows and influences the unconstraining even more.
  • Besides its level, the spread of demand over individual legs also plays a significant role. It decisively influences the effectiveness of RM. As an example, consider a homogeneous demand distribution. RM implications are rather equal on all legs, as opposed to strongly divers in a heterogeneous distribution.
  • Another point of relevance is the ratio of connecting to local passengers. Its influence on RM is significant due to assumptions in optimisation and prediction methods.
  • As already stated, the forecast error can be another factor for a sensitivity analysis.

Top

EXAMPLE: DYNAMIC CAPACITY IMPACTS ON RM

So far, we pointed out that modelling is mostly specific to the investigated problem. Now we will give an example of a simulation tool we developed for a specific study (see Frank et al., 2006). The purpose of the project was to determine the revenue impact of dynamic capacity management. Focus was how many fleet assignments are needed to achieve the major part of the revenue gain and when during the booking horizon these capacity adjustments should take place.

We chose an event-driven stochastic simulation. By generating demand patterns, this approach allowed for time-dependent distributions of bookings, fluctuations in total volume and interdependencies of demand in different booking classes. The forecast module accounted for inaccurate forecasts occurring in reality for instance by adding a white noise. Owing to the time component, interdependence between capacity allocation and inventory control could be considered. In the following we will make clear how we implemented the simulation tool.

The simulation setup was based on Figure 1, expanded by a fleet assignment module. This was fed with actual booking data, fares and forecasts. Its output was the allocation of seat capacities to the various legs, which formed the basis of the inventory optimisation. The course of our simulation study is described by Figure 2 with capacity changes. At predetermined points in time we undertook fleet assignments after updating the forecasts and before re-optimising. Our investigation relied on the following basic decisions introduced in the third section:

Flights/network: To adequately account for the possibilities and the restrictions of a fleet assignment process we needed to extract a flight schedule with a multitude of legs. To reduce calculation complexity the examination was based on one bank at the main hub as opposed to a whole day. A bank is a collection of inbound flights followed by outbound flights ensuring reasonable passenger connecting quality for the various itineraries. This time window guaranteed a representative number of continental and intercontinental flights. In our case there were 184 legs with 90 different destinations.

Market fraction: Modelling competition is always desirable but also very difficult. We considered it not to be essential for our purpose and decided to neglect it for complexity reasons.

O&D versus leg: We modelled a network carrier with a considerable amount of connecting traffic. Thereby, capacity changes might not only influence the leg itself but also all O&Ds touched by this leg. Therefore, we regarded the demand streams on O&D level. Reducing the analysis to relevant traffic flows with respect to demand volume, 809 O&Ds and 880 itineraries were generated consisting of two legs at most.

We implemented O&D forecasts and a mixed procedure for optimisation (see below).

Pricing/booking classes: Owing to the huge variety of fares it was very difficult to extract a suitable data set. To avoid unclean data we used synthetic pricing. We considered all revenue effective booking classes, identified the actual price for the highest class and determined all other fares with discount factors.

Cancellations: Cancellations and no-shows were omitted for three reasons. First, their consideration complicates the analysis of the interdependencies between fleet assignment and RM. Secondly, it strongly increases complexity. Last, the revenue impact of dynamic capacity management will improve with more flexible booking behaviour. Therefore, results neglecting cancellations are conservative.

Next, we will explain our component modelling approach starting with the demand generator. The simulation contained a general upsell model as customer behaviour model with a constant upsell parameter for all classes and all arriving requests.

We implemented an additive Pick Up Mean method combined with Exponential Smoothing for forecast building by historical data. Seat inventory optimisation was based on a heuristic bidprice procedure. The fleet assignment was a linear optimisation program (see Hane et al., 1995).

Last, we will comment the most demanding part of every simulation experiment: calibration. The status quo in reality served as the base case. One fleet assignment takes place nine weeks prior to departure. We considered the mean load factor and the booking class mix as the relevant factors. These had to match the actual figures. The initial probabilities assigning the segment demand to the various booking classes were the parameters that we adjusted for calibration. After obtaining this base case we carried out the experiments with more fleet assignments over the booking period. To ensure that the results were generally valid and not dependent on modelling assumptions, we carried out extensive sensitivity analyses concerning the factors given in the previous section.

The result of our study can be summarised stating that dynamic capacity management significantly improves revenue outcome. The actual results of the described study are beyond the scope of this paper since our focus here is the development of a simulation. The interested reader can find more details in Frank et al. (2006).

Top

SUMMARY AND PROSPECTS

In the preceding sections the setup of an RM simulation was explained in detail and advice concerning its implementation was offered. Universally valid instructions cannot be provided as many decisions are dependent on the individual problem. Finally, the quality of the available data is always significant for decision making.

However, how should an academic proceed whose main purpose is not the investigation of a specific problem but the achievement of general statements? In this case the only reasonable opportunity is to make assumptions and carry out extensive sensitivity analyses with the aim of reflecting the better part of the options appearing in reality.

The present paper is meant as an impulse to pay more attention to RM simulation systems instead of exclusively concentrating on the therewith investigated procedures. Simulations can detect important effects due to abstraction and assumptions which are worth noticing. We hope that in the future there will be more universal simulation tools available in RM. This can already be observed in other areas, such as production or logistics. Success in this area would further RM as studies could grow more transparent for everyone.

Top

References

  1. Carrier, E. (2003) 'Modeling Airline Passenger Choice: Passenger Preference for Schedule in the Passenger Origin-Destination Simulator (PODS)', Master's thesis, Massachusetts Institute of Technology.
  2. Eguchi, T. and Belobaba, P. P. (2004) 'Modelling and simulation of impact of revenue management on Japan's domestic market', Journal of Revenue and Pricing Management, 3, 2, 119–142. | Article |
  3. Frank, M., Friedemann, M., Mederer, M. and Schröder, A. (2006) 'Airline revenue management: a simulation of dynamic capacity management', Journal of Revenue and Pricing Management, 5, 1, 62–71. | Article |
  4. Hamilton, J. D. (1994) Time Series Analysis, Princeton University Press, Princeton , NJ.
  5. Hane, C. A., Barnhart, C., Johnson, E. L., Marsten, R. E., Nemhauser, G. L. and Sigismondi, G. (1995) 'The fleet assignment problem: solving a large-scale integer program', Mathematical Programming, 70, 211–232.
  6. Law, A. M. and Kelton, W. D. (2000) Simulation Modeling and Analysis, 3rd edn, McGraw-Hill, New York.
  7. Littman, M. L., Dean, T. L. and Kaelbling, L. P. (1995) 'On the Complexity of Solving Markov Decision Problems, Technical Report, Brown University, Department of Computer Science.
  8. Solver-Benchmark. (2007): http://plato.asu.edu/bench.html.
  9. Talluri, K. T. and van Ryzin, G. J. (2004) The Theory and Practice of Revenue Management, Kluwer Academic Publishers, Dordrecht, MA.
  10. Zeni, R. H. (2001) 'Improved Forecast Accuracy in Revenue Management by Unconstraining Demand Estimates from Censored Data', PhD thesis, The State University of New Jersey.