How would you design surge pricing for Uber or Lyft?
- Rob Martin
I will start with a few clarifying questions, to begin with
- What is the objective? Why do we need surge pricing? (Ans: You decide)
- What are the issues with the current tiered pricing model? (Ans: Your call)
- I’ll take the use case for Uber and restrict geography to India (OK)
- Time constraints (Ans: Get this launched in the current Quarter)
- Budget constraints (Ans: None, as of now)
- I’m assuming the service type is P2P ride-hailing for this use case. (Ok)
Alright going ahead, define what it is:Â Uber is a point-to-point ride-hailing service, that connects riders with the drivers, and offers convenience to both of them.
Objective: As Uber has gained significant growth in the market right now and is still growing, I’d want to assume that we want to focus on the supply side. We want to ensure we have enough supply during the peak hours or high-demand hours during the day. This will ensure the drivers are available and I can improve the maximum number of trips completed.
Metric: Number of cabs available during peak hours
North Star Metric: Number of trips completed during peak hours
Check with the interviewer around this, take their thoughts on the same, and then move ahead.
Why do we need surge or peak pricing?
Ensure better supply and fulfill more number of trips during peak hours. Ensure better customer experience.
My take on what could be happening currently,
Firstly, the drivers are not well incentivized to drive during peak hours and hence supply would be sporadic on our side.
Secondly, the majority of the trips (~70%) are completed in tier 1 cities and often drivers would be placed in some neighborhood that doesn’t have high demand. So users can request a cab, but drivers may not have the incentive to travel all the way to a particular location for the pickup.
Thirdly, there are some customers on the app who have a higher propensity to pay but I’m not able to extract the extra juice out of the customers because I’m unable to filter out customers who can pay high vs. price sensitive users.
Fourthly, the peak pricing depends on the supply-to-demand ratio, this is available across all industries and we must bring peak pricing within the Uber system.
With these points, let me figure out what needs the customers i.e., both riders and drivers will have.
Needs for the drivers
- I want to improve my earnings
- I want to get good rides, higher cab utilization
- I want to know where to go to get good rides
Need for the riders
- I want to get a cab during peak hours
Check with the interviewer on the same. Next would be how to design this logic, measure it, test it, and how to roll it out.
Designing the logic for peak pricing or surge pricing.
Currently, as the users book a cab, the request is transmitted to all the drivers who are within a 2.5 km radius (aerial radius) from the request point, and based on the matching logic each driver is requested for that trip. If the driver accepts the ride is fulfilled and if the driver declines, the request is passed on to the other driver based on the ranking of the matching algorithm.
LogicFormula
When more users request a trip, add a multiplier to peak pricing. This number should be in the range of [0.9, 1.5] | 1. (S/D) <= X and >= Y: use 1.1 2. (S/D) >Y and <= Z: use 1.2 3. (S/D) > Z and <= A; use 1.3 4. (S/D) > A: use 1.4 as a factor and so on |
Based on the supply and demand logic purely | 1. (S/D)_now/(S/D)_avg_prev_week use the above number |
Based on the above, logic we can define what pricing is and how to the user.
How can we measure if it’s effective?
- The number of trips fulfilled and completed increased during peak hours
- The number of acceptances increases during peak hours
- Guardrail: The number of users requesting a trip may decline but need to check this number (Price sensitive customers)
- Check for reviews
- Check average trip rating during peak hours
- Average peak pricing factor per 15 minutes
Check with the interviewer here.
Test strategy: The biggest persona that comes to mind that uses Uber is professionals. I’d want to check if professionals are interacting with this feature.
I can start with some geo-locations that are some of the corporate offices in a tier 1 city. (Bengaluru or Pune or Gurugram comes to my mind for testing this out)
During peak hours I can roll out a few variants of the pricing strategy and see how users are interacting with it.
Hypothesis: If we show peak pricing to drivers, they would be motivated to fulfill and complete the trip.
Check with the interviewer here.
After rolling out this A/B variant, if I observe a significant revenue uplift and stickiness of drivers and users with a variant I’ll recommend rolling it out to the other parts of the geography as well.
Road ahead: Based on certain geo locations there could a room to extract further value from the users, hence I will plan to get incremental improvements on top of the rolled-out peak pricing strategy.