What are your solutions to reduce the car cancellation rate on the Uber waiting page?
- David Mercy
First of all, I’d like to start by defining what is Uber.
I’m assuming this time we are talking about Uber ride-hailing service and not other services such as Uber Eats. The interviewer says yes.
Then I’m going to define the Uber ecosystem. And assume the geography is India.
Uber is an on-demand ride-hailing service, where a rider can request a cab and that request is sent to all the available drivers nearby. This request is sent to the drivers based on some matching algorithm, driver can accept or reject the request. If the driver rejects the request then the request is diverted to the next driver based on the score from the matching algorithm.
Confirm with the interviewer if the understanding is correct. They agree to it and move on.
There are a few clarifying questions I’d like to ask following this. First is the waiting page, there are two scenarios
- The user has requested a cab and that request goes to the driver and then the driver accepts or rejects the request,
The user has been allotted a cab and on this screen, the user would see the driver’s location, along with the estimated time of arrival and waiting time
- The third scenario, unlikely, the booking was canceled due to a server issue which is at the backend
Check with the interviewer which of the three scenarios are they talking about. Assuming the interviewer says it’s the 2nd scenario also 3rd scenario would not happen a lot as Uber has perfected their backend throughput all these times and the first scenario is basically when the user is on the cab request page.
Moving on, would like to understand what’s going on on the waiting page and why is solving this problem important. I’d like to analyze the following points here:
- What’s the average wait time of the user here after they are allotted a cab, the average wait time of the user has increased or decreased, what’s the trend?
- Cancellation on the waiting screen is user-triggered or driver-triggered? What’s the breakup and how has that trend been?
- If the majority of cancellations are triggered by the driver, what’s happening here, what is the behavior?
- Is it across some drivers or all drivers?
- Is it across geography or generic phenomena?
- Which cab category sees the maximum number of driver cancellations?
- What was the original time that was shown to the driver when they accepted the booking?
- What was the time remaining when the cancellation was triggered?
- Are maximum cancellations happening when the driver accepts the ride in the first few seconds or are they happening when a driver has started and then had to cancel or the driver reached the destination and is near (rider’s pickup point) and then cancellation is triggered?
- How is the retention for the riders whose rides were canceled, are they making another set of bookings or they are going away with the competition? This will help me understand the impact of the problem, basically how big is the problem.
- Are the cancellations happening in the peak hours or lean hours?
Check with the interviewer here, is there something else that needs to be looked at? They say go ahead.
Suppose there are a few data points I collected from my questions earlier:
- Maximum driver cancellations happen in the first minute after accepting a booking
- For users who face cancellations, we observe low retention
- Driver cancellation is a more common phenomenon than customer cancellations and hence it makes sense to prioritize driver-related issues here.
- The cancellation is happening across peak hours mostly
- This is happening for all the drivers across all the geography
Since drivers are accepting the request and then canceling it, it means their intention was to get the ride but something changed as soon as they accepted the ride. The following hypothesis could be dug deeper:
- The motivators need to be played around with, motivators are basically the user’s pickup point, net earnings from the ride, destination of the rider, and time to reach the pickup point. See what motivators work best here, can plan a few A/B tests around the same.
- The traffic conditions are not allowing drivers to reach a particular destination and hence they cancel the ride
- The driver is not willing to go to a particular destination and hence they are canceling
- The matching algorithm can incorporate a few signals or variables or introduce additional variables during peak time to optimize for cancellations. This can also be an A/B test scenario.
- One aspect could be penalize drivers after they have done x amount of cancellations
- Limit cancellation and give only x no. of cancellations to a driver per week
- Incentivize driver that don’t cancel beyond x no. of times
Check with interviewer if there’s something else that can be planned.
I’d then plan around some A/B tests to optimize for cab cancellations that are triggered by drivers. One guard rail metric I’d look for is time to accept a request should not increase on the request page.

Uber