Pricing Engine 9.0: Acceleration Factor

Pricing Engine 9.0 is our most advanced pricing model yet. It uses real demand signals and machine learning to deliver more accurate, market-aware price recommendations.

Andreas Buschermöhle
Andreas Buschermöhle

Updated May 1, 2023

TL:DR → 

  • Model 9.0 leverages a new “Price Acceleration” ML model that better understands how local demand impacts buying patterns;
  • Model 9.0 is stronger at isolating demand drivers (e.g. Seasons, Day of week & Events);
  • Model 9.0 is better at predicting the markets “willingness to pay”, based on demand;

Model 9.0 Overview

Today, Wheelhouse is releasing a new pricing engine that represents a significant improvement in how our ability to drive rental revenue, based on local demand signals.

Pricing Engine 9.0 introduces a Price Acceleration Factor (leveraging a “Generalized Additive Model”, methodology detailed below) to replace our last model generation’s “Distributional Pricing” approach. 

This new methodology leverages machine learning to better interpret how demand signals relate to the market’s price tolerance, with performance improvements including:

Model Methodology

This section provides a deeper explanation of how the price acceleration model works, for readers interested in the technical approaches used to advance Model 9.0.

Core Concept: From Demand to Price Quantiles

The core insight behind Model 9.0 is that we can observe which price multiples listings successfully book at, and where those prices fall within the broader distribution of market price multiples.

By analyzing historical booking data, the model learns the relationship between demand conditions—captured by gamma (described below)—and the price quantile at which bookings occur.

For each stay date with observed bookings, we:

  • Calculate the median price delta (the log deviation from baseline price) of booked listings.
  • Identify the corresponding quantile within the market-wide price distribution for that date.

This quantile becomes the model’s target variable: the booking quantile for each stay date.

The GAM Model

We train a Generalized Additive Model (GAM) to predict booking quantiles as a function of three gamma components:

  • gamma_smooth — A 14-day median-smoothed trend capturing seasonal demand patterns
  • gamma_dotw — The day-of-week effect, calculated as the mean residual gamma by weekday
  • gamma_event — The remaining event-specific variation after removing seasonal and day-of-week effects

The model includes a random effect for market to account for market-specific baseline differences, but this is excluded during prediction to provide generalized recommendations.

Understanding Gamma

Gamma (γ) is a measure of demand intensity derived from Kaplan-Meier survival curves. Gamma quantifies how much faster or slower bookings occur for a particular subset of dates, compared to the market baseline.

Mathematically, gamma is defined as:

where S is the survival probability for a specific subset (e.g., a particular stay date, day of week, or event period) and S₀ is the baseline market-wide survival probability.

  • A positive gamma indicates higher-than-average demand (bookings happening faster than typical)
  • A negative gamma indicates lower-than-average demand (bookings happening slower than typical)
  • A gamma of zero indicates demand is at the market baseline

Gamma Decomposition

The total gamma for any stay date is decomposed into additive components:

blog image

This decomposition allows the model to separately account for predictable seasonal patterns (γ<sub>smooth</sub>), recurring weekly cycles (γ<sub>dotw</sub>), and unpredictable event-driven demand spikes (γ<sub>event</sub>). Each component is independently scaled before being fed to the GAM, providing flexibility to adjust the model's sensitivity to different demand signals.

Event Screening

For future dates with limited booking observations, we apply statistical screening to determine whether the observed booking behavior is significantly different from what would be expected given the seasonal and day-of-week patterns. 

Only dates with statistically significant deviations from expected booking counts contribute an event-specific gamma component. This prevents spurious price adjustments from small-sample noise.

From Quantiles to Prices

Once the GAM predicts a target quantile for each future stay date, we map this to an actual price multiplier using the historical distribution of price deltas. 

For each day of year, we compute the empirical quantiles of log(Price/BasePrice) from historical data.

Log Base Price

The predicted quantile is then looked up in this distribution to produce the final price multiplier.

This approach ensures that price recommendations remain grounded in the actual price variation observed in each market while being driven by demand-based signals rather than simply tracking competitor prices.

Model Formulation

Formally, the predicted booking quantile for day t is:

Model Formulation

where:

• f is a smooth function describing seasonal demand;

β₀, β₁, β₂, and β₃ are parameters that control the day-of-week effect and the magnitude of positive and negative demand spikes;

Both the function f and the parameters are estimated from historical data to minimize the error between the models predictions and the observed data. 

Model Outcomes:

More precise Demand Decomposition
  • Model 9.0 is much better at decomposing demand into distinct components — seasonal trend, day-of-week effects, and event-specific spikes — and understanding how these components should contribute to specific daily pricing recommendations.
  • This advancement has two benefits - both making price recommendations more accurate, and making it easier to use your settings to create your ideal pricing strategy.
