IP Library Granted Patent US 12682299
Granted Patent B2
US 12682299 · App. 18/149,606 · Granted Jul 14, 2026

Work management platform

Inventors: Bryce Cooks (Chicago, IL); Eric Cotner (San diego, CA); Cooper Filby (Birmingham, AL); Nathan Hartwell (Birmingham, AL); Jair Medina (Seattle, WA); Jean-Michel Michno (Minneapolis, MN); Kuang Xu (Palo Alto, CA)
Assignee: Shipt, Inc.
G06Q10/06316G06Q10/063118
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 12682299
App. No.
18/149,606
Granted
Jul 14, 2026
Kind
B2
Abstract

A platform for managing work is disclosed. In example embodiments, the platform may match orders and workers. In some embodiments, the platform may use one or more models that have inputs related to order characteristics or past worker behavior. In some embodiments, the platform may receive future orders and actualize future orders. To actualize future orders, the platform may use one or more models that have inputs related to order characteristics or past worker behavior. In some examples, orders may be shopping orders or deliveries. In some examples, workers may be shoppers or drivers.

Claims (88)

1 . A platform comprising:

a first machine learning model configured to predict a number of completed orders for workers;

a second machine learning model configured to generate order-worker completion likelihoods for orders and workers;

a processor; and

a memory storing instructions, wherein the instructions, when executed by the processor, cause the platform to:

at a first time:

receive a plurality of future orders associated with a plurality of workers, wherein each future order of the plurality of future orders is claimed by a worker of the plurality of workers, wherein the plurality of future orders include incomplete data, and wherein a first worker of the plurality of workers claims a first number of future orders including a first future order of the plurality of future orders by selecting, in a user interface displayed by a first mobile device of the first worker, a button to claim the first future order, wherein the user interface displays incomplete data of the first future order;

in real time, at a second time later than the first time:

receive a plurality of orders, wherein the plurality of orders include complete data;

generate, using the first machine learning model, a predicted number of completed orders for each worker of the plurality of workers, wherein generating, using the first machine learning model, the predicted number of completed orders comprises predicting that the first worker will complete a second number of orders, wherein the second number of orders predicted by the first machine learning model is less than the first number of future orders claimed by the first worker;

generate a plurality of order-worker completion likelihoods by generating, using a second machine learning model and the plurality of orders received in real time, an order-worker completion likelihood for each worker of the plurality of workers and each order of the plurality of orders, wherein the second machine learning model includes a worker location input feature and wherein generating the order-worker completion likelihood for each worker of the plurality of workers and each order of the plurality of orders comprises obtaining, by a GPS device in a mobile device of the worker, a geolocation of the worker and inputting the geolocation as a value for the worker location input feature into the second machine learning model, such that the order-worker completion likelihoods associated with the worker depend at least in part on the geolocation of the worker;

using the plurality of order-worker completion likelihoods, match each worker of the plurality of workers with a number of orders up to the predicted number of completed orders, wherein the first worker is matched with a number of orders less than or equal to the second number of orders predicted by the first machine learning model;

for the first worker, automatically push, in real time, a notification to the first mobile device, wherein the push notification, when selected on a home screen of the first mobile device, causes the first mobile device to display, in the user interface, complete data for an actualized order corresponding to the first future order;

at a third time later than the second time:

receive, from the first mobile device, data indicating that the first worker dropped the actualized order;

responsive to receiving the data indicating that the first worker dropped the actualized order, using geolocation data obtained from GPS devices of the plurality of worker devices, automatically select a second worker of the plurality of workers based on a proximity of a second mobile device to a location of the actualized order and transmit a second push notification to the second mobile device of the second worker, wherein the second push notification notifies the second worker that the actualized order is reassigned to the second worker;

generate a training instance comprising feature values and a label, wherein the feature values include (i) a weather condition, (ii) a time, (iii) order characteristics of the actualized order, and (iv) a worker characteristic of the first worker, and wherein the label indicates that the first worker dropped the actualized order;

continuously update each of the first machine learning model and the second machine learning model, wherein continuously updating the first machine learning model and the second machine learning model comprises training each of the first machine learning model and the second machine learning model using the generated training instance, wherein training the first machine learning model comprises altering, based on a difference between the label of the generated training instance and a prediction by the first machine learning model based on the feature values of the generated training instance, parameters of the first machine learning model such that subsequent predicted numbers of orders completed by the first worker are fewer.

2 . The work management platform of claim 1 ,

wherein each future order of the plurality of future orders is a placeholder for an order of the plurality of orders; and

