Generating trend-based item recommendations

Disclosed are various embodiments for generating recommendations for one or more items related to a topic of interest. In one embodiment, one or more items are identified that are related to one or more topics of ephemeral interest. A subset of the identified items may be selected to recommend to a plurality of users. One or more users may then be sent a notification comprising the recommendations for one or more of the items in the subset.

BACKGROUND

Certain topics or events, such as, natural disasters or new clothing styles, capture the attention of people for a limited span of time. A variety of items may be associated with such events or topics, such as, books on disaster relief and trendy articles of clothing.

DETAILED DESCRIPTION

Various embodiments of the present disclosure relate to generating recommendations for items related to one or more topics of interest. For instance, identifying one or more topics of interest and determining items that are related to the topics of interest may be beneficial to a seller because such items may be more in demand by customers. To this end, in one embodiment, the content of various network sites may be analyzed to determine one or more topics of interest. For each of the topics of interest, one or more items related to the topic may be selected to present as a recommendation to a user. In another embodiment, recommendations for one or more items may be based upon one or more topics of interest associated with a target geography selected by a user. To this end, the topics of interest associated with the target geography may be identified, and one or more items related to those topics may be recommended for purchase to the user. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.

With reference toFIG. 1, shown is a networked environment100according to various embodiments. The networked environment100includes a computing device103, a client106, and a network109. The network109includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.

The computing device103may comprise, for example, a server computer or any other system providing computing capability. Alternatively, a plurality of computing devices103may be employed that are arranged, for example, in one or more server banks or computer banks or other arrangements. For example, a plurality of computing devices103together may comprise a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement. Such computing devices103may be located in a single installation or may be distributed among many different geographical locations. For purposes of convenience, the computing device103is referred to herein in the singular. Even though the computing device is referred to in the singular, it is understood that a plurality of computing devices103may be employed in the various arrangements as described above.

Various applications and/or other functionality may be executed in the computing device103according to various embodiments. Also, various data is stored in a data store112that is accessible to the computing device103. The data store112may be representative of a plurality of data stores as can be appreciated. The data stored in the data store112, for example, is associated with the operation of the various applications and/or functional entities described below.

The components executed on the computing device103, for example, include an electronic commerce system115and other applications, services, processes, systems, engines, or functionality not discussed in detail herein. The electronic commerce system115may include various components, such as, a topics recommendation application118, an item recommendation application121, a network page encoder124, and potentially other applications and/or processes.

The electronic commerce system115is executed in order to facilitate the online purchase of items over the network109. The electronic commerce system115also performs various back-end functions associated with the online presence of a merchant in order to facilitate the online purchase of items. For example, the electronic commerce system115may generate various network pages157, using the network page encoder124, such as web pages or other types of network content that are provided to clients106for the purposes of selecting items for purchase, rental, download, lease, or any other forms of consumption as can be appreciated. Alternatively, a mobile application may be executed in a client106to generate and render user interfaces using data served up by the computing device103and/or other servers. To this end, when rendered, network pages157generate a user interface as can be appreciated.

The application118is executed to analyze online content, such as, for example, user sourced content on various network sites and determines one or more topics of interest as will be described. In another embodiment, the application118may be configured to gather additional data for each of the topics of interest as will be described.

The item recommendation application121is executed to generate recommendations for items related to one or more topics of interest identified by the application118. In another embodiment, the item recommendation application121may be configured to generate recommendations for items based upon data associated with one or more users, one or more items, and potentially other data as will be described.

The data stored in the data store112includes, for example, a catalog130of items133, user accounts141, topics of interest149, and potentially other data. Associated with each of the items133is item metadata136, and potentially other data. The item metadata136comprises information about each of the items133in the catalog130useful in searching the items133, such as, for example, item titles, item images, item descriptions, item prices, item categories, and potentially other data.

