IP Library › Granted Patent US 12,333,461
Granted Patent B2
US 12,333,461 · App. 17/955,395 · Granted Jun 17, 2025

Iterative order availability for an online fulfillment system

Inventors: Krishna Kumar Selvam (Cupertino, CA); Mouna Cheikhna (San Francisco, CA); Michael Chen (San Francisco, CA); Dylan Wang (Emeryville, CA); Joseph Cohen (New York, NY); Tahmid Shahriar (New York, NY); Graham Adeson (San Francisco, CA); Ajay Pankaj Sampat (San Francisco, CA)
Assignee: Maplebear Inc.
G06Q10/06311G06Q10/06398G06Q30/0635
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 12,333,461
App. No.
17/955,395
Granted
Jun 17, 2025
Kind
B2
Abstract

An online concierge system iteratively makes a batch of one or more orders available to an increasing number of shoppers to choose to fulfill. Each shopper may choose to accept or reject a batch for fulfillment. To improve batch acceptance and matching between batches and shoppers, the batches are scored with respect to expected resource costs, likelihood of acceptance by the shopper, and/or other quality metrics to iteratively offer the batch to an increasing number of shoppers (prioritizing the scoring factors) until a shopper accepts. The number of shoppers notified of the batch and the frequency that additional shoppers are selected may vary based on characteristics of the batch and likelihood the batch will be accepted by a shopper.

Claims (60)

1. A method for fulfilling orders by shoppers having choice to accept an order, the method comprising:

at a computer system comprising a processor and a computer-readable medium:

identifying a set of candidate shoppers for fulfilling a batch of one or more orders;

scoring each candidate shopper for fulfilling the batch, wherein the scoring comprises applying a machine learning model that is trained to predict a likelihood that a shopper would accept a batch of one or more orders if offered, wherein training the machine learning model comprises:

accessing a training dataset comprising a plurality of training items, each training items comprising a batch of orders, features associated with the batch of orders that reflect resource usage to fulfill the batch of order, and an outcome indicating whether a user received the batch of orders accepts the batch of orders;

applying the machine learning model to each training item to predict a likelihood that the user would accept the batch of orders in the respective training example;

updating the training dataset with recent previously delivery orders comprising outcomes of the recent previously delivery orders; and

updating the machine learning model based on the updated training dataset;

selecting a subset of the set of candidate shoppers based on the scores;

sending a notification to one or more devices associated with the subset of the candidate shoppers indicating that the batch is available to be accepted;

determining that the batch has not been accepted for fulfillment by a shopper within a threshold amount of time after sending the notification; and

responsive to the determination that the batch has not been accepted for fulfillment by a shopper within the threshold amount of time after sending the notification:

selecting an additional subset of the set of candidate shoppers based on the scores; and

sending an additional notification to one or more devices associated with the additional subset of candidate shoppers.

2. The method of claim 1 , wherein identifying a set of candidate shoppers for fulfilling a batch of one or more orders comprises selecting the set of candidate shoppers based at least in part on being within a threshold distance to the batch.

3. The method of claim 1 , wherein the candidate shopper scoring is based on expected resource usage, time to accept (TTA), shopper type, shopper characteristics, or batch characteristics.

4. The method of claim 1 , wherein a number of candidate shoppers selected as the subset or additional subset is based in part on characteristics of the batch of one or more orders.

5. The method of claim 1 , wherein the steps of determining the batch has not been accepted, selecting additional subset, and sending additional notifications to the additional subset are repeated until the batch is accepted by a shopper for fulfillment.

6. The method of claim 1 , wherein the set of candidate shoppers is updated after another threshold amount of time.

7. The method of claim 6 , wherein the threshold amount of time is shorter than the other threshold amount of time.

8. The method of claim 6 , wherein the set of candidate shoppers is re-scored after the set of candidate shoppers is updated.

9. The method of claim 1 , wherein responsive to the determination, the set of candidate shoppers is scored again.

10. A computer program product comprising:

a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:

identify a set of candidate shoppers for fulfilling a batch of one or more orders;

score each candidate shopper for fulfilling the batch, wherein the scoring comprises applying a machine learning model that is trained to predict a likelihood that a shopper would accept a batch of one or more orders if offered, wherein training the machine learning model comprises:

accessing a training dataset comprising a plurality of training items, each training items comprising a batch of orders, features associated with the batch of orders that reflect resource usage to fulfill the batch of order, and an outcome indicating whether a user received the batch of orders accepts the batch of orders;

applying the machine learning model to each training item to predict a likelihood that the user would accept the batch of orders in the respective training example;

updating the training dataset with recent previously delivery orders comprising outcomes of the recent previously delivery orders; and