wherein each future order of the plurality of future orders comprises an estimated time and an estimated duration.

3 . The work management platform of claim 1 ,

wherein each order of the plurality of orders is a delivery; and

wherein each worker of the plurality of workers is a driver.

4 . The work management platform of claim 1 ,

wherein each order of the plurality of orders comprises an origin location and one or more destinations;

wherein the origin location is a sortation center, a warehouse, or a store; and

wherein the one or more destinations include one or more residences.

5 . The deliver management platform of claim 1 , wherein receiving the plurality of future orders is performed at least four hours before actualizing the plurality of future orders.

6 . The work management platform of claim 1 , wherein the instructions, when executed by the processor, further cause the work management platform to:

determine order-worker preferences scores using location match scores and duration match scores; and

matching at least some of the plurality of workers with at least some of the plurality of orders using the order-worker preference scores.

7 . The work management platform of claim 1 ,

wherein using the plurality of order-worker completion likelihoods to match the worker to the number of orders up to the predicted number of completed orders is performed by optimizing a metric subject to one or more constraints; and

wherein the metric includes one or more of the plurality of order-worker completion likelihoods.

8 . The work management platform of claim 1 ,

wherein one or more first model inputs include one or more of a number of future orders claimed, an external condition, or a past worker behavior; and

wherein one or more second model inputs include one or more of a worker drop ratio, an order time, an order location, or an order duration.

9 . The work management platform of claim 1 ,

wherein the first model is trained at least in part on past future order data, past external condition data, and past worker behavior data; and

wherein the second model is trained at least in part on past order data and second past worker behavior data.

10 . The work management platform of claim 9 , wherein the first model or the second model uses gradient boosting.

11 . The work management platform of claim 1 , wherein the instructions, when executed by the processor, further cause the work management platform to:

prior to receiving the plurality of future orders associated with the plurality of workers, offer the plurality of future orders to the plurality of workers; and

transmit order details to the plurality of workers.

12 . The work management platform of claim 1 , wherein the instructions, when executed by the processor, further cause the delivery management platform to:

receive one or more communications from one or more of the plurality of workers, each of the one or more communications indicating that an order of the plurality of orders is dropped or completed;

generating, based at least in part on the one or more communications, one or more training instances; and

altering, using the one or more training instances, one or more parameters of one or more of the one or more models.

13 . A method, the method comprising:

at a first time:

receiving a plurality of future orders associated with a plurality of workers, wherein each future order of the plurality of future orders is claimed by a worker of the plurality of workers, wherein the plurality of future orders include incomplete data, and wherein a first worker of the plurality of workers claims a first number of future orders including a first future order of the plurality of future orders by selecting, in a user interface displayed by a first mobile device of the first worker, the first future order, wherein the user interface displays incomplete data of the first future order;

at a second time later than the first time:

receiving a plurality of orders, wherein the plurality of orders include complete data;

generating, using a first machine learning model configured to predict a number of completed orders for workers, a predicted number of completed orders for each worker of the plurality of workers, wherein generating, using the first machine learning model, the predicted number of completed orders comprises predicting that the first worker will complete a second number of orders, wherein the second number of orders predicted by the first machine learning model is less than the first number of future orders claimed by the first worker;

generating a plurality of order-worker completion likelihoods by generating, using a second machine learning model and the plurality of orders, an order-worker completion likelihood for each worker of the plurality of workers and each order of the plurality of orders, wherein generating the order-worker completion likelihood for each worker of the plurality of workers and each order of the plurality of orders comprises obtaining, by a GPS device in a mobile device of the worker, a geolocation of the worker and inputting the geolocation into the second machine learning model, such that the order-worker completion likelihoods associated with the worker depend at least in part on the geolocation of the worker;

using the plurality of order-worker completion likelihoods, match each worker of the plurality of workers with a number of orders up to the predicted number of completed orders, wherein the first worker is matched with a number of orders less than or equal to the second number of orders predicted by the first machine learning model;

for the first worker, automatically pushing a notification to the first mobile device, wherein the push notification, when selected on a home screen of the first mobile device, causes the first mobile device to display, in the user interface, complete data for an actualized order corresponding to the first future order;

at a third time later than the second time:

receiving, from the first mobile device, data indicating that the first worker dropped the actualized order;

responsive to receiving the data indicating that the first worker dropped the actualized order, using geolocation data obtained from GPS devices of the plurality of worker devices, automatically selecting a second worker of the plurality of workers based on a proximity of a second mobile device to a location of the actualized order and transmitting a second push notification to the second mobile device of the second worker, wherein the second push notification notifies the second worker that the actualized order is reassigned to the second worker;

