“I cannot forecast to you the action of Russia. It is a riddle, wrapped in a mystery, inside an enigma.” – Winston Churchill
Making predictions is difficult, especially about the future*. Nonetheless, ensuring a high-quality service to our customers requires some educated glances into a crystal ball, especially when preparing for the New Year’s Day transportation rush.
Ensuring that we can deliver the best experience to our clients requires quite a bit from our R&D team. It requires that we make sure our databases are working at maximal efficiency, that our micro-services are ready for the extra load and that our customer care is ready. But this is not enough.
In addition to taking care of all technical aspects, we needed to make sure that we can manage the supply-demand ratio.
Gett uses dynamic pricing to balance the supply-demand ratio. Prompting riders to opt-out of the service in times of peak demand while subsidizing price increases for loyal customers. This is a relatively new feature for Gett and is used primarily to provide a reliable service to our customers, so that riders who opt-in to the service are given a taxi.
Being a relatively new feature for Gett, dynamic pricing for a day like New Years’ posed a challenge for Gett’s AI team. How do we train our AI based dynamic pricing algorithms to deal with such singular cases?
In order to understand the root of the challenge, one must understand that Gett’s dynamic pricing is based on reinforcement learning. Reinforcement learning, in contrast to supervised machine learning methodologies, generally does not have ground truth data. This happens because taking actions, in our case, modifying ride prices, affects the market environment. For example, increasing the price by tenfold would probably increase our supply, but greatly diminish the willingness of our customers to use our services. Contrarily, reducing prices would create the inverse scenario, drivers would not accept such rides, whereas riders would jump at the opportunity of a low-cost high-quality ride. Since different algorithms may have different impact on the environment, it is much more complex to tune algorithms offline.
While not simple, the effect of price on the behavior of riders can be modeled using data we have gathered in the last few months. In recent months, Gett’s dynamic pricing algorithm has been exploring different pricing policies and measuring the effect on conversion to orders. This enables us to run simulations, using different price sensitivity settings and have a ballpark estimate of how pricing would look like on New Year’s Day. To this end we utilized Gett’s 2016 December 31st data (Supply and demand values).
The results of such a simulation can be seen in the figure below.
As can be seen, we observed very high spikes in the dynamic price algorithm (The red line depicts the price multiplier), but these were all contained within allowable parameters. These results were then used to tune parameters and the algorithm’s behavior to better cope with the extremely high demand of partygoers on New Year’s Day.
The results of this work have proven to be very successful. We observed a higher ride completion rate compared to previous years, indicating an improved quality of service to our customers.
So, whether you celebrate New Year’s Day, Новый Год, Festivus or just enjoy the worldwide celebration, you can party on, we’ve got you covered. Night and day. Nothing changes on New Year’s Day.
*Classic Danish Proverb.