# US 12,002,084 B2 · Online shopping system and method for selecting a warehouse for inventory based on predicted availability and predicted replacement machine learning models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,002,084 B2
- Document ID: US12002084B2
- Status: Granted
- Kind: B2
- Application number: 18/218,967
- Filed: 2023-07-06
- Published: 2023-11-02
- Granted: 2024-06-04
- Earliest claimed: 2021-04-14
- Assignees: Maplebear Inc.
- Applicants: Maplebear Inc.
- Inventors: Shishir Kumar Prasad; Sharath Rao Karikurve; Diego Goyret
- Web page: https://patentgrep.com/patent/US12002084B2

## CPC

- G06Q 30/0639: {Locating goods or services, e.g. based on physical position of the goods or services within a shopping facility}
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06Q 30/0205: {based on location or geographical consideration}
- G06Q 30/0619: {Neutral agent}
- G06Q 30/0629: {by pre-processing results, e.g. ranking or ordering results}
- G06Q 30/0633: {Managing shopping lists, e.g. compiling or processing purchase lists (shipping orders G06Q10/083; order filling G06Q10/087)}
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06Q 10/08744: {by distributed inventory management}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

An online concierge system allows users to order items from a warehouse having multiple physical locations, allowing a user to order items at any given warehouse location. To select a warehouse location for a warehouse selected by a user, the online concierge system identifies a set of items that the user has a threshold likelihood of purchasing from prior orders by the user. For each of a set of warehouse locations, the online concierge system applies a machine-learned item availability model to each item of the identified set. From the availabilities of items of the set at each warehouse location of the set, the online concierge system selects a warehouse location. The online concierge system identifies an inventory of items from the selected warehouse location to the user for inclusion in an order.

## Claims

### Claim 1

A method, performed at a computer system comprising at least one processor and memory, comprising:
receiving, at an online concierge system, a request to specify an order from a device associated with a user over a network;
identifying, by the online concierge system, a plurality of candidate warehouse locations from which the order can be fulfilled;
retrieving, by the online concierge system, a set of orders previously received from the user;
selecting, by the online concierge system, a set of items from the set of orders previously received by the online concierge system from the user;
for each candidate warehouse location of the plurality of candidate warehouse locations, determining, by the online concierge system, an availability score by:
accessing a machine learning item availability model that is trained to predict whether a target item is available at a target warehouse location by:
obtaining a plurality of training examples, each training example including a label indicating whether the target item was previously found at the target warehouse location and a plurality of input features for the target item and the target warehouse location,
updating the item availability model by applying the item availability model to each training example, comparing a result of the applying to the label of the training example, and modifying parameters of the item availability model based on the comparing,
obtaining a set of additional training examples for the item availability model, and
retraining the item availability model with the set of additional training examples;
determining a predicted availability of each of the selected set of items by applying the item availability model to the plurality of input features for the selected item and the candidate warehouse location; and
generating the availability score for the candidate warehouse location from the predicted availabilities of the selected set of items;
selecting, by the online concierge system, a warehouse location from the plurality of candidate warehouse locations based on the availability scores of each of the plurality of warehouse locations; and
in response to the request to specify an order, presenting, by the online concierge system, an inventory of items available from the selected warehouse location to the device associated with the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein selecting the set of items from the set of orders previously received by the online concierge system from the user comprises:
determining a probability of the user purchasing items included in the set of orders previously received by the online concierge system from the user by applying a trained purchase model to the items included in at least one order previously received by the online concierge system from the user; and
selecting the set of items based on the determined probabilities.

### Claim 3 (depends on 2)

The method of claim 2, wherein selecting the set of items based on the determined probabilities comprises:
ranking the items included in the at least one order previously received by the online concierge system based on their corresponding probabilities; and
selecting the set of items as items having at least a threshold position in the ranking.

### Claim 4 (depends on 2)

The method of claim 2, wherein selecting the set of items based on the determined probabilities comprises:
selecting the set of items as items having at least a threshold probability.

### Claim 5 (depends on 2)

The method of claim 2, wherein determining the probability of the user purchasing items included in the set of orders previously received by the online concierge system from the user by applying the trained purchase model to the items included in the at least one order previously received by the online concierge system from the user comprises:
identifying orders previously received by the online concierge system from the user during a specific time interval; and
determining the probability of the user purchasing items included in the identified orders previously received by the online concierge system during the specific time interval from the user by applying the trained purchase model to the items included in at least one identified order previously received by the online concierge system from the user during the specific time interval.

### Claim 6 (depends on 1)

The method of claim 1, wherein selecting the set of items from the set of orders previously received by the online concierge system from the user comprises:
determining a frequency with which the user purchased each item included in at least one order previously received by the online concierge system from the user; and
selecting the set of items as items having at least a threshold frequency.

### Claim 7 (depends on 1)

The method of claim 1, wherein selecting the set of items from the set of orders previously received by the online concierge system from the user comprises:
determining a frequency with which the user purchased each item included in at least one order previously received by the online concierge system from the user;
ranking the items based on their corresponding frequencies; and
selecting the set of items as items having at least a threshold position in the ranking.

### Claim 8 (depends on 1)

