Machine Learning Times
Machine Learning Times
EXCLUSIVE HIGHLIGHTS
Some Thoughts on Analytics in a Post COVID-19 Environment
 In these most difficult times, the use of analytics...
Re-examining Model Evaluation: The CRISP Approach
 The performance of prediction models can be judged using...
An Agile Approach to Data Science Product Development
 Introduction With the huge growth in machine learning over...
Wise Practitioner – Predictive Analytics Interview Series: Haig Nalbantian at Mercer – BIZ
 By: Eric Siegel, Founder, Predictive Analytics World for Business...
SHARE THIS:

2 months ago
How Trip Inferences and Machine Learning Optimize Delivery Times on Uber Eats

 
Originally published in Uber Engineering, June 15, 2018

In Uber’s ride-hailing business, a driver picks up a user from a curbside or other location, and then drops them off at their destination, completing a trip. Uber Eats, our food delivery service, faces a more complex trip model. When a user requests a food order in the app, the specified restaurant begins preparing the order. When that order is ready, we dispatch a delivery-partner to pick it up and bring it to the eater.

Modeling the real world logistics that go into an Uber Eats trip is a complex problem. With incomplete information, small decisions can make or break the experience for our delivery-partners and eaters. One of the primary issues we try to optimize is when our business logic dispatches a delivery-partner to pick up an order. If the dispatch is too early, the delivery-partner waits while the food is being prepared. If the dispatch is too late, the food may not be as fresh as it could be, and it arrives late to the eater.

Due to the noisy nature of GPS, tracing the signal from delivery-partners’ phones proved inadequate for the task of determining the best dispatch time. However, leveraging motion sensor data from phones gives us a detailed picture of when a delivery-partner is on the road, walking, or stuck waiting. Using this data, we created our Uber Eats Trip State Model, letting us segment out each stage of a trip. Further, this model lets us collect and use historical data for individual restaurants so we can optimize delivery times for both our delivery-partners and eaters.

Improving time efficiency for delivery-partners and eaters

The decisions that our business logic makes on when to dispatch delivery-partners has a significant impact on the number of trips that a delivery-partner can complete, ultimately affecting their earning potential. The GPS signal from delivery-partners’ phones serves as a primary signal to help us understand what is happening on a trip. However, GPS data is noisy in urban environments and not sufficient to understand precise interactions between delivery-partners and restaurants. In order to obtain concrete information on the state of a delivery, location data and motion data need to work in tandem.

Figure 1: GPS signals can tell us whether a delivery-partner is driving or parked near a restaurant during an Uber Eats trip.

With this traditional approach, as shown in Figure 1, we are able to see when a delivery-partner has:

  1. been dispatched
  2. arrived at the restaurant
  3. is en route to the drop-off location
  4. arrived at the drop-off location and completed the trip

However, it is often unclear from GPS data alone why the delivery-partner spends so much time in or around the restaurant before they pick up the the eater’s order. Given its noisiness, GPS data is too unreliable for our needs. To deliver a truly magical experience, we need to know if the delivery-partner spent this time looking for parking or waiting for the food to be prepared.

To continue reading this article, click here.

Leave a Reply

Pin It on Pinterest

Share This