IP Library Granted Patent US 12,737,802
Granted Patent B2
US 12,737,802 · App. 17/496,829 · Granted Sep 15, 2026

Generating a user interface for a user of an online concierge method, computer program product, and system to select generic item descriptions for an order and to select specific items corresponding to the selected generic item descriptions

Inventors: Aref Kashani Nejad (Redmond, WA); Skyler Moses (Kirkland, WA); Logan William Murdock (San Francisco, CA); Evan Smith (Coronado, CA); Bonnie Hoang (Pasadena, CA); Nikita Pahadia (San Jose, CA); Rezwan Islam (Brisbane, CA)
Assignee: Maplebear Inc.
G06Q30/0633G06Q30/0623G06Q30/0641
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,737,802
App. No.
17/496,829
Granted
Sep 15, 2026
Kind
B2
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 request to create an order from a user, the online concierge system selects a set of generic item descriptions from previously received orders and displays depictions of each generic item of the set to the user via an interface. In response to the user selecting a generic item description, the online concierge system identifies specific items associated with the selected generic item description from the taxonomy. Different identified specific items are displayed via the interface, for example as a scrollable list, allowing the user to select specific items for an order via the interface after selecting one or more generic item descriptions via the interface.

Claims (119)

1 . A method for customizing a user-specific interface, the method comprising:

storing a taxonomy at an online concierge system, the taxonomy associating one or more generic data descriptions with one or more specific data records associated with a location;

causing to display the interface at a client device of a user, the interface including a region displaying depictions of different selected generic data descriptions, the region comprising a plurality of positions along a first axis, each position comprising a plurality of slots along a second axis different from the first axis;

receiving, at the online concierge system and via the interface, a selection of a first generic data description at a first position along the first axis and a selection of a second generic data description at a second position along the first axis;

automatically populating the user interface with specific data records at the slots of the first position and the slots of the second position based on the first generic data description and the second generic data description, wherein automatically populating the specific data records;

identifying a first set of candidate data records based on the first generic data description in the taxonomy and a second set of candidate data records based on the second generic data description in the taxonomy;

applying a machine-learned item availability model to predict a dynamic parameter at the location for each candidate data record of the first set or the second set, the dynamic parameter indicating a predicted availability status associated with the location of each candidate data record, wherein the machine-learned item availability model is trained by:

collecting a training dataset comprising a plurality of historical order outcomes, each historical order outcome indicating whether an item was successfully picked from a warehouse for a delivery order;

extracting, from the training dataset, a plurality of training features for each item-warehouse pair, the plurality of training features comprising at least item identifiers, warehouse identifiers, and timing information;

incorporating warehouse inventory signals into the training features, the warehouse inventory signals comprising at least one of last-found timestamps, last-not-found timestamps, or find rates associated with the item-warehouse pair;

training the machine-learned item availability model using the training features to predict a probability that the item is available at the warehouse based on the collected historical order outcomes; and

retraining the machine-learned item availability model as new historical order outcomes become available;

selecting specific data records associated with the first generic data description based on the predicted dynamic parameter; and

selecting additional specific data records associated with the second generic data description based on the predicted dynamic parameter;

forming the user-specific interface that is customized to the user based on the user's selection of the first generic data description and the second generic data description and based on the dynamic parameters at the location indicating the predicted availability status associated with the data records, wherein forming the user-specific interface comprises:

causing to display the selected specific data records at the slots of the first position along the axis of the interface including an identifier of the first generic data description,

causing to display the selected additional specific data records at the slots of the second position along the axis.

2 . The method of claim 1 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises:

retrieving one or more orders the online concierge system previously received from the user;

identifying data records included in one or more of the retrieved orders;

determining a generic data description corresponding to each identified data record included in at least one retrieved order;

selecting the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders.

3 . The method of claim 2 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders comprises:

selecting generic data descriptions corresponding to data records included in at least a threshold percentage of the retrieved one or more orders.

4 . The method of claim 2 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders comprises:

