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
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.
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.