More precise Price Elasticity
  • Model 9.0 is very effective at understanding the relationship between local demand patterns and booked prices. This capability means your engine is far more proficient at analyzing your current competitive landscape, and knowing where to move your pricing in order to maximize revenue.
  • Importantly, this improvement helps to better position your listing in both high & low demand environments.
Reduced risk of Pricing Volatility
  • Model 9.0 is better at responding to emerging demand signals without overreacting and pushing your prices too dramatically, day over day.
  • This allows your listings to more precisely adapt to events in the far future, without risking owner/guest complaints from overly reactive pricing changes.

A/B Test Results:

A/B Test for Pricing Engine 9.0

As part of our evaluation of Model 9.0, we have been running an A/B test across >1,000 real, live listings across 20+ markets, and a wide range of inventory.

The results of this ongoing A/B test are available here, and will be updated weekly until the end of the trial (early February).

Key Results:

  • 7.11% increase in Revenue (vs. Group A)
  • 7.49% increase in RevPar (vs. Group A)
  • 0.68% increase in ADR (vs. Group A)
  • 81% decrease in Settings Overrides (vs. Group A)

Deeper Dive:  RevPar Increase & ADR Steady

  • Revenue 7.11%
  • RevPar 7.49%
  • ADR 0.68%

The new pricing engine is clearly differentiating itself in terms of driving revenue.  

Additionally, we are also happy to see that the revenue creation is being partially driven by increased ADR, as well. This helps us determine that these results are not just a short term bump tied to cannibalizing future potential bookings.

Deeper Dive:  Model Overrides

  • 81% reduction in customizations & model overrides

We also value creating models that are easy to work with - right out of the box.

For our A/B test, our testing team reduced the use of model customizations ~81% between our control & test group for Seasonality, Day of Week, and Demand Sensitivity. 

This reduction was based on strong agreement with the output of the new Pricing Engine, in matching their understanding of each local market.

Since these are real, active listings, our teammate overseeing the trial has had full discretion to modify recommendations in order to serve customers.

Therefore, the fact that this senior RM teammate is leaning so much more on the model - combined with the improved performance - is a compelling combination of results from this A/B test, and illustrates the effectiveness of this models new Price Acceleration Factor.

Reduced Pricing Volatility

Lastly, we all know that part of an effective pricing strategy is making sure pricing changes don’t cause communication or perception issues with potential guests or owners.

To that end, a weakness of Model 8.3 was that is was often “overly reactive” to small demand changes in the far future.  

Specifically, in the far future, one booking or cancellation can quickly push local booking curves above a “normal” range.  

When these booking changes occurred, Model 8.3 did not have a strong enough mechanism to understand to respond realistically to those aberrations.

Model 9.0 handles your far future window much more gracefully - recognizing potentially increased demand spikes, but tethering it’s pricing response to the current pricing distribution.

A/B Test Data Exploration

With this launch, we are publishing live results of an ongoing A/B test, in order for you to follow along for learnings, updates & results.  

Again, the live tracker is linked here.

Yes, this test has been configured & run by a teammate at Wheelhouse.  

However, as you examine how the trial has been structured, I think it will be clear that the trial setup & execution are as fair as possible, and serve as a decent showcase for the different approaches and results for Model 8.3 & 9.0.

Seasonal Demand Example | Bornholm, Denmark

With Model 9.0, you will see a distinct improvement in how your pricing engine interprets & responds to your local Seasonality Demand Curve.

To explore this more, let’s examine how model 9.0 handles data in the Bornholm market, a major summer travel destination in Denmark.

Market Occupancy:

The chart below shows occupancy rates throughout the year in Bornholm. Notice the dramatic swing - Summer peaks at ~80% occupancy, while Winter occupancy drops to ~20%.

Bornholm occupancy

Market Pricing:

However, when we look at current market pricing patterns, you can see that listed prices do not follow a similar trend. Prices increase ~20% from baseline in peak summer months, and drop <10% in winter. 

Bornholm Median Prices

Market Booked Rates:

So, what can we learn about how the market actually books?

One way to explore this is to deeply understand where a listing was priced when it got booked, relative to others.

The chart below shows us the median price quantile for bookings, with the market median for that week reflected by the red line.

When the chart rises above the red line, it illustrates times when people were willing to pay more to lock in their ideal vacation rental. In short, this chart illustrates the market’s “willingness to pay”.

Bornhold Booked Prices

Treatment with Model 9.0:

As noted in this write-up, Model 9.0 excels at using actual booking demand to continuously adjust your pricing around a deeper understanding of the market’s “willingness to pay”.

