Dynamic Pricing: It's Alive
From the depths of the PROS labs to the heights of the airline flights, in this session we will show the path an airline can take to realize the benefits of PROS Dynamic Pricing and examine the science enabling it.
About the Speakers
Paul Hohler is a product manager on the Revenue Management product team. He has been at PROS for 4.5 years working exclusively in product management. During his time at PROS, he has worked on a number of innovation topics associated with Dynamic Pricing and Offer Optimization. While his focus has been on the RM product, these innovation topics have also allowed him to have a glimpse into the other travel products at PROS. Paul has also worked closely with the Science and Research team at PROS — bridging the gap between research and product. More recently, Paul has worked on bringing Willingness-to-Pay Forecasting to the RM product. Paul earned a Ph.D. in Theoretical Nuclear Physics from the University of Maryland, and a B.A. from Washington University in St Louis while majoring in Chemistry, with a concentration in Biochemistry, Physics, and Mathematics. Before joining PROS, he spent 7 years as a Post-Doctoral research assistant in the area of theoretical physics.
Ravi Kumar is a Lead Scientist in the Science and Research group at PROS. Kumar’s work involves building control, estimation, and optimization algorithms for Revenue Management and Dynamic Pricing systems. Kumar’s research also focuses on reinforcement learning and contextual bandits for personalization and Dynamic Ancillary Pricing. Kumar completed his Ph.D. in Operations Research with a focus area in Applied Probability and Statistics from Cornell University in 2015. He completed his undergraduate degree in Mechanical Engineering from the Indian Institute of Technology, Delhi, India in 2003 and obtained his Master’s degree specializing in Control Theory from the State University of New York at Buffalo.
Paul Hohler: Oh, my name is Paul Hohler, and I'm a product manager here at PROS....
Ravi Kumar: Hello, my name is Ravi Kumar, and I'm a lead scientist at PROS.
Paul Hohler: And, today we're going to be talking to you about Dynamic Pricing: It's Alive. In today's presentation, we'll be covering three major topics. First, we'll be talking about the different types of dynamic pricing as seen by PROS. Secondly, we'll demonstrate how airlines can get involved with PROS too, and realize that the capabilities of dynamic pricing. And, third, we're taking a deeper look into the willingness to pay forecasting which is a key component of the dynamic pricing algorithms.
Paul Hohler: So, here at PROS, we think that there are three different types of dynamic pricing. Each of these is geared towards a specific use case for airlines, and trying to meet the needs of the marketplace associated with different levels of sophistication, of both airlines, as well as the algorithms behind this. These different types of models, or types of dynamic pricing include assortment optimization, price adjustments, and continuous pricing.
Paul Hohler: Assorted optimization is the idea that you have a set of booking classes, each with a fixed price associated with it. The optimization process opens, and closes classes based upon demand to come forecasts. In this situation, M and Q class are closed, while Y and D classes available, or open. In this situation, the offered price is the price associated with the lowest open class. In this case, P or $500.
Paul Hohler: This becomes dynamic, because the classes which are open and closed changed with punt based upon the seats remaining, and the time to departure. Price adjustments takes this one step further by allowing airlines to price in between those filed prices. So, in this situation, you still have booking classes each with a particular fixed price associated with it.
Paul Hohler: But, the dynamic pricing algorithms determine an adjustment factor that should be applied to those prices to get to that final price. In this case, B class is still the lowest open class, but the dynamic pricing engine has determined that there should be a 10% discount associated with the price so that the offered price becomes $450.
Paul Hohler: Lastly, is continuous pricing. Here, we've moved away from the book and classes, and we forecast demand as a function of price. And, there's a continuous curve at that, therefore, the optimization process uses that continuous nature of the curve to generate what the optimal price should be. In this case, $460.
Paul Hohler: Suppose that we see that there are many different uses for these different types of dynamic pricing. And, that there's can be a progression that airlines can take on it. Here, we show the different products, and functionality. Then the airline can enable so that they can realize different stages, and different types of dynamic pricing. This starts off with our core RM product of our advantage, extends into willingness to pay, which is a new forecasting and optimization process.
Paul Hohler: And, that enhances the capabilities of the RM advantage edition. This is then carried on into RTDP-Ultimate, which provides a dynamic pricing functionality associated with the price adjustments. Well, honestly, we can look into the future directions where we look towards the RM-Ultimate edition of the RM product to incorporate continuous pricing functionality. Let's look into a little bit more detail in each of these areas.
Paul Hohler: All of dynamic pricing here starts off with our core arm advantage product. This is a foundational product, which has been in the marketplace for a while, and been used by a number of airlines of variety of shapes, and sizes around the world. And, so it has a strong history for robust functionality.
Paul Hohler: This is a cloud-based arm O&D product, it has traditional forecasting which uses Baysien models. So, it can update, and learn based upon new observations based upon Yieldable model. Optimization includes network optimization, so it incorporates that O&D behavior in terms of the optimization process, and then calculates the optimal controls based upon that.
Paul Hohler: Well, issue with it can be with the traditional model is that the forecasting relates assumes a yield based passenger content. However, passengers tend to be, also not only be product sensitive, but they can be price sensitive. So, in this case, if you have two booking classes, they tend to buy that lowest product that's available. Which is going to dilute yield even if they might have a higher willingness to pay.
Paul Hohler: Prevent this, airlines must implement manual controls, force that by up to those higher yield classes. However, wouldn't it be nice to have some kind of RM system that handles this automatically? This can also be done more scientifically so that as today's controls tend to be based upon load factor, or advanced purchase restrictions.
Paul Hohler: This is where willingness to pay comes in, and this is a new forecasting optimization process which incorporates the price sensitive behavior into that forecasting procedure. So, it estimates and forecast demand price curve, and so that the correlation between the different demand at different price points is baked into that process.
Paul Hohler: The forecasting itself doesn't rely on the booking classes, can it uses the price information. But, we still discretize it down to the class level so that the analysts can still manage it at that level. So, that it's easier to use, or more consistent with what they're working with today. From the studies that we've done, we've seen that this also improves forecast accuracy.
Paul Hohler: In terms of optimization, we use the concept of transformed fares. This captures the true value of a booking class, considering that price bullet buy-down potential of the passengers. And, because of that, we see that this generates better bid prices which also automatically drives those passengers to those higher valued booking classes.
Paul Hohler: We've seen that this enhances revenues from RMA by one to 2%. And, this was released earlier this year as part of the 5.48 release of the RMA edition. To support this further, we've also introduced new screens into the RMA product such as this one. Which show cases [inaudible 00:06:55] as a function of price. This will help analysts see these curves better, and get used to managing these continuous pricing situations.
Paul Hohler: However, this might not be sufficient enough that you might need some more price points into the marketplace. And, that's where the price adjustments situation comes in, so for example, is it even in the case of two price points, if I priced too low that might not stimulate too much demand. And, so my yield gets diluted. However, my only other option is class Y here that might be too high, and so that my demand then becomes stifled.
Paul Hohler: So, that though I'm generating more revenue per passenger, I'm just not getting as much revenue, because of the number of passengers that I've taken. And, so therefore we want to identify this sort of just right price that would fall in between these which would optimize the profit. And, so being able to do this, it gives airlines the ability to price in between the price to realize more revenue opportunities. And, it gives pricing controls back to the airlines.
Paul Hohler: PROS that we realized this through our RTDP-Ultimate product. This includes a scientific algorithm to price in between those booking cost fares. There are three major inputs into that algorithm. First, the fares by class, this captures the potential prices in the marketplace. So, we know what fares are there to provide the adjustments accordingly.
Paul Hohler: Bid prices, which captures the capacity constraints very much in the same way as it does today with traditional forecasting, and availability. And, thirdly is the transformed fares, which again, captures the buy-down potential. One key source of this would be the willingness to pay to forecast which provides an enhanced version of those transformed fares. And, therefore it further enhances the dynamic pricing capabilities.
Paul Hohler: We estimate a revenue benefit between one and a one and a half percent over RMA with willingness to pay. And, this is included in the product today, so airlines can implement this with their systems today. In terms of future directions, we want to enhance the willingness to pay forecasting, and optimization process.
Paul Hohler: Ravi is going to talk about one way we're looking to further enhance this with his using of competitor fares. But, also we look forward in terms of our RM-Ultimate edition where we go fully towards that continuous pricing model with a class-free revenue management. And, incorporating the willingness to pay models into the dynamic pricing decision itself.
Paul Hohler: As well as providing even more granularity to the pricing decisions with some customer-specific pricing. And, then allowing airlines to tailor more of that pricing aspects at the time of request. So, at this point I'm going to turn it over to Ravi, to go into a little bit more details on the willingness to pay model. Again, a key component into the dynamic pricing models, so Ravi takes it away.
Ravi Kumar: Thanks, Paul. So, I'm going to dig deeper and go into further details of one of the key drivers for dynamic pricing which is the willingness to pay forecaster. So, the willingness to pay forecaster is a new type of forecaster for priceable demand situations. And, the main idea here is that we model demand for a differentiated product, which could be a fare-family class block. Or, the entire compartment using price demand response curves.
Ravi Kumar: Here's an example of a price demand response curve, where on the X, or horizontal axis, you have the price. And, on Y, or vertical axis you have the demand. This price versus demand relationship is captured using this negative exponential relationship. And, there are two parameters which control this go, one is denoted by lambda.
Ravi Kumar: So, this in some senses, the total amount of expected demand that you will get if you price at a fairly low level of price. In this case, a value called peanut, and alpha controls the price sensitivity of the consumer population. So, higher value of alpha means that this is a flatter curve, and a lower value of alpha means it's a steeper curve, and the demand is quite responsive to prices.
Ravi Kumar: So, therefore the main function for a willingness to pay forecaster is to figure out these demand response curve parameter values for lambda, and alpha for future deposit dates. So, let's go deeper into how that is done. The willingness to pay forecaster is a configuration of our patient model. And, therefore all the good functionalities that you associate with the patient model for our traditional forecaster naturally extend to this forecast as well.
Ravi Kumar: In particular, it means that we organize the data into data guillotines, and therefore we can make much more dynamic updates to our forecaster by making use of partially completed departure dates. Furthermore, we also model non-stationarity in the arrival process. Or, the demand process using drift as well as we make use of correlation across DCPS to update the forecast much more dynamically.
Ravi Kumar: And, naturally there is seasonality, and holidays, and special events which are built into this forecast as well. So, for this forecaster, in addition to the bookings, another piece of information that we take is the average offer price paid for that product in a particular period of time. So, that's new kind of input that this forecaster users.
Ravi Kumar: But, however once you have this historical booking, and price information. What we do is we apply a methodology called online relational base, which is a machine learning technique to come up with uncensored demand, estimates, or parameter estimates for our demand response model. These are these alpha and lambda values for the historical period.
Ravi Kumar: So, once you have, for the historical period, your demand model parameters, we then feed them into our patient dynamic clean year model which then produces forecasts for off time series for each of these parameter values, both alpha, and lambda. So, now you have the output of these demand model parameters for future forecasted date.
Ravi Kumar: And, these can then be consumed by your optimization algorithm for RMA which works at class level. These price demand response curves are descriptors using daily fares to get cluster of demands. Whereas, for RMU it has the capability of consuming a price demand response curve on a continuum level. We have done an extensive amount of testing both on simulation tests bid, as well as with real dataset to verify that the willingness to pay forecaster works well.
Ravi Kumar: So, in particular, on simulation test bid, we have done testing to figure out the robustness of this forecaster. So, one question is that if the forecaster is starts with parameters which are quite off, then as it gets more data or forecast and optimize cycles, does it recover the true parameter values?
Ravi Kumar: So, one such test in this picture on the left, we are showing you how the parameter values in this particular case. The alpha parameter value, which starts off with around 50% error as it gets more data, you see it quickly convergence to the true value which is denoted by the flat green line. So, within 50 or so cycles it is fairly close to the true parameter values.
Ravi Kumar: You can see this effect when you are looking at the revenue produced by the system as well. So, at the start when the parameter values were quite off, your revenue produced by the system is naturally far away from the true optimal. But, as the system is learning fairly quickly it can wait is to true optimal within 50 iterations or so.
Ravi Kumar: So, this shows that this forecaster is robust, and it picks up the price, and what is the right price sensitivity, even the starting values are off. In addition to such simulation studies, we have done an extensive amount of POCs with real airline data. In particular, so far we have done around testing with around 10 airline data datasets, and we have seen a very robust performance in terms of patterns that the forecaster capture.
Ravi Kumar: So, this is one example where in the high demand period, the top panel is showing you the red dots are the bookings. The blue curve is this unconstrained lambda, or the volume value. And, in the bottom panel, the blue curve is the price sensitivity parameter alpha. So, in the high demand period, we see that both the lambda value increases as well as the alpha value, or the price sensitivity increases.
Ravi Kumar: That means that people are willing to pay a bit more during the high demand period. And, these trends which were captured through historical uncensoring are then projected into future. And, these trends are shown in the future forecaster period as well. So, we have seen very robust performance when it comes to capturing trends, and seasonal patterns. But, in addition to the qualitative patterns, we have done extensive amount of quantitative testing.
Ravi Kumar: So, we have done a recent study, a lot skills ready with a large network carrier, where we tested the willingness to pay forecaster over 150 markets. And, this forecaster showed around 10% improvement in from forecaster accuracy when we use a root mean squared error, or mean absolute deviation as metrics. Over the past year or so, we have done extensive work on incorporating third-party, or non-traditional data to the willingness to pay forecaster, and thereby improve the forecaster accuracy.
Ravi Kumar: One particular area where we have put a lot of emphasis on is how to incomplete competitor fares into the willingness to pay forecasting. So, in the past few months or so, we have developed a couple of demand response models, which actually can take competitor price as a covariate, and can produce demand response curves which are sensitive to that competitor fare. So, both the price sensitivity and other parameters are affected based on what the competitor price is.
Ravi Kumar: Now, having these kinds of competitor price-aware forecast allows you to build strategies, which tell you based on the prices whether you should match, or ignore the competitor. And, if you decide to ignore the competitor, what is the right amount of competitor aware margin that you should be charging? So, all of this is into well-advanced research, and we have also tested these competitor aware willingness to pay model using really align data set, based on one of our airline partners.
Ravi Kumar: And, we saw an increased efficiency and improved performance of accuracy of about five to 10% over willingness to pay forecast. Which do not consume, or do not take into consideration competitor prices. We have also written a paper that details both methodology, and some of these tests.
Ravi Kumar: And, this paper is submitted and accepted at JRPM special issue on artificial intelligence, and machine learning and travel. It hasn't appeared online yet, but if you are interested in finding more details, then please send us an email. Or, contact someone in our booth, and we will happy to share an advanced copy of the paper with you.
Paul Hohler: Cool, thank you very much, Ravi, in conclusion we've introduced and shown you how the world of dynamic pricing is here with PROS. We also laid out a plan on how airlines can start using dynamic pricing even today. And, a key first step of this is to start using the new willingness to pay forecasting, and optimization process.
Paul Hohler:Ravi has also shown us a deeper look into the methods behind willingness to pay, and shown us some of the technical enhancements thereof. So, thank you very much for your time today. If you have any questions, feel free to contact either Ravi or myself, or you can head on over to the innovation booth sometime during outperform. Otherwise, thank you very much and have a great rest of your day.