ranking generic data descriptions corresponding to data records included the retrieved one or more orders, a position in the ranking of a generic data description based on a percentage of the retrieved one or more orders including a data record corresponding to the generic data description; and

selecting generic data descriptions having at least a threshold position in the ranking.

5 . The method of claim 1 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises:

determining a location of the user;

selecting a geographic region including the location of the user;

retrieving one or more orders the online concierge system previously received that identify one or more locations within the geographic region;

identifying data records included in one or more of the retrieved orders;

determining a generic data description corresponding to each identified data record included in at least one retrieved order; and

selecting the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders.

6 . The method of claim 1 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises:

selecting a predetermined list of generic data descriptions as the set in response to the online concierge system having previously received less than a threshold number of orders from the user.

7 . The method of claim 1 , further comprising selecting a set of generic data descriptions for the user based on orders previously received by the online concierge system, wherein selecting the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises:

selecting a recipe including generic data descriptions and instructions for combining the included generic data descriptions; and

selecting the set of generic data descriptions as generic data descriptions included in the selected recipe.

8 . The method of claim 1 , wherein modifying the interface further comprises:

determining a probability of the user purchasing each identified specific data record associated with the first generic data description;

ranking the identified specific data records associated with the first generic data description based on the determined probabilities; and

displaying information identifying one or more identified specific data records in the interface based on the ranking.

9 . The method of claim 8 , wherein displaying information identifying one or more identified specific data records based on the ranking comprises:

displaying identified specific data records in different slots of the position, a slot in which an identified specific data record is displayed corresponding to a position in the ranking of the identified specific data record.

10 . The method of claim 8 , wherein displaying information identifying one or more identified specific data records based on the ranking comprises:

determining a predicted availability of each identified specific data record at a warehouse identified by an order; and

displaying identified specific data records having at least a threshold predicted availability in different slots of the position, a slot in which an identified specific data record is displayed corresponding to a position in the ranking of the identified specific data record.

11 . The method of claim 1 , wherein the selected specific data records displayed at the slots of the first position are ranked by the predicted availability.

12 . The method of claim 1 , wherein the slots of the first position are displayed on an additional axis perpendicular to the axis.

13 . A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon, the instructions for customizing a user-specific interface, wherein the instructions, when executed by a processor, cause the processor to:

store a taxonomy at an online concierge system, the taxonomy associating one or more generic data descriptions with one or more specific data records associated with a location;

cause to display the interface at a client device of a user, the interface including a region displaying depictions of different selected generic data descriptions, the region comprising a plurality of positions along a first axis, each position comprising a plurality of slots along a second axis different from the first axis;

receive, at the online concierge system and via the interface, a selection of a first generic data description at a first position along the first axis and a selection of a second generic data description at a second position along the first axis;

automatically populate the user interface with specific data records at the slots of the first position and the slots of the second position based on the first generic data description and the second generic data description, wherein automatically populating the specific data records;

identifying a first set of candidate data records based on the first generic data description in the taxonomy and a second set of candidate data records based on the second generic data description in the taxonomy;

applying a machine-learned item availability model to predict a dynamic parameter at the location for each candidate data record of the first set or the second set, the dynamic parameter indicating a predicted availability status associated with the location of each candidate data record, wherein the machine-learned item availability model is trained by:

collecting a training dataset comprising a plurality of historical order outcomes, each historical order outcome indicating whether an item was successfully picked from a warehouse for a delivery order;

extracting, from the training dataset, a plurality of training features for each item-warehouse pair, the plurality of training features comprising at least item identifiers, warehouse identifiers, and timing information;

incorporating warehouse inventory signals into the training features, the warehouse inventory signals comprising at least one of last-found timestamps, last-not-found timestamps, or find rates associated with the item-warehouse pair;

training the machine-learned item availability model using the training features to predict a probability that the item is available at the warehouse based on the collected historical order outcomes; and

retraining the machine-learned item availability model as new historical order outcomes become available;

selecting specific data records associated with the first generic data description based on the predicted dynamic parameter;

