# US 12,770,179 B2 · Method, computer program product, and system for selecting an item for inclusion in an order from a user of an online concierge

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

- Number: US 12,770,179 B2
- Document ID: US12770179B2
- Status: Granted
- Kind: B2
- Application number: 18/657,781
- Filed: 2024-05-08
- Published: 2024-08-29
- Granted: 2026-10-20
- Earliest claimed: 2021-05-05
- Assignees: Maplebear Inc.
- Applicants: Maplebear Inc.
- Inventors: Weian Sheng; Peng Qi; Changyao Chen
- Web page: https://patentgrep.com/patent/US12770179B2

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06Q 30/0633: {Managing shopping lists, e.g. compiling or processing purchase lists (shipping orders G06Q10/083; order filling G06Q10/087)}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- 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 maintains a taxonomy associating one or more specific items offered by a warehouse with a generic item description. When the online concierge system receives a generic item description from a user for inclusion in an order, the online concierge system uses the taxonomy to select a set of items associated with the generic item description. Based on probabilities of the user purchasing various items of the set, the online concierge system selects an item of the set for inclusion in the order For example, the online concierge system selects an item of the set for which the user has a maximum probability of being purchased. Subsequently, the online concierge system displays an interface for the user that is prepopulated with information identifying the selected item of the set.

## Claims

### Claim 1

A method for improving a query engine, the method comprising:
at an online system comprising memory and one or more processors:
receiving a generic item description from a user, the generic item description being a search query inputted into a search field of an interface;
retrieving a taxonomy stored by the online system, the taxonomy maintaining associations between generic item descriptions and attributes of specific items that are associated with serial numbers, the attributes comprising information of stores that offer one or more specific items;
identifying, based on the taxonomy, a set of candidate items that match the generic item description specified in the search field;
traversing one or more paths of the taxonomy from the set of candidate items to identify one or more specific items that are associated with corresponding serial numbers;
selecting the one or more specific items from the set of candidate items, wherein selecting the specific item comprises applying a machine learning model to rank the set of candidate items by availabilities, wherein the machine learning model is trained by:
initiating a set of weights of the machine learning model,
receiving a training set that comprises inventory information and past outcomes of delivery orders,
comparing an item's availability across multiple warehouses to determine whether the item is chronically unavailable,
updating the training set based on the item's availability across multiple warehouses, and
adjusting the weights of the machine learning model based on the training set; and
causing, responsive to the generic item description being inputted into the search field of the interface, the interface to automatically provide the one or more specific items for display without the user providing additional inputs to identify the specific item, thereby reducing a number of steps the user needs to navigate in the interface to include a specific item.

### Claim 2 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
selecting the specific item that is included in at least a threshold number of orders the online system previously received from the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
determining a probability of the user purchasing each candidate item in the set of candidate items; and
selecting an item having a maximum probability of being purchased by the user from the set.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining the probability of the user purchasing each candidate item in the set of candidate items comprises:
applying a trained purchase model to each combination of the user and the candidate item, the trained purchase model being part of the machine learning model, the trained purchase model generating the probability of the user purchasing the candidate item based on attributes of the candidate item and items included in orders the online system previously received from the user.

### Claim 5 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
determining a probability of the user purchasing each candidate item in the set of candidate items;
determining differences between a probability of the user purchasing a candidate item included in one or more previous orders the online system received from the user and probabilities of the user purchasing each alternative item in the set; and
selecting an alternative item in the set having a minimum difference between the probability of the user purchasing the candidate item included in one or more previous orders the online system received from the user and the probability of the user purchasing the alternative item in the set.

### Claim 6 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
determining a predicted availability of each candidate item of the set of candidate items at a location;
identifying a group of candidate items of the set having at least a threshold predicted availability; and
selecting a candidate item of the group having at least a threshold probability of being purchased by the user.

### Claim 7 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
determining a predicted availability of each candidate item of the set of candidate items at a location;
identifying a group of candidate items of the set having at least a threshold predicted availability;
ranking the candidate items of the group based on probabilities of the user purchasing corresponding items of the group; and
selecting a candidate item of the group having at least a threshold position in the ranking.

### Claim 8 (depends on 1)

The method of claim 1, wherein selecting, by the online system, the one or more specific item from the set of candidate items comprises:
determining a predicted availability of each candidate item of the set of candidate items at a location;
ranking the candidate items of the set based on their predicted availabilities;
identifying a group of candidate items of the set having at least a threshold position in the ranking; and
selecting an item of the group having a maximum probability of being purchased by the user.

### Claim 9

