Promenade: Where Innovation Meets Intelligence
Promenade is a system to collect data in the form of available blocks from rental properties in Bukit Vista, it then suggest a price change and provide the revenue management team insights to approve or reject the suggestion and update the price to OTAs (Ex. Airbnb)
Promenade goes beyond mere suggestion – it’s an orchestration of data-driven intelligence. By calculating a multitude of factors, from seasonality to booking count, runway to current rates, it crafts the Suggested Price Event Decision (SPED).
SPED is a proposed new price setting and reflected by percentage.
Example: The current price (prev rate avg) for Asri Village is at IDR 610,000, with +3.7 SPED, Promenade suggested that the price should be increased by 3.7% → IDR 632,570.
Continuing from the previous example: Our Business Intelligence team decided to lower the rate by 15% – reflected as -15 in Price Event Decision (PED) row → resulting decrease to IDR 520,000.
As a result, Promenade helps our revenue management team to price each date of the calendar by getting and collecting data like booking window distribution, pricing distribution, runway, etc. Afterwards, the revenue management team price the dates in the form of change in percentage which we call PED (Pricing Event Decisions). Which we keep on doing until we reach enough data to train an machine learning model to predicts it for us.
However, this sparks a big question, how to detect which prediction was right?
Felix’s Trailblazing Vision: Promenade Model Explainer
Pain points of previous version of promenade
Before, Promenade lacks vision as it was outputting random and wrong PED. We would like to know what cause this, as Machine learning model learns from data, we would like to see how each instance is being predicted and why the model predicts a certain PED. The model becomes something like a black box without any explanation on why.
From the picture, we can see the contributing factors for set PED (-7.25%). One thing that was significantly noticed by Business Intelligence team in this specific case that they over-weighted the current price factor (represented as prev_rate_avg) too much. It dragged the potential revenue numbers that we could achieve.
The inner workings of the explainer
We use LIME (Local Interpretable Model-agnostic Explanations) which uses local prediction to explain the model. It generates perturbations of data and inputs those data to the model and sees the output. As we increase and decrease the input data of each feature, we will be able to see what has high and low impact on the predictions.
With this, we are able to detect some features like previous rate average (average price for a given available blocks) doesn’t make any sense because it doesn’t align with what the revenue management analysis to take a certain decision. With that in mind, we’re planning to modify and engineer the feature to make Promenade model better at predictions.