selecting additional specific data records associated with the second generic data description based on the predicted dynamic parameter; and

form the user-specific interface that is customized to the user based on the user's selection of the first generic data description and the second generic data description and based on the dynamic parameters at the location indicating the predicted availability status associated with the data records, wherein forming the user-specific interface comprises:

causing to display the selected specific data records at the slots of the first position along the axis of the interface including an identifier of the first generic data description,

causing to display the selected additional specific data records at the slots of the second position along the axis.

14 . The computer program product of claim 13 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

retrieve one or more orders the online concierge system previously received from the user;

identify data records included in one or more of the retrieved orders;

determine a generic data description corresponding to each identified data record included in at least one retrieved order;

select the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders.

15 . The computer program product of claim 14 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

select generic data descriptions corresponding to data records included in at least a threshold percentage of the retrieved one or more orders.

16 . The computer program product of claim 14 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

rank generic data descriptions corresponding to data records included the retrieved one or more orders, a position in the ranking of a generic data description based on a percentage of the retrieved one or more orders including a data record corresponding to the generic data description; and

select generic data descriptions having at least a threshold position in the ranking.

17 . The computer program product of claim 13 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

determine a location of the user;

select a geographic region including the location of the user;

retrieve one or more orders the online concierge system previously received that identify one or more locations within the geographic region;

identify data records included in one or more of the retrieved orders;

determine a generic data description corresponding to each identified data record included in at least one retrieved order; and

select the set of generic data descriptions based on frequencies with which data records corresponding to generic data descriptions were included in the retrieved one or more orders.

18 . The computer program product of claim 13 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

select a predetermined list of generic data descriptions as the set in response to the online concierge system having previously received less than a threshold number of orders from the user.

19 . The computer program product of claim 13 , wherein the instructions, when executed, further cause the processor to select a set of generic data descriptions for the user based on orders previously received by the online concierge system, and wherein the instruction to select the set of generic data descriptions for the user based on orders previously received by the online concierge system comprises instructions to:

select a recipe including generic data descriptions and instructions for combining the included generic data descriptions; and

select the set of generic data descriptions as generic data descriptions included in the selected recipe.

20 . The computer program product of claim 13 , wherein the instruction to modify the interface to display the set of the identified specific data records in a position of the interface corresponding to the selected generic data descriptions comprises instructions to:

determine a probability of the user purchasing each identified specific data record associated with the first generic data description;

rank the identified specific data records associated with the first generic data description based on the determined probabilities; and

display information identifying one or more identified specific data records in the interface based on the ranking.

21 . The computer program product of claim 20 , wherein the instruction to display information identifying one or more identified specific data records based on the ranking comprises instructions to:

display identified specific data records in different slots of the position, a slot in which an identified specific data record is displayed corresponding to a position in the ranking of the identified specific data record.

22 . The computer program product of claim 20 , wherein the instruction to display information identifying one or more identified specific data records based on the ranking comprises instructions to:

display identified specific data records in different slots of the position, a slot in which an identified specific data record is displayed corresponding to a position in the ranking of the identified specific data record.

23 . The computer program product of claim 13 , wherein the instruction to modify the interface further comprises instructions to:

determine a predicted availability of each identified specific data record at a warehouse identified by an order; and

display identified specific data records having at least a threshold predicted availability in different slots of the position, a slot in which an identified specific data record is displayed corresponding to a position in the ranking of the identified specific data record.

24 . A system comprising:

a processor; and

memory configured to store instructions for customizing a user-specific interface, wherein the instructions, when executed by the processor, cause the processor to:

store a taxonomy at an online concierge system, the taxonomy associating one or more generic data descriptions with one or more specific data records associated with a location;

cause to display the interface at a client device of a user, the interface including a region displaying depictions of different selected generic data descriptions, the region comprising a plurality of positions along a first axis, each position comprising a plurality of slots along a second axis different from the first axis;

receive, at the online concierge system and via the interface, a selection of a first generic data description at a first position along the first axis and a selection of a second generic data description at a second position along the first axis;