Associated with each user account141is, for example, user account data143, a purchase history145, a browse history147, and potentially other data associated with a user. The user account data143may include information about a user and their user account141, such as, for example, name, address, payment instruments, billing information, account settings, passwords, security credentials, and geographical data associated with the user, and potentially other data. The purchase history145may include data related to a history of items133purchased through the electronic commerce system115by the user. The browse history147may comprise data that relates to a history of browsing for items133by the user through the electronic commerce system115.

The topics of interest149comprise one or more topics or events associated with a high level of public interest. Each of the topics of interest149may be associated with one or more geographic areas151, and potentially other data. The geographic areas151may comprise information about one or more geographical locations related to each of the topics of interest149, such as, for example, a listing of geographical regions, zip codes, counties, cities, and/or any other indicators of geographical areas as can be appreciated.

The client106is representative of a plurality of client devices that may be coupled to the network109. The client106may comprise, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, game consoles, or other devices with like capability.

The client106may be configured to execute various applications such as a browser155and/or other applications, such as, for example, email applications, instant message applications, and/or other applications. The browser155may be executed in a client106, for example, to access and render network pages157, such as web pages, or other network content served up by the computing device103and/or other servers. Alternatively, a mobile application may be executed in a client106to generate and render user interfaces using data served up by the computing device103and/or other servers. To this end, when rendered, network pages157generate a user interface as can be appreciated.

Next, a general description of the operation of the various components of the networked environment100is provided. To begin, the application118identifies online content within a predetermined period of time, such as, for instance, postings by users on social networking sites within the last seven days or news stories on one or more news network sites within the last twenty-four hours. The application118may then analyze the terms and concepts included in such content to identify one or more topics of interest149. For instance, the application118may identify a topic of interest149if the frequency and occurrence of these terms meets a predefined threshold. In one embodiment, the predefined threshold may vary depending on the type of source being used to identify a topic of interest149.

As a non-limiting example, assume the application118may be configured to analyze terms and phrases in postings on a social networking site, such as, for instance, Twitter®, where the predetermined period of time is the last seven days, and where the predefined threshold is five-hundred. Further assume that the sentence “watching the world series!”, or a similar variation thereof that includes the phrase “world series”, has been recently posted by over seven-hundred users on Twitter® within the last seven days. In this example, the application118may parse each of these postings and identify “World Series” as a topic of interest149currently associated with a high level of public interest.

Additionally, the application118may be configured to detect whether a topic of interest149is increasing and/or decreasing in popularity by comparing a level of interest expressed by users at different point in time. For instance, in the example above, assume that the “World Series” topic of interest149appeared in 10,000 Twitter® postings generated by users. Further assume that, after a period of time, the “World Series” topic of interest149appeared in 20,000 Twitter® postings generated by users. In this case, the system115may determine that the “World Series” topic of interest149is increasing in popularity because the level of interest expressed by Twitter® users is increasing.

Further, the application118may be configured to generate a notification to, for instance, a supplier if a topic of interest149is increasing or decreasing in popularity. To this end, the notification may put the supplier on notice that the demand for one or more items133relating to the topic interest149may increase or decrease accordingly. For instance, upon receiving a notification that a topic of interest149is increasing in popularity, a supplier may prepare its warehouses for a possible surge in demand of the items133associated with the topic of interest149.

In another non-limiting example, upon receiving a notification that a topic of interest149may be or soon will be increasing in popularity, a supplier may increase the supply of one or more items133relating to the topic of interest149at one or more fulfillment centers or retail locations. In one embodiment, the supplier may increase the supply of such items133at a fulfillment center or retail location that is, for instance, proximate to a location associated with the topic of interest149.

In another embodiment, the application118may be configured to identify one or more topics of interest149by evaluating popular search terms input by users into various search engines within a predetermined period of time and associated with a predefined threshold. As a non-limiting example, assume that a search term comprises the words “presidential debate” has been input by thousands of users within the last week. In this example, the application118may identify “Presidential Debate” as a topic of interest149.

