IP Library Granted Patent US 10,557,713
Granted Patent B1
US 10,557,713 · App. 15/678,253 · Granted Feb 11, 2020

Generation of trip estimates using real-time data and historical data

Inventors: Shijing Yao (El Cerrito, CA); Xiao Cai (San Bruno, CA)
Assignee: Uber Technologies, Inc.
G01C21/3484G01C21/3492G01C21/3617G08G1/096811G08G1/096888
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,557,713
App. No.
15/678,253
Granted
Feb 11, 2020
Kind
B1
Abstract

A system uses machine models to estimate trip durations or distance. The system trains a historical model to estimate trip duration using characteristics of past trips. The system trains a real-time model to estimate trip duration using characteristics of recently completed trips. The historical and real-time models may use different time windows of training data to predict estimates, and may be trained to predict an adjustment to an initial trip estimate. A selector model is trained to predict whether the historical model, the real-time model, or a combination of the historical and real-time models will more accurately estimate a trip duration, given features associated with a trip duration request, and the system accordingly uses the models to estimate a trip duration. In some embodiments, the real-time model and the selector may be trained using batch machine learning techniques which allow the models to incorporate new trip data as trips complete.

Claims (62)

1. A computer-implemented method, comprising:

for each sequential time period, iteratively training a real-time model for estimating a trip duration of a trip within a next time period based on characteristics of the trip and training a selector model for predicting an estimated trip duration of a trip by:

identifying a first training window occurring within a current time period;

identifying a first set of completed trips associated with the first training window, each trip having a known duration and characteristics;

training the real-time model to predict trip duration based on the first set of completed trips;

identifying a second training window occurring after the first training window and within the current time period;

identifying a second set of completed trips associated with the second training window, each trip having a known duration and characteristics;

generating a set of estimated trip durations of the trips in the second set of completed trips using a historical model;

generating a set of estimated trip durations of the trips in the second set of completed trips using the real-time model;

training the selector model to predict an estimated trip duration based on the set of estimated trip durations generated by the real-time model and the set of estimated trip durations generated by the historical model;

receiving a request to estimate a duration of a new trip during the next time period;

generating a first estimated trip duration of the new trip by applying characteristics of the new trip to the real-time model;

generating a second estimated trip duration of the new trip by applying characteristics of the new trip to the historical model; and

determining, by the selector model, the new trip duration based on the first estimated trip duration and the second estimated trip duration.

2. The method of claim 1 , wherein identifying a set of completed trips associated with a training window comprises:

monitoring a set of ongoing trips; and

adding a trip from the set of ongoing trips to the set of completed trips when the trip completes.

3. The method of claim 1 , wherein characteristics of the new trip include an estimated trip duration for the trip predicted by a network-based estimation algorithm.

4. The method of claim 1 , wherein the real-time model is trained to estimate duration of a specific category of trip, the categorization being based on trip length.

5. The method of claim 1 , wherein, in the next time period, the new trip duration is determined by a first processing thread applying the real-time model and the selector model while a second processing thread iteratively trains a second real-time model and a second selector model within the next time period.

6. A non-transitory computer-readable storage medium storing computer program instructions executable by one or more processors of a system to perform steps comprising:

for each sequential time period, iteratively training a real-time model for estimating a trip duration of a trip within a next time period based on characteristics of the trip and training a selector model for predicting an estimated trip duration of a trip by:

identifying a first training window occurring within a current time period;

identifying a first set of completed trips associated with the first training window, each trip having a known duration and characteristics;

training the real-time model to predict trip duration based on the first set of completed trips;

identifying a second training window occurring after the first training window and within the current time period;

identifying a second set of completed trips associated with the second training window, each trip having a known duration and characteristics;

generating a set of estimated trip durations of the trips in the second set of completed trips using a historical model;

generating a set of estimated trip durations of the trips in the second set of completed trips using the real-time model;

training the selector model to predict an estimated trip duration based on the set of estimated trip durations generated by the real-time model and the set of estimated trip durations generated by the historical model;

receiving a request to estimate a duration of a new trip during the next time period;

generating a first estimated trip duration of the new trip by applying characteristics of the new trip to the real-time model;

generating a second estimated trip duration of the new trip by applying characteristics of the new trip to the historical model; and

determining, by the selector model, the new trip duration based on the first estimated trip duration and the second estimated trip duration.

7. The non-transitory computer-readable storage medium of claim 6 , wherein identifying a set of completed trips associated with a training window comprises:

monitoring a set of ongoing trips; and

adding a trip from the set of ongoing trips to the set of completed trips when the trip completes.

8. The non-transitory computer-readable storage medium of claim 6 , wherein characteristics of the new trip include an estimated trip duration for the trip predicted by a network-based estimation algorithm.

9. The non-transitory computer-readable storage medium of claim 6 , wherein the real-time model is trained to estimate duration of a specific category of trip, the categorization being based on trip length.

10. The non-transitory computer-readable storage medium of claim 6 , wherein, in the next time period, the new trip duration is determined by a first processing thread applying the real-time model and the selector model while a second processing thread iteratively trains a second real-time model and a second selector model within the next time period.

11. A computer system comprising:

one or more computer processors for executing computer program instructions; and

a non-transitory computer-readable storage medium storing instructions executable by the one or more computer processors to perform steps comprising:

for each sequential time period, iteratively training a real-time model for estimating a trip duration of a trip within a next time period based on characteristics of the trip and training a selector model for predicting an estimated trip duration of a trip by:

identifying a first training window occurring within a current time period;

identifying a first set of completed trips associated with the first training window, each trip having a known duration and characteristics;

training the real-time model to predict trip duration based on the first set of completed trips;

identifying a second training window occurring after the first training window and within the current time period;

identifying a second set of completed trips associated with the second training window, each trip having a known duration and characteristics;

generating a set of estimated trip durations of the trips in the second set of completed trips using a historical model;

generating a set of estimated trip durations of the trips in the second set of completed trips using the real-time model;

training the selector model to predict an estimated trip duration based on the set of estimated trip durations generated by the real-time model and the set of estimated trip durations generated by the historical model;

receiving a request to estimate a duration of a new trip during the next time period;

generating a first estimated trip duration of the new trip by applying characteristics of the new trip to the real-time model;

generating a second estimated trip duration of the new trip by applying characteristics of the new trip to the historical model; and

determining, by the selector model, the new trip duration based on the first estimated trip duration and the second estimated trip duration.

12. The system of claim 11 , wherein identifying a set of completed trips associated with a training window comprises:

monitoring a set of ongoing trips; and

adding a trip from the set of ongoing trips to the set of completed trips when the trip completes.

13. The system of claim 11 , wherein characteristics of the new trip include an estimated trip duration for the trip predicted by a network-based estimation algorithm.

14. The system of claim 11 , wherein, in the next time period, the new trip duration is determined by a first processing thread applying the real-time model and the selector model while a second processing thread iteratively trains a second real-time model and a second selector model within the next time period.

15. The method of claim 11 , wherein the real-time model is trained to estimate duration of a specific category of trip, the categorization being based on trip length.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2018
From: YAO, SHIJING; CAI, XIAO
To: UBER TECHNOLOGIES, INC.
Reel/Frame 044552/0950 →
Continuity (1)
Continuation 15650764 · Jul 14, 2017
Cited By (3)
US 12,393,855 US 12,518,131 US 12,572,890