How mobility platform won without competing? Based on true events and Machine Learning.
Tags: machinelearning, mobility, learning, data
Published: 2024-03-04 15:02:35

Annually, over 1.4 billion people worldwide turn to ride-hailing apps for transportation, with Russia alone accounting for more than 2.5 billion rides per year. The responsibility of matching each passenger with the ideal driver for every trip falls squarely on the shoulders of the ride-hailing service. So, how do market leaders tackle this complex task? By processing gigabytes of real-time data and deploying algorithms, including those based on machine learning, they ensure the passenger is paired with the most suitable driver.

But how exactly are all these data points synthesized? At a high level, the process involves several critical steps:

- Gathering all available drivers in the vicinity.
- Filtering out those who are not currently available, for instance, drivers who are in an 'unavailable' status or those who do not meet the class criteria (such as Economy drivers for a Comfort ride).
- Ranking the remaining drivers based on known factors, such as their proximity to the pickup location, their intended direction, and their tendency to accept rides with a similar profile.

The next step involves batching: aggregating nearby orders for a period and then intelligently redistributing drivers among these orders to ensure each one receives the best match. This strategy enables companies to allocate drivers in under half a minute, significantly reducing the wait time for clients.

However, this level of efficiency is only achievable when you have:

- Drivers,
- Data about them,
- An effective algorithm.

***Now, let me share my experience at one of the most popular global taxi services, where I acted in this project as a Product Manager at the Marketplace domain responsible for the clients’ reliability and company profits as the key goals. Being responsible for both the partner integrations as a product, as well as the optimization of the supply allocation logic using machine learning tools. Let's go!***

### **The platform Ride Exchange in the UK**

The platform in the UK was launched in 2019. Each time we launched, we had to configure the setup in one way or another. Overall, it worked out for us: we achieved acceptable reliability figures (in the ride-hailing market, the main reliability metric usually represents the ratio of successfully completed rides to all customer orders). However, in many cases, our decisions were more "expertise-based" than data-driven: we utilized the knowledge of mobility platform staff to advise on the strengths of each partner.

It was wonderful to see our unique value proposition actually working, being used by customers, and generating revenue.
Nevertheless, the company had already gained experience in driver matching, and we knew we could optimize the ride exchange market.
So, our ML engineers were put to work, and the results were encouraging: every key metric, on average, increased by 5%. It was also surprising to see how incorrectly some of our configurations had been set up before. Even though we were operating in two entirely different markets (more on the Russian experience below), the pattern repeated.
There was still room for improvement by gradually fine-tuning the weights of features, introducing new features, or discarding some. However, some areas (remote cities or just places where the mobility platform does not have a strong customer base) had to remain under manual control.
Yet, the "Ride Exchange platform" became smarter, more reliable, and cost-efficient.
Not to mention, we became the first in the world to create a market of fully integrated transportation services for customers in one app, and also the first to power it with ML.

The main metric for us is the percentage of satisfied customers who booked a ride and eventually took a ride to their desired destination (GC/GCR – Gross Completion Rate).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlj8wzrxloynait2se64.png)
Max Sadontsev

*10%/20%/50% –> Increase in the percentage of ML model implementation instead of manual driver search configuration. 
The blue line illustrates the performance of the GCR (Gross Completion Rate) metric using the ML model. 
Contrasted against the GCR on the red line – manual driver search configuration.*

Since the launch, I have experienced a lot with the platform and learned many lessons. Some of them include:

- We had to find the right balance in the historical depth of data to account for both recent data about the supplier (from the last 24 hours) and the averages over the last three months.
- Which features will be useful, and which will not? There are two ways to answer this: by conducting a simulation and/or a real experiment.
- How do you convince stakeholders that it's worth it if you only have an idea so far? Consider showing them a prototype or a clear concept of your solution. While this might not be the best move for consumer-focused products, it works wonders in B2B and B2B2C setups. In these environments, where feedback cycles can drag on, waiting for weeks just for another demo isn't ideal. A quick, tangible demo can speed up decision-making and keep the collaboration moving smoothly