updating the machine learning model based on the updated training dataset;

select a subset of the set of candidate shoppers based on the scores;

send a notification to one or more devices associated with the subset of the candidate shoppers indicating that the batch is available to be accepted;

determine that the batch has not been accepted for fulfillment by a shopper within a threshold amount of time after sending the notification; and

responsive to the determination that the batch has not been accepted for fulfillment by a shopper within the threshold amount of time after sending the notification:

select an additional subset of the set of candidate shoppers based on the scores; and

send an additional notification to one or more devices associated with the additional subset of candidate shoppers.

11. The computer program product of claim 10 , wherein identifying a set of candidate shoppers for fulfilling a batch of one or more orders comprises selecting the set of candidate shoppers based at least in part on being within a threshold distance to the batch.

12. The computer program product of claim 10 , wherein the candidate shopper scoring is based on expected resource usage, time to accept (TTA), shopper type, shopper characteristics, or batch characteristics.

13. The computer program product of claim 10 wherein a number of candidate shoppers selected as the subset or additional subset is based in part on characteristics of the batch of one or more orders.

14. The computer program product of claim 10 , wherein the steps of determining the batch has not been accepted, selecting additional subset, and sending additional notifications to the additional subset is repeated until the batch is accepted by a shopper for fulfillment.

15. The computer program product of claim 10 , wherein the set of candidate shoppers is updated after another threshold amount of time.

16. The computer program product of claim 15 , wherein the threshold amount of time is shorter than the other threshold amount of time.

17. The computer program product of claim 15 , wherein the set of candidate shoppers is re-scored after the set of candidate shoppers is updated.

18. The computer program product of claim 10 , wherein responsive to the determination, the set of candidate shoppers is scored again.

19. A system comprising:

one or more processors; and

a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by the one or more processors, cause the one or more processor to:

identify a set of candidate shoppers for fulfilling a batch of one or more orders;

score each candidate shopper for fulfilling the batch, wherein the scoring comprises applying a machine learning model that is trained to predict a likelihood that a shopper would accept a batch of one or more orders if offered, wherein training the machine learning model comprises:

accessing a training dataset comprising a plurality of training items, each training items comprising a batch of orders, features associated with the batch of orders that reflect resource usage to fulfill the batch of order, and an outcome indicating whether a user received the batch of orders accepts the batch of orders;

applying the machine learning model to each training item to predict a likelihood that the user would accept the batch of orders in the respective training example;

updating the training dataset with recent previously delivery orders comprising outcomes of the recent previously delivery orders; and

updating the machine learning model based on the updated training dataset;

select a subset of the set of candidate shoppers based on the scores;

send a notification to one or more devices associated with the subset of the candidate shoppers indicating that the batch is available to be accepted;

determine that the batch has not been accepted for fulfillment by a shopper within a threshold amount of time after sending the notification; and

responsive to the determination that the batch has not been accepted for fulfillment by a shopper within the threshold amount of time after sending the notification:

select an additional subset of the set of candidate shoppers based on the scores; and

send an additional notification to one or more devices associated with the additional subset of candidate shoppers.

20. The system of claim 19 , wherein identifying a set of candidate shoppers for fulfilling a batch of one or more orders comprises selecting the set of candidate shoppers based at least in part on being within a threshold distance to the batch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2022
From: SELVAM, KRISHNA KUMAR; CHEIKHNA, MOUNA; CHEN, MICHAEL; WANG, DYLAN; COHEN, JOSEPH; SHAHRIAR, TAHMID; ADESON, GRAHAM; SAMPAT, AJAY PANKAJ
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 061352/0614 →
Continuity (1)
Related Publication 20240104449A1 · Mar 28, 2024
References Cited (12)
US 5734837A · Flores · 1998 [cited by examiner]
US 7389249B2 · Hsu · 2008 [cited by examiner]
US 8458007B2 · Shafiee · 2013 [cited by examiner]
US 10803413B1 · Xu · 2020 [cited by examiner]
US 11132739B1 · Park · 2021 [cited by examiner]
US 20140040075A1 · Perry · 2014 [cited by examiner]
US 20180300800A1 · Rajkhowa · 2018 [cited by examiner]
US 20200410864A1 · Ripert · 2020 [cited by examiner]
US 20230113386A1 · Nejad · 2023 [cited by examiner]
WO WO2018068026A1 · 2018 [cited by examiner]
WO WO2021099853A1 · 2021 [cited by examiner]
Steve “What is Order Fulfillment?”, eFulfillment service, Jan. 2013, pp. 1-25 (Year: 2013). [cited by examiner]