The method of claim 1, wherein identifying a plurality of candidate warehouse locations from which the order can be fulfilled comprises:
determining a geographic region maintained by the online concierge system; and
identifying locations of the warehouse within the determined geographic region as the candidate warehouse locations.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
responsive to being unable to retrieve orders for one or more items the online concierge system previously received from the user,
determining orders the online concierge system received from other users within a specific time interval and that have been fulfilled from the identified plurality of candidate warehouse locations;
for each candidate warehouse location of the plurality of candidate warehouse locations, determining a rate at which items included in the determined orders were purchased from the candidate warehouse location; and
selecting, by the online concierge system, the warehouse location from the plurality of candidate warehouse locations as a candidate warehouse location based on the rate at which items in the determined orders were purchased.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving, at the online concierge system, a query for items to include in the order; and
comparing, by the online concierge system, the received query to the inventory associated with the selected warehouse location.

### Claim 11

A method, performed at a computer system comprising at least one processor and memory, comprising:
receiving, at an online concierge system, a request to specify an order from a device associated with a user over a network;
identifying, by the online concierge system, a plurality of candidate warehouse locations from which the order can be fulfilled;
retrieving, by the online concierge system, a set of orders previously received from the user;
selecting, by the online concierge system, a set of items from the set of orders previously received by the online concierge system from the user, wherein the selecting comprises:
accessing a machine learning purchase model that is trained to predict whether a target user will purchase a target item by:
obtaining a plurality of training examples, each training example including a label indicating whether the target user purchased the target item and a plurality of input features for the target user and the target item,
updating the purchase model by applying the purchase model to each training example, comparing a result of the applying to the label of the training example, and modifying parameters of the purchase model based on the comparing,
obtaining a set of additional training examples for the purchase model, and
retraining the purchase model with the set of additional training examples;
selecting a plurality of candidate items from the set of orders previously received from the user;
determining a likelihood of purchase that the user will purchase each of a plurality of candidate items by applying the purchase model to the plurality of input features for the user and the candidate items; and
selecting the set of items from the plurality of candidate items based on the predicted likelihoods of purchase;
for each candidate warehouse location of the plurality of candidate warehouse locations, determining, by the online concierge system, an availability score based on a likelihood that the candidate location has one or more of the selected set of items;
selecting, by the online concierge system, a warehouse location from the plurality of candidate warehouse locations based on the availability scores of each of the plurality of warehouse locations; and
in response to the request to specify an order, presenting, by the online concierge system, an inventory of items available from the selected warehouse location to the device associated with the user.

### Claim 12 (depends on 11)

The method of claim 11, wherein selecting the set of items from the plurality of candidate items based on the predicted likelihoods of purchase comprises:
ranking the candidate items included the plurality of candidate items based on their corresponding predicted likelihoods of purchase; and
selecting the set of items as candidate items having at least a threshold position in the ranking.

### Claim 13 (depends on 11)

The method of claim 11, wherein selecting the set of items from the plurality of candidate items based on the predicted likelihoods of purchase comprises:
selecting the set of items as candidate items having at least a threshold likelihood of purchase.

### Claim 14 (depends on 11)

The method of claim 11, wherein
selecting the set of items from the set of orders previously received by the online concierge system from the user further comprises:
identifying orders previously received by the online concierge system from the user during a specific time interval; and
wherein selecting the set of items from the plurality of candidate items based on the predicted likelihoods of purchase comprises:
determining the likelihood of the user purchasing candidate items included in the identified orders previously received by the online concierge system during the specific time interval from the user by applying the purchase model to the candidate items included in the identified orders previously received by the online concierge system from the user during the specific time interval.

### Claim 15 (depends on 11)

The method of claim 11, wherein selecting the set of items from the set of orders previously received by the online concierge system from the user further comprises:
determining a frequency with which the user purchased each item included in at least one order previously received by the online concierge system from the user; and
selecting the set of items as items having at least a threshold frequency.

### Claim 16 (depends on 11)

The method of claim 11, wherein selecting the set of items from the set of orders previously received by the online concierge system from the user further comprises:
determining a frequency with which the user purchased each item included in at least one order previously received by the online concierge system from the user;
ranking the items based on their corresponding frequencies; and
selecting the set of items as items having at least a threshold position in the ranking.

### Claim 17 (depends on 11)

The method of claim 11, wherein identifying a plurality of candidate warehouse locations from which the order can be fulfilled comprises:
determining a geographic region maintained by the online concierge system; and
identifying locations of the warehouse within the determined geographic region as the candidate warehouse locations.

### Claim 18 (depends on 11)

The method of claim 11, further comprising:
responsive to being unable to retrieve orders for one or more items the online concierge system previously received from the user,
determining orders the online concierge system received from other users within a specific time interval and that have been fulfilled from the identified plurality of candidate warehouse locations;
for each candidate warehouse location of the plurality of candidate warehouse locations, determining a rate at which items included in the determined orders were purchased from the candidate warehouse location; and
selecting, by the online concierge system, the warehouse location from the plurality of candidate warehouse locations as a candidate warehouse location based at least on the rate at which items in the determined orders were purchased.

### Claim 19 (depends on 11)

The method of claim 11, further comprising:
receiving, at the online concierge system, a query for items to include in an order; and
comparing, by the online concierge system, the received query to the inventory associated with the selected identified location of the warehouse.

### Claim 20 (depends on 11)

The method of claim 11, wherein the input features for the target user and the target item include a frequency with which the user purchases an item, a time interval between prior orders including an item received from the user, and times when orders including an item were previously received form the user.