The model learns from historical bookings and market dynamics to determine optimal pricing patterns, ensuring your rental is competitively positioned within the distribution of future available prices.

This chart below - showing new vs. old recommendations - shows the output change gained adding the Price Acceleration Factor ML Model.

Bornholm New Model

Day of Week Demand Example | Savannah, GA

Essentially all markets see significantly lower demand for accommodations on weekdays.

And, while many operators have reduced weekday rates, part of the science of Revenue Management is figuring out where to be priced in order to capture bookings, while not leaving money on the table.  

Let’s explore Savannah’s Day of Week occupancy, pricing & booking data to explore how our new pricing engine would derive an optimal pricing strategy from that data.

Market Occupancy:

When looking at DOW Occupancy ranges, we see that Savannah’s occupancy level fluctuates from ~34% midweek, to >50% on Friday & Saturday.

Savannah Weekly Occupancy

Market Pricing:

And, you can see at first glance, current pricing trends seem to be positioned to capture that demand environment quite effectively, as pricing strategies roughly mirror the DOW demand curve.

Savannah Weekly Prices

Booked Rates:

When diving in to booked rates, we can see that on weekdays, linked listings book, on average, at the 34% percentile of price multiples. On weekends, listings (on average) book at 54% percentile.

Savannah Booked Prices

Treatment with Model 9.0:

What the booked data shows is that smaller adjustments than might be expected are required to capture bookings for weekdays.

The Price Acceleration Factor reduces the deep DOW discounts that occurred in the prior model, finding that they are not necessary to capture bookings.

Over the course of the year, it’s probably clear my such improvements could position you to drive meaningfully more revenue with model 9.0.

Savannah Pricing Engine 9.0 Output

Combing Day of Week & Seasonality

When we combine Seasonal and DOW curves for models 9.0 (pink) and 8.3 (blue), we start to see this new pricing strategy play out over a broader set of days.

What’s clear is if the new model does not impact occupancy/likelihood to book, model 9.0 would be poised to create significant revenue expansion.

(And… please see the A/B results to explore how this approach is translating to real inventory!)

Event Demand Example | Sylt, Germany

While events are - in many ways - the hardest demand signal to respond to perfectly, there is one type of event that has proven the hardest for us to address, from a pricing engine perspective.

Large events that are far out (200+ days) in an off-peak market. For example, how to effectively handle a big New Year's Eve in a slow winter market.

To explore how our new model handles these situations, let’s analyze Sylt, an island off the coast.

Despite winter being generally a low season in Sylt, for the dates around New Years Eve, occupancy increases 6-8x from the winter baseline - from a 5% baseline to 30-40%.

Market Occupancy:

This chart shows the historical market occupancy in Sylt, for the days surrounding New Years Eve.

As you can see the, baseline for occupancy in late December is very low.

Sylt Winter Occupancy

Market Pricing:

So, how does the market currently price this time period?

In the chart below we can see that the market clearly expects to be able to increase prices for more days prior & after New Years Eve than demand would suggest is reasonable (occupancy rates are less than 10% 5 days before and after New Years Eve)

Sylt Market Pricing

Booked Rates:

For booked rates, the price quantile chart below shows how brief windows of demand can sharply increase and decrease a market’s willingness to pay for particular stay dates.

(This is historic data, which show that 2 other demand spikes ended up emerging, as well)

Sylt Booked Prices

Treatment with Model 9.0:

The new model increases prices much more steeply from the winter baseline, and ultimately finds a clearing price for New Years Eve that is significantly higher than the old model.  

We believe that the model is accurately assessing the the very low demand days before/after New Years are unlikely to book without aggressive reductions in prices.  However, for the window around New Years, listings can push their rates higher, capturing more revenue based on increased price tolerance.

Sylt Event Pricing Engine 9.0

9.0: A new era of Pricing Engines at Wheelhouse

With this new model, Wheelhouse is tipping into a new, better era of Pricing Engine advancements, that are being driven by:

  • A huge expansion of our install base & data depth (325B rows of pricing data is - to put it lightly - a large data base)
  • The ability to run, serve & support multiple pricing engines, simultaneously;
  • New pricing engine “opt-in” functionality, to enable you to better measure model updates, and to upgrade to new any new model on your terms & timeline;
  • A platform that makes it easy to run your own A/B tests, in order to drive unique learnings;

And, with our improved ability to run multiple side-by-side models on top of a huge data set, the future now looks like:

  • Better models;
  • Available faster;
  • Adoptable on your timeline;
  • Publicly measured & monitored.

Join the next generation of revenue managers

In minutes you can create your strategy and preview pricing across your calendar.