### **What I Did in Russian market?**

**The Initial Scenario**

As we entered the 2020s, [taxi services in Russia were provided by around 4,300 organizations,](https://businesstat.ru/images/demo/taxi_russia_demo_businesstat.pdf) mostly private entities. The proliferation of commercial enterprises was attributed to a reduction in state restrictions on the issuance of permits and regulatory measures on tariff control. This led to a surge in small businesses and intense competition in the market. At that time, my mobility platform operated as a standard taxi service aggregator, competing with other market players like Uber, Yandex, and Citymobil for both customers and drivers. The taxi market was facing losses due to escalating competition, while shifts in consumer demand further complicated the landscape.

**Mission**

[The mobility platform](https://www.forbes.ru/svoi-biznes/445543-servis-taksi-gett-sosredotocitsa-na-razvitii-platformy-dla-korporaticnyh-klientov) aimed to unite all possible transportation players worldwide on a single platform, creating a fundamentally new level of service for corporate clients that prioritizes the speed of car arrival and optimized trip costs. The mobility platform secured the largest driver base in Russia through strategic agreements and partnerships, particularly with Citymobil in 2020 and another major player in 2021

**Our product team's objective**
After these partnership agreements, I had to synchronize numerous processes. One of the key tasks was to optimize the distribution of customer orders on the platform among providers to enhance reliability and reduce costs for each trip. However, a critical market question arose: How to decide whom to use and when in the best way for the customer?

**Steps**

1. Started with manual rules for distributing orders among providers.
2. Observed the results, but they were not satisfactory.
3. Conceptualized an ML model that could make decisions on the distribution of each specific trip based on its unique criteria:
    - Order profile: location, duration, time, etc.
    - Market metrics of each individual provider.
    - Real-time data on our partners: dynamic prices, and driver locations.
    - Historical market knowledge in each location and an assessment of the current situation at a given time.

*Two factors to consider: major expenses are unrelated to the trip—acquisition and operational costs.*

These data points rather illustrate how ML-driven decisions surpass manually-made ones.

**Top Metrics**

1. Increased the percentage of successful orders by 1.7%
2. Reduced driver search time by 12%
3. Increased trip revenue by 9%


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vclipysudsrcjox0xokt.png)
Max Sadontsev

- Control - *manual driver search configuration*
- Test - *using the ML model.*
- GCR – gross completion rate (rides taken out of all booked), higher is better
- % Cancelled – how many rides get cancelled after a driver is found, lower is better
- GP per ride – gross profit per ride, higher is better
- Margin – revenue per ride, less driver/partner payments, higher is better
- AVG AT – time it takes to find a driver, lower is better

### **Take these recommendations with you to make ML deployment processes more efficient:**

1. **User-focused optimization:** While optimizing for efficiency and cost-effectiveness is crucial, you should maintain a strong focus on user experience. Balancing the algorithmic decision-making process with user preferences and expectations is essential to ensure sustained customer loyalty. Regular feedback mechanisms and user surveys can provide valuable insights into evolving customer needs. 
2. **Market-specific strategies:** Recognizing the differences between markets, especially the on-demand nature of the Russian taxi market, is vital. You should tailor its strategies to suit the specific demands and behaviours of each market it operates in. This may involve adjusting algorithms, promotional strategies, or service offerings to align with the unique characteristics of each region.
3. **Regular evaluation and adjustment:** The success metrics showcased in the case study are positive indicators, but you should establish a continuous evaluation process. Regularly assessing the impact of ML-driven decisions on key performance indicators, market share, and customer satisfaction will allow for prompt adjustments and enhancements. Sustain investment in machine learning technologies across various operational facets, ensuring ongoing refinement and adaptation to market changes. This should extend beyond supply allocation logic to other critical operations.