time predictions in uber eats
play

Time Predictions in Uber Eats Zi Wang@Uber QCon New York 2019 - PowerPoint PPT Presentation

Time Predictions in Uber Eats Zi Wang@Uber QCon New York 2019 June 2019 Agenda 1. ML in Uber Eats Goals & Challenges ML Platform @ Uber 2. How Time Predictions Power Dispatch System 3. Deep Dive in Time Predictions Food


  1. Time Predictions in Uber Eats Zi Wang@Uber QCon New York 2019 June 2019

  2. Agenda 1. ML in Uber Eats • Goals & Challenges • ML Platform @ Uber 2. How Time Predictions Power Dispatch System 3. Deep Dive in Time Predictions • Food Preparation Time Prediction • Delivery Time Estimation • Travel Time Estimation 4. Q&A

  3. ML in Uber Eats

  4. Agenda Goals & Challenges ● ML Platform @ Uber ●

  5. Our Scale ~ 8B > 220,000 > 500 Cities Gross Bookings Restaurant Partners for 2018

  6. Our Mission Make eating well effortless, every day , for everyone .

  7. Goals & Challenges Reliable Affordable Effortless Predicting the Future Network Efficiency Food Discovery

  8. ETA prediction Eyeball ETD ETD prediction Prep-time prediction prediction eater browsing order dispatch delivery-partner food delivery-partner delivery-partner food created arrival ready begins trip arrival dropped-off

  9. ML Platform @ Uber

  10. Feature Report

  11. Model Accuracy Report

  12. How Time Predictions Power Dispatch System

  13. Agenda Overview of Dispatch System ● Evolution via Time Predictions ● Dispatch System w/o Time Predictions ○ Dispatch System w/ Time Predictions ○

  14. Make Demand-Supply Matching Decisions Challenges Solve an NP-Hard problem with a large problem space within seconds ● Improve efficiency without compromising delivery quality ● Eater & Restaurant & Delivery Partner ●

  15. Eater & Restaurant & Delivery Partner Eater Restaurant Partner Delivery Partner ● ● ● Fast drop-off Short wait time Short wait time Low Unfulfillment Smart route planning ● ● ● Low delivery fee Quick hand-off ● 24/7 ●

  16. Matching Algorithm: An Augmented Vehicle Routing Problem (VRP)

  17. Dispatch System w/o Time Predictions

  18. When to Dispatch? 1st Scheduled Order dispatch pick-up Created attempt time 9:00 8:30 ... 8:53 Fixed 7 mins do not dispatch a dispatch a delivery-partner delivery-partner

  19. How to Dispatch? (Greedy) Jobs dispatched ● independently without considering other jobs.

  20. Before... Where is my food? ● eater How much longer do I have to wait? Food is cold ● ● marketplace delivery-partner restaurant-partner

  21. Dispatch System w/ Time Predictions

  22. When to Dispatch? nth 1st Predicted Order dispatch dispatch pick-up created attempt attempt time 9:00 8:30 ... 8:50 ... 8:56 ETA do not dispatch a driver dispatch a driver

  23. How to Dispatch? (Global) All jobs and supplies ● are considered at the same time.

  24. Then we solve the ● entire set of jobs and supplies as a single global optimization problem.

  25. #2 #1 Greedy Global

  26. After... Fast delivery times ● Accurate ETD estimations ● Track food location ● eater Prevent delivery partners from waiting around ● Reduce waiting at restaurants ● Prevent food waiting for delivery partners ● ● Maximize earning potential Track delivery partner’s location ● Be aware of estimated travel time ● marketplace delivery restaurant Dispatch delivery partners at the right time ● partner Maintain supply/demand, prevent surge ●

  27. Deep Dive in Time Predictions

  28. Agenda • Food Preparation Time Prediction • Delivery Time Estimation • Travel Time Estimation

  29. Food Preparation Time Prediction

  30. Why is Predicting Food Prep-time Difficult? 1) True restaurant prep-time is unknown! ● Example: We need to infer true prep-time in a retrospective manner based on restaurants and ○ delivery partners’ signals . 2) Prediction with limited signals ● Example: The busyness in the actual restaurant is unknown ○

  31. How Did We Use ML to Solve the Problem? Feature engineering ● ML Model ● Feedback Loop ●

  32. Feature Engineering Historical features ● Avg prep-time for 1 week, ... ○ Real-time (Contextual) features ● Time of day, day of week, order size, location, ... ○ Near real-time features ● Avg prep-time for last 10 mins, ... ○

  33. Representation Learning

  34. Sensor Signals

  35. Conditional Random Field Model 37

  36. Feature Engineering (Cont’d) - Data Pipeline Time of day, day of week, order size, location, ... Preparation time Sensing & Perception Bluetooth Data Data preparation pipelines push data into the Feature Store tables and training data repositories.

  37. ML Model Model: Gradient boosting decision trees (XGBoost) ● Historical features ● Realtime (Contextual)s features ● Near real-time features ●

  38. Hyperparameter tuning Image source: www.nature.com/articles/nature14541

  39. Model Training Model training jobs use Feature Store and training data repository data sets to train models and then push them to the model repository.

  40. Model Training (Cont’d) - Model Deployment

  41. Model Training (Cont’d) - Make Predictions

  42. ML Model with Feedback Loop Historical features E.g. average prep-time in last Production model Predicted week (GBDT) prep-time Online prediction Near real time features E.g. average prep-time in last few minutes Michelangelo Real time features Updated Data Offline training model training E.g. order size, time of day

  43. Future Improvements Ground truth exploration ● Experiment in restaurants ○ ... ○ Improving ML model ● Feature engineering ○ Exploration of places, weather, and event data ■ Model partitioning ■ ... ■ Leverage ensemble learning (stacking) ○ Collaboration with AI Labs on more deep learning models ○

  44. Delivery Time Estimation

  45. Eater-facing ETD restaurant-leg delivery-leg EATER 0) eyeball 1) order 10) food created received RESTAURANT 2) order 6) food accepted ready 3) dispatched 5) arrived 7) departed 9) arrived DELIVERY PARTNER 4) accepted trip 8) begun trip 11) ended trip observable state not-observable state

  46. Why is predicting ETD difficult? restaurant-leg delivery-leg EATER 0) eyeball 1) order 10) food created received delay early pick request RESTAURANT 2) order 6) food accepted ready 3) dispatched 5) arrived 7) departed 9) arrived DELIVERY PARTNER 4) accepted trip 8) begun trip 11) ended trip observable state not-observable state

  47. Travel Time Estimation

  48. Rider - Request Ride Rider - On Trip Rider Driver

  49. Credits Teams @ Uber Special thanks to: Engineers ● Data Scientists ● Product managers ● Product Ops ● Data Analysts ●

  50. THANK YOU Q & A

Recommend


More recommend