generating a training instance comprising feature values and a label, wherein the feature values include (i) a weather condition, (ii) order characteristics of the actualized order, and (iii) a worker characteristic of the first worker, and wherein the label indicates that the first worker dropped the actualized order;

continuously updating the first machine learning model, wherein continuously updating the first machine learning model comprises training the first machine learning model using the generated training instance, wherein training the first machine learning model comprises altering, based on a difference between the label of the generated training instance and a prediction by the first machine learning model based on the feature values of the generated training instance, parameters of the first machine learning model such that subsequent predicted numbers of orders completed by the first worker are fewer.

14 . The method of claim 13 ,

wherein each order of the plurality of orders is a delivery comprising an origin location and one or more destinations;

wherein each worker of the plurality of workers is a driver;

wherein the origin location is a sortation center, a warehouse, or a store;

wherein the one or more destinations include one or more residences; and

wherein receiving the plurality of future orders is performed at least four hours before receiving the plurality of orders.

15 . The method of claim 13 ,

wherein model inputs of the first model include one or more of a number of future orders claimed, an external condition, or a past worker behavior; and

wherein model inputs of the second model include one or more of a worker drop ratio, an order time, an order location, or an order duration.

16 . The method of claim 13 , further comprising:

prior to receiving the plurality of future orders associated with the plurality of workers, offering the plurality of future orders to the plurality of workers; and

transmitting order details to the plurality of workers.

17 . A non-transitory computer-readable medium, having stored instructions thereon, which when executed by the processor, cause the processor to manage work by performing a method comprising:

at a first time:

receiving a plurality of future deliveries associated with a plurality of drivers, wherein the plurality of future deliveries include incomplete data, and wherein a first driver of the plurality of drivers claims a first number of future orders including a first future delivery of the plurality of future deliveries by selecting, in a user interface displayed by a first mobile device of the first driver, the first future delivery, wherein the user interface displays incomplete data of the first future delivery;

at a second time later than the first time:

receiving a plurality of deliveries;

generating, using a first machine learning model configured to predict a number of completed orders for workers, a predicted number of completed deliveries for each driver of the plurality of drivers, wherein generating, using the first machine learning model, the predicted number of completed orders comprises predicting that the first worker will complete a second number of orders, wherein the second number of orders predicted by the first machine learning model is less than the first number of future orders claimed by the first worker;

generating a plurality of delivery-driver completion likelihoods by generating, using a second machine learning model and the plurality of deliveries, a delivery-driver completion likelihood for each driver of the plurality of drivers and each delivery of the plurality of deliveries, wherein generating the delivery-driver completion likelihood for each driver of the plurality of drivers and each delivery of the plurality of deliveries comprises obtaining, by a GPS device in a mobile device of the worker, a geolocation of the worker and inputting the geolocation into the second machine learning model, such that the delivery-driver completion likelihoods associated with the driver depend at least in part on the geolocation of the driver;

using the plurality of delivery-driver completion likelihoods, match each driver of the plurality of drivers with a number of deliveries, wherein the first worker is matched with a number of orders less than or equal to the second number of orders predicted by the first machine learning model; for the first driver, automatically pushing a notification to the first mobile device, wherein the push notification, when selected on a home screen of the first mobile device, causes the first mobile device to display, in the user interface, complete data for an actualized delivery corresponding to the first future delivery;

at a third time later than the second time:

receiving, from the first mobile device, data indicating that the first worker dropped the actualized order;

responsive to receiving the data indicating that the first worker dropped the actualized order, using geolocation data obtained from GPS devices of the plurality of worker devices, automatically selecting a second worker of the plurality of workers based on a proximity of a second mobile device to a location of the actualized order and transmitting a second push notification to the second mobile device of the second worker, wherein the second push notification notifies the second worker that the actualized order is reassigned to the second worker;

generating a training instance comprising feature values and a label, wherein the feature values include (i) a time, (ii) order characteristics of the actualized order, and (iii) a worker characteristic of the first worker, and wherein the label indicates that the first worker dropped the actualized order;

continuously updating the first machine learning model, wherein continuously updating the first machine learning model comprises training the first machine learning model using the generated training instance, wherein training the first machine learning model comprises altering, based on a difference between the label of the generated training instance and a prediction by the first machine learning model based on the feature values of the generated training instance, parameters of the first machine learning model such that subsequent predicted numbers of orders completed by the first worker are fewer.