automatically populate the user interface with specific data records at the slots of the first position and the slots of the second position based on the first generic data description and the second generic data description, wherein automatically populating the specific data records;

identifying a first set of candidate data records based on the first generic data description in the taxonomy and a second set of candidate data records based on the second generic data description in the taxonomy;

applying a machine-learned item availability model to predict a dynamic parameter at the location for each candidate data record of the first set or the second set, the dynamic parameter indicating a predicted availability status associated with the location of each candidate data record, wherein the machine-learned item availability model is trained by:

collecting a training dataset comprising a plurality of historical order outcomes, each historical order outcome indicating whether an item was successfully picked from a warehouse for a delivery order:

extracting, from the training dataset, a plurality of training features for each item-warehouse pair, the plurality of training features comprising at least item identifiers, warehouse identifiers, and timing information;

incorporating warehouse inventory signals into the training features, the warehouse inventory signals comprising at least one of last-found timestamps, last-not-found timestamps, or find rates associated with the item-warehouse pair;

training the machine-learned item availability model using the training features to predict a probability that the item is available at the warehouse based on the collected historical order outcomes; and

retraining the machine-learned item availability model as new historical order outcomes become available;

selecting specific data records associated with the first generic data description based on the predicted dynamic parameter;

selecting additional specific data records associated with the second generic data description based on the predicted dynamic parameter; and

form the user-specific interface that is customized to the user based on the user's selection of the first generic data description and the second generic data description and based on the dynamic parameters at the location indicating the predicted availability status associated with the data records, wherein forming the user-specific interface comprises:

causing to display the selected specific data records at the slots of the first position along the axis of the interface including an identifier of the first generic data description,

causing to display the selected additional specific data records at the slots of the second position along the axis.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: NEJAD, AREF KASHANI; MOSES, SKYLER; MURDOCK, LOGAN WILLIAM; SMITH, EVAN; HOANG, BONNIE; ISLAM, REZWAN
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 063871/0308 →
EMPLOYMENT AGREEMENT Recorded Jun 6, 2023
From: PAHADIA, NIKITA
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 063882/0096 →
Continuity (1)
Related Publication 20230113386A1 · Apr 13, 2023
References Cited (21)
US 9741007B1 · Rouaix · 2017 [cited by applicant]
US 10163070B1 · Phillips et al. · 2018 [cited by applicant]
US 10242336B1 · Agarwal · 2019 [cited by examiner]
US 10387795B1 · Oldridge et al. · 2019 [cited by applicant]
US 10438164B1 · Xiong et al. · 2019 [cited by applicant]
US 10748072B1 · Seeger et al. · 2020 [cited by applicant]
US 11544810B2 · Rao · 2023 [cited by examiner]
US 20120179547A1 · Besore · 2012 [cited by examiner]
US 20140279294A1 · Field-Darragh · 2014 [cited by examiner]
US 20150012381A1 · Lazaro · 2015 [cited by examiner]
US 20150012384A1 · Bank · 2015 [cited by examiner]
US 20160042315A1 · Field-Darragh et al. · 2016 [cited by applicant]
US 20160050446A1 · Fujioka · 2016 [cited by examiner]
US 20170178221A1 · Mccorry et al. · 2017 [cited by applicant]
US 20190114689A1 · Wang · 2019 [cited by examiner]
US 20190236531A1 · Adato et al. · 2019 [cited by applicant]
US 20210150571A1 · Singh · 2021 [cited by examiner]
WO WO2017223298A2 · 2017 [cited by applicant]
Time domain launches groundbreaking retail technology. (Jan. 11, 2010). Business Wire Retrieved from https://dialog.proquest.com/professional/docview/443682298?accountid=131444 (Year: 2010). [cited by examiner]
Recommender Systems: Behind the Scenes of Machine Learning-Based Personalization, Data Science (2021), (Year: 2021). [cited by examiner]
Kutzelnigg, R. et al. “Optimal allocation of goods in a warehouse: Minimizing the order picking costs under real-life constraints,” [cited by applicant]