In yet another embodiment, the application118may be configured to identify one or more topics of interest149from a listing of the most popular news events identified by one or more news network sites within a predefined period of time. As a non-limiting example, suppose a news network site comprises a list of the day's most popular current events that are associated with a high level of media coverage and/or public attention. In this example, the application118may identify one or more topics of interest149from the list of popular events identified by new network sites.

Additionally, the application118may use various metrics to identify a topic of interest149, such as, for instance, monetary values. As a non-limiting example, suppose a network site comprises a list of movies playing in movie theatres and the amount of money each movie has earned at the box office. In this example, the application118may identify a movie associated with the highest earnings as a topic of interest149.

Further, in another embodiment, the application118may be configured to identify one or more topics of interest149based upon an individual's interest in certain topics. For instance, assume that a user's browsing history147indicates that the user is viewing various items133and/or network pages157relating to a particular subject matter. In this example, the application118may identify such subject matter as a topic of interest149associated with that particular user.

In addition to identifying one or more topics of interest129, the application118may further identify one or more geographic areas151associated with each of the identified topics of interest149. In one embodiment, the application118may be configured to search the subject matter of network sites associated with a topic of interest149in order to identify one or more geographic indicators, such as, for example, a listing of geographic areas, zip codes, countries, cities and/or any other indicator. For instance, the subject matter of a network site associated with a topic of interest149may reference New Orleans, La. To this end, the application118may identify New Orleans, or the entire state of Louisiana as the geographical area151associated with this topic of interest149. In another embodiment, the application118may identify one or more geographical areas151related to a topic of interest149from a listing, a database, a look-up table, and/or some other indicator.

Upon identifying one or more topics of interest149and/or geographical areas151associated with each of the topics of interest149, the item recommendation application121may identify items133related to each of the topics of interest149. To do so, the item recommendation application121identifies one or more items133associated with a topic of interest149based at least in part upon identifying correlations between one or more terms associated with a topic of interest and one or more keywords associated with each of the items133. For instance, the item recommendation application121may extract one or more terms from a topic of interest149. As a non-limiting example, suppose the application118has identified “Seattle Mariners Win World Series” as a topic of interest149. In this example, the item recommendation application121may extract the terms “Seattle”, “Mariners” and/or “World Series” in order to identify items133associated with this topic of interest129.

In another embodiment, the item recommendation application121may identify one or more items133related to a topic of interest149from a listing, a database, a look-up table, and/or any data structure that indicates a correlation between an item133and a topic of interest149. To this end, in the example above, the item recommendation application121may identify items133related to the Mariners and/or World Series, such as, books on the Mariners, DVDs on the World Series, Mariners t-shirts, and/or other items133that are related to this topic of interest149.

In one embodiment, the item recommendation application121may also identify secondary items that are associated with a topic of interest149. For instance, using the example above, the item recommendation application121may identify binoculars for watching baseball games, or a folding table and chairs for tailgating as secondary items associated with the “Seattle Mariners Win World Series” topic of interest149.

Upon identifying items133related to a topic of interest149, the item recommendation application121may select a subset of the items133associated with the topic of interest149to present as item recommendations to one or more users based upon, for example, data associated with each of the items133, such as, sales data, customer reviews, and potentially any other relevant information. For example, the item recommendation application121may select three of the items133related to a topic of interest149having the highest number of sales to present as item recommendations to one or more users.

In another embodiment, the item recommendation application121may select the items133related to a topic of interest149based upon information associated with a user, such as, for example, a purchase history145, a browse history147, and the like. For instance, assume that the items133associated with a topic of interest149include paperback books and electronic books. In this example, if a user has previously purchased an electronic book reader, such as, a KINDLE™, then the item recommendation application121may present the electronic books instead of the paperback books to recommend to the user.

Thereafter, the item recommendation application121may generate item recommendations for the selected items133. The item recommendation application121communicates these recommendations to one or more users in a variety of ways. For example, the item recommendation application121may post recommendations for the items133on one or more network sites, such as, for example, a social networking site. In another embodiment, the item recommendation application121may transmit a notification to one or more users that include the recommendations via an electronic communication, such as, for instance, email, text message, social networking message, an automated phone message, or any other form of electronic communication as can be appreciated.