A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor of an online system, cause the processor to:
receive a generic item description from a user, the generic item description being a search query inputted into a search field of an interface;
retrieve a taxonomy stored by the online system, the taxonomy maintaining associations between generic item descriptions and attributes of specific items that are associated with serial numbers, the attributes comprising information of stores that offer one or more specific items;
identify, based on the taxonomy, a set of candidate items that match the generic item description specified in the search field;
traverse one or more paths of the taxonomy from the set of candidate items to identify one or more specific items that are associated with corresponding serial numbers;
select the one or more specific items from the set of candidate items, wherein select the specific item comprises applying a machine learning model to rank the set of candidate items by availabilities, wherein the machine learning model is trained by:
initiating a set of weights of the machine learning model,
receiving a training set that comprises inventory information and past outcomes of delivery orders,
comparing an item's availability across multiple warehouses to determine whether the item is chronically unavailable,
updating the training set based on the item's availability across multiple warehouses, and
adjusting the weights of the machine learning model based on the training set; and
cause, responsive to the generic item description being inputted into the search field of the interface, the interface to automatically provide the one or more specific items for display without the user providing additional inputs to identify the specific item, thereby reducing a number of steps the user needs to navigate in the interface to include a specific item.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
select the specific item that is included in at least a threshold number of orders the online system previously received from the user.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a probability of the user purchasing each candidate item in the set of candidate items; and
select an item having a maximum probability of being purchased by the user from the set.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the instructions to determine the probability of the user purchasing each candidate item in the set of candidate items comprise instructions to:
apply a trained purchase model to each combination of the user and the candidate item, the trained purchase model being part of the machine learning model, the trained purchase model generating the probability of the user purchasing the candidate item based on attributes of the candidate item and items included in orders the online system previously received from the user.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a probability of the user purchasing each candidate item in the set of candidate items;
determine differences between a probability of the user purchasing a candidate item included in one or more previous orders the online system received from the user and probabilities of the user purchasing each alternative item in the set; and
select an alternative item in the set having a minimum difference between the probability of the user purchasing the candidate item included in one or more previous orders the online system received from the user and the probability of the user purchasing the alternative item in the set.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a predicted availability of each candidate item of the set of candidate items at a location;
identify a group of candidate items of the set having at least a threshold predicted availability; and
select a candidate item of the group having at least a threshold probability of being purchased by the user.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a predicted availability of each candidate item of the set of candidate items at a location;
identify a group of candidate items of the set having at least a threshold predicted availability;
rank the candidate items of the group based on probabilities of the user purchasing corresponding items of the group; and
select a candidate item of the group having at least a threshold position in the ranking.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a predicted availability of each candidate item of the set of candidate items at a location;
rank the candidate items of the set based on their predicted availabilities;
identify a group of candidate items of the set having at least a threshold position in the ranking; and
select an item of the group having a maximum probability of being purchased by the user.

### Claim 17

An online system comprising:
one or more processors; and
memory configured to store code comprising instructions, where the instructions, when executed by the one or more processors, cause the one or more processors to:
receive a generic item description from a user, the generic item description being a search query inputted into a search field of an interface;
retrieve a taxonomy stored by the online system, the taxonomy maintaining associations between generic item descriptions and attributes of specific items that are associated with serial numbers, the attributes comprising information of stores that offer one or more specific items;
identify, based on the taxonomy, a set of candidate items that match the generic item description specified in the search field;
traverse one or more paths of the taxonomy from the set of candidate items to identify one or more specific items that are associated with corresponding serial numbers;
select the one or more specific items from the set of candidate items, wherein select the specific item comprises applying a machine learning model to rank the set of candidate items by availabilities, wherein the machine learning model is trained by:
initiating a set of weights of the machine learning model,
receiving a training set that comprises inventory information and past outcomes of delivery orders,
comparing an item's availability across multiple warehouses to determine whether the item is chronically unavailable,
updating the training set based on the item's availability across multiple warehouses, and
adjusting the weights of the machine learning model based on the training set; and
cause, responsive to the generic item description being inputted into the search field of the interface, the interface to automatically provide the one or more specific items for display without the user providing additional inputs to identify the specific item, thereby reducing a number of steps the user needs to navigate in the interface to include a specific item.

### Claim 18 (depends on 17)

The online system of claim 17, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
select the specific item that is included in at least a threshold number of orders the online system previously received from the user.

### Claim 19 (depends on 17)

The online system of claim 17, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a probability of the user purchasing each candidate item in the set of candidate items; and
select an item having a maximum probability of being purchased by the user from the set.

### Claim 20 (depends on 17)

The online system of claim 17, wherein the instructions to select, by the online system, the one or more specific item from the set of candidate items comprise instructions to:
determine a probability of the user purchasing each candidate item in the set of candidate items;
determine differences between a probability of the user purchasing a candidate item included in one or more previous orders the online system received from the user and probabilities of the user purchasing each alternative item in the set; and
select an alternative item in the set having a minimum difference between the probability of the user purchasing the candidate item included in one or more previous orders the online system received from the user and the probability of the user purchasing the alternative item in the set.
