# US 11,907,313 B2 · Recommending recipes using time-horizon based user ingredient pool

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

- Number: US 11,907,313 B2
- Document ID: US11907313B2
- Status: Granted
- Kind: B2
- Application number: 17/142,038
- Filed: 2021-01-05
- Published: 2022-07-07
- Granted: 2024-02-20
- Earliest claimed: 2021-01-05
- Assignees: Maplebear Inc.
- Applicants: Maplebear Inc.
- Inventors: Leho Nigul
- Web page: https://patentgrep.com/patent/US11907313B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/24578: {using ranking}
- G06F 16/9538: Presentation of query results
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 20/00: Machine learning
- G06Q 10/08776: {by management of storage life of perishable or hazardous products}
- G06Q 30/0282: Rating or review of business operators or products
- G06Q 30/0601: Electronic shopping [e-shopping]
- G06Q 10/0874: {Inventory fulfillment (shipping G06Q10/083)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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

## Abstract

An online recommendation system can choose recipes to recommend to a customer based on a set of ingredients the customer is inferred to have on hand (a customer pantry model). For example, the recommendation system can look at recent or historical purchases made by the customer and determine what items the customer still has available based on an assumed shelf life for the purchased items. Using the customer pantry model, the recommendation system selects recipes based on overlapping ingredients between recipe's ingredient lists and ingredients available to the customer (including the customer pantry model and their current shopping cart). In some implementations, the recommendation system first selects a set of candidate recipes based on the overlap, then selects the final set of recipes to recommend based on a score optimization (for example, performed using a machine learning model).

## Claims

### Claim 1

A method for recommending recipes to a user, the method comprising:
maintaining, at a recipe recommendation system, a recipe database comprising a plurality of recipes, each recipe including an ingredients list comprising a set of items required to prepare the recipe;
determining, based on a purchase history of the user and an expected shelf life of one or more items in the purchase history, a user pantry model, the user pantry model comprising a set of items inferred to be available to the user;
determining, from the plurality of recipes, a set of candidate recipes by, for each of the plurality of recipes:
identifying, based on a comparison of the ingredients list for the recipe with the user pantry model, a set of missing ingredients comprising one or more items in the ingredients list not included in the user pantry model, and
selecting the recipe as a candidate recipe based on the set of missing ingredients;
scoring each of the set of candidate recipes by applying a machine learning model to the candidate recipe, where the machine learning model is trained to generate a score of recommending the candidate recipe to the user, wherein the score indicates a probability of one or more user actions occurring if the candidate recipe is recommended, the one or more actions comprising adding a missing ingredient of the candidate recipe to a current purchase order;
selecting, based on the scored candidate recipes, one or more candidate recipes to recommend to the user; and
sending, from the recipe recommendation system to a user device associated with the user, the one or more selected candidate recipes for display to the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the user pantry model for the user comprises:
identifying a set of recently purchased items from the purchase history of the user; and
selecting one or more items of the set of recently purchased items for inclusion in the user pantry model based on a historical purchase frequency of the item in the purchase history of the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the user pantry model for the user is based on one or more tags associated with items in the purchase history.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, from a user device associated with the user, a request for a graphical user interface comprising recommended recipes; and
wherein sending the one or more selected candidate recipes for display to the user comprises generating the graphical user interface comprising recommended recipes based on the one or more selected candidate recipes.

### Claim 5 (depends on 4)

The method of claim 4, wherein the generated graphical user interface comprising recommended recipes includes an identification of one or more missing ingredients for each of the selected candidate recipes.

### Claim 6 (depends on 1)

The method of claim 1, wherein the set of missing ingredients comprises one or more items in the ingredients list not included in either the user pantry model or a current order of the user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the analysis of the set of missing ingredients is based on a number of missing ingredients in the set of missing ingredients, a total number of ingredients in the ingredients list of the recipe, and one or more weights of ingredients of the ingredients list.

### Claim 8 (depends on 1)

The method of claim 1, wherein the ingredients list of each recipe further comprises a set of substitute ingredients that could replace one or more ingredients when preparing the recipe.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
determining, for each of the plurality of recipes, a set of substitute ingredients that could replace one or more ingredients of the ingredients list when preparing the recipe; and
including the set of substitute ingredients in the ingredients list for the recipe.

### Claim 10 (depends on 1)

The method of claim 1, wherein the machine learning model is trained to predict a likelihood that the user would take an action in response to a recommendation of a recipe.

### Claim 11

A non-transitory computer readable storage medium comprising instructions which, when executed by a processor, cause the processor to perform the steps of:
maintaining, at a recipe recommendation system, a recipe database comprising a plurality of recipes, each recipe including an ingredients list comprising a set of items required to prepare the recipe;
determining, based on a purchase history of a user and an expected shelf life of one or more items in the purchase history, a user pantry model, the user pantry model comprising a set of items inferred to be available to the user;
determining, from the plurality of recipes, a set of candidate recipes by, for each of the plurality of recipes:
identifying, based on a comparison of the ingredients list for the recipe with the user pantry model, a set of missing ingredients comprising one or more items in the ingredients list not included in the user pantry model, and
selecting the recipe as a candidate recipe based on the set of missing ingredients;
scoring each of the set of candidate recipes by applying a machine learning model to the candidate recipe, where the machine learning model is trained to generate a score of recommending the candidate recipe to the user, wherein the score indicates a probability of one or more user actions occurring if the candidate recipe is recommended, the one or more actions comprising adding a missing ingredient of the candidate recipe to a current purchase order;
selecting, based on the scored candidate recipes, one or more candidate recipes to recommend to the user; and
sending, from the recipe recommendation system to a user device associated with the user, the one or more selected candidate recipes for display to the user.

### Claim 12 (depends on 11)

The computer readable storage medium of claim 11, wherein determining the user pantry model for the user comprises:
identifying a set of recently purchased items from the purchase history of the user; and
selecting one or more items of the set of recently purchased items for inclusion in the user pantry model based on a historical purchase frequency of the item in the purchase history of the user.

### Claim 13 (depends on 11)

The computer readable storage medium of claim 11, wherein determining the user pantry model for the user is based on one or more tags associated with items in the purchase history.

### Claim 14 (depends on 11)

The computer readable storage medium of claim 11, wherein the instructions, when executed by the processor, further cause the processor to perform the steps of:
receiving, from a user device associated with the user, a request for a graphical user interface comprising recommended recipes; and
wherein sending the one or more selected candidate recipes for display to the user comprises generating the graphical user interface comprising recommended recipes based on the one or more selected candidate recipes.

### Claim 15 (depends on 14)

The computer readable storage medium of claim 14, wherein the generated graphical user interface comprising recommended recipes includes an identification of one or more missing ingredients for each of the selected candidate recipes.

### Claim 16 (depends on 11)

The computer readable storage medium of claim 11, wherein the set of missing ingredients comprises one or more items in the ingredients list not included in either the user pantry model or a current order of the user.

### Claim 17 (depends on 11)

The computer readable storage medium of claim 11, wherein the analysis of the set of missing ingredients is based on a number of missing ingredients in the set of missing ingredients, a total number of ingredients in the ingredients list of the recipe, and one or more weights of ingredients of the ingredients list.

### Claim 18 (depends on 11)

The computer readable storage medium of claim 11, wherein the ingredients list of each recipe further comprises a set of substitute ingredients that could replace one or more ingredients when preparing the recipe.

### Claim 19 (depends on 18)

The computer readable storage medium of claim 18, wherein the instructions, when executed by the processor, further cause the processor to perform the steps of:
determining, for each of the plurality of recipes, a set of substitute ingredients that could replace one or more ingredients of the ingredients list when preparing the recipe; and
including the set of substitute ingredients in the ingredients list for the recipe.

### Claim 20 (depends on 11)

The computer readable storage medium of claim 11, wherein the machine learning model is trained to predict a likelihood that the user would take an action in response to a recommendation of a recipe.