In one embodiment, the item recommendation application121may implement various promotions for each of the items133presented as item recommendations based upon, for instance, whether the topic of interest149is increasing or decreasing in popularity. For instance, suppose that the application118has identified the movie “Twilight” as a topic of interest149that is decreasing in popularity. In this example, the item recommendation application121may decrease the price for each of the recommended items133relating to the Twilight movie. To this end, as a topic of interest149decreases in popularity, the item recommendation application121may facilitate selling more of the items133relating to the topic of interest149in order to, for instance, prevent excess inventory.

As described above, the item recommendation application121may provide one or more recommendations for items133relating to a topic of interest149to one or more users. In some cases, a user may send a request to the electronic commerce system115for topics of interest149associated with target geography. Upon receiving the target geography, the item recommendation application121may identify one or more geographic areas151that fall within the target geography.

In one embodiment, a user of a client106may optionally indicate a target geography on a map, in a listing, and/or indicate one or more geographical areas151in any other way. In another embodiment, one or more geographic areas151within a target geography are stored on a map, in a look-up table, a database, and/or any other way. As a non-limiting example, the specified target geography may be a country, such as, for instance, the United States, or another country. In this example, the item recommendation application121identifies one or more geographic areas151that correspond to this target geography, such as, for instance, each state in the United States.

Having identified one or more geographic areas151, the item recommendation application121then identifies one or more topics of interest129associated with the geographic areas151. To do so, in one embodiment, the item recommendation application121may search the geographical areas151associated with each of the topics of interest149identified by the application118. In another embodiment, the topics of interest149occurring within each geographic area151are stored on a map, in a look-up table, a database, on a calendar, and/or any other way. For instance, in the above example, the item recommendation application121may determine that the topics of interest149include, for example, the Presidential debate, the World Series, and/or other topics of interest149that are associated with the geographic areas151within the United States.

Upon identifying the topics of interest149associated with a target geography identified by a user, the item recommendation application121may generate and transmit a list of one or more topics of interest149identified by the application118that are associated with the identified geographical areas151to a user. The user of the client106may then request recommendations for one or more items133by selecting one of the topics of interest129. Upon receiving the request, the item recommendation application115identifies one or more items133associated with the topic of interest149as described above

Referring next toFIG. 2, shown is a flowchart that provides one example of the operation of a portion of the application118executed on the computing device103according to various embodiments. It is understood that the flowchart ofFIG. 2provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the application118as described herein. As an alternative, the flowchart ofFIG. 2may be viewed as depicting an example of the steps of a method implemented in the computing device103(FIG. 1) according to one or more embodiments.

According to one embodiment, the application118periodically, or in response to some other trigger, identifies one or more topics of interest149(FIG. 1) associated with a high level of public interest and/or one or more geographic areas151(FIG. 1) associated with each of the topics of interest149. As described above, the item recommendation application121may recommend one or more items133associated with each of the topics of interest149.

To this end, beginning at box203, the application118identifies one or more topics of interest149for which to generate one or more item recommendations. The application118may then identify one or more topics of interest149using a variety of techniques. For example, the application118performs semantic analysis on the content of various network sites within a predetermined period of time and meeting a predefined threshold in order to identify one or more topics149as described above.

Next, at box205, the application118identifies one or more geographical areas151that are associated with each of the topics of interest149identified in box203. Lastly, in box207, the application118stores each of the identified topics of interest149and the geographic areas151associated with each of the topics of interest149in data store112(FIG. 1). Thereafter, the portion of the application118ends.

Moving ontoFIG. 3, shown is a flowchart that provides one example of the operation of a portion of the item recommendation application121executed on the computing device103according to various embodiments. It is understood that the flowchart ofFIG. 3provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the item recommendation application121as described herein. As an alternative, the flowchart ofFIG. 3may be viewed as depicting an example of the steps of a method implemented in the computing device103(FIG. 1) according to one or more embodiments.

