Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Design an Uber Demand Prediction and Driver Repositioning System

August 17, 2026 5 min read

Interview question:
Uber predicts that ride demand in a particular area will increase significantly in the next 20 minutes. How would you design an Uber demand prediction system that forecasts demand and proactively encourages drivers to move to that area?

This is a classic marketplace and machine-learning system design question.

The interviewer is testing whether you can go beyond “build a prediction model.” Instead, design the full system: prediction, decision-making, incentives, real-time execution, and feedback loops.

1. Start by clarifying the objective

Before jumping into models, define success.

“Our goal is to reduce rider wait time and unfulfilled requests by forecasting short-term demand and encouraging enough nearby drivers to reposition, while controlling incentive cost and preserving driver choice.”

This immediately shows you understand the system has multiple stakeholders:

  • Riders want fast pickup times and reliable availability.
  • Drivers want worthwhile trips and higher earnings.
  • Uber wants efficient marketplace balance without overspending on incentives.

2. Uber demand prediction system overview

A clean answer divides the system into four components:

Real-time data → Demand forecasting → Supply-demand optimizer → Driver offers
                                                ↓
                                         Feedback and retraining

An Uber demand prediction system first identifies where rides will be requested. Next, the optimizer decides whether a shortage is likely and which drivers should receive offers. Finally, the driver app delivers the recommendation and incentive.

3. Uber demand prediction: what exactly are we predicting?

Divide the city into small geographical zones, such as H3 hexagonal cells.

For every zone, predict:

Expected ride requests in the next 20 minutes

Consequently, refresh the forecast every one to five minutes because marketplace conditions change rapidly.

Features for the model

I would use three categories of features:

  • Historical: demand by zone, hour, weekday, season, holidays.
  • Real-time marketplace: current searches, ride requests, cancellations, active trips, available drivers.
  • External context: weather, traffic, concerts, sporting events, flights, public-transit disruptions.

In addition, a useful insight in an interview is this:

“Search activity may be an earlier signal than completed ride requests. Therefore, it can help detect a demand spike before it fully arrives.”

4. What model would you use?

For an initial production system, I would not start with the most complex deep-learning model.

Instead, a gradient-boosted decision-tree model is often a strong baseline because it is fast, explainable, and handles structured tabular features well.

As the system matures, I would evaluate spatiotemporal models. These models capture both time patterns and relationships between nearby zones.

The output should include:

Predicted demand = 150 rides
Confidence interval = 130 to 180 rides

Prediction uncertainty is important. Therefore, if the model is uncertain, the system should make smaller or cheaper interventions.

5. Uber demand prediction supply gap

Next, ask:

“Will there be enough drivers to serve the predicted demand?”

For each zone:

Supply gap = predicted demand - expected available driver capacity

In practice, expected available supply includes:

  • Idle drivers already in the area
  • Drivers likely to finish trips nearby
  • Drivers already travelling toward the zone
  • Drivers likely to accept repositioning offers

Therefore, only zones with a meaningful predicted shortage should trigger action.

6. How do we decide which drivers to notify?

This is the optimization layer.

For each nearby driver, estimate:

  • Travel time to the high-demand zone
  • Probability they accept the offer
  • Probability they arrive before the demand peak
  • Expected earnings after repositioning
  • Incentive amount required
  • Impact on supply in their current zone

Then choose the driver-zone assignments that maximize marketplace value.

A simplified objective could be:

Maximize:
reduced rider waiting time
+ increased completed trips
+ driver earnings
- incentive cost
- loss of coverage in other zones

In short, the key phrase is “assignment under constraints.” That is exactly how an interviewer expects you to frame it.

7. How should Uber communicate with drivers?

Do not say the system “moves” drivers. Instead, drivers should always choose whether to reposition.

Uber can send an actionable, transparent offer:

“High demand expected near Paddington in 15 minutes. Arrive within 10 minutes to receive a £4 bonus.”

A good offer should state:

  • Destination area
  • Time window
  • Expected demand or likely earnings
  • Incentive amount
  • Whether the offer is optional

8. Evaluating Uber demand prediction

For evaluation, use both ML and business metrics.

Area Example metrics
Forecast quality MAE, RMSE, demand-calibration error
Rider experience Pickup ETA, cancellation rate, unfulfilled requests
Driver outcomes Offer acceptance, earnings, repositioning time
Marketplace health Supply-demand balance, completed trips
Cost Incentive spend per additional completed trip
Fairness Service levels across neighborhoods

9. Edge cases interviewers may ask about

Moreover, a strong candidate proactively discusses failure modes.

  • For example, a concert is cancelled and predicted demand never arrives.
  • Alternatively, all nearby drivers receive the same alert and oversupply the area.
  • Moving drivers creates a shortage in another neighborhood.
  • The model has lower accuracy in areas with limited historical trip data.
  • Drivers repeatedly receive offers but do not accept them.
  • Incentives unintentionally create unfair service differences across neighborhoods.

10. Final interview answer

“I would build a closed-loop, real-time marketplace system. First, I would forecast ride demand at a zone level for the next 20 minutes using historical trips, live marketplace signals, weather, traffic, and event data. Next, I would compare predicted demand with expected available supply to identify shortage zones. Then, an optimization layer would select nearby drivers and determine optional, targeted incentives based on travel time, acceptance probability, cost, and impact on other zones. Finally, I would continuously measure forecast accuracy, offer acceptance, rider wait time, driver earnings, and incentive efficiency. I would use those results to retrain the system.”

The post Design an Uber Demand Prediction and Driver Repositioning System appeared first on Alpesh Kumar.