April 19, 2021 | Andreas Buschermohle
Wheelhouse Pro is our most robust and professional pricing platform to date.
It was designed for ambitious operators with growing portfolios, prioritizing deep data insights and better portfolio tools, all while delivering even stronger revenue performance.
Additionally, Wheelhouse Pro will further our own goals of providing increased transparency to our customers and community.
We believe transparency is the key to empowering our users to make informed business decisions, and it is high time our space moved from ‘making recommendations’ to ‘providing explanations’.
Therefore, in the following pages, we are going to detail exactly how our dynamic pricing engine works — how it leverages data, unique statistical approaches, and (yep!) machine learning to calculate accurate prices for your unique properties.
Over the course of this write-up, we will leverage visuals, text and occasionally equations (😳) to articulate the models, quality checks, filters and data underpinning Wheelhouse’s revenue management platform, that today increases revenue by an average of 22%, per unit.
At worst, should our write-up prove to be a bit too dry or detailed, we hope detailing the model will illustrate our deep commitment to your success, and to the transparency we believe our space so desperately deserves.
At best, we hope detailing our model will give you new insights that you can leverage to drive your business’s success.
How our model determines an accurate price for your unit at ‘normal’ demand
As stated above, the Base Price Model is the foundation of each unit’s unique pricing recommendation. The goal of the Base Price Model is to discern an accurate median nightly price for each unit by analyzing the attributes of the property.
For example, we all know that a pool, a porch, parking and other attributes can impact the desirability of a given property.
And, while the value of these individuals attributes varies greatly over the course of a year (i.e. your pool is ‘worth’ more on July 4th than on January 4th), the Base Price Model is designed to determine the value of your unit for a day with average local demand.
To do this, the Base Price model analyzes:
And a range of additional factors.
To train our Base Price Model, we use a supervised machine learning model that incorporates all active units in each market, leveraging their unit details and the median nightly price over the last year. By using the median, we can reduce the signal from events or accidental outliers in the data to make sure we primarily capture pricing for ‘normal’ days.
Our model leverages gradient boosting to produce an ensemble of decision trees, which map a unit’s features to the median price. For our customers, this approach enables us to balance model complexity with interpretability — or the ability to show you how your unit’s attributes impact your Base Price recommendation.
Let us explore an example to learn more.
Detailed in the chart below are the five largest drivers of the Base Price in the San Francisco market (Note: real data is used throughout all examples in this write-up)
The final output of this model is our “Attributes-Only” Base Price Model.
Now, let’s read about how bookings impact & modifies our Base Price Recommendation.
The Kaplan-Meier estimator inherently handles ‘right censoring’. This is because for any unbooked future date, we do not yet know when, or even if, that night will be booked or otherwise taken off the market. Therefore, it is crucial to be able to include this data in order to fully understand supply and demand in a dynamically changing market.
The output of Survival Analysis is a survival curve S(t). It reflects the probability of a unit not being booked by time t ≤ 0 which counts the number of days before the stay date. For Wheelhouse, we can think of this survival curve as the inverse of a booking curve.
Note: Our survival curve counts the number of stay dates before the stay date, hence why the output is negative. For example, S(-30) = 0.7 means that on average 70% of the units survived (or, are still available) 30 days before the stay date. Consequently, the complement of the survival curve 1-S(t) represents the booking curve and its final value, 1- S(t=0), is the occupancy.
The second example below also illustrates how an initial baseline probability of booking (40%, represented by the dashed line) is transformed by different gamma values.
To develop a price response function for a market, our model looks at each unit and each stay date offered in the market, to calculate its relative price difference δ to our base price model.
We then ‘bucket’ the observations with similar price differences and apply our booking curve analysis to determine (via Gamma Warping) whether this bucket books more (γ > 0) or less (γ < 0) than the market average.
This analysis tells us how much a change in price impacts the booking probability which in term reflects the sensitivity of guests to different prices.
Using these estimates, we fit a smooth price response function:
γ = fᵣ(δ) = a + b ⋅ (δ − d)² ⋅ (δ > d)
to the data, which allows us to generalize the observed market behavior.
How Wheelhouse adjusts pricing around bookings & approaching vacancies
In total, Wheelhouse’s Comp Set model identifies and compares both a broad and narrow set of competitors. Over the years, our data has illustrated that it is best to price against a larger set of ‘potential competitors’, as opposed to a smaller set of ‘certain competitors’.
Additionally, due to this approach, we can show customers a broader set of ‘potential competitors’, which can be useful in providing a broader range of insights when either (a) comparing performance metrics or (b) deciding on a pricing strategy.
June 9, 2021 | BY Andrew Kitchell
November 16, 2021 | BY wheelhouse
November 2, 2021 | BY Amelia Melching
September 28, 2021 | BY John DeRoulet
September 13, 2021 | BY Amelia Melching