According to one embodiment, the item recommendation application121generates recommendations for one or more items133(FIG. 1) based at least in part on one or more topics of interest149(FIG. 1) identified by the application118(FIG. 1). For example, the item recommendation application121may recommend items133related to the occurrence of one or more current events.

Beginning with box303, in one embodiment, the item recommendation application118extracts one or more search terms associated with each of the topics of interest149identified by the application118. Next, in box305, the item recommendation application121identifies one or more items133that are related to each of the topics of interest149. In one embodiment, the item recommendation application121may use the search terms that are associated with a topic of interest149to search item metadata136in order to identify correlations between an item133and a topic of interest149. In another embodiment, the item recommendation application121may identify items133that are related to a topic of interest149from a listing, a database, a look-up table, a map, and/or any other data structure that indicates a correlation between an item133and a topic of interest149.

Next, in box307, the item recommendation application121selects a subset of the items133that are related to each of the topics of interest149to present as recommendations to one or more users based upon, for example, data associated with each of the items, information associated with one or more users, one or more scores generated for each of the items133, and/or potentially other information. Thereafter, in box309, the item recommendation application121generates recommendations for the subset of items133associated with a topic of interest149. Lastly, in box311, the item recommendation application121electronically provides the recommendations for the subset of items133to one or more users of the client106via email, text message, social networking message, or any other form of electronic communication as described above. Alternatively, the item recommendation application121may provide the recommendations for the subset of item133to a requesting process. Thereafter, the portion of the item recommendation application121ends.

Referring next toFIG. 4, shown is one example of a network page157rendered for display on the client106(FIG. 1) in the networked environment ofFIG. 1. In one embodiment, the network page157may comprise a map in order for a user to identify a target geography and identify one or more topics of interest149associated with the target geography according to various embodiments of the present disclosure. The various graphical components such as blocks comprising different information shown inFIG. 4are merely examples of the various types of features that may be used to accomplish specific functions noted. The network page157is rendered on a display device, or a dedicated application associated with the client106according to various embodiments.

In one embodiment, the item recommendation application121(FIG. 1) transmits a graphical representation of a map401for a user to identify a target geography. Upon selecting a target geography, the item recommendation application121may identify one or more topics of interest149associated with the geographic areas151(FIG. 1) within the target geography. The user may select a topic of interest149associated with the target geography. The item recommendation application121may then identify one or more items133(FIG. 1) related to the selected topic of interest149to present as recommendations to the user as described above. Alternatively, in one embodiment, the item recommendation application121filters other sources to identify the topics of interest149associated with the target geography.

Moving on toFIG. 5, shown is a flowchart that provides one example of the operation of a portion of the item recommendation application121executed on the computing device103according to various embodiments. It is understood that the flowchart ofFIG. 5provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the item recommendation application121as described herein. As an alternative, the flowchart ofFIG. 5may be viewed as depicting an example of the steps of a method implemented in the computing device103(FIG. 1) according to one or more embodiments.

Beginning with box503, the item recommendation application121generates a map to present to a user. Next, in box505, the item recommendation application121obtains a selection of a target geography. Thereafter, in box507, the item recommendation application121generates a list of the topics of interest149(FIG. 1) associated with the geographic areas151(FIG. 1) in the target geography. Then, in box509, the item recommendation application121obtains a user selection of one of the topics of interest149associated with the geographic areas151. Subsequently, in box511, the item recommendation application121identifies one or more items133(FIG. 1) associated with the topic of interest149selected by the user. Next, in box513, the item recommendation application121selects a subset of the items133to present as recommendations. Then, in box515, the item recommendation application121generates recommendations for the subset of items133. Lastly, in box517, the item recommendation application121provides the recommendations for the subset of items133to a requesting process or a user of the client106electronically via email, text message, as a network page, and/or any other form of electronic communication as can be appreciated. Thereafter, the portion of the item recommendation application121ends as shown.

Referring now on toFIG. 6, shown is a flowchart that provides one example of the operation of a portion of the item recommendation application121executed on the computing device103according to various embodiments. It is understood that the flowchart ofFIG. 6provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the item recommendation application121as described herein. As an alternative, the flowchart ofFIG. 6may be viewed as depicting an example of the steps of a method implemented in the computing device103(FIG. 1) according to one or more embodiments.

Beginning with box601, the item recommendation application121identifies a value associated with a topic of interest149(FIG. 1). In one embodiment, the value may be computed using a variety of algorithms that identifies a quantifiable level of interest expressed by one or more users that relates to the topic of interest149. Next, in box603, the item recommendation application determines if a delay period has lapsed. If not, then the item recommendation application121returns to box603. If so, then the item recommendation application121proceeds to box605.

Assuming that the delay period is over, then in box605the item recommendation application121identifies an updated value associated with the topic of interest149. The updated value may also be computed using a variety of algorithms that identifies a quantifiable level of interest expressed by one or more users that relates to the topic of interest149after the delay period as discussed in box603above.

Thereafter, in box607, the item recommendation application121determines if the topic of interest149is decreasing or increasing in popularity. That is, the item recommendation application121may determine that a topic of interest149is increasing in popularity because user's expressions of interest relating to the topic of interest149are increasing over time. If so, the item recommendation application121ends as shown. Similarly, the item recommendation application121may determine that a topic of interest149is decreasing in popularity because user's expressions of interest that relates to the topic of interest149are decreasing over time. If so, then the item recommendation application121proceeds to box609.

In one embodiment, the item recommendation application121may determine if a popularity of the topic of interest149is increasing or decreasing based at least upon the value and the updated value obtained in box601and605respectively. Using the example above, suppose that the value and the updated value comprise the number of times the topic of interest149appears in Twitter® postings. Further assume that the value is 10,000 and the updated value is 2,000. In this example, the item recommendation application121may determine that the topic of interest149is decreasing in popularity if because users are not posting as many Twitter® postings relating to the topic of interest149.

Upon determining that the topic of interest149is decreasing in popularity, then in box609, the item recommendation application121identifies one or more promotions associated with the items133that are currently being recommended to one or more users as discussed inFIG. 3. The promotions may be for example, decreasing the price of the items133, offering free shipping of the items133, and potentially other campaigns used to facilitate selling the items133.

Thereafter, in box611, the item recommendation application121generates new recommendations for the items133based upon the identified promotion. Lastly, in box613, the item recommendation application121provides the new recommendations for the items133to a requesting process or a user of the client106electronically via email, text message, as a network page, and/or any other form of electronic communication as can be appreciated. Thereafter, the portion of the item recommendation application121ends as shown.

With reference toFIG. 7, shown is a schematic block diagram of the computing device103according to an embodiment of the present disclosure. The computing device103includes at least one processor circuit, for example, having a processor703and a memory706, both of which are coupled to a local interface709. To this end, the computing device103may comprise, for example, at least one server computer or like device. The local interface709may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.

Stored in the memory706are both data and several components that are executable by the processor703. In particular, stored in the memory706and executable by the processor703are electronic commerce application115, application118, item recommendation application121, network page encoder124, and potentially other applications. Also stored in the memory706may be a data store112and other data. In addition, an operating system713may be stored in the memory706and executable by the processor703.

It is understood that there may be other applications that are stored in the memory706and are executable by the processors703as can be appreciated. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java, Javascript, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, or other programming languages.

Also, the processor703may represent multiple processors703and the memory706may represent multiple memories706that operate in parallel processing circuits, respectively. In such a case, the local interface709may be an appropriate network109(FIG. 1) that facilitates communication between any two of the multiple processors703, between any processor703and any of the memories706, or between any two of the memories706, etc. The local interface709may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor703may be of electrical or of some other available construction.

The flowcharts ofFIGS. 2, 3, 5 and 6shows the functionality and operation of an implementation of portions of the application118and item recommendation application121. If embodied in software, each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor703in a computer system or other system. The machine code may be converted from the source code, etc. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).