US20180082350A1 - Generating display information using a dynamically selected strategy - Google Patents
Generating display information using a dynamically selected strategy Download PDFInfo
- Publication number
- US20180082350A1 US20180082350A1 US15/826,458 US201715826458A US2018082350A1 US 20180082350 A1 US20180082350 A1 US 20180082350A1 US 201715826458 A US201715826458 A US 201715826458A US 2018082350 A1 US2018082350 A1 US 2018082350A1
- Authority
- US
- United States
- Prior art keywords
- products
- user
- information
- items
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
Definitions
- the following disclosure relates generally to dynamically generating product recommendations for users, such as by using multiple recommendation strategies and various information regarding prior user interactions with products.
- the World Wide Web (also referred to as the “Web”) has increasingly become a medium that is used to search for, shop for and order items (such as products, services and/or information) that are available for purchase, rent, lease, license, trade, evaluation, sampling, subscription to, etc.
- a user may visit the Web site of a Web merchant or other online retailer that provides one or more items (sometimes referred to as a “Web store”), such as to view information about the items, give an instruction to place an order for one or more items, and provide information needed to complete the purchase (e.g., payment and shipping information).
- the online retailer After receiving an order for one or more items, the online retailer then fulfills the order by providing the ordered items to the indicated recipient, such as by delivering product items electronically (e.g., music downloaded over the Internet) and/or through physical distribution channels (e.g., shipment via a governmental postal service or private common carrier, such as for paperback books). Similarly, some service items may be provided electronically (e.g., providing email service), while others may be provided physically (e.g., performing cleaning services at the purchaser's house).
- product items e.g., music downloaded over the Internet
- physical distribution channels e.g., shipment via a governmental postal service or private common carrier, such as for paperback books.
- service items may be provided electronically (e.g., providing email service), while others may be provided physically (e.g., performing cleaning services at the purchaser's house).
- FIG. 1 is a network diagram illustrating an embodiment of a multi-strategy product recommendation service for dynamically generating product recommendations for users.
- FIGS. 2A-2D illustrate examples of dynamically generating and providing product recommendations to users.
- FIG. 3 is a block diagram illustrating example computing systems suitable for executing a multi-strategy product recommendation system for dynamically generating product recommendations for users.
- FIG. 4 is a flow diagram of an example embodiment of a User Interface Manager routine.
- FIGS. 5A-5B are a flow diagram of an example embodiment of a Recommendation Manager routine.
- FIG. 6 is a flow diagram of an example embodiment of a Client Device Display routine.
- the techniques include using multiple recommendation strategies in one or more of various ways, such as by aggregating recommendation results for a particular user and a particular situation from multiple different recommendation strategies.
- Such recommendation strategies may have various forms, and in some embodiments may be based at least in part on data regarding prior interactions of numerous users with numerous items.
- information about current selections of a particular user may be gathered based at least in part on providing a GUI (“graphical user interface”) for display to the user that includes selectable information about numerous recommended items, and dynamically updating the displayed GUI with newly generated recommendations of items as the user makes selections of particular displayed recommended items (e.g., newly generated recommendations that are similar to the selected items in one or more manners, or are otherwise related to the selected items). Additional details related to particular recommendation strategies, to aggregating and otherwise using multiple recommendation strategies, and to interacting with users via a displayed GUI in various manners are included below.
- at least some of the described techniques may be automatically performed in at least some embodiments by a computer-implemented Multi-Strategy Product Recommendation (“MSPR”) service, as described in greater detail below.
- MSPR Multi-Strategy Product Recommendation
- the recommendation strategies that may be used may have various forms in various embodiments, and in some embodiments may be based at least in part on data regarding prior interactions of numerous users with numerous items.
- the prior interactions of users with items may involve interactions of customers of one or more retailers related to products or other items that are available from those retailers, or instead may involve interactions of other types of users in other situations (e.g., users who perform searches with search engines, users who view information about products from a product review service, etc.).
- a non-exclusive list of types of interactions of customers of online or other retailers with items for which interaction data is gathered may include, for example, the following: performing searches (e.g., for particular items, for items of a particular category or other defined group of items, for items having one or more indicated attributes, etc.); browsing item categories; viewing detailed information about particular items; purchasing items; doing item returns; etc.
- performing searches e.g., for particular items, for items of a particular category or other defined group of items, for items having one or more indicated attributes, etc.
- browsing item categories viewing detailed information about particular items; purchasing items; doing item returns; etc.
- the interaction data about the prior user interactions with items may then be analyzed and summarized in various ways, such as, for example, in the following non-exclusive manners: to identify items that are popular (e.g., the top item sellers in a particular category or from a particular retailer during a particular period of time; the items that are most often selected by users, such as to view detailed information about the items; the items with the highest user ratings; the items most often included in results of users' searches and/or selected by users from such search results; the “hottest” items of an item group to reflect those items having the largest changes in their ratings or sales or other popularity measure during a particular period of time; etc.); to identify items that are similar to each other or otherwise related to each other (e.g., items that have similar or otherwise related items attributes, such as price, type, size, etc.; users who viewed this item are most likely to also view these other items; users who viewed this item are most likely to purchase these items; users who purchased this item are most likely to also purchase these other items; users who searched for this item attribute and
- Some or all of the various types of analyzed or summarized user interaction data may then each be used as a distinct recommendation strategy, such as to use information about top item sellers in a particular category as one recommendation strategy when a user interest in that category is indicated or suspected, to use information about users who viewed a particular item as being most likely to purchase other identified items as one recommendation strategy when a user interest in that particular item is indicated or suspected, etc. Additional details related to particular recommendation strategies are included below.
- multiple recommendation strategies may be used in various ways in various embodiments. For example, in some embodiments and situations, recommendation results from multiple available recommendation strategies may be gathered for a particular situation involving a particular user, and then those various recommendation results may be aggregated in various manners. As one example of aggregating various recommendation results from multiple recommendation strategies, the various recommendation results may be weighted or otherwise ranked, so as to determine relevance scores or other relevance levels for those recommendation results, and then some or all of those various recommendation results may be selected to be used as recommendations for that user based on those weightings or other rankings.
- the weighting or other ranking of various item recommendation results may be performed in various manners, such as based on a weighting or ranking provided by a particular recommendation strategy that recommended the item (e.g., with a top sellers recommendation strategy weighting the highest item seller as the top recommendation for that strategy, and progressively weighting lower sellers as lower recommendations), based on inclusion of a particular item recommendation in the results from multiple different recommendation strategies, etc.
- relevance scores or other levels may be determined for particular recommended items in manners other than based on weighting or other ranking.
- a particular one of multiple available recommendation strategies may instead be selected for use in a particular situation, such as based on a dynamic determination that the particular recommendation strategy is optimal or otherwise preferred for the particular situation, or instead based on a prior selection or configuration to use that particular recommendation strategy in that particular situation (e.g., based on prior configuration by a human operator, based on a prior automated selection of that particular recommendation strategy, etc.).
- a dynamic determination to use a particular recommendation strategy at a given time based on a current situation may be based on, for example, a comparison of the results from the recommendations of that particular recommendation strategy to recommendation results from one or more other possible recommendation strategies, a failure or other inability of other possible recommendation strategies to provide useful recommendation results or any recommendation results, etc. Additional details related to using multiple recommendation strategies are included below.
- information about current selections of a particular user may be gathered in at least some embodiments based at least in part on providing a GUI for display to the user that includes selectable information about numerous recommended items.
- a Web page may be generated and displayed to a user that includes images of and/or other indications of numerous items, such as for an initial group of recommended items, and with the images or other displayed indications of the items being selectable by the user.
- a second group of recommended items may be dynamically generated for the user based at least in part on the current selection, and then displayed to the user via the GUI, such as for a second group that includes some or all of the items of the first group (and optionally additional items), or instead a second group that does not include any of the items of the first group.
- a third group of recommended items may similarly be dynamically generated for the user based at least in part on the current selection(s), and then displayed to the user via the GUI.
- Such user selections may continue to be repeatedly monitored and used in this manner as part of an ongoing interactive recommendation exploration session, and in some embodiments other types of user selections may similarly be used (e.g., a user selection to remove one or more currently selected items from the group of current selection, also referred to as a “de-selection”; other user feedback of a positive or negative nature regarding one or more currently selected items or other items; etc.).
- a user selection to remove one or more currently selected items from the group of current selection also referred to as a “de-selection”
- other user feedback of a positive or negative nature regarding one or more currently selected items or other items etc.
- the recommendation results from one or more recommendation strategies may be weighted or otherwise ranked in some embodiments, and if so the recommended items that are displayed to a user via the GUI may be displayed so that items with higher rankings are displayed more prominently than other items with lower rankings (e.g., by displaying the items in decreasing order of their associated rankings, such that the items with the highest rankings are displayed first; by using different fonts, colors, placement or other visual indications to indicate items with higher rankings; etc.).
- the weighting of those items from the first group may change in the second group, and thus the prominence of the display of those items from the first group may similarly change in the display of those items as part of the second group.
- the display of a second group of recommended items that replaces a prior display of a first group of recommended items may be performed in various manners, including to modify a previously displayed Web page without reloading the Web page in a client browser application (e.g., via the use of AJAX, or Asynchronous JavaScript and XML, or other scripting or instructions or execution mechanisms included as part of the previously displayed Web page). Additional details related to displaying GUIs and recommended items to users are included below.
- FIG. 1 is a network diagram illustrating an embodiment of a multi-strategy product recommendation service for dynamically generating product recommendations for users using the described techniques.
- the discussion may refer to recommending “products” to users, but it will be appreciated that the same or similar techniques may be applied to other types of items in other embodiments.
- the illustrated example of FIG. 1 includes a number of example users 140 that are each interacting with an example embodiment of a Multi-Strategy Product Recommendation (“MSPR”) service 105 and/or with an example retailer 130 (e.g., an online retailer) over a network 100 .
- the network 100 may, for example, be a publicly accessible network of linked networks, possibly operated by various distinct parties, such as the Internet.
- the network 100 may be a private network, such as, for example, a corporate or university network that is wholly or partially inaccessible to non-privileged users.
- the network 100 may include both private and public networks with one or more of the private networks having access to and/or from one or more of the public networks.
- the network 100 may include various types of wired and/or wireless networks in various situations.
- the users 140 may each use computing systems and/or devices (not shown) to interact with the MSPR service 105 and/or the retailer 130 to obtain various described functionality via the network 100 , and in doing so may provide various types of indications or other information to the MSPR service 105 and/or the retailer 130 .
- the interactions of the users with the MSPR service 105 and/or the retailer 130 may occur in various ways in various embodiments, such as, for example, in an interactive manner via a GUI displayed on computing systems and/or other devices (not shown) of the users 140 , or in a programmatic manner via an API (“application programming interface”) provided by the MSPR service 105 and/or the retailer 130 that allows computing systems and/or programs to invoke such functionality programmatically, such as using Web services or other network communication protocols.
- API application programming interface
- each of the users 140 may interact with an embodiment of the MSPR service 105 to obtain recommendations for products available from a retailer 130 , such as to obtain dynamically generated product recommendations for the user in particular situations.
- the MSPR service 105 includes or otherwise has access to various product information 120 and user interaction information 115 .
- the product information 120 may, for example, include a database and/or other data collection related to a catalog of products and/or services available from one or more retailers 130 , such as may include descriptions, prices, availability and other information about the products and/or services.
- the user interaction information 115 may, for example, include information regarding how numerous of the users 140 and/or other users have previously interacted in various ways with products included in product information 120 .
- the illustrated MSPR service 105 may process the product information 120 using various recommendation strategies to identify or otherwise determine which products of the numerous products available from the retailer 130 to recommend to the particular user, such as by identifying the products that are determined to be most relevant to the user based on the various recommendation strategies and the currently available information.
- at least some of the recommendation strategies may use the user interaction information 115 to determine which products to recommend to a particular user, such as to identify products that are popular, to identify products that are similar to or otherwise related to one or more other products currently selected by the user or otherwise determined to be of current interest to the user, and/or to otherwise likely to be of interest to a particular user based at least in part on prior interactions of multiple users.
- the MSPR service 105 may generate product recommendations for users based at least in part on aggregating results of multiple recommendation strategies, such as discussed in more detail elsewhere.
- the illustrated embodiment of MSPR service 105 may provide for each of the interacting users 140 a GUI that displays multiple recommended products to the user and allows the user to interactively select or otherwise indicate an interest in one or more of the displayed recommended products, with the MSPR service 105 providing new and/or revised product recommendations to display to the user in the provided GUI using one or more recommendation strategies as the user indicates an interest in the recommended products.
- a user may interact with a GUI provided by the MSPR service 105 to successively indicate interest in one or more displayed recommended products, with a new group of recommended products being generated and provided for display to the user based upon each successive indication.
- the successive indications of interest of the user may be collected and/or otherwise compiled by the GUI such that the new group of recommended products may be generated using one or more recommendation strategies based at least in part on the collected successive indications of the user's interest.
- each of the collected successive indications of interest of a user may be used to determine a respective set of product recommendations for the user based on the indication, with the new group of product recommendations being an aggregation of results of each generated respective set of product recommendations.
- the GUI provided by the MSPR service 105 may enable a user to indicate an interest in one or more displayed recommended products in various ways, such as by providing one or more user-selectable controls that allow users to select a displayed recommended product, de-select a previously selected product, reject a displayed recommended product, and/or otherwise provide feedback of a positive or negative nature for a displayed recommended product (e.g., based on providing user ratings or rankings).
- the indications of interest of the user may be provided to the MSPR service 105 , such that the MSPR service 105 may use the indications as part of one or more recommendation strategies to identify products of the product information 120 that may be of interest to the particular user.
- the MSPR service 105 may use such received indications of interest to identify products of a similar nature or kind to the selected recommended products and/or to identify products that are otherwise related to or associated with the selected recommended products (e.g., such as to reflect relationships determined based on prior user interactions with the products on the part of the user to whom recommendations are currently being provided and/or on the part of other users; relationships explicitly specified by a manufacturer, retailer, advertiser, or user(s); etc.).
- each of the users 140 may interact with the MSPR service 105 via an embodiment of the provided GUI to obtain recommendations for products that are available from the retailer 130 and are of particular interest to the user.
- an example user 1 140 a may interact with MSPR service 105 via the provided GUI (displayed on a client computing system or device of the user 1 ) to indicate one or more recommended products that are of interest to the user 1 and to obtain product recommendations based on user 1 's particular indications of interest
- a distinct example user 2 140 b may interact with the MSPR service 105 via the provided GUI (displayed on a distinct client computing system or device of the user 2 ) to indicate one or more other recommended products that are of interest to the user 2 and to obtain other product recommendations based on the indications of interest of the user 2 .
- the MSPR service GUI may be presented in various manners and may provide various types of additional and/or other interactivity and functionality for the users 140 , with at least one illustrative example embodiment of such a GUI being described with respect to FIGS. 2A-2D .
- the GUI of the MSPR service 105 may be provided in the form of one or more Web pages that are generated by the MSPR service 105 , which may be obtained by various of the users 140 via the network 100 , such as for display in a Web browser executing on one or more client computing systems and/or devices of the various users 140 .
- each of the users 140 may interact with the MSPR service 105 to obtain product recommendations for one or more particular subgroups of the products available from the retailer 140 , such that product recommendations generated by the MSPR service 105 may be limited to products that are included in the one or more particular subgroups.
- such subgroups may include products that are grouped in various manners, such as to reflect products of a particular category and/or type (e.g., clothing, jewelry, books, tools, etc.), products available in a particular department of a retailer (e.g., sporting goods, jewelry, home furnishings, women's clothing, men's shoes, etc.), products that may be grouped on the basis of various other attributes of the products, etc.
- the GUI provided by the MSPR service 105 may include various user-selectable controls (e.g., menu options, drop-down lists, buttons, hyperlinks, check-boxes, radio buttons, text fields, search fields, etc.) that enable a user to interactively specify one or more particular subgroups, such as one or more controls that enable the user to select and/or otherwise indicate one or more particular categories, departments, item attributes, or other criteria by which to limit the product recommendations.
- the GUI may provide functionality that enables a user to specify one or more search terms which may be used to define a particular subgroup of products, such as a subgroup of products that includes products of the retailer 130 that matches one or more of the specified search terms.
- the example retailer 130 may include one or more retailer businesses that sell or otherwise make products or other items available to customers or potential customers, such as via a Web site (e.g., a Web store) or other network-based service hosted on one or more server computing systems.
- a Web site e.g., a Web store
- the users 140 may access a Web site of the retailer 130 to obtain one or more Web pages, such as to view information about, search for, browse for, rate, place an order for, and/or provide information for completing a purchase of or a return of one or more products or other items available from the retailer 130 .
- information about various of the interactions of the users 140 with the Web site of the retailer 130 may be collected and included as part of the user interaction information 115 , such as interactions of the users that are related to the products or other items made available by the retailer 130 on the Web site (e.g., product views, purchases, returns, ratings).
- the retailer 130 may also make products or other items available for customers at one or more physical retail locations (i.e., “brick and mortar” stores), whether in addition to or instead of via a Web store or other network-based service, and if so information regarding purchases, returns, and/or other activities of customers related to the products or other items available at the physical retail locations may also be collected for inclusion as part of the user interaction information 115 .
- the user 140 may be at a physical retail location and interacting with a GUI on a device at the physical retail location (e.g., a fixed-location kiosk provided by the retailer 130 , a mobile wireless device belonging to the user or the retailer, etc.) in order to view and interact with recommendations from the MSPR service 105 , as well as product information and related content from the retailer 130 .
- a device at the physical retail location e.g., a fixed-location kiosk provided by the retailer 130 , a mobile wireless device belonging to the user or the retailer, etc.
- the MSPR service 105 may be included as part of a Web site of a particular retailer 130 , such as to provide the described functionality for dynamically recommending products of the retailer 130 to users of the Web site.
- the GUI of the MSPR service 105 may be provided as one or more Web pages of the Web site, or as an embedded Web application included in one or more of various Web pages of the Web site.
- the users 140 may initiate access with the MSPR service 105 via the Web site of the retailer 130 in various ways to obtain an initial generated group of selectable product recommendations.
- the user may select one or more products available on the Web site (e.g., from a product page, a product listing, a search results list, etc.), with an initial generated group of product recommendations being related to the one or more selected products; the user may indicate a desire to browse a group of recommended products of a particular type and/or category, with the initial generated group of product recommendations being products of that particular type or category; the user may enter one or more search terms for recommended products, with the initial group of recommended products being products that match one or more of the search terms; etc.
- the initial generated group of product recommendations being related to the one or more selected products
- the user may indicate a desire to browse a group of recommended products of a particular type and/or category, with the initial generated group of product recommendations being products of that particular type or category
- the user may enter one or more search terms for recommended products, with the initial group of recommended products being products that match one or more of the search terms; etc.
- the MSPR service 105 may provide product recommendations for products available from multiple retailers 130 .
- the MSPR service 105 may obtain product information 120 from multiple retailers 130 and/or use user interaction information 115 based on how prior customers of the multiple retailers interacted with products provided by the multiple retailers.
- the MSPR service 105 may or may not be affiliated with one or more of the multiple retailers.
- the described techniques may be used to provide recommendations of entities (e.g., people, businesses or other organizations, etc.) or other things other than products or other items, may be used to generate recommendations for users without interacting with those users (e.g., by interacting with one or more other services or organizations that directly interact with those users), may be used to generate recommendations to be provided to entities other than users (e.g., organizations or other groups), etc.
- entities e.g., people, businesses or other organizations, etc.
- entities e.g., people, businesses or other organizations, etc.
- other things other than products or other items may be used to generate recommendations for users without interacting with those users (e.g., by interacting with one or more other services or organizations that directly interact with those users), may be used to generate recommendations to be provided to entities other than users (e.g., organizations or other groups), etc.
- FIGS. 2A-2D illustrate examples of dynamically generating and providing product or other item recommendations to users.
- FIGS. 2A-2D illustrate examples of a GUI that may be provided by some embodiments of the MSPR service 105 of FIG. 1 as part of dynamically generating recommendations for users in accordance with various of the described techniques.
- the GUI displays user-selectable information about numerous recommended products or other items available from one or more retailers, and dynamically updates the display with newly generated recommendations for products or other items as the user makes successive selections of particular displayed recommended products or other items, such as during an ongoing interactive recommendation exploration session.
- an example interactive display 200 is illustrated that includes user-selectable information related to multiple recommended products or other items available from an example retailer.
- the display 200 includes a selected item area 205 , which in this example initially displays a user instruction 207 to the user.
- the display 200 also includes multiple item images displayed in a recommended item area 270 (shown surrounded in bold for reference purposes), with each of the item images corresponding to a distinct product or other item recommended for the user by an embodiment of the MSPR service (not shown).
- each of the displayed item images in the recommended item area 270 is selectable by the user, such that the user may select a displayed image of a particular recommended item to indicate an interest in other items that are similar to or otherwise related in various ways to the selected recommended item.
- a user may select one of the item images displayed in the recommended item area 270 by “clicking on” the item image (e.g., using a mouse or other pointing device), or by otherwise interacting with the display 200 in such a manner to indicate a selection of the item image (e.g., using a moveable highlight, voice commands, a touch screen, etc.).
- the multiple item images are presented in a grid-like manner, with each item image being displayed in a particular grid location of the recommended item area 270 , such as by being part of one of multiple illustrated rows 272 a - 272 d and one of multiple illustrated columns 270 a - 270 d, although the row and column indications are not displayed to the user in this example.
- grid locations corresponding to a particular row and a particular column position may be abbreviated in [row]:[column] form in the following discussion—for example, the grid location at row 272 a and column 270 a (corresponding in this example to an image of item 1 ) may be abbreviated using such a form as 272 a : 270 a. While the recommended item area 270 is illustrated as displaying a four-by-four grid of item images in this example, it will be appreciated that other types of displays are possible in other embodiments.
- more or fewer rows or columns may be included in the grid, with at least one embodiment having five rows and nine columns; while in other embodiments, item images may be presented in other manners not limited to grids (e.g., a list).
- other information corresponding to the recommended items may be provided in the recommended item area 270 , such as in addition to or instead of item images, including other visual representations of items (e.g., icons), item names, item descriptions, item prices, etc.
- the various item images, icons, and/or descriptions may be illustrated in a non-uniform manner, such as with at least some more relevant items having higher associated relevance scores being displayed in a larger form than at least some less relevant items, such as to increase the prominence of the more relevant items.
- the item images displayed in the recommended item area 270 are presented in a particular order according to associated relevance scores of the corresponding recommended items (e.g., relevance scores determined for the recommend items based on one or more recommendation strategies used to identify the recommended items), although the particular associated relevance scores are not shown.
- item images corresponding to recommended items with higher scores are displayed more prominently than item images corresponding to recommended items with lower scores by being placed in a higher row (e.g., item images displayed in row 272 a have relevance scores higher than and/or equal to item images displayed in row 272 b, which have relevance scores higher than and/or equal to item images displayed in row 272 c, and so on).
- an item image corresponding to a recommended item with a higher score is displayed more prominently than item images corresponding to recommended items having lower and/or equal relevance scores by being placed in a column farther left (e.g., within a particular row, the item image displayed in column 270 a has a relevance score higher than or equal to the item image displayed in column 270 b, which has a relevance score higher than or equal to the item image displayed in column 270 c, and so on).
- an item image corresponding to a recommended item with a highest determined relevance score is displayed in the grid location 272 a : 270 a, which in this example is currently an item 1 image 252 .
- the item images displayed in recommended item area 270 may be ordered in other manners according to corresponding relevance scores, such as in a series of spirals (e.g., in a manner similar to the arms of a spiral galaxy), with the distance from the center and/or the particular spiral/arm indicating one or more types of information about the items (e.g., with the items closest to the center having the highest associated relevance scores, and with the different spirals/arms optionally corresponding to grouping of items by other attributes); such as in concentric rings of various geometric shapes, with the distance from the center and/or the particular ring indicating one or more types of information about the items (e.g., with the rings closest to the center having the items with the highest associated relevance scores); etc., and more prominent items may be illustrated in manners other than based on display location (e.g., by size of image, use of different fonts, etc.).
- the recommended item area 270 currently includes multiple item images that are each associated with a recommended item determined for the user by the MSPR service, such as by being part of an initial group of recommended products.
- Such an initial group of recommended products may be generated and provided for current display to the user based on the user having initiated access to an interactive recommendation exploration session provided by the MSPR service GUI in various manners, such as by having interacted with a Web site of a retailer providing such functionality, or by otherwise interacting directly with the MSPR service.
- the user may have interacted with a Web site of the retailer in such a way as to obtain an initial group of recommendations related to a particular subgroup of one or more products available from the retailer (e.g., one or more particular products selected by the user on the retailer's Web site; a group of recommended products of a particular type and/or category that the user selects to browse; one or more products that are the result of a search by the user; etc), while in other embodiments, the user may have interacted with the Web site of the retailer to obtain an initial group of recommendations that are not limited to a particular subgroup (e.g., such as to obtain recommendations for products that are generally available from the retailer, such as the top sellers of the retailer).
- a particular subgroup of one or more products available from the retailer e.g., one or more particular products selected by the user on the retailer's Web site; a group of recommended products of a particular type and/or category that the user selects to browse; one or more products that are the result of a search by the user; etc
- One or more of various recommendation strategies may be used in various embodiments to identify or otherwise determine an initial group of product recommendations from products available from the retailer, whether applied to a particular subgroup of one or more products or more generally to all products available from the retailer, with at least some of the identified recommended items of the initial group being provided for display to the user.
- At least some of the various recommendation strategies that may be used are described in more detail below, and the one or more recommendation strategies used to determine the initial group may be selected for such use in various ways, such as by using one or more pre-selected or configured recommendation strategies in a particular situation and/or by dynamically determining one or more strategies to use in a particular situation.
- one or more initial recommendation strategies may be chosen for recommending products for a particular user based on various preferences of the particular user (e.g., such as preferences to use one or more recommendation strategies) and/or other information associated with the user.
- the initial group of product recommendations may be generated by the MSPR service using various recommendation strategies to identify products that may be of potential interest to the user, some of which may be based on previous interactions of multiple users with various of the products available from the retailer.
- Such recommendation strategies may include identifying products that are determined to be popular based on the interactions of multiple customers of the retailer (or other users), such as to identify products that are frequently purchased by (e.g., top selling items), frequently viewed by, frequently searched for by, highly rated by, etc., the multiple customers.
- recommendation strategies that identify popular items may be constrained to one or more time periods, such as to identify items that are recently popular, historically popular, popular at various times of the year, etc.
- the MSPR service may also assign a relevance score to each of the identified items for use in various ways, such as for determining which items to provide for display to the user (e.g., the MSPR service may provide items with the highest relevance scores for display to the user), for displaying items to the user in various manners according to the relevance scores, for aggregating results of multiple recommendation strategies, etc.
- the corresponding relevance score of each recommended item may be based at least in part on a level of popularity the items are determined to have (e.g., for top selling items, the relevance score may be based on a number of units of each item that have been recently sold to customers, such that items with the highest numbers of units sold have the highest relevance scores; for top viewed items, the relevance score may be based on a number of distinct users who viewed information related to the item; etc.).
- the relevance scores may also or instead be based at least in part on a determined conditional probability that the recommended product will likely be purchased by the user if displayed in the current context of display 200 , etc.
- the corresponding relevance scores produced by each distinct recommendation strategy may be normalized for comparison to and/or combination with relevance scores produced by other distinct recommendation strategies.
- the user may have initiated access to functionality of the MSPR service by selecting to browse recommended items in a particular product category (e.g., products available in a particular department of the retailer), with the initial group of product recommendations provided for display in the recommended item area 270 being determined using a recommendation strategy that identifies recent top selling products within that particular product category.
- images associated with item 1 through item 16 correspond to recommended products determined by the MSPR service using an initial recommendation strategy (e.g., the top selling items with the category).
- a corresponding relevance score has been determined for each of the recommended products in the initial group, such that item images corresponding to the recommended products may be appropriately displayed according to such relevance scores in the recommended item area 270 , with a recommended product corresponding to the item 1 image 252 (currently displayed in grid position 272 a : 270 a ) having a highest relevance score, with a recommended product corresponding to the item 2 image at grid position 272 a : 270 b having the next highest relevance score (or a relevance score equal to that of item 1 ), and so on.
- the user may have initiated access to functionality of the MSPR service in various other ways, one or more other or additional recommendation strategies may be used, and/or relevance scores may be determined in one or more other manners.
- the user interacts with the display 200 to select item 6 image 253 at grid position 272 b : 270 b, such as to indicate an interest in item 6 and/or in items related to item 6 , with the results of the selection being illustrated in FIG. 2B .
- the modified display 200 of FIG. 2B multiple item images corresponding to a new second group of products recommended for the user are currently being displayed in the recommended item area 270 , with the second group of recommended products having been generated by the MSPR service in response to the user selection of item 6 .
- Information related to the selected item 6 is now displayed in the selected item area 205 , such as to indicate that item 6 is a currently selected product of the user.
- the information related to the selected item 6 includes item 6 image 210 and various product information 212 (e.g., product name, description, price), as well as user-selectable control 214 that may be selected by the user to view additional information related to the item 6 (and optionally to initiate a purchase of the item 6 ), and user-selectable control 216 that may be selected by the user to de-select or otherwise remove the item 6 from being a currently selected item (e.g., if the recommended items of the second group, which are based in part on item 6 being a currently selected item, are determined by the user to be less relevant than the recommended items of the first group or otherwise to not be of sufficient interest to the user).
- other information and user-selectable controls related to the currently selected item may be shown in the selected item area 205 , such as to also have user-selectable controls via which the user may initiate a purchase of the currently selected item, rate or otherwise provide feedback regarding the currently selected item, etc.
- the new group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items within a particular category) with results of one or more recommendation strategies that identify products that are similar to or otherwise related to the currently selected product item 6 .
- various recommendation strategies may be used to identify products that are similar to and/or otherwise related to the currently selected product, some of which may be based on prior interactions of multiple users with the various products of the retailer.
- such recommendation strategies may include identifying products that have frequently been viewed by users who also viewed the currently selected product; identifying products that have frequently been purchased by users who also viewed the currently selected product; identifying products that have frequently been purchased by users who also purchased the currently selected product; etc.
- the MSPR service may assign a relevance score to each of the identified products.
- the corresponding relevance score of each recommended item may be based at least in part on a determination of how similar or otherwise related the products are (e.g., items that have been viewed or purchased more frequently by users who also viewed or purchased the currently selected item may be assigned higher relevance scores than items that have been viewed or purchased less frequently by such users; items that are more likely to be viewed or purchased by users who also viewed or purchased the currently selected item may be assigned higher relevance scores than items that are less likely to be viewed or purchased by such users; etc.).
- the corresponding relevance scores may be normalized for comparison to and/or combination with relevance scores produced by other recommendation strategies in various manners.
- the results of multiple recommendation strategies may be aggregated in various ways. For example, in some embodiments, the results of each of the distinct recommendation strategies may be merged, such that the products having the highest corresponding relevance scores determined by each distinct recommendation strategy are selected to be included in the new group of recommended products provided for display to the user (e.g., such as if the relevance scores are normalized or otherwise comparable to determine which are the more or less relevant).
- the results of the recommendation strategies include commonly identified products (e.g., products that were identified by each of the recommendation strategies)
- the associated relevance scores of a commonly identified product produced by each distinct recommendation strategy may be combined (e.g., added together) to produce a new relevance score for that product (such as a new relevance score for that product that is higher than the individual relevance scores determined for that product by each strategy), with the new relevance score being used to determine which products to provide in the new group of recommended products.
- the relevance scores produced by a previously used recommendation strategy may be reduced, such as by multiplying the relevance scores produced by the previously used recommendation strategy by a weighing factor that is less than 1 (“one”), such that the reduced relevance scores have less influence when being aggregated with the results of a more recently used recommendation strategy.
- a weighing factor that is less than 1 (“one”)
- 2B may be generated based on aggregating results of a new recommendation strategy that identifies products that are related to the currently selected product (item 6 ) with the results of the initial recommendation strategy used to identify the initial group of recommended products (e.g., recent top sellers), with the previous results of the initial recommendation strategy being reduced as part of the aggregation (e.g., by using a weighting factor).
- a new group of multiple item images are currently provided in the recommended item area 270 , with each item image corresponding to products recommended for the user by the MSPR service.
- a number of new item images are displayed in the recommended item area 270 (e.g., item images corresponding to items 100 - 110 ), with each new item image corresponding to a recommended item that was newly identified by the aggregated recommendation strategies, or otherwise determined by the aggregated recommendation strategies to have a sufficiently high relevance score to be included in the second displayed recommendation group.
- FIG. 2A as the most relevant item prior to the selection of item 6 is now displayed in FIG. 2B in a position of less relevance at grid position 272 c : 270 d, while previously displayed item 11 image 250 is now displayed most prominently in the grid position 272 a : 270 a.
- the user interacts with the display 200 to select item 109 image 254 at grid position 272 d : 270 c, such as to indicate an interest in item 109 and/or in items related to item 109 , with the results of the selection being illustrated in FIG. 2C .
- the modified display 200 of FIG. 2C multiple item images corresponding to a new third group of products recommended for the user are currently being displayed in recommended item area 270 , with the third group of recommended products having been generated by the MSPR service in response to the user selection of item 109 .
- Information related to the selected item 109 is now displayed in the selected item area 205 , such as to indicate that item 109 is a currently selected product of the user, such as along with item 6 .
- the information related to the selected item 109 includes item 109 image 220 , and various product information 222 , as well as user-selectable control 224 to obtain additional information related to item 109 , and user-selectable control 226 to de-select or otherwise remove the item 109 from being a currently selected item.
- Information related to the item 6 is now being displayed in a new location in the selected item area 205 , such as item 6 image 230 , and user-selectable control 232 to de-select or otherwise remove the item 6 from being a currently selected item.
- control 214 and information 212 for item 6 do not have counterpart controls and information displayed for item 6 in FIG. 2C , although in other embodiments such controls and information may continue to be displayed.
- the new third group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items within a particular category), results of the previously used recommendation strategy to identify products that are similar to or otherwise related to the selected item 6 , and results of a recommendation strategy that identifies products similar to or otherwise related to the selected item 109 (whether the same recommendation strategy as used for item 6 , or a different recommendation strategy).
- the relevance scores associated with aggregated results of the prior two recommendation strategies may be reduced (such that relevance scores initially associated with items of the first group may have been reduced twice), and then combined with results of the recommendation strategy used to identify products similar to or otherwise related to the selected item 109 , such as in a manner similar to that described above.
- the recommended products of the third recommendation group are in this example based on a combination of the group of multiple currently selected items displayed in the selected item area 205 .
- the current item selection and corresponding determination of recommended items may be performed in other manners, such as to allow only a single currently selected item (e.g., to discard recommended items from the second group related to item 6 after item 109 is selected), to determine recommendations for a group of multiple currently selected items in other manners (e.g., to generate a completely new third group of recommended items that does not explicitly incorporate any of the recommended items of the second group, but that may be generated based on a combination of the multiple currently selected items of the current group; to not reduce the weights of items recommended based on an earlier selected item of the current group; etc.), etc.
- the multiple item images currently provided in the recommended item area 270 of FIG. 2C each correspond to a recommended product from the new third group of products recommended for the user by the MSPR service, with the item images being displayed in accordance with the relevance scores determined for the third group.
- a number of new item images are displayed in the recommended item area 270 (e.g., item images corresponding to items 200 - 209 ) along with a number of previously displayed item images (e.g., images for items 11 , 110 , 100 , 2 , 101 and 8 ).
- Several of the previously displayed item images are now being displayed in FIG.
- item 11 image 250 is still displayed in the most prominent grid position 272 a : 270 a, such as based on the corresponding item 11 still having a highest corresponding relevance score, but previously displayed item 1 image (e.g., item 1 image 252 of FIGS. 2A and 2B ) is no longer included in the recommended item area 270 .
- FIG. 2D continues the example of FIG. 2C , and in particular illustrates a modified display 200 after the user has de-selected item 6 from the selected item area 205 (such as by interacting with the user control 232 in FIG. 2C ).
- the selected item area 205 in FIG. 2D no longer includes information related to item 6 , although information related to item 109 is still present (e.g., item 109 image 220 ).
- the de-selection of item 6 has initiated the determination of a new fourth group of recommended items for the user by the MSPR service.
- the new fourth group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items in a category) and the results of the recommendation strategy used to identify products that are similar to or otherwise related to the selected item 109 , but without including the previously used recommendation strategy used to identify items that are similar to or otherwise related to item 6 .
- the MSPR service may reduce the relevance scores of items that are determined to be similar to the de-selected item, such as to lessen the influence of any such items that may be identified by the remaining recommendation strategies.
- each of the multiple item images currently displayed in the recommended item area 270 corresponds to a recommended product from the resulting new fourth group of products recommended for the user by the MSPR service, with the item images being displayed in accordance with relevance scores of the corresponding recommended products for the fourth group.
- recommended product item 200 has now been determined to have a highest relevance score, and as such, the corresponding item 200 image 256 is now displayed in the position of highest prominence in area 270 (in grid position 272 a : 270 a ).
- various other functionality may be provided by an embodiment of the MSPR service, such as for display in a GUI of the MSPR service.
- a user may interact with various information corresponding to a displayed recommended product to provide feedback with respect to that product, such as to provide positive and/or negative ratings with respect to the displayed recommended product (e.g., a numerical rating, a star rating, a thumbs-up/down rating, etc.), with such feedback being used in various ways in various embodiments, such as to reduce (if a negative rating) and/or increase (if a positive rating) the relevance scores for products that are determined to be similar to or otherwise related to the rated displayed recommended product.
- positive and/or negative ratings e.g., a numerical rating, a star rating, a thumbs-up/down rating, etc.
- the users may interact with the displayed images in various other ways to obtain and/or view information related to recommended products, such as by “hovering” over a displayed image of a recommended product (e.g., with a mouse pointer) to cause information related to a recommended product associated with the displayed image to be provided to the user (e.g., price, description, sales information, availability, etc.).
- information related to a recommended product associated with the displayed image e.g., price, description, sales information, availability, etc.
- functionality may be provided that allows the user to interact with the GUI to initiate a purchase of a displayed recommended item.
- information may be displayed or otherwise provided to users to indicate why a particular item is being recommended (e.g., this particular item is highly relevant for being viewed by users who also viewed currently selected item 109 , and is moderately relevant for being a top seller for an initially selected category of items).
- a user may continue to interact with the display 200 in the manner previously discussed with respect to FIGS. 2A-2D , such as to participate in much longer series of selections of recommended items, and to have much more than 2 currently selected items of interest.
- multiple users e.g., of a group
- multiple currently selected items may be related in manners other than being consecutively selected by a user as alternatives based on successive similarity to each other, and corresponding recommended items (e.g., items displayed in the recommended item area 270 ) for the multiple currently selected items may be determined by an embodiment of the MSPR service in various manners.
- the multiple selected items may be selected as a collection of items related to each other by being complementary or otherwise designated as possibly belonging together (e.g., an outfit that includes pants, a shirt, and shoes that are intended to be worn together), whether based on a manual designation by one or more users or an automated designation by the MSPR service or other automated system.
- a user interacting with a GUI similar to that displayed in FIGS. 2A-2D may individually select each of the items as part of specifying a collection of multiple items of interest to possibly purchase together, or in other embodiments the user may be provided with and select one of multiple recommended collections that each includes a distinct combination of multiple related items (e.g., distinct combinations of a shirt, pants, and shoes).
- the recommended items for a current collection of multiple selected items may be determined in various manners, such as to include other items that may be complementary to the current collection of items (e.g., one or more belts and/or socks that are complementary to a current collection of a particular shirt, pants and shoes), and/or to include recommended items that are similar to or otherwise related to one or more of the selected items of the current collection.
- the recommended items may include other pants related to the currently selected pants of the current collection (or other related items, such as skirts related to women's pants of the current collection), other shirts related to the currently selected shirt of the current collection, and/or other shoes related to the currently selected shoes of the current collection.
- the recommended items may include, for example, other pants that are related to multiple or all of the currently selected pants, shirt and shoes of the current collection, and/or other types of items (e.g., other shirts, other shoes, etc.) that are related to multiple or all of the currently selected pants, shirt and shoes of the current collection.
- items that are related to other items may be determined in various manners in various embodiments, such as by being similar to each other (e.g., with respect to one or more item attributes); by users previously interacting with the related items in similar manners (e.g., based on doing one or more of viewing, purchasing, searching for, browsing for, etc. for each of the related items), possibly at similar times (e.g., during a single interaction session); by being designated by one or more users as being related; etc.
- the various types of determined recommended items may be displayed in various manners and at various times, such as simultaneously in an interspersed manner (e.g., based on associated relevance scores with respect to all of the currently selected items of the collection, such as to first show a particular shirt that has the highest aggregate relevance score with respect to the selected pants, shirt and shoes of the current collection, to next show particular shoes that have the second highest aggregate relevance score with respect to the selected pants, shirt and shoes of the current collection, etc.), may be displayed simultaneously but separately (e.g., with a first row of a grid showing recommended pants, a second row of the grid showing recommended shirts, etc.), may be displayed at different times (e.g., if the pants of the current collection is designated by the user, having the grid include recommended items corresponding to those pants, and having the grid change to show recommended items corresponding to the shirt of the current collection after the user designates that shirt rather than those pants), etc.
- an interspersed manner e.g., based on associated relevance scores with respect to all of the currently selected items of
- the MSPR service may take various types of actions. For example, if the user selects a new complementary type of item (e.g., a belt), the new item may be added to the current collection of multiple selected items, such that the new current collection includes the selected pants, shirt, shoes and belt. Alternatively, if the user selects a new recommended item that is related to one of the currently selected items of the current collection (e.g., a new pair of pants or skirt that is recommended based on being related to the currently selected pants of the current collection), the new selected item may instead replace the previously selected item to which it relates in a modified version of the collection.
- a new complementary type of item e.g., a belt
- the new item may be added to the current collection of multiple selected items, such that the new current collection includes the selected pants, shirt, shoes and belt.
- a new recommended item that is related to one of the currently selected items of the current collection (e.g., a new pair of pants or skirt that is recommended based on being related to the currently selected pants
- a new group of recommended items is determined to reflect the new current collection of multiple items. For example, if new recommended pants are selected for the collection, the new group of recommended items may, for example, replace previously recommended pants and other related items (e.g., skirts) with new recommended pants and/or other items that are similar to or otherwise related to the newly selected pants, but without modifying previously recommended items of other types (e.g., shirts and shoes).
- previously recommended pants and other related items e.g., skirts
- the new group of recommended items after the selection of the new pants may instead be determined based on all of the items of the current collection.
- Such determination of the new group of recommended items may include, for example, the following: removing the items and relevance scores that were previously determined based on the previously selected pants that are no longer part of the new current collection; retaining the other items that were previously recommended based on the previously selected items of the collection (e.g., the currently selected shirt and shoes), optionally without reducing any corresponding relevance scores; determining additional recommended items based on the newly selected pants of the new current collection, along with corresponding relevance scores; and combining the retained items and retained relevance scores with the new additional recommended items and new relevance scores in a manner similar to that discussed elsewhere. It will be appreciated that collections of multiple items may be selected and that recommended items for a current collection of multiple selected items may be determined and displayed in other manners in other embodiments.
- FIG. 3 is a block diagram illustrating an example embodiment of a multi-strategy product recommendation system for performing techniques to dynamically generate product recommendations or other item recommendations for users.
- FIG. 3 illustrates a server computing system 300 suitable for executing an embodiment of a Multi-Strategy Product Recommendation (“MSPR”) system 340 , as well as various user computing systems 350 , other optional computing systems 360 that optionally provide other services with which the MSPR system interacts, and other optional computing systems 380 .
- the server computing system 300 has components that include a CPU 305 , various I/O components 310 , storage 320 , and memory 330 .
- the illustrated I/O components include a display 311 , a network connection 312 , a computer-readable media drive 313 , and other I/O devices 315 (e.g., a keyboard, a mouse, speakers, etc.).
- the illustrated user computing systems 350 have components similar to those of server computing system 300 , including a CPU 351 , I/O components 352 (although particular components are not illustrated), storage 354 , and memory 357 .
- the other computing systems 360 and 380 may also each include similar components to some or all of the components illustrated with respect to computing system 300 , but such components are not illustrated in this example for the sake of brevity.
- An embodiment of the MSPR system 340 is executing in memory 330 , such as under control of configured CPU 305 , and it may interact with computing systems 350 , 360 and 380 over the network 390 (e.g., via the Internet and/or the World Wide Web, via a private cellular network, etc.).
- the MSPR system 340 includes functionality related to providing recommendations regarding products or other items to various users (not shown) who are interacting with user computing systems 350 , such as in conjunction with an MSPR service provided or otherwise managed by the MSPR system 340 .
- the information from the MSPR system may in some embodiments and situations be provided directly to the user computing systems 350 , while in other embodiments the information may be provided indirectly by the MSPR system via one or more other services (e.g., optional other services 335 , optional other services 365 , etc.) that interact directly with the users, such as if the other services are online retailers or other types of services and the users are customers of the services.
- other services e.g., optional other services 335 , optional other services 365 , etc.
- the other computing systems 350 , 360 and 380 may have various forms, and may be executing various software as part of interactions with the MSPR system.
- user computing systems 350 may include various types of client devices (e.g., a desktop computing system, a portable computing system, a smartphone or other cell phone or other mobile device that includes appropriate communication and computing capabilities, etc.), and in the illustrated embodiment are shown executing a Web browser 358 or other software (e.g., a module of the MSPR system that is designed to execute on a client device) in memory 357 to interact with MSPR system 340 .
- client devices e.g., a desktop computing system, a portable computing system, a smartphone or other cell phone or other mobile device that includes appropriate communication and computing capabilities, etc.
- Web browser 358 or other software e.g., a module of the MSPR system that is designed to execute on a client device
- the Web browser 358 or other software on a user computing system 350 may, for example, interact with a User Interaction (“UI”) Manager module 342 of the MSPR system to obtain information about recommended items in various ways, and may display or otherwise present (e.g., via a GUI of the MSPR system that is displayed to the user via one or more Web pages or other UI screens on the user computing system 350 ) some or all of that obtained information to enable the user to interact with or otherwise use that information in various manners (e.g., to obtain additional information about other recommended items that are progressively more relevant for the user based on prior selections of the user of other less relevant items, to initiate purchases or other acquisitions of particular items that are determined by the user to be of interest, etc.).
- UI User Interaction
- one or more users of the user computing systems 350 may interact with MSPR system 340 to perform various other types of actions, as discussed in greater detail elsewhere.
- the MSPR system 340 may in some embodiments be integrated with or otherwise associated with one or more other services (e.g., online retailers or other retailers, item review services, databases or other services that provide information about items and/or about user interactions with items, etc.), and if so may interact with those other services in various manners. If so, one or more such other services may, for example, execute on computing system 300 as other services 335 in memory 330 , and/or as one or more other services 365 that each execute on one or more of the other remote service computing systems 360 .
- other services e.g., online retailers or other retailers, item review services, databases or other services that provide information about items and/or about user interactions with items, etc.
- the interactions with the other services may include, for example, some or all of the following non-exclusive list: obtaining information about products and other items available from those services or otherwise about which the service has access to information, such as optional product information 367 on other service computing system 360 ; obtaining information about various types of prior interactions of customers and other users with the other services or otherwise about which the other services have access to information (e.g., to view information about items; to purchase items; to provide other types of feedback about particular items or relationships between items, such as that a particular item is regarded in a particular positive or negative manner, or that two or more items are similar to each other or are otherwise related in one or more manners; etc.), such as optional user interaction information 369 on other service computing system 360 ; etc.
- the MSPR system may obtain such information in various manners, such as by the MSPR system pulling such information from one or more other services periodically and/or on demand, by one or more other services pushing such information to the MSPR system periodically and/or as otherwise triggered (e.g., as soon as the information is available, such as to maintain a live feed so that the MSPR system has access to the most up-to-date available information), etc.
- the MSPR system may then store such information for later use (e.g., in databases 322 and/or 324 on storage 320 , or on one or more remote other computing systems 380 ), or in other embodiments may instead retrieve the information as needed and not maintain a local copy of the information.
- Various other information related to the operation of the MSPR system 340 may also be stored in storage 320 or elsewhere (e.g., information about users of the MSPR system, such as preference information; information about current interactions of users with the MSPR system, such as one or more related items that have been currently selected by the user as part of an ongoing interactive recommendation exploration session; etc.), but is not illustrated in this example.
- the Recommendation Manager module 344 of the system 340 may dynamically determine recommendations for the user based on available information, such as the product information 322 , user interaction information 324 , any indications by the user of a subset of one or more items of initial interest (e.g., a product category, a particular item, one or some or all of the search results for a search performed by the user, etc.), any current selections by the user of one or more previously recommended items during an ongoing interactive recommendation exploration session, etc.
- the module 344 may use various recommendation strategies in various manners, and may further determine relevance information for some or all of the recommended items with respect to the user or to any user (e.g., weighting information or other indications of relevance levels for some or all of the recommended items, such as absolute relevance scores, relative indications of higher or lower relevance with respect to other recommended items, etc.), as discussed in greater detail elsewhere.
- the Recommendation Manager module 344 may instead retrieve stored recommendation information that was previously determined, such as previously determined by the module 344 in a manner specific to the user or instead for all users (e.g., recommended items for a particular product category, recommended items for a particular selected item, etc.), and may use that stored information as is or may modify it to reflect a current user or other current situation.
- the Recommendation Manager module 344 may then use the determined recommendation information in various ways, such as by sending the information to another service that requested it for use by that other service, sending the information to a particular client device of the user to initiate a dynamic modification of other information previously displayed on the client device to the user as part of an ongoing interactive recommendation exploration session (e.g., to modify a displayed Web page without the client device doing a reload of the page, such as based on a previously sent and currently displayed version of the Web page that is based on Ajax technology or that otherwise includes executable client-side instructions that initiate or otherwise perform the modification), providing the information to the UI Manager module 342 for use by the module 342 (e.g., if the module 344 dynamically determined the information in response to a request from the module 342 ), etc.
- a particular client device of the user to initiate a dynamic modification of other information previously displayed on the client device to the user as part of an ongoing interactive recommendation exploration session (e.g., to modify a displayed Web page without the client device
- the UI Manager module 342 may then incorporate some or all of the recommendation information into a form to be provided to a user for display or other presentation, such as in one or more Web pages to be displayed on a client device of the user. Furthermore, if the Recommendation Manager module 344 determines weighting information or other relevance level indications for some or all of the recommended items, the Recommendation Manager module 344 and/or UI Manager module 342 may sort the recommended items based at least in part on those relevance indications, such that the recommended items with the highest associated relevance indications may be displayed first or otherwise more prominently than other recommended items with lower associated relevance indications.
- the UI Manager module 342 may further in some such embodiments incorporate newly included item recommendations together with some or all of the previous item recommendations, such that a Web page or other information provided by the UI Manager module includes both new and previous recommended items.
- the new and previous recommended items have associated relevance scores
- those relevance scores may be used to combine the new and previous recommended items as part of the new display in various manners, including by reducing the relevance scores previously associated with the previous recommended items (e.g., by a fixed amount, by a fixed percentage, etc.), and then sorting or otherwise managing the combination of the new and previous recommended items by their associated relevance scores as discussed elsewhere.
- the UI Manager module 342 may then provide the information for presentation to the user, such as by sending one or more Web pages to a client device of the user.
- the UI Manager module 342 may instead interact with one or more other services, such as if the information from the UI Manager module 342 is to be incorporated as part of a Web page or other UI screen provided by the other service (e.g., within a particular pane of a larger page or screen).
- the MSPR system may further have other modules or associated functionality in other embodiments, such as to generate some or all of the user interaction information 324 (e.g., based on monitoring users' interactions with retailers or other services; based on retrieving and processing information from retailers or other services related to such interactions, such as to identify data to be used with particular recommendation strategies and/or to identify particular recommendation strategies based on automatically learned types of relationships between items; based on users' interactions with the MSPR system to select particular items or otherwise provide feedback specific to particular items and/or to relationships between particular items, such as based on series of selections of recommended items or in other manners; etc.), to generate some or all of the product information 324 , etc. Additional details related to various operations of embodiments of the MSPR system and an associated MSPR service are included elsewhere.
- computing systems 300 , 350 , 360 and 380 are merely illustrative and are not intended to limit the scope of the present invention.
- the computing systems/devices may instead each include multiple interacting computing systems or devices, and the computing systems/devices may be connected to other devices that are not illustrated, including through one or more networks such as the Internet, via the Web, or via private networks (e.g., mobile communication networks, etc.).
- a computing device or other computing system may comprise any combination of hardware or software that may interact and perform the described types of functionality, including without limitation, desktop or other computers, database servers, network storage devices and other network devices, PDAs, cellphones, wireless phones, pagers, electronic organizers, Internet appliances, television-based systems (e.g., using set-top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate communication capabilities.
- the functionality provided by the illustrated MSPR system 340 may in some embodiments be distributed in additional modules. Similarly, in some embodiments some of the functionality of the MSPR system 340 may not be provided and/or other additional functionality may be available.
- some or all of the systems and/or modules may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc.
- ASICs application-specific integrated circuits
- controllers e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers
- FPGAs field-programmable gate arrays
- CPLDs complex programmable logic devices
- Some or all of the modules, systems and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a network, or a portable media article to be read by an appropriate drive or via an appropriate connection.
- the systems, modules and data structures may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
- Such computer program products may also take other forms in other embodiments. Accordingly, the present invention may be practiced with other computer system configurations.
- FIG. 4 is a flow diagram of an example embodiment of a User Interface Manager routine 400 .
- the routine may, for example, be provided by execution of an embodiment of the User Interface Manager module 342 of FIG. 3 and/or otherwise as part of the MSPR service 105 of FIG. 1 , such as to facilitate providing a GUI for display on a client device of a user that includes selectable information about recommended items available from one or more retailers, and facilitate updating the displayed GUI with newly generated recommended items as the user interacts with the displayed items.
- portions of the routine may be executed by code executing in memory 357 on one or more of the user computer systems 350 of FIG. 3 , with partial results being stored in the memory 357 and/or storage 354 .
- the illustrated embodiment of the routine begins in block 405 , where the routine provides one or more Web pages for display on a client device of the user, with the Web page(s) enabling the user to select a subset of one or more of multiple items that are available from one or more retailers.
- the provided GUI may use UI screens other than via Web pages, or the routine may otherwise interact with users.
- the routine receives an indication of a user selection or other interaction performed via the provided Web page(s).
- the user selection or other interaction may instead be obtained in other manners, such as by having information about one or more items (e.g., a particular item, an item category, etc.) encoded in a URL that is selected by the user from a Web page that is not provided by the routine 400 , or having such information otherwise provided by the user.
- the routine then continues to block 410 to determine whether an indication of an initial selection of a subset of one or more of the multiple items has been received. As discussed elsewhere, such an initial selection may be based on, for example, an indication to browse a subset of the multiple items (e.g., by category, department), to search for an item (e.g., by name, type, description), to select a particular item, etc.
- the routine proceeds to block 415 to obtain an initial group of recommended items from the multiple items available from the one or more retailers, based at least in part on the initial selection of the subset, such as by interacting with an embodiment of the Recommendation Manager routine 500 of FIGS. 5A-5B (described below) to request such an initial group along with information of the initial selection of the subset and to obtain the initial group of recommended items in response to the request.
- the routine then optionally retrieves product information associated with the initial obtained group of recommended items, such as product information that may be provided for display to the user.
- product information may include images and/or various details related to the items (e.g., name, price, description, availability, etc).
- the product information may be retrieved in various ways from various sources, such as directly from a retailer that provides the products (e.g., from a Web site of a retailer, from an accessible database of product information provided by a retailer of the product, etc.), from a local storage or database of such information, etc.
- such product information may be included in the obtained group of recommended items, or may be obtained from other sources.
- the routine then generates a Web page for displaying the initial group of recommended items to the user, optionally along with some or all of the retrieved product information.
- the Web page is generated to include instructions that, when executed on a client device of the user, enable the user's device to retrieve and display a new group of recommended items to the user in the displayed Web page without causing the Web page to be completely reloaded, such as in response to one or more user selections of recommended items.
- the Web page may also be generated so as to display the recommended items in accordance with relevance levels associated with the items, such as to display recommended items that have higher relevance levels more prominently than recommended items that have lower relevance levels.
- the Web page may also in some embodiments include functionality to enable a client to interactively initiate a purchase of a recommended item, to obtain additional information or details related to a recommended item, to indicate feedback regarding a recommended item, etc.
- the generated Web page is then transmitted or otherwise provided to the user's device for display to the user.
- the routine may instead transmit information related to the initial group of recommended items for display to the user (e.g., such as in another Web page and/or GUI executing on the user's device, or otherwise as discussed below with respect to block 450 ).
- the routine continues to block 435 to determine whether an indication of a selection of a previously displayed recommended item is received. For example, such an indication may be received based upon execution of an instruction previously provided with a Web page generated in block 425 that was initiated by the user selecting the recommended item from the displayed Web page. If such an indication of an item selection is received, the routine continues to block 440 to obtain a new group of recommended items from the multiple items available from the one or more retailers, based at least in part on the selection of the recommended item, such as by interacting with an embodiment of the Recommendation Manager routine 500 of FIGS. 5A-5B (described below).
- the routine 400 may request such a new group of recommended items, with the request including information indicative of the selection, and obtain the new group of recommended items in response to the request.
- the routine then optionally retrieves product information associated with the new group of recommended items, such as in a manner similar to that of block 420 .
- the routine then transmits information about the new group of recommended items for display on the user's device, such as to update the display of a previously provided Web page on the user's device.
- a new Web page or other UI screen may instead be generated and sent to the user's client device for display, such as in a manner similar to that of blocks 425 and 430 .
- such other actions may include, for example, determining and providing to the user a new group of recommended items based on aggregate behavior of some or all customers of one or more retailers (e.g., top selling products, hot products, etc.), determining and providing to the user a new group of recommended items based on a received indication of another type of user interaction (e.g., an item rejection, an item de-selection, a user-provided rating or other feedback, etc.); determining and providing to the user additional information regarding a previously displayed recommended item (e.g., product details), such as based on a received indication of a user request for such additional information; initiating or otherwise facilitating a purchase of a recommended item, such as based on a received instruction from the user; etc.
- a previously displayed recommended item e.g., product details
- the routine continues to block 465 to optionally store information about the user selection or other interaction received in block 407 .
- information may be stored and included as part of information that reflects prior interactions of multiple users with multiple items, such as for later use in one or more product recommendation strategies.
- information may also or instead be stored in association with the user who performed the interactions, such as for use in providing item recommendations to the particular user in future sessions based at least in part on the user's personal previous interactions (e.g., using such personal previous interactions to determine preferences of the user).
- routine continues to block 498 to determine whether the routine is to continue, such as until an explicit indication to terminate is received. If the routine determines to continue, the routine returns to block 407 to await the next indication of user selection, and otherwise the routine ends in block 499 .
- the user may successively select displayed product recommendations or otherwise interact with information about displayed product recommendations, such as part of an ongoing interactive recommendation exploration session in which the user may make a series of multiple current product recommendation selections that each further refine the relevance of the next group of recommended items for the user.
- FIGS. 5A-5B are a flow diagram of an example embodiment of a Recommendation Manager routine 500 .
- the routine may, for example, be provided by execution of the Recommendation Manager module 344 of FIG. 3 and/or otherwise as part of the MSPR service 105 of FIG. 1 , such as to determine and provide item recommendations based on multiple recommendation strategies and various current information.
- portions of the routine may be executed by code executing in memory 357 on one or more of the user computer systems 350 of FIG. 3 , with partial results being stored in the memory 357 and/or storage 354 .
- the routine determines an initial group of recommended items in a first manner, and determines subsequent groups of recommended items in a second manner, but in other embodiments may operate in other manners.
- the routine may instead determine initial and subsequent groups of recommended items in a single manner, such as to determine a new group of recommended items for each received indication of one or more selected items.
- the illustrated embodiment of the routine begins in block 505 , where the routine retrieves information reflecting previous interactions of multiple users with multiple items available from one or more retailers.
- the routine then analyzes the retrieved information to determine data for use in one or more of multiple recommendation strategies, such as to identify popular items and/or various relationships between items and/or various relationships between users and their patterns of interactions with items, etc.
- data may be stored in a database or other storage medium for later use in various recommendation strategies, and/or the routine in block 510 may instead retrieve such previously generated and stored information rather than perform a current analysis.
- the routine then receives information and/or a request.
- requests may include information related to user interactions (e.g., an indication of a user selection of one or more items, such as previously recommended items or other items) and/or other information that may be used as part of determining items from multiple available items of one or more retailers to recommend to a user.
- the routine determines whether a request for a determined group of item recommendations has been received, and if so continues to block 530 to determine whether the request is for an initial group of recommended items, such as based on information received with the request indicating an initial selection of a subset of one or more items of the multiple items. If so, the routine continues to block 535 to determine an initial recommendation strategy to use for determining the initial group of recommended items from the multiple items available from the one. or more retailers.
- the initial recommendation strategy may be predetermined (e.g., based at least in part on the initial subset of one or more items), such as to use a strategy that recommends items that are currently popular (e.g., the top 100 items purchased within the past month), or may instead be dynamically determined, such as based on which of multiple possible strategies currently provides the most results, etc.
- one or more recommendation strategies may be more or less appropriate (or not appropriate at all) depending on the initial selection of the subset of one or more items, and in such embodiments, the initial recommendation strategy may be selected for use based on such considerations of appropriateness.
- the initial recommendation strategy may include multiple recommendation strategies for use in determining an initial group of recommended items, such as is discussed with respect to blocks 565 - 575 .
- the routine continues to block 540 to determine an initial group of recommended items based on the determined initial recommendation strategy and the initial selection of the subset of the one or more items, as well as the analyzed information reflecting the previous interactions of multiple users with multiple items.
- various other types of information and/or indications may be used to determine the initial group of recommended items, including user preferences.
- the routine then optionally determines relevance levels for the recommended items in the determined group, although in other embodiments, such relevance levels may be determined as part of determining the group of recommended items in block 540 (e.g., some recommendation strategies may inherently include rankings or weightings which may be used as relevance levels), or instead may not be used.
- the routine then provides information about the determined group of recommended items to the requestor.
- the routine determines, for each of at least some of the determined multiple recommendation strategies, a group of recommended items from the multiple items available from the one or more retailers, using the initial selection of the subset of one or more items, the current selected recommended item and optionally other recommended items selected as part of a current ongoing interaction session, and the analyzed information that reflects previous interactions of multiple users.
- the various recommended items in the group for that strategy may be given a corresponding relevance level, such as a ranking, weighting, or other score.
- a new group of recommended items is determined by aggregating recommended items of the groups determined in block 570 , and optionally the recommended items of one or more previously determined groups as well.
- the previously determined groups may include, for example, an initial group determined in block 540 and/or other groups previously determined in block 575 .
- the results of multiple recommendation strategies may be combined in various ways in various embodiments to form a new group of recommended items, such as to include all of the items from the various groups determined in block 570 , to include a subset of the items from the various groups determined in block 570 , etc.
- the routine then continues to block 545 , and optionally determines relevance levels for each of the recommended items in the determined group (e.g., by aggregating relevance levels determined for particular items by particular recommendation strategies in block 570 ), and continues to block 550 .
- the routine continues to block 580 to optionally determine a new group of recommended items based on other indicated information. For example, in various embodiments, the routine may determine a new group of recommended items based on an indication that a user has removed or de-selected a previously selected item, based on an indication of user feedback with respect to one or more items, etc. After block 580 , the routine continues to block 545 to optionally determine relevance levels for the recommended items in such a new group, and then to block 550 .
- routine continues instead to block 595 to optionally perform one or more other actions as appropriate.
- other actions may include updating the information reflecting previous interactions of multiple users with multiple items and performing the analysis of such updated information (e.g., as described respectively with respect to blocks 505 and 510 ), providing information about previously determined recommended items, etc.
- routine continues to block 598 to determine whether to continue, such as until an explicit indication to terminate is received. If the routine determines to continue, the routine returns to block 520 to wait for a next request or information submission, and otherwise the routine ends in block 599 .
- FIG. 6 is a flow diagram of an example embodiment of a Client Device Display routine 600 .
- the routine may, for example, be provided as part of an application executing on a client computing system or device of a user 140 of FIG. 1 and/or by execution of the browser or other software 358 of FIG. 3 .
- the illustrated embodiment of the routine begins in block 610 , where in response to a user instruction or other indication, the routine retrieves a Web page provided as part of a GUI of an embodiment of the MSRP service, such as by interacting with an embodiment of the User Interface Manager routine 400 of FIG. 4 .
- the indication to retrieve the Web page may be, for example, the result of a user navigating to a Web site of the MSRP service or of a retailer that the MSRP service supports (e.g., by entering or selecting a corresponding URL), the result of an automatically generated indication to retrieve such a Web page on behalf of the user, etc.
- the routine displays the retrieved Web page to the user.
- Such a display may include one or more user-selectable controls that allow the user to select or otherwise indicate one or more items available from one or more retailers, such as described elsewhere.
- the routine receives an indication of a user interaction with the displayed Web page.
- the routine continues to block 625 to determine whether the received user interaction is an initial selection of a subset of one or more items, and if so continues to block 630 to send an indication of the initial selection to an embodiment of the MSPR service (e.g., to the User Interface Manager routine 400 of FIG. 4 ) to obtain an initial group of recommended items that may be determined based at least in part on the initial selection of the subset.
- the routine receives a corresponding Web page for displaying the initial group of recommended items determined by the MSPR service, and in block 640 displays the Web page.
- the received Web page may include instructions for retrieving and displaying an additional group of recommended items, such as in response to a selection of an initially displayed recommended item by the user, without causing the entire received Web page to be reloaded.
- the display of the Web page may, for example, display the recommended items in such a manner that items with higher associated relevance levels are displayed more prominently than items with lower associated relevance levels, such as described elsewhere.
- the displayed Web page may also include functionality that allows the user to perform other actions, such as to initiate a purchase of a recommended item, view details or other information associated with a recommended item, indicate feedback related to an item, etc.
- the routine continues to block 645 to determine whether the user interaction is a selection of a previously displayed recommended item, such as a recommended item displayed in an initial group in block 635 and/or in another previously displayed group of recommended items. If so, the routine continues to block 650 , and sends an indication of the selected recommended item to the MSPR service in order to obtain a new group of recommended items, such as may be determined based at least in part on the selected recommended item. For example, in this illustrated embodiment, the routine may send the indication to an embodiment of the User Interface Manager routine 400 of FIG. 4 .
- the routine receives information of a new group of recommended items, and in block 660 uses the information of the new group to modify the displayed Web page to include recommended items from the new group without reloading the entire Web page, such as in accordance with instructions included in the previously displayed Web page.
- routine instead continues to block 665 to optionally perform one or more other actions as appropriate.
- actions may include initiating a purchase of a displayed recommended item; obtaining information or other details related to a displayed recommended item; facilitating removal or de-selection of previously selected items; obtaining various types of user-provided feedback, etc., and at least some such actions may cause a new group of recommended items to be obtained from the MSPR service and displayed in a manner similar to blocks 650 - 660 and/or cause a currently displayed group of recommended items to be otherwise modified or updated in various ways (e.g., adding or removing items, reordering displayed items); etc.
- routine continues to block 698 to determine whether to continue, such as until an explicit indication to terminate is received. If the routine determines to continue, the routine returns to block 620 to receive an additional user interaction with respect to the currently displayed Web page, and otherwise the routine ends in block 699 .
- routines discussed above may be provided in alternative ways, such as being split among more routines or consolidated into fewer routines.
- illustrated routines may provide more or less functionality than is described, such as when other illustrated routines instead lack or include such functionality respectively, or when the amount of functionality that is provided is altered.
- operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel, or synchronous or asynchronous) and/or in a particular order, those skilled in the art will appreciate that in other embodiments the operations may be performed in other orders and in other manners.
- illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The following disclosure relates generally to dynamically generating product recommendations for users, such as by using multiple recommendation strategies and various information regarding prior user interactions with products.
- In addition to providing access to information, the World Wide Web (also referred to as the “Web”) has increasingly become a medium that is used to search for, shop for and order items (such as products, services and/or information) that are available for purchase, rent, lease, license, trade, evaluation, sampling, subscription to, etc. In many circumstances, a user may visit the Web site of a Web merchant or other online retailer that provides one or more items (sometimes referred to as a “Web store”), such as to view information about the items, give an instruction to place an order for one or more items, and provide information needed to complete the purchase (e.g., payment and shipping information). After receiving an order for one or more items, the online retailer then fulfills the order by providing the ordered items to the indicated recipient, such as by delivering product items electronically (e.g., music downloaded over the Internet) and/or through physical distribution channels (e.g., shipment via a governmental postal service or private common carrier, such as for paperback books). Similarly, some service items may be provided electronically (e.g., providing email service), while others may be provided physically (e.g., performing cleaning services at the purchaser's house).
- While access to information about items via the Web provides many benefits, various problems also exist. As one example, given the large numbers of items that may be available from various online retailers, it can be difficult for a user to identify particular items that may be of interest. In addition, while various approaches to automatically generating recommendations for users have been tried, such generated recommendations have various problems, including that any given approach to generating recommendations is typically useful only in certain limited situations, if at all.
-
FIG. 1 is a network diagram illustrating an embodiment of a multi-strategy product recommendation service for dynamically generating product recommendations for users. -
FIGS. 2A-2D illustrate examples of dynamically generating and providing product recommendations to users. -
FIG. 3 is a block diagram illustrating example computing systems suitable for executing a multi-strategy product recommendation system for dynamically generating product recommendations for users. -
FIG. 4 is a flow diagram of an example embodiment of a User Interface Manager routine. -
FIGS. 5A-5B are a flow diagram of an example embodiment of a Recommendation Manager routine. -
FIG. 6 is a flow diagram of an example embodiment of a Client Device Display routine. - Techniques are described for dynamically generating recommendations for users, such as for products and other items. In at least some embodiments, the techniques include using multiple recommendation strategies in one or more of various ways, such as by aggregating recommendation results for a particular user and a particular situation from multiple different recommendation strategies. Such recommendation strategies may have various forms, and in some embodiments may be based at least in part on data regarding prior interactions of numerous users with numerous items. In addition, in at least some embodiments, information about current selections of a particular user may be gathered based at least in part on providing a GUI (“graphical user interface”) for display to the user that includes selectable information about numerous recommended items, and dynamically updating the displayed GUI with newly generated recommendations of items as the user makes selections of particular displayed recommended items (e.g., newly generated recommendations that are similar to the selected items in one or more manners, or are otherwise related to the selected items). Additional details related to particular recommendation strategies, to aggregating and otherwise using multiple recommendation strategies, and to interacting with users via a displayed GUI in various manners are included below. In addition, at least some of the described techniques may be automatically performed in at least some embodiments by a computer-implemented Multi-Strategy Product Recommendation (“MSPR”) service, as described in greater detail below.
- As noted above, the recommendation strategies that may be used may have various forms in various embodiments, and in some embodiments may be based at least in part on data regarding prior interactions of numerous users with numerous items. For example, in at least some embodiments, the prior interactions of users with items may involve interactions of customers of one or more retailers related to products or other items that are available from those retailers, or instead may involve interactions of other types of users in other situations (e.g., users who perform searches with search engines, users who view information about products from a product review service, etc.). A non-exclusive list of types of interactions of customers of online or other retailers with items for which interaction data is gathered may include, for example, the following: performing searches (e.g., for particular items, for items of a particular category or other defined group of items, for items having one or more indicated attributes, etc.); browsing item categories; viewing detailed information about particular items; purchasing items; doing item returns; etc. The interaction data about the prior user interactions with items may then be analyzed and summarized in various ways, such as, for example, in the following non-exclusive manners: to identify items that are popular (e.g., the top item sellers in a particular category or from a particular retailer during a particular period of time; the items that are most often selected by users, such as to view detailed information about the items; the items with the highest user ratings; the items most often included in results of users' searches and/or selected by users from such search results; the “hottest” items of an item group to reflect those items having the largest changes in their ratings or sales or other popularity measure during a particular period of time; etc.); to identify items that are similar to each other or otherwise related to each other (e.g., items that have similar or otherwise related items attributes, such as price, type, size, etc.; users who viewed this item are most likely to also view these other items; users who viewed this item are most likely to purchase these items; users who purchased this item are most likely to also purchase these other items; users who searched for this item attribute and/or browsed this item category are most likely to view and/or purchase these items or items with these attributes or items in these categories; etc.); to identify items that are popular among users similar to a user for whom recommendations are being made (e.g., users with similar demographics; users in the same or nearby geographic regions, etc.); to identify items that have been explicitly associated with one another, such as by a retailer, an advertiser, a manufacturer, and/or another user (e.g., “buy together” items); to identify items that are similar or otherwise related to items interacted with by a particular user, such as a user to whom recommendations are to be provided (e.g., interactions related to items purchased by the user, items viewed by the user, items added to a shopping cart of the user, etc.); etc. Some or all of the various types of analyzed or summarized user interaction data may then each be used as a distinct recommendation strategy, such as to use information about top item sellers in a particular category as one recommendation strategy when a user interest in that category is indicated or suspected, to use information about users who viewed a particular item as being most likely to purchase other identified items as one recommendation strategy when a user interest in that particular item is indicated or suspected, etc. Additional details related to particular recommendation strategies are included below.
- In addition, as previously noted, multiple recommendation strategies may be used in various ways in various embodiments. For example, in some embodiments and situations, recommendation results from multiple available recommendation strategies may be gathered for a particular situation involving a particular user, and then those various recommendation results may be aggregated in various manners. As one example of aggregating various recommendation results from multiple recommendation strategies, the various recommendation results may be weighted or otherwise ranked, so as to determine relevance scores or other relevance levels for those recommendation results, and then some or all of those various recommendation results may be selected to be used as recommendations for that user based on those weightings or other rankings. The weighting or other ranking of various item recommendation results may be performed in various manners, such as based on a weighting or ranking provided by a particular recommendation strategy that recommended the item (e.g., with a top sellers recommendation strategy weighting the highest item seller as the top recommendation for that strategy, and progressively weighting lower sellers as lower recommendations), based on inclusion of a particular item recommendation in the results from multiple different recommendation strategies, etc. In other embodiments, relevance scores or other levels may be determined for particular recommended items in manners other than based on weighting or other ranking. In addition, in other embodiments, a particular one of multiple available recommendation strategies may instead be selected for use in a particular situation, such as based on a dynamic determination that the particular recommendation strategy is optimal or otherwise preferred for the particular situation, or instead based on a prior selection or configuration to use that particular recommendation strategy in that particular situation (e.g., based on prior configuration by a human operator, based on a prior automated selection of that particular recommendation strategy, etc.). A dynamic determination to use a particular recommendation strategy at a given time based on a current situation may be based on, for example, a comparison of the results from the recommendations of that particular recommendation strategy to recommendation results from one or more other possible recommendation strategies, a failure or other inability of other possible recommendation strategies to provide useful recommendation results or any recommendation results, etc. Additional details related to using multiple recommendation strategies are included below.
- Furthermore, as previously noted, information about current selections of a particular user may be gathered in at least some embodiments based at least in part on providing a GUI for display to the user that includes selectable information about numerous recommended items. For example, a Web page may be generated and displayed to a user that includes images of and/or other indications of numerous items, such as for an initial group of recommended items, and with the images or other displayed indications of the items being selectable by the user. If the user makes a current selection of one of the recommended items, a second group of recommended items may be dynamically generated for the user based at least in part on the current selection, and then displayed to the user via the GUI, such as for a second group that includes some or all of the items of the first group (and optionally additional items), or instead a second group that does not include any of the items of the first group. Similarly, if the user makes a second current selection of one of the recommended items of the second group, a third group of recommended items may similarly be dynamically generated for the user based at least in part on the current selection(s), and then displayed to the user via the GUI. Such user selections may continue to be repeatedly monitored and used in this manner as part of an ongoing interactive recommendation exploration session, and in some embodiments other types of user selections may similarly be used (e.g., a user selection to remove one or more currently selected items from the group of current selection, also referred to as a “de-selection”; other user feedback of a positive or negative nature regarding one or more currently selected items or other items; etc.). Non-limiting examples of portions of one such GUI are illustrated with respect to
FIGS. 2A-2D . In addition, as previously noted, the recommendation results from one or more recommendation strategies may be weighted or otherwise ranked in some embodiments, and if so the recommended items that are displayed to a user via the GUI may be displayed so that items with higher rankings are displayed more prominently than other items with lower rankings (e.g., by displaying the items in decreasing order of their associated rankings, such that the items with the highest rankings are displayed first; by using different fonts, colors, placement or other visual indications to indicate items with higher rankings; etc.). Thus, for example, if the display of a second group of recommended items replaces a prior display of a first group of recommended items, and the second group includes at least some of the items of the first group, the weighting of those items from the first group may change in the second group, and thus the prominence of the display of those items from the first group may similarly change in the display of those items as part of the second group. Furthermore, in at least some embodiments, the display of a second group of recommended items that replaces a prior display of a first group of recommended items may be performed in various manners, including to modify a previously displayed Web page without reloading the Web page in a client browser application (e.g., via the use of AJAX, or Asynchronous JavaScript and XML, or other scripting or instructions or execution mechanisms included as part of the previously displayed Web page). Additional details related to displaying GUIs and recommended items to users are included below. -
FIG. 1 is a network diagram illustrating an embodiment of a multi-strategy product recommendation service for dynamically generating product recommendations for users using the described techniques. With respect to at least some embodiments below, the discussion may refer to recommending “products” to users, but it will be appreciated that the same or similar techniques may be applied to other types of items in other embodiments. - In particular, the illustrated example of
FIG. 1 includes a number ofexample users 140 that are each interacting with an example embodiment of a Multi-Strategy Product Recommendation (“MSPR”)service 105 and/or with an example retailer 130 (e.g., an online retailer) over anetwork 100. Thenetwork 100 may, for example, be a publicly accessible network of linked networks, possibly operated by various distinct parties, such as the Internet. In other embodiments, thenetwork 100 may be a private network, such as, for example, a corporate or university network that is wholly or partially inaccessible to non-privileged users. In still other embodiments, thenetwork 100 may include both private and public networks with one or more of the private networks having access to and/or from one or more of the public networks. Furthermore, thenetwork 100 may include various types of wired and/or wireless networks in various situations. In this illustrated example ofFIG. 1 , theusers 140 may each use computing systems and/or devices (not shown) to interact with theMSPR service 105 and/or theretailer 130 to obtain various described functionality via thenetwork 100, and in doing so may provide various types of indications or other information to theMSPR service 105 and/or theretailer 130. The interactions of the users with theMSPR service 105 and/or theretailer 130 may occur in various ways in various embodiments, such as, for example, in an interactive manner via a GUI displayed on computing systems and/or other devices (not shown) of theusers 140, or in a programmatic manner via an API (“application programming interface”) provided by theMSPR service 105 and/or theretailer 130 that allows computing systems and/or programs to invoke such functionality programmatically, such as using Web services or other network communication protocols. - In this illustrated example, each of the
users 140 may interact with an embodiment of theMSPR service 105 to obtain recommendations for products available from aretailer 130, such as to obtain dynamically generated product recommendations for the user in particular situations. In this illustrated example, theMSPR service 105 includes or otherwise has access tovarious product information 120 anduser interaction information 115. Theproduct information 120 may, for example, include a database and/or other data collection related to a catalog of products and/or services available from one ormore retailers 130, such as may include descriptions, prices, availability and other information about the products and/or services. Theuser interaction information 115 may, for example, include information regarding how numerous of theusers 140 and/or other users have previously interacted in various ways with products included inproduct information 120. As part of recommending products for a particular one of theusers 140, the illustrated MSPRservice 105 may process theproduct information 120 using various recommendation strategies to identify or otherwise determine which products of the numerous products available from theretailer 130 to recommend to the particular user, such as by identifying the products that are determined to be most relevant to the user based on the various recommendation strategies and the currently available information. In some embodiments, at least some of the recommendation strategies may use theuser interaction information 115 to determine which products to recommend to a particular user, such as to identify products that are popular, to identify products that are similar to or otherwise related to one or more other products currently selected by the user or otherwise determined to be of current interest to the user, and/or to otherwise likely to be of interest to a particular user based at least in part on prior interactions of multiple users. As previously noted, in some embodiments, theMSPR service 105 may generate product recommendations for users based at least in part on aggregating results of multiple recommendation strategies, such as discussed in more detail elsewhere. - The illustrated embodiment of
MSPR service 105 may provide for each of the interactingusers 140 a GUI that displays multiple recommended products to the user and allows the user to interactively select or otherwise indicate an interest in one or more of the displayed recommended products, with theMSPR service 105 providing new and/or revised product recommendations to display to the user in the provided GUI using one or more recommendation strategies as the user indicates an interest in the recommended products. For example, in some embodiments, a user may interact with a GUI provided by theMSPR service 105 to successively indicate interest in one or more displayed recommended products, with a new group of recommended products being generated and provided for display to the user based upon each successive indication. In some such embodiments, the successive indications of interest of the user may be collected and/or otherwise compiled by the GUI such that the new group of recommended products may be generated using one or more recommendation strategies based at least in part on the collected successive indications of the user's interest. For example, in some embodiments, each of the collected successive indications of interest of a user may be used to determine a respective set of product recommendations for the user based on the indication, with the new group of product recommendations being an aggregation of results of each generated respective set of product recommendations. - In various embodiments, the GUI provided by the
MSPR service 105 may enable a user to indicate an interest in one or more displayed recommended products in various ways, such as by providing one or more user-selectable controls that allow users to select a displayed recommended product, de-select a previously selected product, reject a displayed recommended product, and/or otherwise provide feedback of a positive or negative nature for a displayed recommended product (e.g., based on providing user ratings or rankings). After the user interacts to indicate an interest in one or more recommended products, the indications of interest of the user may be provided to theMSPR service 105, such that theMSPR service 105 may use the indications as part of one or more recommendation strategies to identify products of theproduct information 120 that may be of interest to the particular user. For example, theMSPR service 105 may use such received indications of interest to identify products of a similar nature or kind to the selected recommended products and/or to identify products that are otherwise related to or associated with the selected recommended products (e.g., such as to reflect relationships determined based on prior user interactions with the products on the part of the user to whom recommendations are currently being provided and/or on the part of other users; relationships explicitly specified by a manufacturer, retailer, advertiser, or user(s); etc.). As such, each of theusers 140 may interact with theMSPR service 105 via an embodiment of the provided GUI to obtain recommendations for products that are available from theretailer 130 and are of particular interest to the user. For example, anexample user 1 140 a may interact withMSPR service 105 via the provided GUI (displayed on a client computing system or device of the user 1) to indicate one or more recommended products that are of interest to theuser 1 and to obtain product recommendations based onuser 1's particular indications of interest, while adistinct example user 2 140 b may interact with theMSPR service 105 via the provided GUI (displayed on a distinct client computing system or device of the user 2) to indicate one or more other recommended products that are of interest to theuser 2 and to obtain other product recommendations based on the indications of interest of theuser 2. - In various embodiments, the MSPR service GUI may be presented in various manners and may provide various types of additional and/or other interactivity and functionality for the
users 140, with at least one illustrative example embodiment of such a GUI being described with respect toFIGS. 2A-2D . In at least one embodiment, the GUI of theMSPR service 105 may be provided in the form of one or more Web pages that are generated by theMSPR service 105, which may be obtained by various of theusers 140 via thenetwork 100, such as for display in a Web browser executing on one or more client computing systems and/or devices of thevarious users 140. - In some embodiments, each of the
users 140 may interact with theMSPR service 105 to obtain product recommendations for one or more particular subgroups of the products available from theretailer 140, such that product recommendations generated by theMSPR service 105 may be limited to products that are included in the one or more particular subgroups. For example, such subgroups may include products that are grouped in various manners, such as to reflect products of a particular category and/or type (e.g., clothing, jewelry, books, tools, etc.), products available in a particular department of a retailer (e.g., sporting goods, jewelry, home furnishings, women's clothing, men's shoes, etc.), products that may be grouped on the basis of various other attributes of the products, etc. In some such embodiments, the GUI provided by theMSPR service 105 may include various user-selectable controls (e.g., menu options, drop-down lists, buttons, hyperlinks, check-boxes, radio buttons, text fields, search fields, etc.) that enable a user to interactively specify one or more particular subgroups, such as one or more controls that enable the user to select and/or otherwise indicate one or more particular categories, departments, item attributes, or other criteria by which to limit the product recommendations. In at least one embodiment, the GUI may provide functionality that enables a user to specify one or more search terms which may be used to define a particular subgroup of products, such as a subgroup of products that includes products of theretailer 130 that matches one or more of the specified search terms. - The
example retailer 130 may include one or more retailer businesses that sell or otherwise make products or other items available to customers or potential customers, such as via a Web site (e.g., a Web store) or other network-based service hosted on one or more server computing systems. For example, theusers 140 may access a Web site of theretailer 130 to obtain one or more Web pages, such as to view information about, search for, browse for, rate, place an order for, and/or provide information for completing a purchase of or a return of one or more products or other items available from theretailer 130. In at least some such embodiments, information about various of the interactions of theusers 140 with the Web site of theretailer 130 may be collected and included as part of theuser interaction information 115, such as interactions of the users that are related to the products or other items made available by theretailer 130 on the Web site (e.g., product views, purchases, returns, ratings). In addition, in some embodiments, theretailer 130 may also make products or other items available for customers at one or more physical retail locations (i.e., “brick and mortar” stores), whether in addition to or instead of via a Web store or other network-based service, and if so information regarding purchases, returns, and/or other activities of customers related to the products or other items available at the physical retail locations may also be collected for inclusion as part of theuser interaction information 115. In addition, in some embodiments, theuser 140 may be at a physical retail location and interacting with a GUI on a device at the physical retail location (e.g., a fixed-location kiosk provided by theretailer 130, a mobile wireless device belonging to the user or the retailer, etc.) in order to view and interact with recommendations from theMSPR service 105, as well as product information and related content from theretailer 130. - In some embodiments, the
MSPR service 105 may be included as part of a Web site of aparticular retailer 130, such as to provide the described functionality for dynamically recommending products of theretailer 130 to users of the Web site. For example, in some such embodiments, the GUI of theMSPR service 105 may be provided as one or more Web pages of the Web site, or as an embedded Web application included in one or more of various Web pages of the Web site. In some such embodiments, theusers 140 may initiate access with theMSPR service 105 via the Web site of theretailer 130 in various ways to obtain an initial generated group of selectable product recommendations. For example, in some embodiments, the user may select one or more products available on the Web site (e.g., from a product page, a product listing, a search results list, etc.), with an initial generated group of product recommendations being related to the one or more selected products; the user may indicate a desire to browse a group of recommended products of a particular type and/or category, with the initial generated group of product recommendations being products of that particular type or category; the user may enter one or more search terms for recommended products, with the initial group of recommended products being products that match one or more of the search terms; etc. - In addition, in some embodiments, the
MSPR service 105 may provide product recommendations for products available frommultiple retailers 130. For example, in some such embodiments, theMSPR service 105 may obtainproduct information 120 frommultiple retailers 130 and/or useuser interaction information 115 based on how prior customers of the multiple retailers interacted with products provided by the multiple retailers. In some such embodiments, theMSPR service 105 may or may not be affiliated with one or more of the multiple retailers. - For illustrative purposes, some embodiments are described below in which specific types of recommendation strategies are combined and otherwise used in specific manners to provide users with specific types of recommendations for specific types of products in specific types of situations. These examples are provided for illustrative purposes and are simplified for the sake of brevity, and the inventive techniques may be used in a wide variety of other situations, some of which are discussed below, with the techniques not being limited to use with particular types of products or more generally with particular types of items, particular types of user interfaces or other mechanisms for interacting with users or otherwise using generated product recommendations, etc. For example, in some embodiments, the described techniques may be used to provide recommendations of entities (e.g., people, businesses or other organizations, etc.) or other things other than products or other items, may be used to generate recommendations for users without interacting with those users (e.g., by interacting with one or more other services or organizations that directly interact with those users), may be used to generate recommendations to be provided to entities other than users (e.g., organizations or other groups), etc.
-
FIGS. 2A-2D illustrate examples of dynamically generating and providing product or other item recommendations to users. In particular,FIGS. 2A-2D illustrate examples of a GUI that may be provided by some embodiments of theMSPR service 105 ofFIG. 1 as part of dynamically generating recommendations for users in accordance with various of the described techniques. In the illustrated example ofFIGS. 2A-2D , the GUI displays user-selectable information about numerous recommended products or other items available from one or more retailers, and dynamically updates the display with newly generated recommendations for products or other items as the user makes successive selections of particular displayed recommended products or other items, such as during an ongoing interactive recommendation exploration session. - In the example of
FIG. 2A , an exampleinteractive display 200 is illustrated that includes user-selectable information related to multiple recommended products or other items available from an example retailer. Thedisplay 200 includes a selecteditem area 205, which in this example initially displays auser instruction 207 to the user. Thedisplay 200 also includes multiple item images displayed in a recommended item area 270 (shown surrounded in bold for reference purposes), with each of the item images corresponding to a distinct product or other item recommended for the user by an embodiment of the MSPR service (not shown). In this example, each of the displayed item images in the recommendeditem area 270 is selectable by the user, such that the user may select a displayed image of a particular recommended item to indicate an interest in other items that are similar to or otherwise related in various ways to the selected recommended item. For example, a user may select one of the item images displayed in the recommendeditem area 270 by “clicking on” the item image (e.g., using a mouse or other pointing device), or by otherwise interacting with thedisplay 200 in such a manner to indicate a selection of the item image (e.g., using a moveable highlight, voice commands, a touch screen, etc.). - In the
example display 200, the multiple item images are presented in a grid-like manner, with each item image being displayed in a particular grid location of the recommendeditem area 270, such as by being part of one of multiple illustrated rows 272 a-272 d and one of multiple illustratedcolumns 270 a-270 d, although the row and column indications are not displayed to the user in this example. To facilitate discussion of particular grid locations corresponding to a particular row and a particular column position, such grid locations may be abbreviated in [row]:[column] form in the following discussion—for example, the grid location at row 272 a andcolumn 270 a (corresponding in this example to an image of item 1) may be abbreviated using such a form as 272 a:270 a. While the recommendeditem area 270 is illustrated as displaying a four-by-four grid of item images in this example, it will be appreciated that other types of displays are possible in other embodiments. For example, in some embodiments, more or fewer rows or columns may be included in the grid, with at least one embodiment having five rows and nine columns; while in other embodiments, item images may be presented in other manners not limited to grids (e.g., a list). In addition, in other embodiments, other information corresponding to the recommended items may be provided in the recommendeditem area 270, such as in addition to or instead of item images, including other visual representations of items (e.g., icons), item names, item descriptions, item prices, etc. Furthermore, in some embodiments, the various item images, icons, and/or descriptions may be illustrated in a non-uniform manner, such as with at least some more relevant items having higher associated relevance scores being displayed in a larger form than at least some less relevant items, such as to increase the prominence of the more relevant items. - In this illustrated embodiment, the item images displayed in the recommended
item area 270 are presented in a particular order according to associated relevance scores of the corresponding recommended items (e.g., relevance scores determined for the recommend items based on one or more recommendation strategies used to identify the recommended items), although the particular associated relevance scores are not shown. For example, in this embodiment, item images corresponding to recommended items with higher scores are displayed more prominently than item images corresponding to recommended items with lower scores by being placed in a higher row (e.g., item images displayed in row 272 a have relevance scores higher than and/or equal to item images displayed in row 272 b, which have relevance scores higher than and/or equal to item images displayed in row 272 c, and so on). In addition, within each row, an item image corresponding to a recommended item with a higher score is displayed more prominently than item images corresponding to recommended items having lower and/or equal relevance scores by being placed in a column farther left (e.g., within a particular row, the item image displayed incolumn 270 a has a relevance score higher than or equal to the item image displayed incolumn 270 b, which has a relevance score higher than or equal to the item image displayed incolumn 270 c, and so on). As such, in this illustrated example, an item image corresponding to a recommended item with a highest determined relevance score is displayed in the grid location 272 a:270 a, which in this example is currently anitem 1image 252. In other embodiments, the item images displayed in recommendeditem area 270 may be ordered in other manners according to corresponding relevance scores, such as in a series of spirals (e.g., in a manner similar to the arms of a spiral galaxy), with the distance from the center and/or the particular spiral/arm indicating one or more types of information about the items (e.g., with the items closest to the center having the highest associated relevance scores, and with the different spirals/arms optionally corresponding to grouping of items by other attributes); such as in concentric rings of various geometric shapes, with the distance from the center and/or the particular ring indicating one or more types of information about the items (e.g., with the rings closest to the center having the items with the highest associated relevance scores); etc., and more prominent items may be illustrated in manners other than based on display location (e.g., by size of image, use of different fonts, etc.). - As previously noted, in the example of
FIG. 2A , the recommendeditem area 270 currently includes multiple item images that are each associated with a recommended item determined for the user by the MSPR service, such as by being part of an initial group of recommended products. Such an initial group of recommended products may be generated and provided for current display to the user based on the user having initiated access to an interactive recommendation exploration session provided by the MSPR service GUI in various manners, such as by having interacted with a Web site of a retailer providing such functionality, or by otherwise interacting directly with the MSPR service. For example, the user may have interacted with a Web site of the retailer in such a way as to obtain an initial group of recommendations related to a particular subgroup of one or more products available from the retailer (e.g., one or more particular products selected by the user on the retailer's Web site; a group of recommended products of a particular type and/or category that the user selects to browse; one or more products that are the result of a search by the user; etc), while in other embodiments, the user may have interacted with the Web site of the retailer to obtain an initial group of recommendations that are not limited to a particular subgroup (e.g., such as to obtain recommendations for products that are generally available from the retailer, such as the top sellers of the retailer). One or more of various recommendation strategies may be used in various embodiments to identify or otherwise determine an initial group of product recommendations from products available from the retailer, whether applied to a particular subgroup of one or more products or more generally to all products available from the retailer, with at least some of the identified recommended items of the initial group being provided for display to the user. At least some of the various recommendation strategies that may be used are described in more detail below, and the one or more recommendation strategies used to determine the initial group may be selected for such use in various ways, such as by using one or more pre-selected or configured recommendation strategies in a particular situation and/or by dynamically determining one or more strategies to use in a particular situation. In addition, in at least some embodiments, one or more initial recommendation strategies may be chosen for recommending products for a particular user based on various preferences of the particular user (e.g., such as preferences to use one or more recommendation strategies) and/or other information associated with the user. - For example, the initial group of product recommendations may be generated by the MSPR service using various recommendation strategies to identify products that may be of potential interest to the user, some of which may be based on previous interactions of multiple users with various of the products available from the retailer. Such recommendation strategies may include identifying products that are determined to be popular based on the interactions of multiple customers of the retailer (or other users), such as to identify products that are frequently purchased by (e.g., top selling items), frequently viewed by, frequently searched for by, highly rated by, etc., the multiple customers. In some embodiments, recommendation strategies that identify popular items may be constrained to one or more time periods, such as to identify items that are recently popular, historically popular, popular at various times of the year, etc. As part of identifying products using a recommendation strategy, the MSPR service may also assign a relevance score to each of the identified items for use in various ways, such as for determining which items to provide for display to the user (e.g., the MSPR service may provide items with the highest relevance scores for display to the user), for displaying items to the user in various manners according to the relevance scores, for aggregating results of multiple recommendation strategies, etc. For example, with respect to recommendation strategies that identify popular items, the corresponding relevance score of each recommended item may be based at least in part on a level of popularity the items are determined to have (e.g., for top selling items, the relevance score may be based on a number of units of each item that have been recently sold to customers, such that items with the highest numbers of units sold have the highest relevance scores; for top viewed items, the relevance score may be based on a number of distinct users who viewed information related to the item; etc.). In other embodiments, the relevance scores may also or instead be based at least in part on a determined conditional probability that the recommended product will likely be purchased by the user if displayed in the current context of
display 200, etc. The corresponding relevance scores produced by each distinct recommendation strategy may be normalized for comparison to and/or combination with relevance scores produced by other distinct recommendation strategies. - For the purposes of illustration, in this example, the user may have initiated access to functionality of the MSPR service by selecting to browse recommended items in a particular product category (e.g., products available in a particular department of the retailer), with the initial group of product recommendations provided for display in the recommended
item area 270 being determined using a recommendation strategy that identifies recent top selling products within that particular product category. In this illustrated embodiment, images associated withitem 1 through item 16 (displayed in the recommended item area 270) correspond to recommended products determined by the MSPR service using an initial recommendation strategy (e.g., the top selling items with the category). Furthermore, a corresponding relevance score has been determined for each of the recommended products in the initial group, such that item images corresponding to the recommended products may be appropriately displayed according to such relevance scores in the recommendeditem area 270, with a recommended product corresponding to theitem 1 image 252 (currently displayed in grid position 272 a:270 a) having a highest relevance score, with a recommended product corresponding to theitem 2 image at grid position 272 a:270 b having the next highest relevance score (or a relevance score equal to that of item 1), and so on. It will be appreciated that in other embodiments and/or in other situations, the user may have initiated access to functionality of the MSPR service in various other ways, one or more other or additional recommendation strategies may be used, and/or relevance scores may be determined in one or more other manners. - At some time after the multiple item images corresponding to the first group of recommended products is displayed to the user in the recommended
item area 270 ofFIG. 2A , the user interacts with thedisplay 200 to selectitem 6image 253 at grid position 272 b:270 b, such as to indicate an interest initem 6 and/or in items related toitem 6, with the results of the selection being illustrated inFIG. 2B . In particular, in the modifieddisplay 200 ofFIG. 2B , multiple item images corresponding to a new second group of products recommended for the user are currently being displayed in the recommendeditem area 270, with the second group of recommended products having been generated by the MSPR service in response to the user selection ofitem 6. Information related to the selecteditem 6 is now displayed in the selecteditem area 205, such as to indicate thatitem 6 is a currently selected product of the user. For example, in this illustrated example, the information related to the selecteditem 6 includesitem 6image 210 and various product information 212 (e.g., product name, description, price), as well as user-selectable control 214 that may be selected by the user to view additional information related to the item 6 (and optionally to initiate a purchase of the item 6), and user-selectable control 216 that may be selected by the user to de-select or otherwise remove theitem 6 from being a currently selected item (e.g., if the recommended items of the second group, which are based in part onitem 6 being a currently selected item, are determined by the user to be less relevant than the recommended items of the first group or otherwise to not be of sufficient interest to the user). In other embodiments, other information and user-selectable controls related to the currently selected item may be shown in the selecteditem area 205, such as to also have user-selectable controls via which the user may initiate a purchase of the currently selected item, rate or otherwise provide feedback regarding the currently selected item, etc. - In this example, the new group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items within a particular category) with results of one or more recommendation strategies that identify products that are similar to or otherwise related to the currently selected
product item 6. In various embodiments, various recommendation strategies may be used to identify products that are similar to and/or otherwise related to the currently selected product, some of which may be based on prior interactions of multiple users with the various products of the retailer. For example, in some embodiments, such recommendation strategies may include identifying products that have frequently been viewed by users who also viewed the currently selected product; identifying products that have frequently been purchased by users who also viewed the currently selected product; identifying products that have frequently been purchased by users who also purchased the currently selected product; etc. As previously noted, as part of identifying products using a recommendation strategy, the MSPR service may assign a relevance score to each of the identified products. For example, with respect to recommendation strategies for identify products that are similar to or otherwise related to a particular product, the corresponding relevance score of each recommended item may be based at least in part on a determination of how similar or otherwise related the products are (e.g., items that have been viewed or purchased more frequently by users who also viewed or purchased the currently selected item may be assigned higher relevance scores than items that have been viewed or purchased less frequently by such users; items that are more likely to be viewed or purchased by users who also viewed or purchased the currently selected item may be assigned higher relevance scores than items that are less likely to be viewed or purchased by such users; etc.). As previously discussed, the corresponding relevance scores may be normalized for comparison to and/or combination with relevance scores produced by other recommendation strategies in various manners. - In various embodiments, as part of generating the new group of recommended products for display to the user, the results of multiple recommendation strategies may be aggregated in various ways. For example, in some embodiments, the results of each of the distinct recommendation strategies may be merged, such that the products having the highest corresponding relevance scores determined by each distinct recommendation strategy are selected to be included in the new group of recommended products provided for display to the user (e.g., such as if the relevance scores are normalized or otherwise comparable to determine which are the more or less relevant). In some such embodiments, if the results of the recommendation strategies include commonly identified products (e.g., products that were identified by each of the recommendation strategies), then the associated relevance scores of a commonly identified product produced by each distinct recommendation strategy may be combined (e.g., added together) to produce a new relevance score for that product (such as a new relevance score for that product that is higher than the individual relevance scores determined for that product by each strategy), with the new relevance score being used to determine which products to provide in the new group of recommended products. In addition, in at least some embodiments, the relevance scores produced by a previously used recommendation strategy may be reduced, such as by multiplying the relevance scores produced by the previously used recommendation strategy by a weighing factor that is less than 1 (“one”), such that the reduced relevance scores have less influence when being aggregated with the results of a more recently used recommendation strategy. As one illustrative example, the new group of product recommendations provided for display to the user in the illustrated
display 200 ofFIG. 2B may be generated based on aggregating results of a new recommendation strategy that identifies products that are related to the currently selected product (item 6) with the results of the initial recommendation strategy used to identify the initial group of recommended products (e.g., recent top sellers), with the previous results of the initial recommendation strategy being reduced as part of the aggregation (e.g., by using a weighting factor). - As previously noted, in the illustrated example of
FIG. 2B , as a result of the user having selected theitem 6, a new group of multiple item images are currently provided in the recommendeditem area 270, with each item image corresponding to products recommended for the user by the MSPR service. In particular, as a result of the user's selection, a number of new item images are displayed in the recommended item area 270 (e.g., item images corresponding to items 100-110), with each new item image corresponding to a recommended item that was newly identified by the aggregated recommendation strategies, or otherwise determined by the aggregated recommendation strategies to have a sufficiently high relevance score to be included in the second displayed recommendation group. In addition, a number of previously displayed item images from the first recommendation group ofFIG. 2A (i.e., images foritems item area 270, with at least some of these item images being displayed in a different grid location than they were displayed inFIG. 2A prior to the selection ofitem 6, such as based on newly determined relevance scores for at least some of the recommended items corresponding to such item images as part of their inclusion in the second group. Conversely, several other item images that were previously displayed inFIG. 2A prior to the user selection ofitem 6 are no longer part of the second recommendation group displayed in the recommendeditem area 270 ofFIG. 2B . For example, as a result of determining the new second group of recommended products (based on the aggregated recommendation strategies),item 1image 252 that was previously displayed inFIG. 2A as the most relevant item prior to the selection ofitem 6 is now displayed inFIG. 2B in a position of less relevance at grid position 272 c:270 d, while previously displayeditem 11image 250 is now displayed most prominently in the grid position 272 a:270 a. - At some time after the multiple item images corresponding to the new second group of recommended products is displayed to the user in recommended
item area 270 ofFIG. 2B , the user interacts with thedisplay 200 to selectitem 109image 254 at grid position 272 d:270 c, such as to indicate an interest initem 109 and/or in items related toitem 109, with the results of the selection being illustrated inFIG. 2C . In particular, in the modifieddisplay 200 ofFIG. 2C , multiple item images corresponding to a new third group of products recommended for the user are currently being displayed in recommendeditem area 270, with the third group of recommended products having been generated by the MSPR service in response to the user selection ofitem 109. Information related to the selecteditem 109 is now displayed in the selecteditem area 205, such as to indicate thatitem 109 is a currently selected product of the user, such as along withitem 6. For example, in this illustrated embodiment, the information related to the selecteditem 109 includesitem 109image 220, andvarious product information 222, as well as user-selectable control 224 to obtain additional information related toitem 109, and user-selectable control 226 to de-select or otherwise remove theitem 109 from being a currently selected item. Information related to theitem 6 is now being displayed in a new location in the selecteditem area 205, such asitem 6image 230, and user-selectable control 232 to de-select or otherwise remove theitem 6 from being a currently selected item. In this example,control 214 andinformation 212 foritem 6 do not have counterpart controls and information displayed foritem 6 inFIG. 2C , although in other embodiments such controls and information may continue to be displayed. - In this example, the new third group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items within a particular category), results of the previously used recommendation strategy to identify products that are similar to or otherwise related to the selected
item 6, and results of a recommendation strategy that identifies products similar to or otherwise related to the selected item 109 (whether the same recommendation strategy as used foritem 6, or a different recommendation strategy). For example, in some embodiments, the relevance scores associated with aggregated results of the prior two recommendation strategies (e.g., the initial strategy and the strategy used with respect to item 6) as part of the second recommendation group may be reduced (such that relevance scores initially associated with items of the first group may have been reduced twice), and then combined with results of the recommendation strategy used to identify products similar to or otherwise related to the selecteditem 109, such as in a manner similar to that described above. Thus, in this manner, the recommended products of the third recommendation group are in this example based on a combination of the group of multiple currently selected items displayed in the selecteditem area 205. In other embodiments, the current item selection and corresponding determination of recommended items may be performed in other manners, such as to allow only a single currently selected item (e.g., to discard recommended items from the second group related toitem 6 afteritem 109 is selected), to determine recommendations for a group of multiple currently selected items in other manners (e.g., to generate a completely new third group of recommended items that does not explicitly incorporate any of the recommended items of the second group, but that may be generated based on a combination of the multiple currently selected items of the current group; to not reduce the weights of items recommended based on an earlier selected item of the current group; etc.), etc. - The multiple item images currently provided in the recommended
item area 270 ofFIG. 2C each correspond to a recommended product from the new third group of products recommended for the user by the MSPR service, with the item images being displayed in accordance with the relevance scores determined for the third group. In particular, a number of new item images are displayed in the recommended item area 270 (e.g., item images corresponding to items 200-209) along with a number of previously displayed item images (e.g., images foritems FIG. 2C in different grid positions than prior to the user selection ofitem 109, and many other of the previously displayed item images are no longer displayed in the recommendeditem area 270, such as based on newly determined relevance scores of the recommended items for the third group. In this illustrated example,item 11image 250 is still displayed in the most prominent grid position 272 a:270 a, such as based on thecorresponding item 11 still having a highest corresponding relevance score, but previously displayeditem 1 image (e.g.,item 1image 252 ofFIGS. 2A and 2B ) is no longer included in the recommendeditem area 270. -
FIG. 2D continues the example ofFIG. 2C , and in particular illustrates a modifieddisplay 200 after the user has de-selecteditem 6 from the selected item area 205 (such as by interacting with theuser control 232 inFIG. 2C ). As one result of the user having de-selecteditem 6, the selecteditem area 205 inFIG. 2D no longer includes information related toitem 6, although information related toitem 109 is still present (e.g.,item 109 image 220). In addition, in the example ofFIG. 2D , the de-selection ofitem 6 has initiated the determination of a new fourth group of recommended items for the user by the MSPR service. Accordingly, multiple item images corresponding to the new fourth group of recommended products are currently being displayed in the recommendeditem area 270 ofFIG. 2D . For example, in such an embodiment, the new fourth group of recommended products may be generated by aggregating results of the recommendation strategy used to identify the initial group of recommended products (e.g., recent top selling items in a category) and the results of the recommendation strategy used to identify products that are similar to or otherwise related to the selecteditem 109, but without including the previously used recommendation strategy used to identify items that are similar to or otherwise related toitem 6. In addition, in some embodiments, after a user de-selects an item, the MSPR service may reduce the relevance scores of items that are determined to be similar to the de-selected item, such as to lessen the influence of any such items that may be identified by the remaining recommendation strategies. - In this illustrated example, each of the multiple item images currently displayed in the recommended
item area 270 corresponds to a recommended product from the resulting new fourth group of products recommended for the user by the MSPR service, with the item images being displayed in accordance with relevance scores of the corresponding recommended products for the fourth group. In particular, in this example, as a result of the de-selection, recommendedproduct item 200 has now been determined to have a highest relevance score, and as such, thecorresponding item 200image 256 is now displayed in the position of highest prominence in area 270 (in grid position 272 a:270 a). - In other embodiments, various other functionality may be provided by an embodiment of the MSPR service, such as for display in a GUI of the MSPR service. For example, in some embodiments, a user may interact with various information corresponding to a displayed recommended product to provide feedback with respect to that product, such as to provide positive and/or negative ratings with respect to the displayed recommended product (e.g., a numerical rating, a star rating, a thumbs-up/down rating, etc.), with such feedback being used in various ways in various embodiments, such as to reduce (if a negative rating) and/or increase (if a positive rating) the relevance scores for products that are determined to be similar to or otherwise related to the rated displayed recommended product. In addition, in some embodiments, the users may interact with the displayed images in various other ways to obtain and/or view information related to recommended products, such as by “hovering” over a displayed image of a recommended product (e.g., with a mouse pointer) to cause information related to a recommended product associated with the displayed image to be provided to the user (e.g., price, description, sales information, availability, etc.). In still other embodiments, functionality may be provided that allows the user to interact with the GUI to initiate a purchase of a displayed recommended item. In addition, in some embodiments, information may be displayed or otherwise provided to users to indicate why a particular item is being recommended (e.g., this particular item is highly relevant for being viewed by users who also viewed currently selected
item 109, and is moderately relevant for being a top seller for an initially selected category of items). - While not illustrated here, it will be appreciated that a user may continue to interact with the
display 200 in the manner previously discussed with respect toFIGS. 2A-2D , such as to participate in much longer series of selections of recommended items, and to have much more than 2 currently selected items of interest. In addition, in other embodiments, multiple users (e.g., of a group) may interact with adisplay 200 or other GUI, whether simultaneously or consecutively, and whether on one or more client devices, such as to display recommended items that are based on multiple currently selected items that have been indicated by multiple users. - In addition, as discussed in greater detail elsewhere, various other recommendation strategies may be used in addition to and/or instead of the recommendation strategies discussed with respect to the examples of
FIGS. 2A-2D . - In addition, while not illustrated with respect to the examples of
FIGS. 2A-2D , in some embodiments multiple currently selected items (e.g., multiple items displayed in the selected item area 205) may be related in manners other than being consecutively selected by a user as alternatives based on successive similarity to each other, and corresponding recommended items (e.g., items displayed in the recommended item area 270) for the multiple currently selected items may be determined by an embodiment of the MSPR service in various manners. For example, the multiple selected items may be selected as a collection of items related to each other by being complementary or otherwise designated as possibly belonging together (e.g., an outfit that includes pants, a shirt, and shoes that are intended to be worn together), whether based on a manual designation by one or more users or an automated designation by the MSPR service or other automated system. As one specific example, a user interacting with a GUI similar to that displayed inFIGS. 2A-2D may individually select each of the items as part of specifying a collection of multiple items of interest to possibly purchase together, or in other embodiments the user may be provided with and select one of multiple recommended collections that each includes a distinct combination of multiple related items (e.g., distinct combinations of a shirt, pants, and shoes). - In such embodiments, the recommended items for a current collection of multiple selected items may be determined in various manners, such as to include other items that may be complementary to the current collection of items (e.g., one or more belts and/or socks that are complementary to a current collection of a particular shirt, pants and shoes), and/or to include recommended items that are similar to or otherwise related to one or more of the selected items of the current collection. For example, the recommended items may include other pants related to the currently selected pants of the current collection (or other related items, such as skirts related to women's pants of the current collection), other shirts related to the currently selected shirt of the current collection, and/or other shoes related to the currently selected shoes of the current collection. Alternatively, the recommended items may include, for example, other pants that are related to multiple or all of the currently selected pants, shirt and shoes of the current collection, and/or other types of items (e.g., other shirts, other shoes, etc.) that are related to multiple or all of the currently selected pants, shirt and shoes of the current collection. As discussed in greater detail elsewhere, such items that are related to other items may be determined in various manners in various embodiments, such as by being similar to each other (e.g., with respect to one or more item attributes); by users previously interacting with the related items in similar manners (e.g., based on doing one or more of viewing, purchasing, searching for, browsing for, etc. for each of the related items), possibly at similar times (e.g., during a single interaction session); by being designated by one or more users as being related; etc.
- In such situations, the various types of determined recommended items may be displayed in various manners and at various times, such as simultaneously in an interspersed manner (e.g., based on associated relevance scores with respect to all of the currently selected items of the collection, such as to first show a particular shirt that has the highest aggregate relevance score with respect to the selected pants, shirt and shoes of the current collection, to next show particular shoes that have the second highest aggregate relevance score with respect to the selected pants, shirt and shoes of the current collection, etc.), may be displayed simultaneously but separately (e.g., with a first row of a grid showing recommended pants, a second row of the grid showing recommended shirts, etc.), may be displayed at different times (e.g., if the pants of the current collection is designated by the user, having the grid include recommended items corresponding to those pants, and having the grid change to show recommended items corresponding to the shirt of the current collection after the user designates that shirt rather than those pants), etc.
- Furthermore, when the user selects a recommended item in such situations, the MSPR service may take various types of actions. For example, if the user selects a new complementary type of item (e.g., a belt), the new item may be added to the current collection of multiple selected items, such that the new current collection includes the selected pants, shirt, shoes and belt. Alternatively, if the user selects a new recommended item that is related to one of the currently selected items of the current collection (e.g., a new pair of pants or skirt that is recommended based on being related to the currently selected pants of the current collection), the new selected item may instead replace the previously selected item to which it relates in a modified version of the collection.
- In addition, when the user selects a new recommended item for the current collection, whether to replace a previously selected item of the collection or to add to the current collection in addition to the previously selected items, a new group of recommended items is determined to reflect the new current collection of multiple items. For example, if new recommended pants are selected for the collection, the new group of recommended items may, for example, replace previously recommended pants and other related items (e.g., skirts) with new recommended pants and/or other items that are similar to or otherwise related to the newly selected pants, but without modifying previously recommended items of other types (e.g., shirts and shoes). Alternatively, if the various recommended items are determined based on their relationship to all of the multiple selected items of the current collection (e.g., if the recommended items are determined based on their relationship to not only the currently selected pants but also to the currently selected shirt and shoes of the current collection), the new group of recommended items after the selection of the new pants may instead be determined based on all of the items of the current collection. Such determination of the new group of recommended items may include, for example, the following: removing the items and relevance scores that were previously determined based on the previously selected pants that are no longer part of the new current collection; retaining the other items that were previously recommended based on the previously selected items of the collection (e.g., the currently selected shirt and shoes), optionally without reducing any corresponding relevance scores; determining additional recommended items based on the newly selected pants of the new current collection, along with corresponding relevance scores; and combining the retained items and retained relevance scores with the new additional recommended items and new relevance scores in a manner similar to that discussed elsewhere. It will be appreciated that collections of multiple items may be selected and that recommended items for a current collection of multiple selected items may be determined and displayed in other manners in other embodiments.
-
FIG. 3 is a block diagram illustrating an example embodiment of a multi-strategy product recommendation system for performing techniques to dynamically generate product recommendations or other item recommendations for users. In particular,FIG. 3 illustrates aserver computing system 300 suitable for executing an embodiment of a Multi-Strategy Product Recommendation (“MSPR”)system 340, as well as various user computing systems 350, otheroptional computing systems 360 that optionally provide other services with which the MSPR system interacts, and otheroptional computing systems 380. In the illustrated embodiment, theserver computing system 300 has components that include aCPU 305, various I/O components 310,storage 320, andmemory 330. The illustrated I/O components include adisplay 311, anetwork connection 312, a computer-readable media drive 313, and other I/O devices 315 (e.g., a keyboard, a mouse, speakers, etc.). In addition, the illustrated user computing systems 350 have components similar to those ofserver computing system 300, including a CPU 351, I/O components 352 (although particular components are not illustrated),storage 354, andmemory 357. Theother computing systems computing system 300, but such components are not illustrated in this example for the sake of brevity. - An embodiment of the
MSPR system 340 is executing inmemory 330, such as under control of configuredCPU 305, and it may interact withcomputing systems MSPR system 340 includes functionality related to providing recommendations regarding products or other items to various users (not shown) who are interacting with user computing systems 350, such as in conjunction with an MSPR service provided or otherwise managed by theMSPR system 340. The information from the MSPR system may in some embodiments and situations be provided directly to the user computing systems 350, while in other embodiments the information may be provided indirectly by the MSPR system via one or more other services (e.g., optionalother services 335, optionalother services 365, etc.) that interact directly with the users, such as if the other services are online retailers or other types of services and the users are customers of the services. - The
other computing systems Web browser 358 or other software (e.g., a module of the MSPR system that is designed to execute on a client device) inmemory 357 to interact withMSPR system 340. TheWeb browser 358 or other software on a user computing system 350 may, for example, interact with a User Interaction (“UI”)Manager module 342 of the MSPR system to obtain information about recommended items in various ways, and may display or otherwise present (e.g., via a GUI of the MSPR system that is displayed to the user via one or more Web pages or other UI screens on the user computing system 350) some or all of that obtained information to enable the user to interact with or otherwise use that information in various manners (e.g., to obtain additional information about other recommended items that are progressively more relevant for the user based on prior selections of the user of other less relevant items, to initiate purchases or other acquisitions of particular items that are determined by the user to be of interest, etc.). In addition, one or more users of the user computing systems 350 may interact withMSPR system 340 to perform various other types of actions, as discussed in greater detail elsewhere. - In addition, as described in greater detail elsewhere, the
MSPR system 340 may in some embodiments be integrated with or otherwise associated with one or more other services (e.g., online retailers or other retailers, item review services, databases or other services that provide information about items and/or about user interactions with items, etc.), and if so may interact with those other services in various manners. If so, one or more such other services may, for example, execute oncomputing system 300 asother services 335 inmemory 330, and/or as one or moreother services 365 that each execute on one or more of the other remoteservice computing systems 360. The interactions with the other services may include, for example, some or all of the following non-exclusive list: obtaining information about products and other items available from those services or otherwise about which the service has access to information, such asoptional product information 367 on otherservice computing system 360; obtaining information about various types of prior interactions of customers and other users with the other services or otherwise about which the other services have access to information (e.g., to view information about items; to purchase items; to provide other types of feedback about particular items or relationships between items, such as that a particular item is regarded in a particular positive or negative manner, or that two or more items are similar to each other or are otherwise related in one or more manners; etc.), such as optional user interaction information 369 on otherservice computing system 360; etc. The MSPR system may obtain such information in various manners, such as by the MSPR system pulling such information from one or more other services periodically and/or on demand, by one or more other services pushing such information to the MSPR system periodically and/or as otherwise triggered (e.g., as soon as the information is available, such as to maintain a live feed so that the MSPR system has access to the most up-to-date available information), etc. After such information is obtained by the MSPR system, the MSPR system may then store such information for later use (e.g., indatabases 322 and/or 324 onstorage 320, or on one or more remote other computing systems 380), or in other embodiments may instead retrieve the information as needed and not maintain a local copy of the information. Various other information related to the operation of theMSPR system 340 may also be stored instorage 320 or elsewhere (e.g., information about users of the MSPR system, such as preference information; information about current interactions of users with the MSPR system, such as one or more related items that have been currently selected by the user as part of an ongoing interactive recommendation exploration session; etc.), but is not illustrated in this example. - After the
MSPR system 340 receives requests (or other indications) to provide product or other item recommendations for a particular user, such as from the user or from another service on behalf of the user, theRecommendation Manager module 344 of thesystem 340 may dynamically determine recommendations for the user based on available information, such as theproduct information 322, user interaction information 324, any indications by the user of a subset of one or more items of initial interest (e.g., a product category, a particular item, one or some or all of the search results for a search performed by the user, etc.), any current selections by the user of one or more previously recommended items during an ongoing interactive recommendation exploration session, etc. In determining the recommendations, themodule 344 may use various recommendation strategies in various manners, and may further determine relevance information for some or all of the recommended items with respect to the user or to any user (e.g., weighting information or other indications of relevance levels for some or all of the recommended items, such as absolute relevance scores, relative indications of higher or lower relevance with respect to other recommended items, etc.), as discussed in greater detail elsewhere. In other embodiments and situations, theRecommendation Manager module 344 may instead retrieve stored recommendation information that was previously determined, such as previously determined by themodule 344 in a manner specific to the user or instead for all users (e.g., recommended items for a particular product category, recommended items for a particular selected item, etc.), and may use that stored information as is or may modify it to reflect a current user or other current situation. TheRecommendation Manager module 344 may then use the determined recommendation information in various ways, such as by sending the information to another service that requested it for use by that other service, sending the information to a particular client device of the user to initiate a dynamic modification of other information previously displayed on the client device to the user as part of an ongoing interactive recommendation exploration session (e.g., to modify a displayed Web page without the client device doing a reload of the page, such as based on a previously sent and currently displayed version of the Web page that is based on Ajax technology or that otherwise includes executable client-side instructions that initiate or otherwise perform the modification), providing the information to theUI Manager module 342 for use by the module 342 (e.g., if themodule 344 dynamically determined the information in response to a request from the module 342), etc. - If the
UI Manager module 342 requested the recommendation information, it may then incorporate some or all of the recommendation information into a form to be provided to a user for display or other presentation, such as in one or more Web pages to be displayed on a client device of the user. Furthermore, if theRecommendation Manager module 344 determines weighting information or other relevance level indications for some or all of the recommended items, theRecommendation Manager module 344 and/orUI Manager module 342 may sort the recommended items based at least in part on those relevance indications, such that the recommended items with the highest associated relevance indications may be displayed first or otherwise more prominently than other recommended items with lower associated relevance indications. As discussed in greater detail elsewhere, in some embodiments, if a current group of new item recommendations is determined based at least in part on a user selection of one or more recommended items from a previously determined group, theUI Manager module 342 may further in some such embodiments incorporate newly included item recommendations together with some or all of the previous item recommendations, such that a Web page or other information provided by the UI Manager module includes both new and previous recommended items. In addition, when the new and previous recommended items have associated relevance scores, those relevance scores may be used to combine the new and previous recommended items as part of the new display in various manners, including by reducing the relevance scores previously associated with the previous recommended items (e.g., by a fixed amount, by a fixed percentage, etc.), and then sorting or otherwise managing the combination of the new and previous recommended items by their associated relevance scores as discussed elsewhere. TheUI Manager module 342 may then provide the information for presentation to the user, such as by sending one or more Web pages to a client device of the user. In other embodiments and situations, theUI Manager module 342 may instead interact with one or more other services, such as if the information from theUI Manager module 342 is to be incorporated as part of a Web page or other UI screen provided by the other service (e.g., within a particular pane of a larger page or screen). - While not illustrated here, the MSPR system may further have other modules or associated functionality in other embodiments, such as to generate some or all of the user interaction information 324 (e.g., based on monitoring users' interactions with retailers or other services; based on retrieving and processing information from retailers or other services related to such interactions, such as to identify data to be used with particular recommendation strategies and/or to identify particular recommendation strategies based on automatically learned types of relationships between items; based on users' interactions with the MSPR system to select particular items or otherwise provide feedback specific to particular items and/or to relationships between particular items, such as based on series of selections of recommended items or in other manners; etc.), to generate some or all of the product information 324, etc. Additional details related to various operations of embodiments of the MSPR system and an associated MSPR service are included elsewhere.
- It will be appreciated that computing
systems MSPR system 340 may in some embodiments be distributed in additional modules. Similarly, in some embodiments some of the functionality of theMSPR system 340 may not be provided and/or other additional functionality may be available. - It will also be appreciated that, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software modules and/or systems may execute in memory on another device and communicate with the illustrated computing systems via inter-computer communication. Furthermore, in some embodiments, some or all of the systems and/or modules may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the modules, systems and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a network, or a portable media article to be read by an appropriate drive or via an appropriate connection. The systems, modules and data structures may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, the present invention may be practiced with other computer system configurations.
-
FIG. 4 is a flow diagram of an example embodiment of a UserInterface Manager routine 400. The routine may, for example, be provided by execution of an embodiment of the UserInterface Manager module 342 ofFIG. 3 and/or otherwise as part of theMSPR service 105 ofFIG. 1 , such as to facilitate providing a GUI for display on a client device of a user that includes selectable information about recommended items available from one or more retailers, and facilitate updating the displayed GUI with newly generated recommended items as the user interacts with the displayed items. In addition, in some embodiments, portions of the routine may be executed by code executing inmemory 357 on one or more of the user computer systems 350 ofFIG. 3 , with partial results being stored in thememory 357 and/orstorage 354. - The illustrated embodiment of the routine begins in
block 405, where the routine provides one or more Web pages for display on a client device of the user, with the Web page(s) enabling the user to select a subset of one or more of multiple items that are available from one or more retailers. As discussed elsewhere, in other embodiments the provided GUI may use UI screens other than via Web pages, or the routine may otherwise interact with users. Inblock 407, the routine receives an indication of a user selection or other interaction performed via the provided Web page(s). In other embodiments, the user selection or other interaction may instead be obtained in other manners, such as by having information about one or more items (e.g., a particular item, an item category, etc.) encoded in a URL that is selected by the user from a Web page that is not provided by the routine 400, or having such information otherwise provided by the user. In the illustrated embodiment, the routine then continues to block 410 to determine whether an indication of an initial selection of a subset of one or more of the multiple items has been received. As discussed elsewhere, such an initial selection may be based on, for example, an indication to browse a subset of the multiple items (e.g., by category, department), to search for an item (e.g., by name, type, description), to select a particular item, etc. If, inblock 410, it is determined that an indication of an initial selection of such a subset was received, the routine proceeds to block 415 to obtain an initial group of recommended items from the multiple items available from the one or more retailers, based at least in part on the initial selection of the subset, such as by interacting with an embodiment of theRecommendation Manager routine 500 ofFIGS. 5A-5B (described below) to request such an initial group along with information of the initial selection of the subset and to obtain the initial group of recommended items in response to the request. - In
block 420, the routine then optionally retrieves product information associated with the initial obtained group of recommended items, such as product information that may be provided for display to the user. For example, in some embodiments, such product information may include images and/or various details related to the items (e.g., name, price, description, availability, etc). In various embodiments, the product information may be retrieved in various ways from various sources, such as directly from a retailer that provides the products (e.g., from a Web site of a retailer, from an accessible database of product information provided by a retailer of the product, etc.), from a local storage or database of such information, etc. In other embodiments, such product information may be included in the obtained group of recommended items, or may be obtained from other sources. - In
block 425, the routine then generates a Web page for displaying the initial group of recommended items to the user, optionally along with some or all of the retrieved product information. In this illustrated embodiment, the Web page is generated to include instructions that, when executed on a client device of the user, enable the user's device to retrieve and display a new group of recommended items to the user in the displayed Web page without causing the Web page to be completely reloaded, such as in response to one or more user selections of recommended items. In addition, as discussed in greater detail elsewhere, the Web page may also be generated so as to display the recommended items in accordance with relevance levels associated with the items, such as to display recommended items that have higher relevance levels more prominently than recommended items that have lower relevance levels. In addition, the Web page may also in some embodiments include functionality to enable a client to interactively initiate a purchase of a recommended item, to obtain additional information or details related to a recommended item, to indicate feedback regarding a recommended item, etc. Inblock 430, the generated Web page is then transmitted or otherwise provided to the user's device for display to the user. In other embodiments, rather than generate and transmit a Web page inblocks - If it is instead determined in
block 410 that an indication of an initial selection was not received, the routine continues to block 435 to determine whether an indication of a selection of a previously displayed recommended item is received. For example, such an indication may be received based upon execution of an instruction previously provided with a Web page generated inblock 425 that was initiated by the user selecting the recommended item from the displayed Web page. If such an indication of an item selection is received, the routine continues to block 440 to obtain a new group of recommended items from the multiple items available from the one or more retailers, based at least in part on the selection of the recommended item, such as by interacting with an embodiment of theRecommendation Manager routine 500 ofFIGS. 5A-5B (described below). For example, the routine 400 may request such a new group of recommended items, with the request including information indicative of the selection, and obtain the new group of recommended items in response to the request. Inblock 445, the routine then optionally retrieves product information associated with the new group of recommended items, such as in a manner similar to that ofblock 420. Inblock 450, the routine then transmits information about the new group of recommended items for display on the user's device, such as to update the display of a previously provided Web page on the user's device. In other embodiments, a new Web page or other UI screen may instead be generated and sent to the user's client device for display, such as in a manner similar to that ofblocks - If it is instead determined in
block 435 that an indication of a selection of a previously displayed recommended item is not received, the routine continues instead to block 460 to optionally perform one or more other indicated actions as appropriate. In various embodiments, such other actions may include, for example, determining and providing to the user a new group of recommended items based on aggregate behavior of some or all customers of one or more retailers (e.g., top selling products, hot products, etc.), determining and providing to the user a new group of recommended items based on a received indication of another type of user interaction (e.g., an item rejection, an item de-selection, a user-provided rating or other feedback, etc.); determining and providing to the user additional information regarding a previously displayed recommended item (e.g., product details), such as based on a received indication of a user request for such additional information; initiating or otherwise facilitating a purchase of a recommended item, such as based on a received instruction from the user; etc. - After
blocks block 407. For example, in some embodiments, such information may be stored and included as part of information that reflects prior interactions of multiple users with multiple items, such as for later use in one or more product recommendation strategies. In addition, in some embodiments, such information may also or instead be stored in association with the user who performed the interactions, such as for use in providing item recommendations to the particular user in future sessions based at least in part on the user's personal previous interactions (e.g., using such personal previous interactions to determine preferences of the user). - After
block 465, the routine continues to block 498 to determine whether the routine is to continue, such as until an explicit indication to terminate is received. If the routine determines to continue, the routine returns to block 407 to await the next indication of user selection, and otherwise the routine ends inblock 499. By returning to block 407, the user may successively select displayed product recommendations or otherwise interact with information about displayed product recommendations, such as part of an ongoing interactive recommendation exploration session in which the user may make a series of multiple current product recommendation selections that each further refine the relevance of the next group of recommended items for the user. -
FIGS. 5A-5B are a flow diagram of an example embodiment of aRecommendation Manager routine 500. The routine may, for example, be provided by execution of theRecommendation Manager module 344 ofFIG. 3 and/or otherwise as part of theMSPR service 105 ofFIG. 1 , such as to determine and provide item recommendations based on multiple recommendation strategies and various current information. In addition, in some embodiments, portions of the routine may be executed by code executing inmemory 357 on one or more of the user computer systems 350 ofFIG. 3 , with partial results being stored in thememory 357 and/orstorage 354. In this illustrated embodiment, the routine determines an initial group of recommended items in a first manner, and determines subsequent groups of recommended items in a second manner, but in other embodiments may operate in other manners. For example, in other embodiments, the routine may instead determine initial and subsequent groups of recommended items in a single manner, such as to determine a new group of recommended items for each received indication of one or more selected items. - The illustrated embodiment of the routine begins in
block 505, where the routine retrieves information reflecting previous interactions of multiple users with multiple items available from one or more retailers. Inblock 510, the routine then analyzes the retrieved information to determine data for use in one or more of multiple recommendation strategies, such as to identify popular items and/or various relationships between items and/or various relationships between users and their patterns of interactions with items, etc. In some embodiments, such data may be stored in a database or other storage medium for later use in various recommendation strategies, and/or the routine inblock 510 may instead retrieve such previously generated and stored information rather than perform a current analysis. - In
block 520, the routine then receives information and/or a request. In this illustrated embodiment, at least some requests may include information related to user interactions (e.g., an indication of a user selection of one or more items, such as previously recommended items or other items) and/or other information that may be used as part of determining items from multiple available items of one or more retailers to recommend to a user. - In
block 525, the routine determines whether a request for a determined group of item recommendations has been received, and if so continues to block 530 to determine whether the request is for an initial group of recommended items, such as based on information received with the request indicating an initial selection of a subset of one or more items of the multiple items. If so, the routine continues to block 535 to determine an initial recommendation strategy to use for determining the initial group of recommended items from the multiple items available from the one. or more retailers. In some embodiments, the initial recommendation strategy may be predetermined (e.g., based at least in part on the initial subset of one or more items), such as to use a strategy that recommends items that are currently popular (e.g., the top 100 items purchased within the past month), or may instead be dynamically determined, such as based on which of multiple possible strategies currently provides the most results, etc. In addition, in some embodiments, one or more recommendation strategies may be more or less appropriate (or not appropriate at all) depending on the initial selection of the subset of one or more items, and in such embodiments, the initial recommendation strategy may be selected for use based on such considerations of appropriateness. In other embodiments, the initial recommendation strategy may include multiple recommendation strategies for use in determining an initial group of recommended items, such as is discussed with respect to blocks 565-575. - After an initial recommendation strategy is determined in
block 535, the routine continues to block 540 to determine an initial group of recommended items based on the determined initial recommendation strategy and the initial selection of the subset of the one or more items, as well as the analyzed information reflecting the previous interactions of multiple users with multiple items. In various embodiments, various other types of information and/or indications may be used to determine the initial group of recommended items, including user preferences. In block 545, the routine then optionally determines relevance levels for the recommended items in the determined group, although in other embodiments, such relevance levels may be determined as part of determining the group of recommended items in block 540 (e.g., some recommendation strategies may inherently include rankings or weightings which may be used as relevance levels), or instead may not be used. Inblock 550, the routine then provides information about the determined group of recommended items to the requestor. - If it is instead determined in
block 530 that the request for a determined group of recommended items is not based on an initial selection, the routine continues instead to block 560 to determine whether the request for the determined group of recommended item is based on the selection of a previously recommended item. If so, the routine continues to block 565 to determine multiple recommendation strategies to use in recommending additional items to the user. Inblock 570, the routine determines, for each of at least some of the determined multiple recommendation strategies, a group of recommended items from the multiple items available from the one or more retailers, using the initial selection of the subset of one or more items, the current selected recommended item and optionally other recommended items selected as part of a current ongoing interaction session, and the analyzed information that reflects previous interactions of multiple users. In some embodiments, as part of the determining for a particular recommendation strategy, the various recommended items in the group for that strategy may be given a corresponding relevance level, such as a ranking, weighting, or other score. - In
block 575, a new group of recommended items is determined by aggregating recommended items of the groups determined inblock 570, and optionally the recommended items of one or more previously determined groups as well. The previously determined groups may include, for example, an initial group determined inblock 540 and/or other groups previously determined inblock 575. As described elsewhere, the results of multiple recommendation strategies may be combined in various ways in various embodiments to form a new group of recommended items, such as to include all of the items from the various groups determined inblock 570, to include a subset of the items from the various groups determined inblock 570, etc. The routine then continues to block 545, and optionally determines relevance levels for each of the recommended items in the determined group (e.g., by aggregating relevance levels determined for particular items by particular recommendation strategies in block 570), and continues to block 550. - If it is instead determined in
block 560 that the request received inblock 520 is not related to a selected recommended item, the routine continues to block 580 to optionally determine a new group of recommended items based on other indicated information. For example, in various embodiments, the routine may determine a new group of recommended items based on an indication that a user has removed or de-selected a previously selected item, based on an indication of user feedback with respect to one or more items, etc. Afterblock 580, the routine continues to block 545 to optionally determine relevance levels for the recommended items in such a new group, and then to block 550. - If it is instead determined in
block 525 that a request for a determined group of item recommendations has not been received, the routine continues instead to block 595 to optionally perform one or more other actions as appropriate. For example, in some embodiments, such other actions may include updating the information reflecting previous interactions of multiple users with multiple items and performing the analysis of such updated information (e.g., as described respectively with respect toblocks 505 and 510), providing information about previously determined recommended items, etc. - After
blocks block 599. -
FIG. 6 is a flow diagram of an example embodiment of a ClientDevice Display routine 600. The routine may, for example, be provided as part of an application executing on a client computing system or device of auser 140 ofFIG. 1 and/or by execution of the browser orother software 358 ofFIG. 3 . - The illustrated embodiment of the routine begins in
block 610, where in response to a user instruction or other indication, the routine retrieves a Web page provided as part of a GUI of an embodiment of the MSRP service, such as by interacting with an embodiment of the UserInterface Manager routine 400 ofFIG. 4 . The indication to retrieve the Web page may be, for example, the result of a user navigating to a Web site of the MSRP service or of a retailer that the MSRP service supports (e.g., by entering or selecting a corresponding URL), the result of an automatically generated indication to retrieve such a Web page on behalf of the user, etc. Inblock 615, the routine then displays the retrieved Web page to the user. Such a display may include one or more user-selectable controls that allow the user to select or otherwise indicate one or more items available from one or more retailers, such as described elsewhere. - In
block 620, the routine receives an indication of a user interaction with the displayed Web page. The routine continues to block 625 to determine whether the received user interaction is an initial selection of a subset of one or more items, and if so continues to block 630 to send an indication of the initial selection to an embodiment of the MSPR service (e.g., to the UserInterface Manager routine 400 ofFIG. 4 ) to obtain an initial group of recommended items that may be determined based at least in part on the initial selection of the subset. Inblock 635, the routine receives a corresponding Web page for displaying the initial group of recommended items determined by the MSPR service, and inblock 640 displays the Web page. The received Web page may include instructions for retrieving and displaying an additional group of recommended items, such as in response to a selection of an initially displayed recommended item by the user, without causing the entire received Web page to be reloaded. The display of the Web page may, for example, display the recommended items in such a manner that items with higher associated relevance levels are displayed more prominently than items with lower associated relevance levels, such as described elsewhere. In some embodiments, the displayed Web page may also include functionality that allows the user to perform other actions, such as to initiate a purchase of a recommended item, view details or other information associated with a recommended item, indicate feedback related to an item, etc. - If it is instead determined in
block 625 that the user interaction is not an initial selection of a subset of one or more items, the routine continues to block 645 to determine whether the user interaction is a selection of a previously displayed recommended item, such as a recommended item displayed in an initial group inblock 635 and/or in another previously displayed group of recommended items. If so, the routine continues to block 650, and sends an indication of the selected recommended item to the MSPR service in order to obtain a new group of recommended items, such as may be determined based at least in part on the selected recommended item. For example, in this illustrated embodiment, the routine may send the indication to an embodiment of the UserInterface Manager routine 400 ofFIG. 4 . Inblock 655, the routine receives information of a new group of recommended items, and inblock 660 uses the information of the new group to modify the displayed Web page to include recommended items from the new group without reloading the entire Web page, such as in accordance with instructions included in the previously displayed Web page. - If it was instead determined in
block 645 that the user interaction is not a selection of a recommended item, the routine instead continues to block 665 to optionally perform one or more other actions as appropriate. For example, in various embodiments, such actions may include initiating a purchase of a displayed recommended item; obtaining information or other details related to a displayed recommended item; facilitating removal or de-selection of previously selected items; obtaining various types of user-provided feedback, etc., and at least some such actions may cause a new group of recommended items to be obtained from the MSPR service and displayed in a manner similar to blocks 650-660 and/or cause a currently displayed group of recommended items to be otherwise modified or updated in various ways (e.g., adding or removing items, reordering displayed items); etc. - After
blocks block 699. - Those skilled in the art will also appreciate that in some embodiments the functionality provided by the routines discussed above may be provided in alternative ways, such as being split among more routines or consolidated into fewer routines. Similarly, in some embodiments illustrated routines may provide more or less functionality than is described, such as when other illustrated routines instead lack or include such functionality respectively, or when the amount of functionality that is provided is altered. In addition, while various operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel, or synchronous or asynchronous) and/or in a particular order, those skilled in the art will appreciate that in other embodiments the operations may be performed in other orders and in other manners. Those skilled in the art will also appreciate that the data structures discussed above may be structured in different manners, such as by having a single data structure split into multiple data structures or by having multiple data structures consolidated into a single data structure. Similarly, in some embodiments illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.
- From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims and the elements recited therein. In addition, while certain aspects have been discussed in specific terms such as to be described as processes and/or systems and/or are presented below in certain claim forms, the inventors contemplate the various aspects of the invention in any available claim form, including methods, systems, computer-readable mediums on which are stored executable instructions or other contents to cause a method to be performed and/or on which are stored one or more data structures, computer-readable generated data signals transmitted over a transmission medium and on which such executable instructions and/or data structures have been encoded, etc.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/826,458 US20180082350A1 (en) | 2009-03-31 | 2017-11-29 | Generating display information using a dynamically selected strategy |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/415,896 US8244564B2 (en) | 2009-03-31 | 2009-03-31 | Multi-strategy generation of product recommendations |
US13/584,611 US20120310771A1 (en) | 2009-03-31 | 2012-08-13 | Generation of product recommendations using a dynamically selected strategy |
US14/845,126 US20150379612A1 (en) | 2009-03-31 | 2015-09-03 | Multi-strategy generation of product recommendations |
US15/826,458 US20180082350A1 (en) | 2009-03-31 | 2017-11-29 | Generating display information using a dynamically selected strategy |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/845,126 Continuation US20150379612A1 (en) | 2009-03-31 | 2015-09-03 | Multi-strategy generation of product recommendations |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180082350A1 true US20180082350A1 (en) | 2018-03-22 |
Family
ID=42785393
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/415,896 Active 2031-01-30 US8244564B2 (en) | 2009-03-31 | 2009-03-31 | Multi-strategy generation of product recommendations |
US13/584,611 Abandoned US20120310771A1 (en) | 2009-03-31 | 2012-08-13 | Generation of product recommendations using a dynamically selected strategy |
US14/845,126 Abandoned US20150379612A1 (en) | 2009-03-31 | 2015-09-03 | Multi-strategy generation of product recommendations |
US15/826,458 Abandoned US20180082350A1 (en) | 2009-03-31 | 2017-11-29 | Generating display information using a dynamically selected strategy |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/415,896 Active 2031-01-30 US8244564B2 (en) | 2009-03-31 | 2009-03-31 | Multi-strategy generation of product recommendations |
US13/584,611 Abandoned US20120310771A1 (en) | 2009-03-31 | 2012-08-13 | Generation of product recommendations using a dynamically selected strategy |
US14/845,126 Abandoned US20150379612A1 (en) | 2009-03-31 | 2015-09-03 | Multi-strategy generation of product recommendations |
Country Status (2)
Country | Link |
---|---|
US (4) | US8244564B2 (en) |
WO (1) | WO2010114790A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200272439A1 (en) * | 2019-02-27 | 2020-08-27 | International Business Machines Corporation | Dynamic adjustment of graphical user interfaces in response to learned user preferences |
Families Citing this family (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306872B2 (en) | 2008-08-08 | 2012-11-06 | Nikon Corporation | Search supporting system, search supporting method and search supporting program |
US9100614B2 (en) * | 2008-10-31 | 2015-08-04 | Echostar Technologies L.L.C. | Graphical interface navigation based on image element proximity |
CN101408964B (en) * | 2008-11-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | The foreground category method of adjustment of e-commerce website and device |
US8244564B2 (en) * | 2009-03-31 | 2012-08-14 | Richrelevance, Inc. | Multi-strategy generation of product recommendations |
US20190026812A9 (en) * | 2009-04-20 | 2019-01-24 | 4-Tell, Inc | Further Improvements in Recommendation Systems |
US10269021B2 (en) | 2009-04-20 | 2019-04-23 | 4-Tell, Inc. | More improvements in recommendation systems |
US8448136B2 (en) * | 2009-06-25 | 2013-05-21 | Intuit Inc. | Creating a composite program module in a computing ecosystem |
JP5744869B2 (en) * | 2009-08-11 | 2015-07-08 | サムワンズ グループ インテレクチュアル プロパティー ホールディングス プロプライエタリー リミテッドSomeones Group Intellectual Property Holdings Pty Ltd. | Choice network navigation |
US9396485B2 (en) * | 2009-12-24 | 2016-07-19 | Outbrain Inc. | Systems and methods for presenting content |
GB2475473B (en) * | 2009-11-04 | 2015-10-21 | Nds Ltd | User request based content ranking |
US20110145108A1 (en) * | 2009-12-14 | 2011-06-16 | Magnus Birch | Method for obtaining information relating to a product, electronic device, server and system related thereto |
US20110145163A1 (en) * | 2009-12-15 | 2011-06-16 | Narendra Kumar Kurra | Provision of seller profile |
US8751516B1 (en) * | 2009-12-22 | 2014-06-10 | Douglas Tak-Lai Wong | Landing page search results |
US10713666B2 (en) * | 2009-12-24 | 2020-07-14 | Outbrain Inc. | Systems and methods for curating content |
US8266014B1 (en) | 2010-01-07 | 2012-09-11 | Amazon Technologies, Inc. | Method and medium for creating a ranked list of products |
US8423420B1 (en) | 2010-01-07 | 2013-04-16 | Amazon Technologies, Inc. | Method and media for duplicate detection in an electronic marketplace |
US9189811B1 (en) | 2010-01-07 | 2015-11-17 | Amazon Technologies, Inc. | Electronic marketplace recommendations |
US8364559B1 (en) | 2010-01-07 | 2013-01-29 | Amazon Technologies, Inc. | Method, medium, and system of recommending a substitute item |
US8515889B2 (en) | 2010-03-23 | 2013-08-20 | Ebay Inc. | Systems and methods for trend aware self-correcting entity relationship extraction |
US20110307294A1 (en) * | 2010-06-10 | 2011-12-15 | International Business Machines Corporation | Dynamic generation of products for online recommendation |
US8266018B2 (en) | 2010-06-28 | 2012-09-11 | Amazon Technologies, Inc. | Methods and apparatus for managing tote orders |
US8219463B2 (en) | 2010-06-28 | 2012-07-10 | Amazon Technologies, Inc. | Methods and apparatus for returning items via a tote delivery service |
US8266017B1 (en) * | 2010-06-28 | 2012-09-11 | Amazon Technologies, Inc. | Methods and apparatus for providing recommendations and reminders to tote delivery customers |
US8175935B2 (en) | 2010-06-28 | 2012-05-08 | Amazon Technologies, Inc. | Methods and apparatus for providing multiple product delivery options including a tote delivery option |
US8156013B2 (en) | 2010-06-28 | 2012-04-10 | Amazon Technologies, Inc. | Methods and apparatus for fulfilling tote deliveries |
US8583502B2 (en) * | 2010-07-16 | 2013-11-12 | Yahoo! Inc. | Value maximizing recommendation systems |
US20120078906A1 (en) * | 2010-08-03 | 2012-03-29 | Pankaj Anand | Automated generation and discovery of user profiles |
US8521661B2 (en) * | 2010-08-16 | 2013-08-27 | Facebook, Inc. | Suggesting connections to a user based on an expected value of the suggestion to the social networking system |
US9679305B1 (en) * | 2010-08-29 | 2017-06-13 | Groupon, Inc. | Embedded storefront |
CN102402757A (en) * | 2010-09-15 | 2012-04-04 | 阿里巴巴集团控股有限公司 | Method and device for providing information, and method and device for determining comprehensive relevance |
WO2012051583A1 (en) * | 2010-10-15 | 2012-04-19 | Ness Computing, Inc. | A computer system and method for analyzing data sets and providing personalized recommendations |
US20120095862A1 (en) * | 2010-10-15 | 2012-04-19 | Ness Computing, Inc. (a Delaware Corportaion) | Computer system and method for analyzing data sets and generating personalized recommendations |
US20120130860A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Reputation scoring for online storefronts |
US8589242B2 (en) | 2010-12-20 | 2013-11-19 | Target Brands, Inc. | Retail interface |
US8606652B2 (en) * | 2010-12-20 | 2013-12-10 | Target Brands, Inc. | Topical page layout |
US8606643B2 (en) | 2010-12-20 | 2013-12-10 | Target Brands, Inc. | Linking a retail user profile to a social network user profile |
US8515819B2 (en) * | 2011-01-13 | 2013-08-20 | Crucs Holdings, Llc | Identifying products and services based on a budget |
US20130238467A1 (en) * | 2011-01-13 | 2013-09-12 | Rakuten, Inc. | Object display server, object display method, object display program, and computer-readable recording medium for storing the program |
US9753630B1 (en) | 2011-03-18 | 2017-09-05 | Amazon Technologies, Inc. | Card stack navigation |
US8401911B1 (en) | 2011-03-22 | 2013-03-19 | Google Inc. | Display of popular, in-stock products of a merchant |
US20120246029A1 (en) * | 2011-03-25 | 2012-09-27 | Ventrone Mark D | Product comparison and selection system and method |
US20140372248A1 (en) * | 2011-04-04 | 2014-12-18 | Google Inc. | Cross-referencing comments |
US20120259851A1 (en) * | 2011-04-11 | 2012-10-11 | Google Inc. | Aggregation of conversion paths utilizing user interaction grouping |
US20120278127A1 (en) * | 2011-04-28 | 2012-11-01 | Rawllin International Inc. | Generating product recommendations based on dynamic product context data and/or social activity data related to a product |
US8661403B2 (en) * | 2011-06-30 | 2014-02-25 | Truecar, Inc. | System, method and computer program product for predicting item preference using revenue-weighted collaborative filter |
US20130018708A1 (en) * | 2011-07-14 | 2013-01-17 | Enpulz, Llc | Seller interface supporting seller terms definition for a demand driven promotion system |
US8655907B2 (en) | 2011-07-18 | 2014-02-18 | Google Inc. | Multi-channel conversion path position reporting |
WO2013013093A1 (en) | 2011-07-20 | 2013-01-24 | Ness Computing, Inc. | Method and apparatus for quickly evaluating entities |
US9189551B2 (en) | 2011-07-20 | 2015-11-17 | Opentable. Inc. | Method and apparatus for category based navigation |
US8959450B2 (en) | 2011-08-22 | 2015-02-17 | Google Inc. | Path explorer visualization |
US9177341B2 (en) | 2011-08-23 | 2015-11-03 | Amazon Technologies, Inc. | Determining search relevance from user feedback |
US8903817B1 (en) * | 2011-08-23 | 2014-12-02 | Amazon Technologies, Inc. | Determining search relevance from user feedback |
US8650252B2 (en) * | 2011-09-28 | 2014-02-11 | Facebook, Inc. | Instantaneous recommendation of social interactions in a social networking system |
US8626601B2 (en) * | 2011-09-29 | 2014-01-07 | Electronic Commodities Exchange, L.P. | Methods and systems for providing an interactive communication session with a remote consultant |
US20130085894A1 (en) * | 2011-09-30 | 2013-04-04 | Jimmy Honlam CHAN | System and method for presenting product information in connection with e-commerce activity of a user |
US8890827B1 (en) | 2011-10-05 | 2014-11-18 | Google Inc. | Selected content refinement mechanisms |
US9305108B2 (en) | 2011-10-05 | 2016-04-05 | Google Inc. | Semantic selection and purpose facilitation |
US8825671B1 (en) | 2011-10-05 | 2014-09-02 | Google Inc. | Referent determination from selected content |
US9032316B1 (en) | 2011-10-05 | 2015-05-12 | Google Inc. | Value-based presentation of user-selectable computing actions |
US8878785B1 (en) | 2011-10-05 | 2014-11-04 | Google Inc. | Intent determination using geometric shape input |
US8838583B1 (en) * | 2011-10-05 | 2014-09-16 | Amazon Technologies, Inc | Diversity within search results |
US9652556B2 (en) * | 2011-10-05 | 2017-05-16 | Google Inc. | Search suggestions based on viewport content |
US8713028B2 (en) * | 2011-11-17 | 2014-04-29 | Yahoo! Inc. | Related news articles |
US20130179252A1 (en) * | 2012-01-11 | 2013-07-11 | Yahoo! Inc. | Method or system for content recommendations |
JP5880101B2 (en) * | 2012-02-10 | 2016-03-08 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US8453058B1 (en) * | 2012-02-20 | 2013-05-28 | Google Inc. | Crowd-sourced audio shortcuts |
US20130282473A1 (en) * | 2012-03-01 | 2013-10-24 | Brenda Holtzclaw | Systems and methods for identifying special promotion opportunities in a saving and pre-pay system |
CN103377193B (en) * | 2012-04-13 | 2018-02-16 | 阿里巴巴集团控股有限公司 | Information providing method, web page server and web browser |
US9141192B2 (en) * | 2012-06-26 | 2015-09-22 | Kallidus, Inc. | Interactive digital catalogs for touch-screen devices |
US20140006282A1 (en) * | 2012-06-27 | 2014-01-02 | Mastercard International Incorporated | Methods and systems for connecting multiple merchants to an interactive element in a web page |
US9268458B1 (en) * | 2012-08-08 | 2016-02-23 | Amazon Technologies, Inc. | Generating media trials based upon media consumption |
US10419556B2 (en) | 2012-08-11 | 2019-09-17 | Federico Fraccaroli | Method, system and apparatus for interacting with a digital work that is performed in a predetermined location |
US11184448B2 (en) | 2012-08-11 | 2021-11-23 | Federico Fraccaroli | Method, system and apparatus for interacting with a digital work |
US20140068450A1 (en) | 2012-08-31 | 2014-03-06 | Ebay Inc. | Personalized Curation and Customized Social Interaction |
CN103679494B (en) * | 2012-09-17 | 2018-04-03 | 阿里巴巴集团控股有限公司 | Commodity information recommendation method and device |
US20140089124A1 (en) * | 2012-09-26 | 2014-03-27 | Google Inc. | Dynamic Product Content Generation |
US8881209B2 (en) | 2012-10-26 | 2014-11-04 | Mobitv, Inc. | Feedback loop content recommendation |
US20140129661A1 (en) * | 2012-11-06 | 2014-05-08 | Somas THYAGARAJA | Smart Web Notifications |
US8527306B1 (en) * | 2012-11-12 | 2013-09-03 | State Farm Mutual Automobile Insurance Company | Automation and security application store suggestions based on claims data |
US8533144B1 (en) | 2012-11-12 | 2013-09-10 | State Farm Mutual Automobile Insurance Company | Automation and security application store suggestions based on usage data |
CN103810216B (en) * | 2012-11-15 | 2018-08-10 | 北京京东尚科信息技术有限公司 | Article display mark sort method and server |
US8863162B2 (en) * | 2012-12-03 | 2014-10-14 | At&T Intellectual Property I, L.P. | System and method of content and merchandise recommendation |
US9418379B2 (en) * | 2012-12-21 | 2016-08-16 | W.W. Grainger, Inc. | System and method for providing access to product information and related functionalities |
US20140180798A1 (en) * | 2012-12-26 | 2014-06-26 | Richrelevance, Inc. | Contextual selection and display of information |
US20170011444A1 (en) * | 2013-01-31 | 2017-01-12 | Lf Technology Development Corporation Limited | Intelligent Purchasing Systems and Methods |
US20140244423A1 (en) * | 2013-02-28 | 2014-08-28 | Linkedin Corporation | Dynamic ranking of products for presentation to users |
US9449106B2 (en) | 2013-03-08 | 2016-09-20 | Opentable, Inc. | Context-based queryless presentation of recommendations |
US9117239B2 (en) | 2013-03-13 | 2015-08-25 | Reno Acquisitions, Llc | Method and system for generating a data grid interface to monitor and recommend relevant products |
US20140279189A1 (en) * | 2013-03-13 | 2014-09-18 | Dynamite Data, Llc | Method and system for monitoring and recommending relevant products |
US11222346B2 (en) | 2013-03-15 | 2022-01-11 | Commerce Signals, Inc. | Method and systems for distributed signals for use with advertising |
EP2973040A1 (en) | 2013-03-15 | 2016-01-20 | NIKE Innovate C.V. | Product presentation assisted by visual search |
US10771247B2 (en) | 2013-03-15 | 2020-09-08 | Commerce Signals, Inc. | Key pair platform and system to manage federated trust networks in distributed advertising |
US20140358629A1 (en) * | 2013-05-31 | 2014-12-04 | Gurudatta Horantur Shivaswamy | Competitive pricing platform and managed inventory repository |
CN104217334A (en) * | 2013-06-05 | 2014-12-17 | 北京京东尚科信息技术有限公司 | Product information recommendation method, device and system |
WO2014201042A1 (en) * | 2013-06-10 | 2014-12-18 | Opentable, Inc. | Providing personalized recommendations relating to group actions |
CN104239020A (en) | 2013-06-21 | 2014-12-24 | Sap欧洲公司 | Decision-making standard driven recommendation |
US10290037B2 (en) * | 2013-06-24 | 2019-05-14 | Rakuten, Inc. | List presentation device, list presentation method, and program |
US10430809B2 (en) * | 2013-06-28 | 2019-10-01 | Rakuten, Inc. | Information processing apparatus and information processing method for modifying a list associated with a user |
US20150046281A1 (en) * | 2013-08-12 | 2015-02-12 | Gurudatta Horantur Shivaswamy | Product suggestions for related items |
CN104598095A (en) * | 2013-10-31 | 2015-05-06 | 富泰华工业(深圳)有限公司 | Interface icon updating system and interface icon updating method |
US9639889B2 (en) * | 2013-12-23 | 2017-05-02 | Ebay Inc. | Discovery engine storefront |
US9558180B2 (en) * | 2014-01-03 | 2017-01-31 | Yahoo! Inc. | Systems and methods for quote extraction |
US10503357B2 (en) | 2014-04-03 | 2019-12-10 | Oath Inc. | Systems and methods for delivering task-oriented content using a desktop widget |
USD760791S1 (en) | 2014-01-03 | 2016-07-05 | Yahoo! Inc. | Animated graphical user interface for a display screen or portion thereof |
US9742836B2 (en) | 2014-01-03 | 2017-08-22 | Yahoo Holdings, Inc. | Systems and methods for content delivery |
US9940099B2 (en) * | 2014-01-03 | 2018-04-10 | Oath Inc. | Systems and methods for content processing |
USD760792S1 (en) | 2014-01-03 | 2016-07-05 | Yahoo! Inc. | Animated graphical user interface for a display screen or portion thereof |
US9971756B2 (en) | 2014-01-03 | 2018-05-15 | Oath Inc. | Systems and methods for delivering task-oriented content |
USD775183S1 (en) | 2014-01-03 | 2016-12-27 | Yahoo! Inc. | Display screen with transitional graphical user interface for a content digest |
US10373227B2 (en) * | 2014-12-11 | 2019-08-06 | Facebook, Inc. | Method and system for providing product advice recommendation |
US20150220948A1 (en) * | 2014-02-05 | 2015-08-06 | Ntn Buzztime, Inc. | On-site election method and apparatus |
US9531651B1 (en) * | 2014-02-13 | 2016-12-27 | Google Inc. | Methods for displaying notifications |
KR102270953B1 (en) * | 2014-08-22 | 2021-07-01 | 삼성전자주식회사 | Method for display screen in electronic device and the device thereof |
US20160063548A1 (en) * | 2014-08-29 | 2016-03-03 | Facebook, Inc. | Selecting Alternative Content Based on Content Presented to a User of an Online System |
USD761833S1 (en) | 2014-09-11 | 2016-07-19 | Yahoo! Inc. | Display screen with graphical user interface of a menu for a news digest |
US11250081B1 (en) * | 2014-09-24 | 2022-02-15 | Amazon Technologies, Inc. | Predictive search |
US9400780B2 (en) | 2014-10-17 | 2016-07-26 | International Business Machines Corporation | Perspective data management for common features of multiple items |
US20160110778A1 (en) * | 2014-10-17 | 2016-04-21 | International Business Machines Corporation | Conditional analysis of business reviews |
US9817903B2 (en) * | 2014-11-25 | 2017-11-14 | Ebay Inc. | Methods and systems for social network based content recommendations |
US9977815B2 (en) * | 2014-12-22 | 2018-05-22 | Sap Se | Generating secured recommendations for business intelligence enterprise systems |
US10489463B2 (en) * | 2015-02-12 | 2019-11-26 | Microsoft Technology Licensing, Llc | Finding documents describing solutions to computing issues |
KR20150035877A (en) * | 2015-02-25 | 2015-04-07 | 네이버 주식회사 | Method, system and recording medium for transaction processing using real time conversation |
US20160267426A1 (en) * | 2015-03-10 | 2016-09-15 | International Business Machines Corporation | Early reservation of managed inventory |
US20160292769A1 (en) * | 2015-03-31 | 2016-10-06 | Stitch Fix, Inc. | Systems and methods that employ adaptive machine learning to provide recommendations |
US11769119B1 (en) * | 2015-04-15 | 2023-09-26 | Allstate Insurance Company | Autonomous car repair |
US20160321741A1 (en) * | 2015-04-30 | 2016-11-03 | Wal-Mart Stores, Inc. | System and method of module-based website data organization |
US10198749B1 (en) * | 2015-06-15 | 2019-02-05 | Amazon Technologies, Inc. | Providing recommended items |
US20180225739A1 (en) * | 2015-07-31 | 2018-08-09 | Piksel, Inc. | Recommendation system |
US10332117B2 (en) * | 2015-08-13 | 2019-06-25 | Newstore, Inc. | System and method for mobile device self-checkout for retail transactions with loss protection |
EP3360102A4 (en) * | 2015-10-08 | 2019-04-10 | Drinks Holdings, Inc. | Wine label affinity system and method |
US10282431B1 (en) * | 2015-12-18 | 2019-05-07 | A9.Com, Inc. | Image similarity-based group browsing |
CN105550923A (en) * | 2015-12-23 | 2016-05-04 | 阿里巴巴集团控股有限公司 | Method and apparatus for displaying network products on product shelf |
US20170206582A1 (en) * | 2016-01-15 | 2017-07-20 | Target Brands, Inc. | Generating a user interface for recommending products |
US10832304B2 (en) | 2016-01-15 | 2020-11-10 | Target Brands, Inc. | Resorting product suggestions for a user interface |
US10311507B2 (en) * | 2016-01-20 | 2019-06-04 | Accenture Global Solutions Limited | Reconfigurable user interface for product analysis |
EP3436967A4 (en) * | 2016-03-30 | 2019-08-21 | C-B4 Context Based Forecasting Ltd | System, method and computer program product for data analysis |
US11113659B2 (en) * | 2016-08-19 | 2021-09-07 | Stitch Fix, Inc. | Systems and methods for improving recommendation systems |
AU2017316544A1 (en) * | 2016-08-21 | 2019-01-31 | Etoro Group Ltd. | Broker chat bot |
US10332331B2 (en) | 2016-10-14 | 2019-06-25 | Pepsico, Inc. | Modular vending machine |
WO2018108100A1 (en) * | 2016-12-16 | 2018-06-21 | Master Dynamic Limited | System and process for design of wearable articles and accessories |
US11062356B2 (en) | 2017-08-08 | 2021-07-13 | Digiprint Ip Llc | System and method for tag based upselling |
US10580026B2 (en) | 2017-08-07 | 2020-03-03 | Digiprint Ip Llc | In store upselling |
US11348162B2 (en) | 2017-03-17 | 2022-05-31 | Digiprint Ip Llc | Acquiring additional products from a provider |
US10134077B2 (en) | 2017-03-17 | 2018-11-20 | Digiprint Ip Llc | Upselling offerings to customers |
US11157953B2 (en) | 2017-08-08 | 2021-10-26 | Digiprint Ip Llc | Method and apparatus for linking to an upsell system via a tag |
US20190019158A1 (en) * | 2017-07-13 | 2019-01-17 | Linkedln Corporation | Quality evaluation of recommendation service |
US10438095B2 (en) * | 2017-08-04 | 2019-10-08 | Medallia, Inc. | System and method for cascading image clustering using distribution over auto-generated labels |
US20190066186A1 (en) * | 2017-08-24 | 2019-02-28 | Artivatic Data Labs Private Limited | Cross domain recommendation system and method |
KR101983635B1 (en) * | 2017-09-22 | 2019-05-29 | 정우주 | A method of recommending personal broadcasting contents |
US20190095961A1 (en) * | 2017-09-22 | 2019-03-28 | Facebook, Inc. | Applying a trained model for predicting quality of a content item along a graduated scale |
CN107679211B (en) * | 2017-10-17 | 2021-12-28 | 百度在线网络技术(北京)有限公司 | Method and device for pushing information |
US10896224B2 (en) * | 2017-11-21 | 2021-01-19 | Oracle International Corporation | System and method for determining and displaying a list of suggested search items for a search field based on prior user interaction |
TWI642022B (en) * | 2017-11-24 | 2018-11-21 | 財團法人工業技術研究院 | Device and method for selecting building products |
US10922737B2 (en) * | 2017-12-22 | 2021-02-16 | Industrial Technology Research Institute | Interactive product recommendation method and non-transitory computer-readable medium |
US10885536B2 (en) | 2018-02-01 | 2021-01-05 | Ebay Inc. | Garnering interest on potential listing in a photo or video |
CN108416482B (en) * | 2018-04-03 | 2021-08-03 | 浙江工业大学 | Logistics distribution path planning method based on regional multiple strategies |
US11199943B2 (en) | 2018-04-06 | 2021-12-14 | Allstate Insurance Company | Processing system having a machine learning engine for providing a selectable item availability output |
US11635877B2 (en) | 2018-04-06 | 2023-04-25 | Allstate Insurance Company | Processing system having a machine learning engine for providing a selectable item availability output |
USD855061S1 (en) | 2018-04-16 | 2019-07-30 | Allstate Insurance Company | Display screen with graphical user interface |
USD855060S1 (en) | 2018-04-16 | 2019-07-30 | Allstate Insurance Company | Display screen with graphical user interface |
USD855062S1 (en) | 2018-04-16 | 2019-07-30 | Allstate Insurance Company | Display screen with graphical user interface |
USD854552S1 (en) | 2018-04-16 | 2019-07-23 | Allstate Insurance Company | Display screen with animated graphical user interface |
US10650386B2 (en) * | 2018-08-30 | 2020-05-12 | International Business Machines Corporation | Network usage detection and presentation |
CN110874737B (en) * | 2018-09-03 | 2024-06-18 | 京东科技控股股份有限公司 | Payment mode recommendation method and device, electronic equipment and storage medium |
CN109739972A (en) * | 2018-12-27 | 2019-05-10 | 上海连尚网络科技有限公司 | A kind of novel recommended method and equipment |
GB201911756D0 (en) * | 2019-08-16 | 2019-10-02 | Subfiber Oue | Selecting items from a database |
US20210049666A1 (en) * | 2019-08-16 | 2021-02-18 | Subfiber OÜ | System and method for dynamically displaying images on electronic displays according to machine-learned patterns |
CN110688571A (en) * | 2019-09-20 | 2020-01-14 | 北京字节跳动网络技术有限公司 | List stream implementation method and device, electronic equipment and storage medium |
US11422675B1 (en) * | 2020-03-30 | 2022-08-23 | Amazon Technologies, Inc. | Multi-level strategy-based dynamic content generation |
US11216867B2 (en) * | 2020-05-01 | 2022-01-04 | Meta Platforms, Inc. | Arranging information describing items within a page maintained in an online system based on an interaction with a link to the page |
CN111612580A (en) * | 2020-05-18 | 2020-09-01 | 深圳市分期乐网络科技有限公司 | Method, device and equipment for recommending articles and storage medium |
KR102345986B1 (en) * | 2021-02-19 | 2022-01-03 | 쿠팡 주식회사 | Method and electronic device for providing information on item |
GR1010678B (en) * | 2022-03-21 | 2024-04-26 | My Company Projects Ο.Ε., | Method for automatically converting purchase data history derived from electronic stores into clear signal and training a deep machine learining meural network to produce recommendations for consumers |
US11935085B1 (en) * | 2022-09-06 | 2024-03-19 | Adobe Inc. | Electronic shopping cart prediction and caching of electronic shopping cart computations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734641B2 (en) * | 2007-05-25 | 2010-06-08 | Peerset, Inc. | Recommendation systems and methods using interest correlation |
US7809601B2 (en) * | 2000-10-18 | 2010-10-05 | Johnson & Johnson Consumer Companies | Intelligent performance-based product recommendation system |
US8244564B2 (en) * | 2009-03-31 | 2012-08-14 | Richrelevance, Inc. | Multi-strategy generation of product recommendations |
US9015596B1 (en) * | 2008-03-28 | 2015-04-21 | Amazon Technologies, Inc. | Facilitating access to functionality via displayed information |
US20190114689A1 (en) * | 2017-10-13 | 2019-04-18 | Midea Group Co., Ltd. | Method and system for providing personalized on-location information exchange |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963867B2 (en) * | 1999-12-08 | 2005-11-08 | A9.Com, Inc. | Search query processing to provide category-ranked presentation of search results |
US6601075B1 (en) * | 2000-07-27 | 2003-07-29 | International Business Machines Corporation | System and method of ranking and retrieving documents based on authority scores of schemas and documents |
US7107224B1 (en) * | 2000-11-03 | 2006-09-12 | Mydecide, Inc. | Value driven integrated build-to-buy decision analysis system and method |
US20020103692A1 (en) * | 2000-12-28 | 2002-08-01 | Rosenberg Sandra H. | Method and system for adaptive product recommendations based on multiple rating scales |
US7406436B1 (en) * | 2001-03-22 | 2008-07-29 | Richard Reisman | Method and apparatus for collecting, aggregating and providing post-sale market data for an item |
US7313536B2 (en) * | 2003-06-02 | 2007-12-25 | W.W. Grainger Inc. | System and method for providing product recommendations |
US8103540B2 (en) * | 2003-06-05 | 2012-01-24 | Hayley Logistics Llc | System and method for influencing recommender system |
US20050289018A1 (en) | 2004-06-07 | 2005-12-29 | Todd Sullivan | Online personalized apparel design and sales technology with associated manufacturing and fulfillment techniques and processes |
US20070294127A1 (en) * | 2004-08-05 | 2007-12-20 | Viewscore Ltd | System and method for ranking and recommending products or services by parsing natural-language text and converting it into numerical scores |
US7899756B2 (en) * | 2004-12-01 | 2011-03-01 | Xerox Corporation | Critical parameter/requirements management process and environment |
US20080059281A1 (en) * | 2006-08-30 | 2008-03-06 | Kimberly-Clark Worldwide, Inc. | Systems and methods for product attribute analysis and product recommendation |
JP5312771B2 (en) | 2006-10-26 | 2013-10-09 | 株式会社エム・シー・エヌ | Technology that determines relevant ads in response to queries |
US7860862B2 (en) * | 2006-10-27 | 2010-12-28 | Yahoo! Inc. | Recommendation diversity |
US20080215416A1 (en) | 2007-01-31 | 2008-09-04 | Collarity, Inc. | Searchable interactive internet advertisements |
US7878390B1 (en) * | 2007-03-28 | 2011-02-01 | Amazon Technologies, Inc. | Relative ranking and discovery of items based on subjective attributes |
US20080288348A1 (en) * | 2007-05-15 | 2008-11-20 | Microsoft Corporation | Ranking online advertisements using retailer and product reputations |
US20080306819A1 (en) * | 2007-06-08 | 2008-12-11 | Yahoo! Inc. | System and method for shaping relevance scores for position auctions |
US8073741B2 (en) * | 2007-06-27 | 2011-12-06 | Jemstep, Inc. | Method, device, and system for analyzing and ranking web-accessible data targets |
US8260787B2 (en) * | 2007-06-29 | 2012-09-04 | Amazon Technologies, Inc. | Recommendation system with multiple integrated recommenders |
-
2009
- 2009-03-31 US US12/415,896 patent/US8244564B2/en active Active
-
2010
- 2010-03-29 WO PCT/US2010/029024 patent/WO2010114790A1/en active Application Filing
-
2012
- 2012-08-13 US US13/584,611 patent/US20120310771A1/en not_active Abandoned
-
2015
- 2015-09-03 US US14/845,126 patent/US20150379612A1/en not_active Abandoned
-
2017
- 2017-11-29 US US15/826,458 patent/US20180082350A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809601B2 (en) * | 2000-10-18 | 2010-10-05 | Johnson & Johnson Consumer Companies | Intelligent performance-based product recommendation system |
US7734641B2 (en) * | 2007-05-25 | 2010-06-08 | Peerset, Inc. | Recommendation systems and methods using interest correlation |
US9015596B1 (en) * | 2008-03-28 | 2015-04-21 | Amazon Technologies, Inc. | Facilitating access to functionality via displayed information |
US8244564B2 (en) * | 2009-03-31 | 2012-08-14 | Richrelevance, Inc. | Multi-strategy generation of product recommendations |
US20190114689A1 (en) * | 2017-10-13 | 2019-04-18 | Midea Group Co., Ltd. | Method and system for providing personalized on-location information exchange |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200272439A1 (en) * | 2019-02-27 | 2020-08-27 | International Business Machines Corporation | Dynamic adjustment of graphical user interfaces in response to learned user preferences |
Also Published As
Publication number | Publication date |
---|---|
US20100250336A1 (en) | 2010-09-30 |
US20120310771A1 (en) | 2012-12-06 |
WO2010114790A1 (en) | 2010-10-07 |
US8244564B2 (en) | 2012-08-14 |
US20150379612A1 (en) | 2015-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180082350A1 (en) | Generating display information using a dynamically selected strategy | |
US11640408B2 (en) | Search guidance | |
US11295374B2 (en) | Multilevel silhouettes in an online shopping environment | |
US8626602B2 (en) | Consumer shopping and purchase support system and marketplace | |
US10423999B1 (en) | Performing personalized category-based product sorting | |
US20180239781A1 (en) | Automatically obtaining real-time, geographically-relevant product information from heterogeneus sources | |
US8965788B2 (en) | Search page topology | |
US9043351B1 (en) | Determining search query specificity | |
US8577753B1 (en) | Community-based shopping profiles | |
US9460464B2 (en) | Systems and methods for displaying items | |
US7878390B1 (en) | Relative ranking and discovery of items based on subjective attributes | |
US9984150B2 (en) | Category management and analysis | |
US9817846B1 (en) | Content selection algorithms | |
US20100318425A1 (en) | System and method for providing a personalized shopping assistant for online computer users | |
US20120054059A1 (en) | Size mapping in an online shopping environment | |
US20120215664A1 (en) | Epurchase model | |
US11756088B2 (en) | Displaying listings based on listing activity | |
US20210334848A1 (en) | Publishing information for available products and services within private networks | |
US10747400B1 (en) | Shaping a relevance profile for engagement | |
US10748159B1 (en) | Contextual analysis and control of content item selection | |
WO2021108229A1 (en) | Clustered user browsing missions for products with user‑selectable options associated with the products | |
WO2013188106A1 (en) | Methods and systems for a digital interface for displaying retail search results | |
JP2013210964A (en) | Information providing apparatus, information processing method, program, information storage medium, and information providing system | |
US20140136364A1 (en) | Configuring and displaying interaction information within user interfaces | |
US10185982B1 (en) | Service for notifying users of item review status changes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: WESTERN ALLIANCE BANK, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:RICHRELEVANCE, INC.;REEL/FRAME:047469/0001 Effective date: 20180831 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
AS | Assignment |
Owner name: RICHRELEVANCE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SELINGER, DAVID LEE;DECOURCEY, MICHAEL JAMES;FISH, RANDALL STUART;AND OTHERS;REEL/FRAME:053580/0061 Effective date: 20090729 |
|
AS | Assignment |
Owner name: RICHRELEVANCE, INC., CALIFORNIA Free format text: TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:WESTERN ALLIANCE BANK;REEL/FRAME:054771/0857 Effective date: 20201030 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |