Dynamic determination of media consumption

Disclosed are various embodiments for dynamically determining media consumption of a user. A user may perform at least one of a plurality of consumption indication events for a media item. The consumption indication events may include submitting a rating of the media item, submitting a review of the media item, indicating a present consumption of the media item, indicating a past consumption of the media item, etc. It may be determined that the user has consumed the media item in response to determining that the user has performed at least one of the consumption indication events for the media item.

BACKGROUND

Certain media items, such as movies, may be consumed at various outlets, such as at a movie theater. People who watch these movies may subsequently submit a rating and/or review of the movie. Similarly, people may check-in to a location where they are watching a movie via their social networking account.

DETAILED DESCRIPTION

The present disclosure relates to aggregating media consumption of a user from various sources to enhance user experiences in navigating a media database. As a non-limiting example, information about the media consumption of a user may be based on media items that have actively been purchased and/or streamed by the user over the Internet. However, a user may also consume media in various other ways. For example, the user may have watched a movie at a movie theater or listened to an album at a friend's house. In this regard, the user may indicate consumption of the media by performing various actions on sites accessible over a network. For example, the user may select a rating of the media item, the user may submit a review of the media item, the user may indicate a present consumption of the media item, or the user may indicate a past consumption of the media item. The consumption history of the user may be updated to reflect that the user has performed one of these actions indicating that the user has consumed the media item.

Various embodiments of the disclosure present content that is related to information about the consumption history of the user. Media consumption patterns may be determined based on the media item in the consumption history of the user. The user may be presented with media item that the user may have already consumed based on the media consumption patterns. The user may indicate whether the user has previously consumed the media item or not. The user may also be presented with recommendations for media items based on the media consumption patterns and the consumption history.

With reference toFIG. 1, shown is a pictorial diagram of portions of example user interfaces that may be rendered by a client according to various embodiments. As discussed above, users may perform various actions on network pages that may provide information as to whether a user has consumed a media item. In the non-limiting example ofFIG. 1, shown are example user interfaces that may be rendered by a client device in response to a user performing a consumption indication event for a media item. In particular,FIG. 1shows a rating interface103, a review interface106, a check-in interface109, a solicitation interface112, and a consumption history interface115.

According to various embodiments, the rating interface103may comprise information related to a media item whereby the user may select and/or manually enter a rating for the media item. In the non-limiting example ofFIG. 1, the user may have selected a rating of three out of five stars for the media item entitled “Street Lights.” In this way, the user has indirectly indicated consumption of the media item by rating the media item. Based on the user rating, a consumption aggregator may record that the user has consumed the media item entitled “Street Lights” in a consumption history of the user.

According to various embodiments, the review interface106may comprise information related to a media item and a component configured to receive content that expresses positive or negative preferences or feedback from a user regarding the media item. In the non-limiting example ofFIG. 1, the user may have manually entered a textual review of the media item entitled “The Magician.” The textual review may be presented in the review interface106with a corresponding rating. In this way, the user has indirectly indicated consumption of the media item by submitting a review of the media item. Based on the user review, the consumption aggregator may record that the user has consumed the media item entitled “The Magician” in the consumption history of the user.

According to various embodiments, the check-in interface109may comprise information related to a media item and a component configured to receive an indication from the user that the user is presently consuming the media item. In the non-limiting example ofFIG. 1, the user may select the “Check-In” component to generate a check-in event associated with the media item. The check-in event may indicate that the user is presently consuming the media item entitled “Drive.” In this way, the user has indirectly indicated consumption of the media item by generating a check-in event associated with the media item. Based on the user check-in event, the consumption aggregator may record that the user has consumed the media item entitled “Drive” in the consumption history of the user.

According to various embodiments, the solicitation interface112may comprise information related to a media item and a component configured to receive an indication from the user that the user has previously consumed the media item. In the non-limiting example ofFIG. 1, the user may select the component to mark the media item entitled “The Wind Rises” as previously consumed. In this way, the user has explicitly indicated consumption of the media item. Based on the user indication of past consumption, the consumption aggregator may record that the user has consumed the media item entitled “The Wind Rises” in the consumption history of the user.

In one embodiment, the consumption history interface115may present to the user a list of media items that the user has indicated as consumed from the rating interface103, the review interface106, the check-in interface109, and the solicitation interface112. In the non-limiting example ofFIG. 1, the user may be presented with a list of movies that the user has seen including the media items from the interfaces through which the user has indicated consumption of the media item.

With reference toFIG. 2, shown is a networked environment200according to various embodiments. The networked environment200includes a computing environment203in data communication with one or more clients206by way of a network209. The network209includes, 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. For example, such networks may comprise satellite networks, cable networks, Ethernet networks, and other types of networks.

Various applications and/or other functionality may be executed in the computing environment203according to various embodiments. Also, various data is stored in a data store212that is accessible to the computing environment203. The data store212may be representative of a plurality of data stores212as can be appreciated. The data stored in the data store212, for example, is associated with the operation of the various applications and/or functional users described below.

The components executed on the computing environment203, for example, include an electronic commerce system215, a consumption aggregator218, a consumption solicitor221, a recommendation engine224, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein. The electronic commerce system215is executed in order to facilitate the online purchase of media items and other items over the network209. The electronic commerce system215also performs various backend functions associated with the online presence of an organization to facilitate the online purchase of the items. For example, the electronic commerce system215may generate network pages or portions thereof that are provided to clients206for the purposes of selecting media items and/or other items for purchase, rental, download, lease, or other forms of consumption.

According to some embodiments, the consumption aggregator218is executed to obtain indications that a user has consumed a media item based on whether the user has performed at least one of a plurality of consumption indication events with regard to the media item. In this way, the consumption aggregator218may interface with one or more network pages, such as web pages or mobile applications, to facilitate obtaining indications that the user has consumed a media item. In one embodiment, the consumption aggregator218may determine that a user has submitted a rating of a media item on a rating interface103(FIG. 1), submitted a review of the media item on a review interface106(FIG. 1), checked-in the media item on a check-in interface109(FIG. 1), indicated the media item as previously consumed on a solicitation interface112(FIG. 1), and/or performed any other action that may inherently indicate that the user has consumed the media item. Thus, the consumption aggregator may determine that the user has consumed the media item presented on the rating interface103and record the consumption of the media item in the consumption history of the user.

According to various embodiments, the consumption solicitor221is executed to process consumption data in the consumption history of the user and possibly other data to identify patterns of consumption in the consumption history of the user. In one embodiment, the consumption solicitor221may first be executed to identify a pattern in the consumption history. The consumption solicitor221may then determine that a user may have consumed a suggested media item based on the pattern. In this way, the consumption solicitor221may also compute a confidence score associated with a likelihood that the user consumed the suggested media item. The consumption solicitor221may prompt the user to indicate whether the user has consumed the suggested media item based on the confidence score.

In some embodiments, the recommendation engine224is executed to process consumption data in the consumption history of the user and possibly other data to identify patterns of consumption in the consumption history of the user. In one embodiment, the recommendation engine224may generate recommendations of other media items in which the user may be interested. In one embodiment, the recommendation engine224may exclude media items in the consumption history of the user when presenting the user with recommendations of the other media items.

The data stored in the data store212includes, for example, media items227, user account data230, and potentially other data. The media items227may include various information about the media associated with each media item227. Each media item227may also include the media file233, media ratings236, media reviews239, media check-ins240, media metadata245, and potentially other data. A media file233may include a digital media file representing the media entry in one or more of various media formats. For example, the media file233associated with a media item227can include, but is not limited to, an MPEG-1 Audio Layer III (MP3 file) representing an audio track, an MPEG 4 audio file, flash video (fly file), or any audio, video, or image format in which media can be stored and/or streamed to a client206.

The media ratings236may include one or more user submitted ratings of a media item227. In one embodiment, each of the users may have submitted a rating of the media item on a scale of one to five. The media ratings236may include the rating in association with the user that submitted the rating. The media ratings may also include an overall rating of the media item, which may be computed by calculating an average of the ratings submitted by the users. In some cases, the media ratings236may be generated in third-party systems, such as, for example, in a social network. In those cases, the media ratings236may be imported from the third-party system and stored in the data store212.

The media reviews239may include one or more user submitted reviews of a media item227. The media review239may indicate positive or negative feedback regarding the media item227from the user who submitted the media review239. In some embodiments, the media reviews239may include a textual entry describing a user sentiment of the media item227. The textual entry may include a plurality of terms indicating an opinion of the media item227, an approval or disapproval of the media item227, a complex analysis of the media item227, etc. In some cases, the media reviews239may be generated in third-party environments, such as, for example, in a social network computing environment. In those cases, the media reviews239may be imported from the third-party system and stored in the data store212.

The media check-ins240may include one or more check-ins from a user indicating that the user has consumed the associated media item227. In some cases, the media check-ins240may be generated in a third-party system, such as, for example, a social network. In those cases, the media check-ins240may be imported from the third-party system and stored in the data store212.

Each media item227can also be associated with media metadata245, which can include performer information, a title, an author, a writer, a producer, a category, a genre, or any other data by which the media item227can be categorized.

The data store212may also include user account data230, which may be associated with third-party data260, consumption history265, and potentially other data. The user account data230may be associated with a user. For example, a user may include a family of four individual users, a small entity of twenty individual users, etc. The user may also be associated with the client206. In this regard, the client206may be registered as a device associated with the user account data230. The user account data230may further include, for example, user credentials, a purchase history, a browse history, a wish list, etc.

The user account data230may be associated with third-party data260, which may be associated with third-party environments, such as, for example, a social networking environment with which the user is also associated. Third-party environments may include various platforms by which users can interact and discuss media items227. In this regard, third-party data260may include information regarding the interactions and discussion of media items227performed by a user on the third-party environments. In some embodiments, information that may be used to determine whether a user has consumed a media item may be imported from such third-party environments and stored in the third-party data260.

The user account data230may also be associated with a consumption history265of the user. The consumption history265may include a log or record of media items227consumed by the user. In particular, the consumption history265may include media items227that the user has actively streamed and/or purchased via the electronic commerce system215, for example. Alternatively, the consumption history265may include media items227that the user streamed and/or purchased via a third-party environment. In addition, the consumption history265may also include media items227that the consumption aggregator218has determined to have been consumed by the user. Each of the media items227in the consumption history265may also be associated with a time of consumption (including start and/or end times), a location of the client206during the consumption, a type of client206used for the consumption, and/or other data. The consumption history265may be based upon consumption indication events290as will be described herein.

In some embodiments, the consumption history265may also include a plurality of suggested media items270. A suggested media item270may be associated with a media item227that the user may likely have seen. In one embodiment, the suggested media items270may be identified based on a consumption pattern identified in the consumption history265. Each of the suggested media items270in the consumption history265may also be associated with a confidence score268, indicating a likelihood that the user has consumed the suggested media item270.

The client206may be configured to execute various applications such as a browser274, a media player277, and/or other applications. The browser274may be executed in a client206, for example, to access network content served up by the computing environment203and/or other servers, thereby rendering a user interface280on the display271. To this end, the browser274may comprise, for example, a browser, a dedicated application, etc., and the user interface280may comprise a network page, an application screen, etc. In particular, the user interface280may be embodied as the rating interface103, the review interface106, the check-in interface109, the solicitation interface112, the consumption history interface115, and potentially any other interface related to media consumption. The client206may be configured to execute applications beyond the browser274and the media player277such as, for example, email applications, social networking applications, word processors, spreadsheets, and/or other applications.

Next, a general description of the operation of the various components of the networked environment200is provided. To begin, a user may indicate consumption of a media item227by performing at least one consumption indication event290for the media item227. The consumption indication events290may include, for example, the user submitting a media rating236for the media item227, the user submitting a media review239for the media item227, the user submitting a media check-in indicating a present consumption of the media item227, or the user indicating a previous consumption of media item227. The consumption aggregator218may determine that the user has performed at least one of the consumption indication events290. The media item227can be recorded in the consumption history265associated with the user.

In some embodiments, the consumption solicitor221may identify a consumption pattern in the consumption history265associated with the user. For example, the consumption pattern may indicate that the user has consumed a second, third, and fourth seasons of a television program. The consumption solicitor221may determine that it is likely that the user also consumed the first season of the television program. The consumption solicitor221may then determine a confidence score indicating a likelihood that the user has already viewed the first season of the television program. Based on the confidence score, the consumption solicitor221may encode for display a user interface280for display on the client206. The user interface280may include a selectable component soliciting the user as to whether the user has previously viewed season one of the television program. The user may select the component to indicate that the user has previously viewed season one of the television program. In this regard, the consumption solicitor221may identify consumption history patterns and suggest media items227based on the consumption history pattern.

According to some embodiments, the recommendation engine224may also identify consumption history patterns to recommend media items227that the user may be interested in consuming. For example, the recommendation engine224may identify that the user has already consumed several media items227in which the media metadata245indicates a similar first listed actor. In such a case, the consumption aggregator218may determine that the user has not performed any consumption indication event290associated with another media item227with the same first listed actor. Similarly, the consumption solicitor221may determine that the confidence score268associated with the other media item227with the same first listed actor may be less than a threshold level. In such a case, the recommendation engine may recommend the other media item227with the same first listed actor to the user for present consumption. Such a recommendation may therefore based upon the consumption habits of the user and the various activities the user performs with regard to media items227.

Referring next toFIG. 3, shown is a pictorial diagram of an example user interface280arendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. In the non-limiting example ofFIG. 3, the user interface280amay comprise an item description page, providing users with information about the media item227(FIG. 2), such as media data330. For example, as shown inFIG. 3, the media data330may include information about the media item227being displayed such as, for example, the synopsis, cast, crew, filming location, etc. The user interface280ashown inFIG. 3may also include the rating interface103.

The rating interface103may, for example, include selectable components through which the user can select a graphical representation of a rating of the media item227. In the example shown inFIG. 3, the user may select six out of the ten stars present on the rating interface103as the media rating236provided by the user. In such a case, the media rating236for the media item227entitled “Street Lights” may be stored as a numerical value of six. Alternatively, the user may manually enter a numerical value for the media rating236. The rating interface103may also present the overall rating333of the media item227. The overall rating333may be computed by calculating an average of the media ratings236submitted by individual users. The consumption aggregator218(FIG. 2) may determine that a user has viewed the film “Street Lights” based on the media rating236submitted by the user. The consumption aggregator218may then record consumption of the media item227associated with the film “Street Lights” in the consumption history265(FIG. 2) of the user.

Turning now toFIG. 4, shown is a pictorial diagram of an example user interface280brendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. In the non-limiting example ofFIG. 4, the user interface280bmay include an item description page, providing users with information about the media item227(FIG. 2), such as media data330. The user interface280bshown inFIG. 4may also include the review interface106.

The review interface106may, for example, include components configured to receive a media review239(FIG. 2) of the media item227. The media review239may include a title410, a location413, a description416, and potentially other components. The title410may include a short textual description of an opinion toward the media item227. In one embodiment, the title410may be no more than 600 characters. The description416may include a textual description of a sentiment and/or an approval or disapproval of the media item227. In this regard, the description416may include textual words that provide a complex analysis of the media item227. The review interface106may include components whereby a user can manually enter the title410and description416. The location413may be determined automatically and recorded with the media review239. The consumption aggregator218(FIG. 2) may determine that a user has viewed the film “The Magician” based on the media review239submitted by the user. The consumption aggregator218may then record consumption of the media item227associated with the film “The Magician” in the consumption history265(FIG. 2) of the user.

Moving on toFIG. 5, shown is a pictorial diagram of an example user interface280crendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. In the non-limiting example ofFIG. 5, the user interface280cmay comprise an item description page, providing users with information about the media item227(FIG. 2), such as media data330. The user interface280cshown inFIG. 5may also include the check-in interface109.

The check-in interface109may, for example, include a selectable component prompting a user to select the component when the user is presently consuming or about to consume a media item227. In particular, once the user selects the component via the check-in interface109, the user may have generated a media check-in240(FIG. 2) for that media item227. In the non-limiting example shown inFIG. 5, the user may have already selected the component510labelled “Check-In” to indicate that the user is presently viewing the film entitled “Drive.” In this regard, once the user has selected the component510to generate a media check-in240, the media check-in240may be stored in association with the media item227in the data store212.

Once the user has generated a media check-in240for the film, the check-in interface109may prompt the user, via component513, to share the check-in event with other users. For example, the user may check-in to see a movie at a specific movie theater on a network page associated with a media informational environment. The network page may display information related to the media items227. The network page may comprise the check-in interface109such that the user may check-in to viewing the movie and share the check-in, via component513, with other users of the media informational environment. In addition, the user may select component513to share the check-in event with other users on a third party environment associated with the user.

In one embodiment, the user may also enter a textual comment, similar to media review239, into the comment section516. The comment and the check-in event may be shared via a social media account associated with the user. In this regard, the consumption aggregator218may determine that a user has viewed the film “Drive” based on the media check-in240submitted by the user. The consumption aggregator218(FIG. 2) may then record consumption of the media item227associated with the film “Street Lights” in the consumption history265(FIG. 2) of the user.

Turning now toFIG. 6, shown is a pictorial diagram of an example user interface280drendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. In the non-limiting example ofFIG. 6, the user interface280dmay comprise an item description page, providing users with information about the media item227(FIG. 2), such as media data330. The user interface280dshown inFIG. 6may also include the solicitation interface112.

The solicitation interface112may, for example, include a component610whereby a user may select the component610to mark the media item227as previously consumed. In the non-limiting example shown inFIG. 6, the component610is embodied as a sliding button configured to receive a selection from the user that the user has previously viewed the film “The Wind Rises.” The consumption aggregator218(FIG. 2) may determine that a user has viewed the film “The Wind Rises” based on the selection indicating that the user has seen the film. The consumption aggregator218may then record consumption of the media item associated with the film “The Wind Rises” in the consumption history265(FIG. 2) of the user.

Referring next toFIG. 7, shown is a pictorial diagram of an example user interface280erendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. In the non-limiting example ofFIG. 7, the user interface280emay include a listing703of media items227(FIG. 2) in the consumption history265(FIG. 2) of the user. In a situation where a media item227is incorrectly placed in the consumption history265, the user may select to remove the media item227from the listing703via the remove component706.

The user interface280efurther comprises textual entry components such as a search component709, a consumed component712, and potentially other textual entry components. The search component709may be configured to receive textual words indicating information related to a media item227that the user believes to have consumed. For example, if the user is attempting to identify a recently consumed media item227that was directed by a certain director, the user may enter the director's name in the search component709. The user interface280emay reload the listing703to only include the media items227consumed that were directed by the searched director.

The consumed component712may be configured to receive textual titles of media items227that the user has previously consumed. The consumed component712may provide suggestions as to which media items227the user is describing in a scrollable pull-down menu. The suggested media items227presented in the pull-down menu may include media items227that are spelled similarly to the textual title input into the consumed component712. In some embodiments, the suggested media items227may be suggested based not only on the text input into the consumed component712but also based on patterns identified in the consumption history265of the user.

The user interface280emay further comprise an export component720, an import component723, a share component726, recommendations components715aand715b, advertisements729, and potentially other components. The export component720may be configured to export the listing703to a third-party environment, such as a social network. The import component723may be configured import, upon selection, for example, a consumption history265, media ratings236(FIG. 2), media reviews239(FIG. 2), media check-ins240(FIG. 2), and other consumption indication data from third-party services, such as a social media environment. For example, if a user has submitted a media review239on a social media page of a media item227, the media review239may be imported from the social media page and stored under third-party data260(FIG. 2) of the data store212(FIG. 2). The consumption aggregator218may then determine that the user has consumed the media item227based on the imported media review239and thereby update the listing703of the consumption history265to reflect the imported data.

The share component726may be configured to share the listing703with connections of the user on a social networking environment. The recommendation component715amay be configured to present the user with another listing of recommended media item227based on a pattern identified in the consumption history265. In one embodiment, the user interface280emay include the recommendation component715bthat displays a thumbnail image preview of a recommended media item227. The recommendation component715bmay interface with the electronic commerce system215(FIG. 2) through which the user may directly purchase the recommended media item227to begin consumption. In addition, the user interface280emay further comprise advertisements for products, media, and/or services via the advertisements729aand729b.

Turning toFIG. 8, shown is a pictorial diagram of an example user interface280frendered by the client206(FIG. 2) in the networked environment200ofFIG. 2according to various embodiments of the present disclosure. The user interface280fmay include a listing703of media items227(FIG. 2) in the consumption history265(FIG. 2). The user interface280fmay also include a suggested listing803of suggested media items270that a user may have consumed based on consumption patterns identified in the consumption history265. The user interface280fmay also include a confidence level806for each of the suggested media items270in the suggested listing803. The confidence level806may be associated with the confidence score268(FIG. 2) for each of the suggested media items270. In this way, the confidence level806may represent an indication of the confidence score268. For example, the confidence level806may be presented on the user interface280fin the form of a percentage level, a numerical indication, a graphical indication, etc.

In one embodiment, the suggested media items270may be displayed in the suggested listing803only if the confidence score268for each of the suggested media items227is above a threshold, as will be further described below with reference toFIG. 10. The user interface280fmay also include an add component809for each of the suggested media items270in the suggested listing803. Suppose the user has in fact previously consumed the suggested media item270. In such a situation, the user can select the add component809to add the suggested media item270to the consumption history265of the user.

In the non-limiting example ofFIG. 8, the user interface280fmay include a listing703of televisions shows and series previously seen and a listing703of movies previously seen. The user interface280fshown inFIG. 8may also include the suggested listing803of televisions shows and series the user may have seen and a listing803of movies the user may have seen. The user interface280fshown inFIG. 8may also include a suggested listing803of specific television episodes of a television series. The add component809may be configured to receive a selection from the user indicating that the user has previously seen the movie or the television show or season. The add component809may then add the suggested movie or television show or season to the consumption history265in response to receiving the selection.

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

Beginning with box903, the consumption aggregator218determines whether a user has submitted a media rating236(FIG. 2) of a media item227(FIG.2). The consumption aggregator218may determine whether a user has submitted a media rating236, for example, by searching for a media rating236submitted by the user in association with the media item227. Alternatively, the consumption aggregator218may automatically log when a user submits a media review239for a media item227under user account data230(FIG. 2). To this end, the data store212(FIG. 2) may have a record of all the media ratings236submitted by the user. The consumption aggregator218may then identify whether the user has submitted a media rating236in association with the media item227. If the consumption aggregator218determines that the user has submitted a media rating236of the media item227, the consumption aggregator218records the consumption of the media item227in the consumption history265in box906.

In box909, the consumption aggregator218determines whether the user has submitted a media review239(FIG. 2) of the media item227. For example, the consumption aggregator218may traverse the media reviews239to determine whether the user has submitted a media review239for the media item227. If the consumption aggregator218determines that the user has submitted a media review239of the media item227, the consumption aggregator218records the consumption of the media item227in the consumption history265in box906.

In box912, the consumption aggregator218determines whether the user has submitted a media check-in240(FIG. 2) for the media item227. To this end, the consumption aggregator218may search the media check-ins240to determine whether the user has submitted a media check-in240for the media item227. If the consumption aggregator218determines that the user has submitted a media check-in240of the media item227, the consumption aggregator218records the consumption of the media item227in the consumption history265in box906.

In box915, the consumption aggregator218determines whether the user has indicated that the user has previously consumed the media item227. For example, the consumption aggregator218may receive a selection from the user indicating that the user has previously consumed the media item227via at least a portion of the user interface280(FIG. 2), such as the solicitation interface depicted inFIG. 6. In addition, the consumption aggregator218may receive a textual entry of the media item227via the consumed component712(FIG. 7) of the user interface280, for example. To this end, if the consumption aggregator218determines that the user has indicated a previous consumption of the media item227, the consumption aggregator218records the consumption of the media item227in the consumption history265in box906. Thereafter, the portion of the consumption aggregator218ends.

In some embodiments, the consumption aggregator218may determine whether a user has submitted a media rating236, media review239, media check-in240, and/or otherwise indicated explicit consumption of a media item227falsely. In such a case, the consumption aggregator218may receive an indication that the user has falsely indicated consumption of the media item227. In one embodiment, consumption aggregator218may add the user to a blocked list such that the user is restricted from submitting data regarding media items227. Alternatively, consumption aggregator218may flag the user as a false entity that submits incorrect information regarding media items227.

The consumption aggregator210may be configured to identify various types of inherent indications that a user has consumed a media item227. For example, the consumption aggregator210may be configured to communicate with a global positioning unit on a client206associated with the user to determine a geolocation of a user at various times. For example, the consumption aggregator210may obtain a geolocation of the user while the user is at a movie theater location watching a movie. The consumption aggregator210may be configured to map the geolocation of the user to the exact room in the movie theater based on data stored in data store212to determine that the user is viewing a specific movie. In such a case, the consumption aggregator210may record consumption of that movie in the consumption history265of the user with a relatively high confidence score268. The consumption aggregator210may also be configured to communicate with a microphone on the client206associated with the user to extract auditory signals, such as spoken words, indicating that the user has previously consumed a media item227. It may be appreciated that the consumption aggregator210may be configured to receive various types of inherent indications that a user has consumed a media item.

With reference toFIG. 10, shown is a flowchart that provides one example of the operation of a portion of the consumption solicitor221according to various embodiments. It is understood that the flowchart ofFIG. 10provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the consumption solicitor221as described herein. As an alternative, the flowchart ofFIG. 10may be viewed as depicting an example of elements of a method implemented in the computing environment203(FIG. 1) according to one or more embodiments.

Beginning in box1003, the consumption solicitor221obtains the consumption history265(FIG. 2) of a user. In box1006, the consumption solicitor221identifies one or more consumption patterns in the consumption history265.

In this regard, the patterns of media consumption may relate to series and/or sequels of media items227. For example, it may be the case that the user has seen the second, third, and fourth season of a television series media item227. As another example, it may be the case that the user has seen all but one episode of season one of a television series. It may also be the case that a user has seen two movie media items227that are sequels of a first movie media item227that the user has not indicated as previously consumed. The patterns of media consumption may also relate to a user having consumed numerous media items227related to one person of interest. For example, it may also be the case that the user has read almost all novel media items227by a certain author. The patterns of media consumption may also relate to media items227being of the category. For example, it may be the case that the user mostly listens to music by artists categorized under a slow country music genre. In this way, the categories of the media items227may relate to tempo, frequency content, length, media type, artists, instruments, photographers, actors, genres, authors, directors, producers, and/or any other media attribute from the media metadata245(FIG. 2) that may be identified in the media consumption history265.

From the media consumption patterns, the consumption solicitor221is configured to determine the suggested media items270(FIG. 2) that are likely to have consumed by the user in box1009. As an illustrative example, the consumption solicitor221may determine that a user has seen season two and season three of a television series based on the consumption history265. In such a scenario, the consumption solicitor221may identify season one of the television series as a suggested media item270because it is likely that the user also previously viewed season one of the television series.

As another illustrative example, it may be the case that the user has seen all of the episodes of season one of a television series except for one episode. The consumption solicitor221may determine that it is likely that the user has in fact seen that episode. In such a case, the consumption solicitor221may identify that episode of season one of the television series as a suggested media item270.

Alternatively, there are situations where certain episodes of a television series, for example, the first episode, or pilot episode, of a television series is quite different from the rest of the episodes of the season and/or series. The user may have intended to skip such an episode while watching the remaining episodes of the season and/or series. In such a case, the consumption solicitor221may determine that the episode is not a candidate to be a suggested media item270. Alternatively, the consumption solicitor221may determine that the episode is a suggested media item270while assigning the episode a relatively low confidence score268.

As yet another illustrative example, the consumption solicitor221may determine that a user has searched for products, such as clothing items, that are related to a media item227on the electronic commerce system215. In this regard, the consumption solicitor221may deem it likely that the user has consumed the media item227since the user is searching and/or purchasing products related to the media item227. As such, the consumption solicitor221may then identify the media item227as a suggested media item270. The consumption solicitor221may also identify suggested media items270based on related search queries performed on third-party environments and imported into third-party data260(FIG. 2).

The consumption solicitor221may also be configured to determine the suggested media items270based at least in part on information stored in the media items227in the consumption history265. For example, the consumption solicitor221may extract pre-defined terms from the title410(FIG. 4) and/or description416(FIG. 4) of a media review239(FIG. 2) to determine whether another media item227is mentioned in the media review239. For example, users may often compare movies in a media review239to establish a sentiment toward the movie. In this regard, if a user compared movies in a media review239, it may be determined that the user has seen all of the movies mentioned in the media review239. To this end, the consumption solicitor221may traverse the text in the title410and the description416and extract text identifying another media item227. The consumption aggregator218may store the other identified media item227as a suggested media item270.

In box1012, the consumption solicitor221may calculate a confidence score268(FIG. 2) for each of the suggested media items270. As described above, the confidence score268may represent a likelihood that the user has previously consumed the media item227. In one embodiment, the confidence score may be determined by computing a weighted sum of scores for a plurality of consumption factors. The plurality of consumption factors may be based on activities a user performs with regard to certain media items227in the consumption history265of a user that suggests that the user may have consumed the certain media item227. For example, the consumption factors may include a user submitting a media rating236, media review239, and/or media check-in240associated with a suggested media item270. In addition, the consumption factors may include determining that a suggested media item270is within the same genre category as one of the media items227in the consumption history265. The consumption factors may also include determining that a plurality of users that have consumed the suggested media item270have also consumed at least one other media item227in the consumption history265of a user.

In some embodiments, each of the consumption factors may be pre-determined and associated with a constant weighting value. In one embodiment, the confidence score268may be calculated, for example, as follows:
zn=(c1+c2+ . . . +cn)+ϵ
where znis the confidence score268for a particular suggested media item270, cnare positive weighting values for each of the consumption factors whose sum is one, and ϵ is a variable representing noise. The cn, or positive weighting values may correspond to one or more consumption factors, consumption patterns, or other factors, used to identify the suggested media item270. Suppose that the consumption solicitor221determines a consumption pattern based on a threshold count of media items270being identified in the consumption history265as being part of the same genre. The similar genre consumption pattern may, for example, correspond to a first weighting value. To calculate the confidence level806(FIG. 8) to be displayed on a user interface280, such as the user interface280shown inFIG. 8, the confidence score268may be multiplied by a constant value to obtain a percentage indicating the confidence level806.

In addition, continuing with the example in which the consumption solicitor221identified season one of the television series as the suggested media item270, the consumption pattern associated with other seasons being identified in the consumption history may correspond to a second weighting value. If the consumption solicitor221also identifies season one as a suggested media item270based on a consumption pattern, such as a genre similarity, then season one of the television series would also be associated with the second weighting value. In such a case, the confidence score268(FIG. 2) associated with season one of the television series may be a sum of the first weighting value and the second weighting value multiplied by a constant value.

Once the confidence score268for the suggested media item270has been determined, the consumption solicitor221may determine whether the confidence score268for the suggested media item270meets a pre-defined threshold in box1015. Suppose that the consumption solicitor identifies the pre-defined threshold to be a value of 0.95. The consumption solicitor221may then compare the confidence score268to the pre-defined threshold. If the confidence score268is above the pre-defined threshold, the consumption solicitor221may record consumption of suggested media item270in the consumption history265, in box1018. If the confidence score268is on or below the threshold, the consumption solicitor221may solicit consumption of the suggested media item270in box1021. For example, the consumption solicitor221may solicit consumption by encoding for display at least a portion of the user interface280, such as, for example the solicitation interface112. As another illustrative example, the consumption solicitor221may also solicit consumption of the suggested media item270by encoding for display a user interface280comprising the listing803and corresponding add component809shown inFIG. 8.

In box1024, the consumption solicitor221determines if the user indicates a previous consumption of the media item227. For example, the consumption solicitor221may receive a selection via the user interface280indicating that the user has previously consumed the suggested media item270. In box1018, the consumption solicitor221determined that the user indicated a previous consumption of the suggested media item270and records the consumption of the suggested media item270in the consumption history265. Thereafter, the portion of the consumption solicitor221ends.

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

Beginning in box1103, the recommendations engine224identifies the consumption history265(FIG. 2) of the user to be used in generating a recommendation. After which, in box1106, the recommendations engine224identifies one or more consumption patterns in the consumption history265, in a manner similar to that described above with reference to box1006inFIG. 10. Once the consumption pattern is identified, the recommendations engine224, in box1109, generates one or more media recommendations based at least in part on the consumption pattern. In one embodiment, the media recommendations may exclude media items227(FIG. 2) present in the consumption history265.

Alternatively, in a situation in which the user has identified user preferences indicating that the user is interested in consuming certain types of media items227repeatedly and/or frequently, the media recommendations may include those media items227present in the consumption history265. For example, it may be the case that a user watches a certain sitcom every night before going to bed. In such a case, the recommendations engine224may recommend an episode of the sitcom for the user to watch at similar times each night. Specifically, the recommendations engine224may recommend an episode of the sitcom that the user has not seen a while.

In box1112, the recommendations engine224informs the user of the media recommendations. In box1115, the recommendations engine224may determine whether the user has selected to facilitate acquisition of the media item227recommended. In such a case, in box1118, the recommendations engine224may facilitate acquisition of the recommended media item227for the user, for example, via the electronic commerce system215(FIG. 2). In one embodiment, the recommendations engine224may also interface with third-party environments to facilitate acquisition of the recommended media item227via the third-party environments. Once the user has begun consuming the recommended media item227, the recommendations engine224may record consumption of the recommended media item in the consumption history of the user in box1121. Thereafter, the portion of the recommendations engine224ends.

With reference toFIG. 12, shown is a schematic block diagram of the computing environment203according to an embodiment of the present disclosure. The computing environment203includes at least one processor circuit, for example, having a processor1203and a memory1206, both of which are coupled to a local interface1209. To this end, each computing environment203and/or client206may comprise, for example, at least one server computer or like device. The local interface1209may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.

Stored in the memory1206are both data and several components that are executable by the processor1203. In particular, stored in the memory1206and executable by the processor1203are the electronic commerce system215, consumption aggregator218, consumption solicitor221, recommendations engine224, and potentially other applications. Also stored in the memory1206may be a data store212and other data. In addition, an operating system may be stored in the memory1206and executable by the processor1203.

A number of software components are stored in the memory1206and are executable by the processor1203. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor1203. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory1206and run by the processor1203, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory1206and executed by the processor1203, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory1206to be executed by the processor1203, etc. An executable program may be stored in any portion or component of the memory1206including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.

Also, the processor1203may represent multiple processors1203and/or multiple processor cores and the memory1206may represent multiple memories1206that operate in parallel processing circuits, respectively. In such a case, the local interface1209may be an appropriate network that facilitates communication between any two of the multiple processors1203, between any processor1203and any of the memories1206, or between any two of the memories1206, etc. The local interface1209may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor1203may be of electrical or of some other available construction.

The flowcharts ofFIGS. 9-11show the functionality and operation of an implementation of portions of the consumption aggregator218, consumption solicitor221, and recommendations engine224, respectively. 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 processor1203in 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).

Further, any logic or application described herein, including the electronic commerce system215, consumption aggregator218, consumption solicitor221, recommendations engine224, may be implemented and structured in a variety of ways. For example, one or more applications described may be implemented as modules or components of a single application. Further, one or more applications described herein may be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein may execute in the same computing device or in multiple computing devices in the same computing environment203. Additionally, it is understood that terms such as “application,” “service,” “system,” “engine,” “module,” and so on may be interchangeable and are not intended to be limiting.