System and method for dynamically determining event content items

The system dynamically determines and ranks content items for events based on user preferences and regional data, addressing the challenge of presenting relevant content in a limited screen area, thereby enhancing user engagement and promoting interest in content items.

JP2026509805APending Publication Date: 2026-03-25VALVE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-08
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

The challenge of presenting content items that may be of interest to individual users is difficult due to the large number of available items and limited screen area, especially with the increasing volume of content available for streaming or downloading.

Method used

A system and method for dynamically determining relevant content items for events by querying vendors, ranking them based on various criteria, and presenting them to users in a customized manner considering user preferences and regional data.

Benefits of technology

Effectively promotes user interest in content items by presenting relevant and personalized content during events, optimizing the use of screen space and enhancing user engagement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026509805000001_ABST
    Figure 2026509805000001_ABST
Patent Text Reader

Abstract

A large number of content items may be available in the current content provider system. A subset of these content items may be eligible to participate in events such as sales. The content provider system can use content item data to determine the eligibility of content items for events and can proactively query the vendor system for participation in such events. The content provider system can iteratively query the vendor system based on ordered sets of eligible content items. The content provider system monitors content items against updated content item data and can proactively query the vendor system if a content item is eligible for an event based on the updated content item data. Content items associated with sales may be sorted and presented to the user based on user and / or content item data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications This application claims priority to U.S. Application No. 18 / 180,307, filed on March 8, 2023, entitled "SYSTEMS AND METHODS FOR DYNAMICALLY DETERMINING EVENT CONTENT ITEMS", which is hereby incorporated by reference in its entirety.

Background Art

[0002] As the consumption of content items on electronic devices continues to surge, the number of available content items and the amount of information about these content items have also been continuously increasing rapidly. For example, the number of songs, movies, TV shows, and games available for streaming or downloading has increased significantly in recent years. This increase in available content items is generally beneficial to users, but presenting content items and information that may potentially be of interest to individual users can be difficult in part due to the large number of available content items and the limited screen area for presenting them.

Brief Description of the Drawings

[0003] Embodiments for carrying out the invention are described with reference to each of the accompanying drawings. In the figures, the left - most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figures indicates similar or identical components or features.

[0004] [Figure 1] A figure illustrating an exemplary environment including a content delivery platform and a plurality of client computing devices configured to implement the techniques described herein. [Figure 2] A figure illustrating an exemplary environment including a content delivery platform and a plurality of content vendor systems configured to implement the techniques described herein. [Figure 3] This diagram illustrates an exemplary environment including a content delivery platform, a content vendor system, and a plurality of client computing devices configured to implement the techniques described herein. [Figure 4] This is an exemplary flowchart of a process for determining and presenting content items associated with events on a client computing device, according to an embodiment of the present disclosure. [Figure 5] This is a flowchart illustrating an exemplary process for determining content items associated with an event, according to an embodiment of the present disclosure. [Figure 6] This is a flowchart illustrating an exemplary process for determining content items associated with an event, according to an embodiment of the present disclosure. [Figure 7] This is a flowchart illustrating an exemplary process for determining an event that a content item may be subject to, according to an embodiment of the present disclosure. [Figure 8] This is a computer architecture diagram showing an exemplary computer hardware architecture for implementing a computing device configured to implement the techniques described herein. [Modes for carrying out the invention]

[0005] This specification describes techniques, devices, and systems for determining one or more content items that may be relevant to a particular event and for automatically generating a series of prioritized participation queries to vendors of such content items (e.g., content items, and / or application creators, generators, and / or distributors). Subsequent participation queries may be generated based on responses to a set of queries sent to an initial set of vendors until a threshold amount of participating content items is identified. The set of content items determined to be associated with an event may be used to determine which specific content items are presented on the event's user interface. Content items presented to a particular user may be determined based on regional and / or global content item rankings, user preferences, and / or user purchases.

[0006] For example, an event could be a sale of video games or other computer applications associated with a specific theme (e.g., racing, action, combat, etc.). The system determines a set of suitable games to include in a themed sale and queries vendors of such games about their participation in the sale. The system may determine the order of invitations based on various criteria. If there are still openings in the themed sale after the initial query has been sent to a set of vendors, the system may determine a subsequent set of vendors to query for participation in the sale (e.g., those that may or may not overlap with the initial set). Such decisions and resulting queries may continue until the available time slots for the sale are filled and / or until some other criteria are met (e.g., the period has expired, the event start time has arrived, or there are no remaining eligible vendors that have not been invited within the threshold period, etc.). The system may then use this set of games associated with the sale to determine a list of games for sale and present this list to individual users. The system may filter and / or sort the list presented to the user based on criteria associated with the user and / or the game (e.g., user location, game global ranking, game regional ranking, user preferences, user purchase history, etc.).

[0007] In various embodiments, the list presented to a user may be determined, filtered, and / or ranked based on user content consumption history data and / or user content consumption pattern data. For example, data based on a user's content item consumption history may be used to determine a set of content items associated with or similar to those items previously consumed by the user. For example, content items with similar tags to those associated with items previously consumed by the user may be determined, filtered, and / or ranked higher in the list of content items. In some embodiments, less frequent tags may be selected or used. For example, one or more more frequently occurring sets of tags may be determined for a user (e.g., based on user history and / or other data) and used to determine content items with similar tag relevance. Tags that are less frequently applied to content items may be more likely to match the user's preferences than tags that are more frequently applied, because those tags may more specifically reflect the user's interests. For example, the "Action" tag may not be useful in determining which items to present to a user because there could be many content items with that tag, while more specific tags such as "Card Battler" or "Battle Royale" may be more useful because there may be fewer content items with that tag. In some embodiments, machine learning models may be trained and used to detect and implement such relevances.

[0008] The system may dynamically determine which content items are eligible for inclusion in one or more events based on content item data. Content item data may change over time. Since content items may be added to or removed from the content library from time to time, event eligibility assessments may be performed in response to one or more changes in the content data. For example, when an event is generated or otherwise configured, the system may initially determine a set of content items eligible for participation in the event based on one or more criteria (e.g., tags (e.g., user, vendor, etc.), tag quantity and / or weight, user rating, user participation, sales ranking, wish list count, etc.). After the event is initially configured, content items may be added to the library of available content items, and / or the data associated with the current content items in the library may be modified. The content item data associated with such items may be evaluated to determine whether there are items that are not currently associated with the event that could be associated with the event, and / or whether items that are currently associated with the event are no longer eligible to be associated with the event. Similarly, recently removed content items that were participating in an event or were included as eligible content items for an event may not necessarily be able to participate in such events or be eligible for such events.

[0009] In various embodiments, a remote computing system that provides one or more content items, such as game titles, for acquisition may group such items into various categories. These categories may be associated with content genre (e.g., racing games, role-playing games, action games, strategy games, etc.), content type (e.g., single-player, multiplayer, etc.), content theme (e.g., anime, horror, space, open world, etc.), content availability (e.g., new release, demo, free, on sale, discounted, promotional, limited-time availability, etc.), and / or any other criteria that may be associated with a content item. A particular content item may be associated with one or more content categories. In some embodiments, the "All" category may include all available content items, and one or more other categories may be subsets of the "All" category.

[0010] To encourage user interest in and acquisition of content items, a content provider operating such a remote system may conduct events that can be associated with one or more specific categories of content items. For example, a content provider may offer a sale of content items of a specific category. Such events may be called “themed” sales. Various techniques for determining which content items may be eligible for participation in an event and whether to associate such eligible items with the event are described herein. Further techniques for dynamically determining whether a content item has become eligible and / or ineligible for such an event based on updated content item data and for taking one or more response actions are described herein. Various additional techniques for determining a subset of such items and / or the order in which such items should be presented to a particular user from a set of content items associated with an event are described herein.

[0011] In the embodiment, a content provider may want to promote more popular content items and therefore may present event content items to the user in descending order of one or more popularity criteria. For example, the content provider may rank the items for presentation based on sales and / or usage, listing the content items with the highest sales or user participation first, followed by the next highest, and so on. Alternatively or additionally, a content provider may want to promote less popular items and therefore may present event content items to the user in ascending order of one or more popularity criteria. For example, the content provider may rank the items for presentation based on sales and / or usage, listing the content items with the lowest sales or user participation first, followed by the next highest, and so on. Alternatively or additionally, a content provider may want to promote newer and / or older items and therefore may present event content items to the user in descending or ascending order of the age of the content items. For example, a content provider may rank the newest or newer items in sales first, followed by the next newest items, and so on. The content provider may also, or instead, rank the oldest or older items in sales first, followed by the next oldest items, and so on. The disclosed systems and techniques may be configured to perform actions such as automatically determining the content items to be relevant to an event, registering such items for the event, and presenting the registered event content items to the user on the user interface in a manner customized for that user.

[0012] In embodiments, a content provider system may consist of event data including various aspects and / or requirements of the event, such as event start time, event end time, event theme, minimum sales requirement, minimum review requirement, minimum regional and / or global ranking, minimum or maximum user participation level, and the number of available content item locations ("slots"). For example, the content provider may be a video game provider, and the event may be a themed sale of one or more specific video games. This themed sale may run for a limited period and may include games associated with one or more specific themes or other characteristics (e.g., racing games, role-playing games, action games, strategy games, etc.). While the video game sale example may be used as an exemplary event herein, the disclosed systems and techniques are not limited to this example and may be implemented in any suitable system for any type of event.

[0013] Using event data, a content provider system may be configured to (e.g., automatically) determine a set of content items relevant to event participation. For example, a content provider system may determine one or more content items in its current catalog that meet the requirements of an event. For example, a content provider may determine one or more content items that have associated data that is data-relevant to one or more of the event requirements (e.g., the content item data meets the event requirements). The content provider system may rank such content items in an order that can be used to invite vendors of the content items to participate in the event. The content provider system may select a subset of the ranked content items (e.g., a specific number of the highest-ranked content items (e.g., 5, 10, 25, 50, etc.)) and send participation queries to vendors associated with the content items to be invited to participate in the event. This query may include the event time slot (or the vendor's preferred time slot request), discounts and / or minimum discounts (or the vendor's preferred discount request) applicable to the sale of each content item during the event, and / or means for responding to and / or registering for each content item of the event. Other information may be included in the participation query, either in addition to, the deadline for responding, the number of remaining slots in the event (e.g., specific time slots), and the criteria used to determine how event content items are presented (e.g., the presentation order on the user interface).

[0014] At the end of the period following the submission of the initial set of participation queries (and / or in response to one or more other conditions or criteria), the Content Provider System may determine the specific content items that vendors have registered to participate in the event. If there are remaining slots in the event, the Content Provider System may determine a subsequent subset of ranked content items (e.g., a specific number of the next highest ranked content items (e.g., 5, 10, 25, 50, etc.)) and send participation queries to vendors associated with those content items to invite them to participate in the event. The invitation may also be associated with a limited period (and / or one or more other conditions or criteria), which may be similar to that associated with the initial set of participation queries. At the end of that period (and / or in response to one or more other conditions or criteria), the Content Provider System may again determine whether there are any remaining available slots in the event. If so, the Content Provider System may determine the next subsequent subset of ranked content items and send queries to their corresponding vendors until the event slots are filled, the event participation deadline is reached, and / or one or more other conditions or criteria are met.

[0015] The ranking of content items in question for event participation, and therefore the order in which associated vendors may be invited to participate in the event, may be based on one or more ranking criteria. In an embodiment, content items may be ranked based on overall sales ranking and / or the volume of user interaction with the content item. Alternatively or additionally, content items may be ranked based on vendor preference (e.g., preferred vendors may be ranked higher than others). Vendor preference may be determined based on contractual agreements with content providers and / or other criteria or arrangements that may constitute a preferred vendor. Alternatively or additionally, content items may be ranked based on the volume of placements on user "wish lists" and / or one or more other indicators of user interest in the content item. One or more of such criteria and / or any other criteria may be used individually or in any combination to determine the ranking of the content items in question.

[0016] In the examples, an event may have various types of time parameters that may be shown to the vendor and / or selected by the vendor for its content items. For example, an event may be a one-time sale occurring within a single period and may include up to 10 content items. Alternatively or additionally, an event may include several periods spanning a time frame. For example, an event may be a sale that takes place daily for two weeks and may include 25 items per day. In such an example, the vendor may select one or more days within the two-week period for its content items to participate in the event.

[0017] Events may also have regional parameters. For example, a vendor of a content item that ranks highly in a specific region (e.g., based on sales, reviews, wish lists, etc.) rather than other regions may be invited to participate in an event, but only for that region. Alternatively or additionally, a vendor of a content item that ranks highly across all regions may be invited to participate in an event across all regions.

[0018] The number of content items or slots associated with a particular event may be the same number of items to be presented to the user during the event, or a different number to consider user attribute-based presentation of event content items. For example, as described in more detail herein, content items associated with an event and presented to the user may be ordered and presented based on the user's preferences, user content consumption history data, user content consumption pattern data, and / or other user attributes. When it is determined that a particular content item should not be presented to the user (for example, because the user already owns the item, or has a preference for the item or a similar item), the content provider system may present the user with another content item instead. Thus, the content provider system may determine a quantity of content items for an event that exceeds the number of content items presented to the user (e.g., initially presented) in order to allow for the replacement of one or more such content items in the presentation of content items. The content provider system may further order items associated with an event for presentation placement based on various criteria such as responsiveness to participation queries (e.g., higher rankings are assigned to events with earlier registrations), sales criteria (e.g., higher sales result in higher rankings), and reviews (e.g., better reviews result in higher rankings).

[0019] Herein, an example of a non-restrictive video game for determining the content items associated with an event is described. The content provider system may consist of event data showing video game sales on a racing game that lasts for one week, with 10 games presented to the user per day. The event may have 15 slots available per day for a total of 105 slots during the event period (e.g., to allow for the presentation of alternative games). The event may be limited to games ranked in the top 100 by sales across the entire region, and / or games ranked in the top 50 by sales for any given region. Preferred vendors may be given priority. Discounts on games for sale may be set by the vendor, but must be at least 10% of the regular price. The event application period may end one week before the start of sales (e.g., the final deadline for sales registration may occur one week before the start of sales).

[0020] The content provider system may determine the target content items by determining the available content items that are racing games in response to receiving this event configuration data. The content provider system may then determine racing games that are ranked in the top 100 in overall sales and / or the top 50 in sales for any given region. The content provider system may then order these target racing games based on vendor, ranking games from preferred vendors over those from non-preferred vendors to generate the target set of racing games.

[0021] Next, the content provider system may determine an initial subset of the target content items, e.g., the top 50 games within a set of target racing games. The content provider system may generate participation queries for individual games in the initial subset of target racing games and send them to the vendors. This query indicates the sales parameters, requests interested vendors to register for the sale, and may indicate their preferred slots and discounts before the expiration of the initial registration deadline. The vendor registration for the event and display of preferences (e.g., preferred discounts) may take the form of registering on a registration site (e.g., linked to the participation query), accepting a request to create a data association between the content item and the event in response to the participation query, (e.g., by the vendor system and / or the content provider system) initiating a data association between the content item and the event, or any other means.

[0022] At the first registration deadline, the content provider may determine whether there are any remaining available slots for the sale. For example, the content provider system may determine that 47 out of a total of 105 available slots have been filled by registered content items. Next, the content provider system may determine a subsequent subset of the target content items, e.g., the next 50 games ranked below the top 50 games within a set of racing games. The content provider system may generate participation queries for individual games in the subsequent subset of target racing games and send them to the vendors. This query indicates the sales parameters, requests interested vendors to register for the sale, and may indicate their preferred slots and discounts before the expiration of the subsequent registration deadline.

[0023] At the next registration deadline, the content provider may determine whether there are any remaining available slots for sale. For example, the content provider system may determine that 93 of a total of 105 available slots are currently filled by registered content items. The content provider system may then determine another subsequent subset of the content items in question, for example, the next 50 games ranked in the top 100 or lower within the set of racing games in question, and may send participation queries to those vendors until all slots are filled or until the deadline for registration for sale arrives. The final set of games to be included in a sale may be ranked based on one or more criteria, including those described herein, and associated with the sale. The games for sale may then be presented to users during the sale period and / or based on sales data, for example, as described herein.

[0024] As will be appreciated, a content provider may maintain a large and constantly changing catalog of content items. The attributes of such items may also change frequently at times. For example, a user may add a review to an item, edit an item review, the total sales may increase over time, the periodic sales (e.g., monthly, quarterly sales, etc.) may vary over time, and tags associated with an item (e.g., indicating themes, characteristics, attributes, etc.) may be added and / or removed. These changes to the content items and the content item catalog can affect the targeting of such items for specific events such as the sell - by theme of content items. This can prevent recently targeted content items from being included in an event or facilitate the participation of non - targeted content items in an event. For example, the event solicitation period may start before a particular content item meets the requirements for participating in the event, or may still be in progress when a particular content item becomes the target of the event. Similarly, a particular content item that becomes the target of an event at the start of the event solicitation period may become non - targeted for the event while the event solicitation period is still in progress.

[0025] In the embodiment, the content provider system may dynamically evaluate a content item for eligibility to participate in an event based on detected changes to the content item and / or associated data. The content provider system may monitor potential event-related data associated with content items in its catalog (e.g., substantially continuously or periodically), such as total sales (global and / or regional), periodic sales, wish list inclusions, tags (e.g., which content items they may be based on), reviews, etc. In response to the detection of changes in one or more parts of potentially event-related data associated with a content item, the content provider system may evaluate the content item and / or its associated data to determine whether the content item is currently eligible for an event currently recruiting (e.g., an event with an ongoing recruitment period) or is no longer eligible for an event currently recruiting or ongoing. The content provider system may also detect newly added content items, and upon detection of such additions, may determine whether the content item is eligible for the current recruitment event. The content provider system may further, or alternatively, detect deleted content items, and upon detection of such deletions, determine that the content item is ineligible for the current recruitment event.

[0026] If there is no change in the eligibility of a modified or newly added content item, the content provider system does not need to take any further action on that content item with respect to the current recruitment and / or ongoing event.

[0027] If a content item is currently targeted to one or more events, the content provider system may determine the position of the content item within a set of content items targeted to the event it is currently targeted to. The content provider system may then query the content item vendor about participation in the event, for example, as described herein.

[0028] If a content item loses its relevance to an event currently included in a set of target content items, the content provider system may remove the content item from that set. If a content item is on a list of items currently offered as part of an event, the content provider system may remove the content item from that list and, in some cases, solicit one or more vendors for a replacement event item and / or use surplus items associated with the event (e.g., more than what is needed to present to the user). Similar actions may be taken for items that have been removed from the catalog and are therefore no longer eligible to participate in or eligible to participate in an event.

[0029] Referring again to the video game example, content items maintained by a content provider system may have associated tags that can be added to the video game by the game vendor (e.g., when submitting the game to the content provider) and / or by the user (e.g., based on the use of the game). A particular game may include racing, combat, and puzzle elements. The vendor may have initially configured the game with a racing tag for marketing reasons, and therefore the game may have been determined to be targeted at racing-themed sales. However, over time, users may have added combat and puzzle tags to the game. The content provider system may detect these tags (e.g., a threshold number of such tags) and, in response, determine that the game is now currently targeted at combat and puzzle-themed sales.

[0030] In another video game example, a particular game may have more than 10,000 purchases per month when a specific sales recruitment period begins that requires a minimum of 10,000 purchases per month for participating content items. Therefore (for example, based on all other eligibility requirements met), the game may be added to the set of eligible games for that sales. However, over the next few weeks, during the sales recruitment period, the monthly sales of that particular game may fall below 10,000 purchases per month. In response to detecting this decline in sales, the content provider system may remove the game from the set of eligible games for the sales.

[0031] In the case of video games, newly added games may be evaluated similarly for participation in an ongoing event with an active recruitment period, while recently removed games may be removed from the set of games and / or ongoing sales.

[0032] A content provider may use a set of content items associated with an event, determined, for example, as described herein, to determine the format in which a subset of such event content items are presented. For example, once an event begins, the content provider system may determine a subset of content items to present to the user on the user interface, and / or the format in which such content items are presented. This determination may be based on a variety of factors, including, but not limited to, user preferences, user purchase history, user wish list selections, and / or user region.

[0033] For example, a content provider system may generate event presentation data to be presented to a specific user on the display of a user computing system, or receive a request to present a user interface containing event presentation data to that user. This event presentation data may include the display of one or more content items associated with an event. In an embodiment, the content provider system may determine whether any of the content items associated with the event have already been purchased or are owned by the user. In that case, those content items may be removed from consideration for presentation to the user.

[0034] The content provider system may further, or instead, exclude from consideration any content items that conflict with the preferences of one or more users. For example, a user may configure a particular tag as a “blocked” tag (e.g., in the user’s preferences), indicating that the user does not wish to be offered content associated with that tag. The content provider system may exclude from consideration any items associated with that tag. In embodiments, a user may further, or instead, configure one or more particular vendors and / or franchises of content items or other groups of content items as “blocked” (in particular, in the user’s preferences), or otherwise indicate that the user does not wish to be offered content associated with such vendors and / or franchises or groups of content items. The content provider system may detect such indications and exclude from consideration any items associated with blocked vendors and / or content item franchises, or grouped vendors and / or content item franchises or groupings. The content provider system may further, or instead, remove from consideration one or more content items that do not meet one or more minimum requirements, such as the minimum total geographical and / or global sales threshold, the minimum periodic geographical and / or global sales threshold, or the minimum aggregated review score.

[0035] The content provider system may further, or instead, consider a user's preferences for specific content when deciding whether to present one or more content items. Such user preferences may indicate that the user is particularly interested in the content in question. For example, a user may configure certain tags as “preferred” tags (e.g., in user preferences), which may indicate that the user wishes to be offered content associated with those tags. The content provider system may rank or promote any items associated with those tags higher in order to consider presenting them. In embodiments, a user may further, or instead, configure one or more specific vendors and / or franchises of content items or other groups of content items as “preferred” (e.g., within user preferences), or otherwise indicate that the user wishes to be offered content associated with such vendors and / or franchises or groups of content items. The content provider system may detect such indications and consider ranking or listing any items associated with the user-preferred vendors and / or content item franchises, or grouping vendors and / or content item franchises or groupings higher in order to present them.

[0036] The content provider system may further determine the presentation of one or more content items, taking into account their presentation on the user interface. The presentation method may include the order of display and / or ranking of items considered for presentation. For example, the content provider system may determine the region associated with a user and the regional sales ranking of content items associated with an event in that region. The content provider system may then order items for presentation consideration based on the regional sales ranking. Similarly, the content provider system may use global sales ranking, review score, wish list count, tag count (e.g., the amount of a particular tag applied by the user), user content consumption history data, user content consumption pattern data, user preferences (e.g., display of blocked content and / or preferred content), and / or any other attributes that may be associated with the content item to determine how to present such items to the user as part of event presentation data.

[0037] Returning to the video game example, a content provider system may, after determining the target game (for example, as described herein) and obtaining the vendor's game registration, begin selling a racing game. A user in a particular region may operate a user computing system to navigate to an interface configured by the content provider to present sales information (e.g., a homepage, sales page, etc., generated by the content provider for the user). The content provider system may determine a set of racing games for sale for consideration to present on the interface. The content provider system may then filter out those racing games that the user already owns and / or do not meet the minimum total regional sales threshold. The content provider system may then order the remaining racing games for sale based on the latest periodic (e.g., monthly) regional sales rankings and present a subset of these games (e.g., top 3, top 5, top 10, etc.) on the user interface.

[0038] The techniques introduced above will be explained with reference to Figures 1-8. The techniques disclosed can be implemented, at least in part, by remote computing systems that deliver content items (e.g., video games, movies, television programs, songs, game titles, etc.) to client devices in a user community (e.g., as part of a video game service, movie service, or song service). While these techniques are described in relation to games (e.g., video games), it should be understood that these techniques can be applied to any other type of content item, such as books, movies, videos, or songs.

[0039] Figure 1 illustrates an exemplary environment 100, which includes a first client computing device (or “client device”) 102(1) operated by a first user 104(1), and a second client computing device 102(2) operated by a second user 104(2). As illustrated, client computing devices 102(1) and 102(2) may communicate with one or more other computing devices via a network 106. For example, client computing devices 102(1) and 102(2) may communicate via the network 106 with a remote computing system 108 configured to provide games and / or other content items to the client computing devices (collectively, “devices 102”). The remote computing system 108 may be the content provider system described herein, or any other device, system, or combination of devices and / or systems that may be suitable for implementing the disclosed techniques.

[0040] The client device 102 may be implemented as any suitable type of computing device configured to run content items such as video games, movies, songs, etc. The client device 102 may include, but is not limited to, personal computers (PCs), desktop computers, laptop computers, mobile phones (e.g., smartphones), tablet computers, portable information terminals (PDAs), wearable computers (e.g., virtual reality (VR) headsets, augmented reality (AR) headsets, smart glasses, etc.), in-vehicle computers (e.g., car computers), televisions (smart TVs), set-top boxes (STBs), game consoles, music players, voice control assistants, and / or any similar computing devices. In some cases, the client device 102 may include an integrated display; in other cases, the client device may be coupled to its respective display device. In addition, the client device 102 may communicate with a remote computing system ("computing system") 108 via a computer network 106. The computer network 106 may represent and / or include, but is not limited to, the Internet, other types of data and / or voice networks, wired infrastructure (e.g., coaxial cable, fiber optic cable, etc.), wireless infrastructure (e.g., radio frequency (RF), mobile communications, satellite, etc.), other connectivity technologies, and / or any combination thereof. In some cases, the computing system 108 may be part of a network-accessible computing platform maintained and accessible via the computer network 106. Such a network-accessible computing platform may be referred to using terms such as “on-demand computing,” “software as a service (SaaS),” “platform computing,” “network-accessible platform,” “cloud service,” and “data center.”

[0041] In some embodiments, the computing system 108 functions as a video game platform that implements a video game service to deliver (e.g., download, stream, etc.) video games (or any other type of content item) to client devices such as client device 102, or has access to such a platform. In one example, each client device may have a client application installed on it. The installed client application may be a video game client (e.g., game software for playing video games). The client device 102 with the client application installed may be configured to download, stream, or otherwise receive programs (e.g., video games and their content) from the computing system 108 via the computer network 106. For this purpose, any type of content distribution model can be utilized, such as a direct purchase model where programs (e.g., video games) are individually available for download and execution on the client device 102, a subscription-based model, or a content distribution model where programs are rented or leased for a period of time, streamed, or otherwise made available to the client device. Thus, each client device 102 may include one or more installed video games that can be run by loading the client application.

[0042] The client device 102 may be used to register for and subsequently log in to a video game service. For this purpose, the user may create a user account and specify / set credentials (e.g., password, PIN, biometric ID, etc.) associated with the registered user account. The user may also, or alternatively, create a user profile for this purpose that contains additional and / or supplementary information (e.g., user information and / or user preferences). When multiple users interact with the video game platform (e.g., by accessing their user / player profiles using their registered user accounts, playing video games on their respective client devices, etc.), the client devices transmit data to the remote computing system 108. The data transmitted to the remote computing system 108 from a given client device 102 may include, but are not limited to, user input data, video game data (e.g., game performance statistics uploaded to the remote system), social networking messages and related activities, identifiers (IDs) of video games played on the client device 102, the region 150 where user 104 and / or dark client device 102 are located, wish list requests, tags for programs (e.g., video games), reviews and / or ratings of programs (e.g., video games), the browsing and / or exploration history of programs (e.g., video games) and related data, browser data and activities. This data may be streamed in real time (or substantially real time), transmitted to the remote system 108 at defined intervals, and / or uploaded in response to events (e.g., ending a video game, selecting controls on the user interface, etc.).As introduced above and discussed in more detail below, this data may be used to determine the gameplay history of user 104 on client device 102, user 104's preferences, etc., and may be used to recommend which game themes (e.g., content items, incentive items, bonus items, icons representing such items, etc.) to the user, and / or the manner (e.g., order) in which the game themes are recommended to the user (e.g., in a series of one or more user interfaces).

[0043] For example, user 104(1) may operate client device 102(1) to navigate to a web page associated with computing system 108, and in response, computing system 108 may cause client device 102(1) to present a user interface (UI) 110(1) on the display of client device 102(1). In some cases, this UI 110(1) may include information about one or more video games and / or other content items available to user 104(1) and to be retrieved from computing system 108. For example, UI 110(1) may include icons associated with each game title, which are selectable by user 104(1) to learn more about each game title and to request to retrieve each game title. In some cases, as illustrated, UI 110(1) may include a set of icons indicating a subset of content items that may be associated with a sale (e.g., a themed sale). As shown in this figure, content items 141, 143, and 145 may be presented to user 104(1) on UI 110(1). These icons may represent a subset of content items associated with a specific event determined by computing system 108 to be presented.

[0044] In some cases, the computing system 108 may determine a subset of sales content items, including items 141, 143, and 145, based on data associated with user 104(1) and / or client device 102(1). For example, sales content items 141, 143, and 145 may be included in a set of sales content items that also include items 142 and 144. The initial set of sales content items associated with a sale represented in UI 110(1) may include items 141-145 in that order. The computing system 108 may determine (for example, based on user account and / or order history) that user 104(1) already owns item 142. In response, the computing system 108 may remove item 142 from consideration to present to user 104(1) in UI 110(1). The computing system 108 may further determine (for example, based on user preferences, user content consumption history data, user content consumption pattern data, etc.) that user 104(1) has a preference indicating that user 104(1) prefers not to see items associated with certain tags, certain vendors, certain franchises or groupings, etc., that may be associated with item 144. In response, the computing system 108 may remove item 144 from considerations presented to user 104(1) in the UI 110(1). The computing system 108 may further, or instead, determine (for example, based on user preferences, user content consumption history data, user content consumption pattern data, etc.) that user 104(1) has a preference indicating that user 104(1) prefers to see items associated with certain tags, certain vendors, certain franchises or groupings, etc., that may be associated with item 144. In response, the computing system 108 may select item 144 to present to user 104(1) in UI 110(1), or otherwise raise the number of items 144 to consider presenting to user 104(1) in UI 110(1).

[0045] The computing system 108 may further determine the order in which items 141, 143, and 145 are presented based on data associated with user 104(1) and / or client device 102(1). For example, the computing system 108 may determine that user 104(1) and / or client device 102(1) are in region 150(1) (e.g., from communication with client device 102(1), from user account information, from user payment information, from user content consumption history data, from user content consumption pattern data, from user preferences, etc.). Using this information, the computing system 108 may order items 141, 143, and 145 to be presented as shown in this figure, based on the sales rank of these items in region 150(1), the average review score or rating of these items in region 150(1), the number of wish lists in region 150(1) where these items are displayed, etc.

[0046] Alternatively or additionally, the order in which items 141, 143, and 145 are presented may be based on other criteria. For example, the order may be based on the status of the preferred vendor, the amount of discount (e.g., higher placement of items with larger discounts based on the percentage discount from the regular price or the total discounted amount), overall ratings and / or sales, the overall number of inclusions on the wish list, the number of tags (e.g., the number of times a particular tag has been applied to an item by a user), etc.

[0047] In another embodiment, user 104(2) may operate client device 102(2) to navigate to a web page associated with computing system 108, and in response, computing system 108 may cause client device 102(2) to present UI 110(2) on the display of client device 102(2). Similar to UI 110(1), UI 110(2) may include information about one or more video games and / or other content items available to user 104(2) and retrieved from computing system 108. For example, UI 110(2) may include icons associated with each game theme, which are selectable by user 104(2) to learn more about each game theme and to request to retrieve each game theme. In some cases, as illustrated, UI 110(2) may include a set of icons indicating a subset of content items that may be associated with a sale (e.g., a themed sale). As shown in this figure, content items 144, 142, and 143 may be presented to user 104(2) on UI 110(2). These icons may represent a subset of content items associated with a specific event determined by computing system 108 to be presented.

[0048] The computing system 108 may determine a subset of sales content items, including items 144, 142, and 143, based on data associated with user 104(2) and / or client device 102(2). For example, sales content items 144, 142, and 143 may be included in the above initial set of sales content items, including items 141-145, in that order. The computing system 108 may determine (for example, based on user account and / or order history) that user 104(2) already owns item 141. In response, the computing system 108 may remove item 141 from consideration to present to user 104(2) in the UI 110(2). The computing system 108 may further determine that user 104(2) has configured preferences indicating that he / she likes and / or dislikes illustrated items associated with specific tags, vendors, groupings, franchises, etc. that may be associated with item 145 (for example, based on user preferences, user content consumption history data, user content consumption pattern data, etc.). Accordingly, the computing system 108 may add, promote, and / or remove item 145 from the considerations presented to user 104(2) in the UI 110(2).

[0049] The computing system 108 may further determine the presentation order of items 144, 142, and 143 based on data associated with user 104(2) and / or client device 102(2). For example, the computing system 108 may determine that user 104(2) and / or client device 102(2) are located in region 150(2) (e.g., from communication with client device 102(2), from user account information, from user payment information, from user content consumption history data, from user content consumption pattern data, etc.). Using this information, the computing system 108 may order items 144, 142, and 143 to be presented as shown in this figure, based on the sales ranking of these items in region 150(2), the average review score or rating of these items in region 150(2), the number of wish lists in region 150(2) where these items are displayed, etc. As can be seen from this figure, the order in one region may differ from the order in another region.

[0050] Alternatively or additionally, the order in which items 144, 142, and 143 are presented may be based on other criteria. Similar to the items in UI110(1), the order in which items 144, 142, and 143 are presented may be based on preferred vendor status, discount amount (e.g., based on the percentage discount from the regular price or the total discounted amount, e.g., higher placement of items with larger discounts), overall rating and / or sales, total number of wish list inclusions, number of tags (e.g., the number of times a particular tag has been applied to an item by a user), etc.

[0051] Figure 1 further illustrates exemplary components of a computing system 108 for generating the respective UIs 110(1) and 110(2). As illustrated, the computing system 108 may comprise one or more processors 112 (e.g., one or more central processing units (CPUs)) and computer-readable media 114, and components for generating UIs such as the exemplary UIs 110(1) and 110(2) stored therein. The computer-readable media 114 may include volatile and non-volatile memory, removable and non-removable media, implemented in any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Such memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, RAID storage systems Examples include a computer-readable medium, or any other medium that can be used to store desired information and can be accessed by a computing device. The computer-readable medium 114 may be implemented as a computer-readable storage medium ("CRSM"), which may be any available physical medium accessible by the processor 112 to execute instructions stored on the computer-readable medium 114. In one basic implementation, the CRSM may include random access memory ("RAM") and flash memory. In other implementations, the CRSM may include, but is not limited to, read-only memory ("ROM"), electrically erasable programmable read-only memory ("EEPROM"), or any other tangible medium accessible by the processor 112 that can be used to store desired information.

[0052] As illustrated herein, the computer-readable medium 114 may store, or otherwise access, an event content item determination component 116, a user content item preference determination component 118, a presented content item determination component 120, and / or a UI generation component 122. Furthermore, the medium 114 may store global sales data 124 storing total and / or periodic sales data for the region of content items, regional sales data 126 storing total and / or periodic sales data for the region of content items, user data 128 which may include user account data, user preferences, and / or other data associated with the user as described herein, and / or preferred vendor data, vendor-specified discount data, vendor content item data, and / or any other vendor-related data as described herein. User data 128 may also include user content consumption history data, user content consumption pattern data, and user preferences (e.g., blocked and / or preferred content, tags, vendors, franchises, groupings, etc.).

[0053] Computing system 108 may receive event data 140 which can be used to generate a UI that may include event data and representations of event content items such as exemplary UIs 110(1) and 110(2). Event data 140 may represent event parameters, event content items, and / or content items associated with an event presented to the user and any other data that can be used by computing system 108 to determine the manner in which such items are presented. Event data 140 may be one or more data structures (e.g., event data structures) that store or otherwise configure any type and / or amount of event data, including those described herein. An event data structure may include or represent content items and / or content item data (e.g., data relationships that indicate content items that are subject to and / or participate in an event), as well as one or more data relationships of events and / or event data.

[0054] The event content item determination component 116 may function to determine content items associated with an event that may be considered for presentation to the user. For example, the event content item determination component 116 may, based on event data 140, determine one or more content items registered for a particular event, which may also be shown in the event data 140. In embodiments, the event data 140 may include identifiers of such content that the event content item determination component 116 can use to retrieve, or otherwise determine, content item data that may be associated with an event. Alternatively, the event content item determination component 116 may determine event content item data from the event data 140. The event content item determination component 116 may further rank or order the set of event content items, once determined, using either the ordering or ranking techniques described herein.

[0055] The User Content Item Preference Determination Component 118 may function to determine any user data or related data that can be used to determine the presentation of content items and / or the generation of one or more UIs, such as exemplary UIs 110(1) and 110(2). For example, the User Content Item Preference Determination Component 118 may determine or obtain user preferences regarding content (e.g., preferred and / or blocked tags, content, vendor, franchise, and / or grouping, user content consumption history data and / or user content consumption pattern data, etc.), user location data, user account information, etc. In some examples, the User Content Item Preference Determination Component 118 may obtain this data from user data 128. This information may be used by one or more other components, such as the Presented Content Item Determination Component 120, to determine the presented content items and / or the manner in which such items are presented.

[0056] The presented content item determination component 120 may determine one or more content items for presentation to the user on a UI such as exemplary UI 110(1) and 110(2), and the method of presenting such items. The presented content item determination component 120 may base this determination on data received from other components such as user data 128, global sales data 124, regional sales data 126, vendor data 130, event data 140, and / or user content item preference determination component 118. For example, the presented content item determination component 120 may determine (for example, based on data received from user data 128 and / or user content item preference component 118) which items a particular user does not yet own from content items associated with an event (as determined by event content item determination component 116). Next, the presented content item determination component 120 may order those items based on various criteria (e.g., global sales data 124, regional sales data 126, vendor data 130, etc.) to generate a set of presented content items that can be used for a specific UI associated with a particular user. The presented content item determination component 120 may further, or alternatively, order those items based on various user-related criteria such as preferred and / or blocked tags, content, vendor, franchise, and / or grouping, user content consumption history data, and user content consumption pattern data. The presented content item determination component 120 may then determine a specific subset of content items from the ordered set of presented content items that will be presented to the user in the UI. The presented content item determination component 120 may provide this subset of content items and / or the data associated with it to the UI generation component 122.

[0057] The UI generation component 122 can generate a UI for presentation on a client device. For example, the UI generation component 122 may receive a subset of content items from an ordered set of presentation content items from the presentation content item determination component 120, and use this set of content items to generate a UI that presents at least a subset of content items and event relevance information. The UI generation component 122 can then provide the UI for presentation on a client device.

[0058] It should be noted that in some embodiments, various functions and / or components may be distributed across multiple devices, including client devices. For example, one or more of the event content item determination component 116, the user content item preference determination component 118, the presented content item determination component 120, and / or the UI generation component 122 may be configured on one or both of the client devices 102. Either or both of the client devices 102 may be configured to perform one or more of the functions described herein with respect to them and similar components (for example, using the data described herein).

[0059] Figure 2 illustrates an exemplary environment 200 including content item vendor computing systems 202(1), 202(2), 202(3), and 202(4) (collectively, “Vendor Systems 202”). Vendor Systems 202(1) and 202(2) may be located in a first region 250(1), while Vendor Systems 202(3) and 202(4) may be located in a second region 250(2). As illustrated, Vendor Systems 202(1), 202(2), 202(3), and 202(4) may communicate with one or more other computing devices via Network 206. For example, Vendor Systems 202(1), 202(2), 202(3), and 202(4) may communicate via Network 206 with a remote computing system 208 configured to determine the content items associated with an event. The computing system 208 may also provide games and / or other content items to a client computing device (e.g., client device 102 in Figure 1). The remote computing system 208 may be a content provider system as described herein, or any other device, system, or combination of devices and / or systems that may be suitable for implementing the disclosed techniques. The vendor system 202 may be a content item vendor system as described herein, or any other device, system, or combination of devices and / or systems that may be suitable for implementing the disclosed techniques. The vendor systems 202 and / or 208 may, in some cases, be part of a network-accessible computing platform that is maintained and accessible via a computer network 206.

[0060] In some embodiments, the computing system 208 may perform operations similar to those performed by the computing system 108 in Figure 1. It may also function as a video game platform that implements video game services to deliver games or any other type of content items to client devices such as the client devices described herein, or have access to such a platform.

[0061] The computing system 208 may request participation in an event from content item vendor systems, such as vendor system 202. The computing system 208 may determine one or more content items that are relevant to an event that generates a set of relevant content items. For example, the computing system 208 may receive or determine event data 240, which may include event theme data 241 (represented, for example, by one or more tags) and one or more event requirements 242 (e.g., sales requirements, evaluation or review requirements). Based on the event data 240 (e.g., based on theme data 241 and / or requirements 242), the computing system 208 may determine content items from the current catalog of relevant content items for the event. The computing system 208 may then determine an ordered ranking of the relevant content items for this set based on one or more criteria described herein (e.g., sales criteria, evaluation or review criteria, tag criteria, etc.).

[0062] The computing system 208 may initiate an invitation process to register target content items for an event. For example, the computing system 208 may determine a subset of target content items, such as a specific number (e.g., 10, 50, 100, etc.) of the highest-ranked content items within a ranked set of target content items. The computing system 208 may then generate one or more initial event participation queries 260 and send them to one or more vendor systems 202 associated with the determined highest-ranked content items. The computing system 208 may also set a deadline for receiving responses to the initial set of participation queries, start a timer, and begin the initial recruitment period for the event.

[0063] The participation query 260 may take the form of any electronic communication, including email, text message, or any other form of electronic notification. The query 260 may include information about the event and a request for vendors to register content items for the event. For example, the query may specify the theme of the event, any discounts or minimum discounts applicable to the event, the event's timeframe, the deadline for responding to the query, the remaining slots for the event, and / or details of the slots (e.g., days, times, etc.). The query may direct vendors to a registration site and / or provide a means for them to register (e.g., via a link in the query) or respond to the query. The query may request further information from the vendor's system. For example, the query 260 may request specific slots or a set of slots, specific discounts, etc.

[0064] One or more of the vendor systems 202 may respond with one or more event participation responses 270. The responses may provide information requested in the event participation query 260 and / or may register content items associated with the response 270. The responses 270 may take the form of a response email, submission of a web form, and / or any other means of providing responsive information as described herein.

[0065] After the initial event recruitment period has ended, computing system 208 may determine if there are any available slots for the event. If so, computing system 208 may determine a subsequent subset of the target content items, such as a specific number (e.g., 10, 50, 100, etc.) of content items that are the next highest ranked among the target content items in the ranked set. In other embodiments, one or more of the same content items may be selected for the subsequent subset (and thus one or more of the same vendor systems may be invited again to participate in the event). Computing system 208 may generate and send participation queries to the corresponding vendor systems 202 to request participation of content items in the event.

[0066] The computing system 208 may process responses to participation queries, as described herein, determine whether there are remaining slots for the event, and if so, solicit additional participation in the event until the application period for the event expires or until all slots are filled.

[0067] Figure 2 further illustrates exemplary components of a computing system 208 for determining content items associated with an event. As illustrated, the computing system 208 may comprise one or more processors 212 (e.g., one or more central processing units (CPUs)) and a computer-readable medium 214, and a component stored therein for determining event content items. The computer-readable medium 214 may include volatile and non-volatile memory, removable and non-removable media, implemented by any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Such memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices. Examples include devices, RAID storage systems, or any other media that can be used to store desired information and can be accessed by a computing device. The computer-readable medium 214 may be implemented as a computer-readable storage medium ("CRSM"), which may be any available physical medium accessible by the processor 212 to execute instructions stored on the computer-readable medium 214. In one basic implementation, the CRSM may include RAM and flash memory. In other implementations, the CRSM may include, but is not limited to, ROM, EEPROM, or any other non-temporary and / or tangible media that can be used to store desired information and can be accessed by the processor 212.

[0068] As illustrated, the computer-readable medium 214 may store, or otherwise have access to, a target content item determination component 216, a vendor determination component 218, an event participation query component 220, and / or a vendor interaction component 222. Furthermore, the medium 214 may store global sales data 224, which stores total and / or periodic sales data for the entire content item; regional sales data 226, which stores total and / or periodic sales data for the region of the content item; event participant data 228, which may include event and participant data such as event slots, content items assigned to a particular event slot, event times, event discounts, and recruitment periods; and / or vendor data 230, which may include preferred vendor data, vendor-specified discount data, vendor content item data (e.g., vendors associated with a particular content item), and / or any other vendor-related data as described herein.

[0069] The computing system 208 may receive event data 240 which can be used to determine the target content items and / or the target content items of an ordered set. The event data 240 may include theme data 241 which may indicate one or more tags, categories, classifications, etc., which can function as themes for an event or can be used to determine a subset of available content items that may otherwise be targeting an event. The event data 240 may further, or instead, include requirements 242 which may further restrict the subset of available content items that may be targeting an event or that can otherwise be used to determine such a subset. For example, requirements 242 may include minimum total and / or periodic sales requirements (e.g., global and / or regional), minimum rating and / or review scores, minimum or maximum user engagement levels, etc.

[0070] The target content item determination component 216 may function to determine which content items are eligible for participation in an event from among the content items available to a content provider system, such as a computing system 208. For example, the target content item determination component 216 may use the requirements 242 of theme 241 and / or event data 240 to identify content items from a catalog of available content items that can be associated with theme 241 and / or satisfy requirements 242. For example, theme 241 may include one or more tags that the target content item determination component 216 can compare with tags associated with content items. The target content item determination component 216 may determine that those items having the same tags are eligible for the event. The number or type of tags may be used in this determination. For example, theme 241 and / or requirement 242 may require that content have a minimum number of user-applied tags of a particular type (e.g., race, battle, etc.). Alternatively or additionally, theme 241 and / or requirement 242 may require that the evaluated content item tags be assigned by the vendor and / or content provider, rather than by the user.

[0071] Requirement 243 may further include other requirements for content item eligibility in the events described herein (e.g., preferred vendor status, minimum discount, fixed discount, sales requirements, user participation requirements, evaluation or review requirements, etc.). In embodiments, Requirement 243 may further, or instead, include requirements relating to one or more other events. For example, a content item and / or vendor may not be eligible to participate in multiple ongoing events at once, and therefore, an item associated with a content item and / or vendor currently participating in another event may not be eligible to participate in this event. In another embodiment, there may be a “cool-down” period during which a content item and / or vendor may not be eligible to participate in a subsequent event after participating in a previous event. For example, a content item that has participated in a particular event may not be eligible to participate in a subsequent event for a period after the end of that particular event (e.g., one week, two weeks, 30 days, etc.). In another example, a vendor associated with a content item that participated in a particular event may not be eligible to participate in subsequent events with other content items related to that content item during a period following the end of that event (e.g., one week, two weeks, 30 days, etc.). When determining the eligible content items, the eligible content item determination component 216 may access and / or retrieve data from global sales data 224, regional sales data 226, vendor data 230, etc. The eligible content item determination component 216 may store the eligible content item data in the event participation data 228 and / or in one or more other data stores.

[0072] The vendor determination component 218 may function to determine the specific vendor and / or vendor data for a content item. In an embodiment, the vendor determination component 218 may determine the vendor associated with an event-targeted content item determined by the target content item determination component 216. The vendor determination component 218 may further determine means of interacting with such vendor (e.g., email address, notification preferences, etc.).

[0073] The event participation query component 220 may function to generate event participation queries, such as event participation queries 260, which may be provided to a vendor system to request participation in a specific content item of an event. The event participation query component 220 may use data from event data 240 to generate such queries. For example, the event participation query component 220 may include the display of themes 241 in the query, requirements 242 (e.g., for informational purposes), the date and time of the event, application period information, the number of slots, etc. The event participation query component 220 may further, or alternatively, use data from event participation data 228 when generating queries such as the display of remaining slots for the event (if any), other participants registered for the event (e.g., content items and / or vendors).

[0074] The vendor interaction component 222 may perform communication operations that interact with the vendor system, such as sending an event participation query 260 to the vendor system 202 and / or receiving an event participation response 270 from the vendor system 202. In various embodiments, the vendor interaction component 222 may generate one or more vendor interfaces (e.g., a web page, an application programming interface (API), a data interface, a UI, etc.) that enable the vendor system to register content items for an event. The vendor interaction component 222 may also provide means for the vendor system to set or request event parameters such as a discount amount or a desired quota (e.g., via the generated interface). The vendor interaction component 222 may be further configured to register and / or store event registration data (e.g., based on an accepted participation query) in the event participation data 228, for example.

[0075] It should be noted that in some embodiments, various functions and / or components may be distributed across multiple devices, including client devices. For example, one or more of the target content item determination component 216, the event participation query component 220, and / or vendor interaction components 222 may be configured in one or more other systems configured to interact with the vendor system 202 and / or the computing system 208. Any such systems, other devices, and / or any combination thereof may be configured to perform one or more of the functions described herein (for example, using the data described herein) with respect to them and similar components.

[0076] Figure 3 illustrates an exemplary environment 300, which includes client devices 302(1) and 302(2) (collectively, "Device 302"), which may be similar client devices to those in Figure 1. The environment 300 may further include one or more content item vendor systems, such as content item vendor system 303. Device 302 and vendor system 303 may communicate with one or more other computing devices via network 306. For example, Device 302 and vendor system 303 may communicate via network 306 with a remote computing system 308 configured to dynamically determine content items associated with an event. Computing system 308 may also provide games and / or other content items to client computing devices (e.g., client device 302 and / or client device 102 in Figure 1). Remote computing system 308 may be the content provider system described herein, or any other device, system, or combination of devices and / or systems that may be suitable for implementing the disclosed techniques. The vendor system 303 may be the content item vendor system described herein, or any other device, system, or combination of devices and / or systems that may be suitable for implementing the disclosed techniques. The computing systems and devices 302, 303 and / or 308 may, in some cases, be part of a network-accessible computing platform that is maintained and accessible via a computer network 306.

[0077] In some embodiments, the computing system 308 may perform operations similar to those performed by the computing system 108 in Figure 1 and / or the computing system 208 in Figure 2, and may also function as a video game platform that implements video game services to deliver games or any other type of content items to client devices such as the client devices described herein, i.e., may have access to them.

[0078] The computing system 308 can dynamically evaluate content items for their eligibility to participate in an event. The computing system 308 can detect changes within the environment 300 that may affect whether one or more content items are eligible for an event. If a change in data associated with a particular content item alters the content item's eligibility, the computing system 308 may decide whether to add that content item to a particular set of eligible content items, remove it from that set of eligible content items, or, based on the change in content item data, take no action with respect to that set of eligible content items.

[0079] For example, computing system 308 may receive or determine event data 340 which may include event theme data 341 (represented, for example, by one or more tags) and one or more event requirements 342 (e.g., sales requirements, evaluation or review requirements, etc.). Based on the event data 340 (e.g., based on theme data 341 and / or requirements 342), computing system 308 may determine content items from the current catalog of content items that are eligible for the event and generate an initial ordered ranking of this set of eligible content items based on one or more criteria described herein (e.g., sales criteria, evaluation or review criteria, tag criteria, etc.). Computing system 308 may then evaluate any content items for which data corrections have been detected as eligible to participate in the event while the event and / or event recruitment period is in progress.

[0080] User 304(1) may operate client device 302(1) to navigate to a web page associated with computing system 308, and in response, computing system 308 may cause client device 302(1) to present 310(1) on the display of client device 302(1). In some cases, this UI 310(1) may include information about one or more video games and / or other content items available to user 304(1) and / or from computing system 308. For example, UI 310(1) may include user-selectable tags 360 that can be associated with content item 351. In an embodiment, the content provider of content item 351 may prompt the user to apply their own tags in order to obtain richer descriptive data about content item 351 (and other items provided by the content provider). These user-selectable tags may be tracked and stored by computing system 308, for example, as tag data in content item tag data 326. In some embodiments, the user may also be able to delete tags that have been previously applied by that user. The computing system 308 can track the number of each particular tag applied to a content item, and this number can be used in various operations. For example, the computing system 308 may determine that an item having 1,000 or more of a particular tag is eligible to participate in an event having a theme associated with those particular tags. As shown in this figure, user 304(1) may select tags A and D to apply to content item 351. The computing system 308 may detect these selections, associate tags A and D with content item 351, and / or increment the tag counter for tag A and the tag counter for tag D associated with content item 351.

[0081] The computing system 308 may detect this change in tag data associated with content item 351. In response, the computing system 308 may evaluate the content item 351 for eligibility to currently recruiting and / or ongoing events. For example, if user 304(1) selects tag A, and the tag A counter associated with content item 351 now totals 1,000, the computing system 308 may determine that content item 351 is eligible for events with 1,000 or more application requirements for tag A. Alternatively, if user 304(1) selects tag D, and the tag D counter associated with content item 351 now totals 999, the computing system 308 may determine that content item 351 remains ineligible for events with 1,000 or more application requirements for tag D. In embodiments, such modifications to eligibility may be temporarily buffered to avoid abrupt and / or potentially destructive changes to content item eligibility. For example, content items that fall below a symmetry threshold may maintain symmetry regardless of the time period (e.g., days, weeks, months, etc.) so that they are not deleted, and may then be determined to be symmetry again immediately afterward. This can be useful for content items that have attributes that are relatively close to the threshold and therefore rapidly rise above and below such a threshold in a short period of time. Similar buffering may be used to establish symmetry so that an item is not determined to be symmetry until it has established an attribute with a value exceeding the symmetry threshold for a certain period of time (e.g., days, weeks, months, etc.).

[0082] User 304(2) may operate client device 302(2) to navigate to a web page associated with computing system 308, and in response, computing system 308 may cause client device 302(2) to present 310(2) on the display of client device 302(2). In some cases, this UI 310(2) may include information to user 304(2) about one or more video games and / or other content items available for acquisition from computing system 308. For example, UI 310(2) may include purchase control 371 which allows user 340(2) to purchase content item 352, and wish list control 372 which allows user 340(2) to add content item 352 to a wish list associated with user 340(2). Purchase and / or wish list data may be tracked and stored by the computing system 308, for example, as purchase data in content item sales data 324 and / or as user wish list data in user data 328. In some embodiments, a user may also delete (e.g., return) a purchase previously made by that user and / or remove a content item from the user's wish list. The computing system 308 may track several purchase or wish list contents for use in various operations. For example, the computing system 308 may determine that items purchased by 10,000 or more users or included in wish lists for 5,000 or more users are eligible for participation in an event. The computing system 308 may detect the selection of user 304(2) of control 372 and / or control 372 and store the associated purchase and / or wish list data.

[0083] The computing system 308 may detect this change in purchase and / or wish list data associated with content item 352. In response, the computing system 308 may evaluate the eligibility of content item 352 for currently recruiting and / or ongoing events. For example, if a purchase of content item 352 by user 304(2) results in a new global total purchase of 10,000 of that content item, the computing system 308 may determine that content item 352 is currently eligible for events that require the sale of at least 10,000 global content items. Alternatively or additionally, if a purchase of content item 352 by user 304(2) results in a new regional total purchase of 10,000 of that content item in user 304(2)'s region, the computing system 308 may determine that content item 352 is currently eligible for events that require the sale of at least 10,000 regional content items. Similarly, if a request to add content item 352 to a wish list associated with user 304(2) results in the inclusion of a total of 5,000 new global or regional wish lists for that content item, the computing system 308 may determine that content item 352 is currently eligible for events that have the requirement of inclusion of at least 5,000 global or regional wish lists.

[0084] Newly added and / or deleted content items may be similarly evaluated upon detection. For example, the content item vendor system 303 may send content item 353 to the computing system 308, or otherwise provide content item 353 to the computing system 308. The computing system 308 may then make content item 353 available to a user (e.g., user 304) for use, purchase, download, streaming, etc. The vendor system 303 may include tags A and E, or associate them with content item 353. The computing system 308 may detect the addition of content item 353 to the content item catalog and, in response, evaluate content item 353 for eligibility to currently recruiting and / or ongoing events. For example, if an ongoing event requires tag A or tag A applied by a vendor (as opposed to tag A applied by a user), the computing system 308 may determine that content item 353 is eligible for that event, assuming other requirements are met. Alternatively, if an event is underway that requires tag E (or a vendor-applied tag E) and 10,000 purchases, computing system 308 may determine that content item 353 is ineligible for that event because it has fewer than 10,000 purchases (for example, no purchases because it has just been added to the catalog), even though it has the appropriate tag. Alternatively, if an event is underway that requires tag E (or a vendor-applied tag E) and focuses on highlighting newly added content items, computing system 308 may determine that content item 353 is eligible for that event because it has the appropriate tag and has been newly added.

[0085] Similarly, the content item vendor system 303 may send or provide a request to remove content item 353 from the catalog associated with the computing system 308. The computing system 308 may remove content item 353 from the availability of users (e.g., user 304) for use, purchase, download, streaming, etc. The computing system 308 may also remove content item 353 from any set of target content items it may contain and / or from any ongoing event.

[0086] Figure 3 further illustrates exemplary components of a computing system 308 for dynamically determining content items associated with an event. As illustrated, the computing system 308 may comprise one or more processors 312 (e.g., one or more central processing units (CPUs)) and computer-readable media 314, and components stored therein for dynamically determining event content items. The computer-readable media 314 may include volatile and non-volatile memory, removable and non-removable media, implemented in any way or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Such memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or others. Examples include magnetic storage devices, RAID storage systems, or any other media that can be used to store desired information and can be accessed by a computing device. The computer-readable medium 314 may be implemented as a computer-readable storage medium CRSM, which may be any available physical medium accessible by the processor 312 to execute instructions stored on the computer-readable medium 314. In one basic implementation, the CRSM may include RAM and flash memory. In other implementations, the CRSM may include, but is not limited to, ROM, EEPROM, or any other non-temporary and / or tangible media that can be used to store desired information and can be accessed by the processor 312.

[0087] As illustrated, the computer-readable medium 314 may store, or otherwise have access to, a target content item determination component 316, a content item data determination component 318, an event content item determination component 320, and / or a UI generation component 322. In addition, the medium 314 may store content item sales data 324, which stores overall, regional, total, and / or periodic sales data for content items; content item tag data 326, which stores tag data for content items; user data 328, which stores user wish list data, user preferences, user history, and / or user account data; and / or vendor data 330, which may include preferred vendor data, vendor-applied tag data, vendor content item data (e.g., vendors associated with a particular content item), and / or any other vendor-related data as described herein.

[0088] The computing system 308 may receive event data 340, which can be used, for example, to determine the content items subject to the event and / or to determine the content items subject to an ordered set, as described herein. The event data 340 may include theme data 341 that can indicate one or more tags, categories, classifications, etc., which can function as themes for the event or can be used to determine a subset of available content items that may otherwise be subject to the event. The event data 340 may further include requirements 342 that can further restrict the subset of available content items that may be subject to the event or that can otherwise be used to determine such a subset. Requirements 342 may include one or more of the requirements described herein and / or any other event requirements, such as minimum total and / or periodic sales requirements (e.g., global and / or regional), minimum rating and / or review score, minimum or maximum user participation level.

[0089] The Target Content Item Determination Component 316 may function to determine which content items are eligible for participation in an event from among the content items available to a content provider system, such as a computing system 308 (for example, with respect to Figure 2 and the Target Content Item Determination Component 216, as described herein). In an embodiment, the Target Content Item Determination Component 316 may receive, for example, one or more indications or other data associated with a changed or updated content item data or a newly added content item from a content item data determination component 318. In response, the Target Content Item Determination Component 316 may, for example, based on event data 340 (e.g., theme 341 and / or requirement 342), determine whether the updated or newly added content item is currently eligible for participation in an event that was not previously eligible. In that case, the vendor system associated with the content item may be invited to participate, for example, as described herein, and / or the content item may be added to a set of eligible content items for potential invitations to participate. The target content item determination component 316 may further, or alternatively, determine whether the updated content item is no longer eligible to participate in an event it was previously eligible for, for example, based on event data 340 (e.g., theme 341 and / or requirement 342). In that case, the content item may be removed from the set of target content items, for example, as described herein.

[0090] The content item data determination component 318 may function to monitor and / or otherwise detect changes in content item data, including the addition or deletion of content items from a catalog associated with the computing system 308. For example, the content item data determination component 318 may detect changes to content item tags (e.g., using content item tag data 326 and / or vendor data 330), purchase data (e.g., using content item sales data 324), wish list data (e.g., using user data 328), etc. The content item data determination component 318 may also detect the addition of content items to a set of content items available on the computing system 308, or the deletion of content items from a set of content items available on the computing system 308 (e.g., based on vendor data 330). Based on such detection or associated determination, the content item data determination component 318 may notify or otherwise indicate the changed, added, or deleted content items to the target content item determination component 316 and / or event content item determination component 320. As described above, the target content item determination component 316 may then determine whether the indicated content item is currently targeted to the event and / or no longer targeted to the event. As will be described in more detail below, the event content item determination component 320 may then determine whether the indicated content item should currently be included in the active ongoing event and / or should be removed from the active ongoing event.

[0091] The event content item determination component 320 may function to determine whether a content item associated with an active event should be removed from that event, or whether a content item not currently associated with an active event should be added to that event. For example, the content item data determination component 318 may detect changes in content item data, such as a decrease in the content item's periodic sales or a change in review data. The content item data determination component 318 may indicate this change in content item data to the event content item determination component 320, which may be configured to evaluate whether the content item remains eligible for participation in an ongoing event it can currently participate in. For example, if a content item is currently participating in an ongoing event limited to content items with a specific periodic purchase minimum, such as an average monthly purchase of at least 10,000 units, and a change in content item data indicates that the content item has fallen to an average monthly purchase of 9,500 units, the event content item determination component 320 may remove the content item from that event.

[0092] In another embodiment, the computing system 308 may be configured to allow content items to be added to an event after they have been started (for example, based on vendor or user requests, if there are remaining slots). In such an embodiment, the content item data determination component 318 may detect changes in data about a content item, such as an increase in the total global sales of the content item. The content item data determination component 318 may indicate this change in content item data to the event content item determination component 320, which may be configured to evaluate whether the content item is currently eligible to participate in an ongoing event in which it is not currently participating. For example, if a content item is not currently participating in an event limited to content items having a certain global purchase minimum, such as at least 100,000 purchases, and a change in content item data indicates that the content item has just exceeded 100,000 purchases, the event content item determination component 320 may add the content item to that event.

[0093] The UI generation component 322 can generate a UI for presentation on a client device. For example, the UI generation component 322 can present content item data and content item controls such as selectable tags 360 for content item 351 presented in UI 310(1) and / or purchase controls 371 and wish list controls 372 for content item 352 presented in UI 310(2). The UI generation component 322 can further generate a UI and / or other interface (e.g., data interface, API, etc.) that can interact with a vendor system such as a vendor system 303 to receive and / or provide vendor, content item, and / or event participation data.

[0094] It should be noted that in some embodiments, various functions and / or components may be distributed across multiple devices, including client devices. For example, one or more of the target content item determination component 316, content item data determination component 318, event content item determination component 320, and / or UI generation component 322 may be configured on one or more other systems configured to interact with the client device 302, the vendor system 303, and / or the computing system 308. Any such system, other device, and / or any combination thereof may be configured to perform one or more of the functions described herein (for example, using the data described herein) with respect to them and similar components.

[0095] Figure 4 shows a flowchart of an exemplary process 400 for determining content items associated with events to be presented to the user on the UI. This process, and each process described herein, is shown as a set of blocks in a logical flow graph representing a set of operations that may be implemented in hardware, software, or a combination thereof. In the context of software, a block represents a computer executable instruction, which, when executed by one or more processors, performs the enumerated operations. Generally, computer executable instructions include routines, programs, objects, components, data structures, etc., that perform a particular function or implement a particular abstract data type. The order in which operations are described is not intended to be interpreted as limiting, and any several described blocks may be combined in any order and / or in parallel to implement a process. In some cases, computing systems 108, 208, and / or 308 may be configured to perform some or all of the operations, but in other cases, other devices may additionally or alternatively perform some or all of the operations. For example, some or all of the techniques described herein may, in some cases, be implemented on client devices and / or vendor systems.

[0096] In operation 402, the content provider system may receive requests for event content items from a user computing device. These could be requests for web pages, requests for user homepages provided by a content provider (e.g., a video game provider), requests generated in response to control activation (e.g., activation of navigation controls requesting the presentation of an interface configured to present event content items), and / or any other forms of requests that the content provider system may receive from a user system that can initiate the generation of a UI which may contain one or more content items associated with an event.

[0097] In operation 404, the content provider system may determine a set of content items that may participate in an event, for example, an event associated with a request received in operation 402. This set of content items may be candidate items to be presented to the user as event content items within the UI. The content provider system may also order this set of event content items in operation 404 based on one or more global criteria, such as global sales, reviews, ratings, or wish list inclusion.

[0098] In operation 406, the content provider system may further, or alternatively, determine the order of a set of event content items based on one or more regional criteria, such as regional sales, reviews, ratings, or wish list inclusion. The content provider system may determine the regions to use in this operation based on the user. For example, the content provider system may determine and use the user's region (for example, based on user data, user history, user purchases, etc.). The content items in this set may also be items that are candidates for being presented to the user as event content items in the UI. In an embodiment, the content provider system may generate two sets of candidate event content items, one ranked by one or more global criteria in operation 404 and the other ranked by one or more regional criteria in operation 406. As is to be understood, based on the ordering criteria, candidate content items for a particular region may differ from the global candidate items. For example, top-selling content items in a particular region may differ from top-selling content items globally.

[0099] In operation 408, the content provider system may determine an ordered set of candidate content items to be considered as event content items to be presented to the user for the event. As described herein, this ordering of potential presented event content items may be based on any one or more criteria, such as sales, user participation, tags, wish list inclusion, age of the content item, and / or any other criteria.

[0100] In operation 410, the content provider system may filter out of the ordered set of candidate content items those that the user already owns, subscribes to, or otherwise is associated with the user, in order to be considered as event content items. For example, the content provider system may remove from the set of content items those that the user has already purchased, in order to avoid promoting content items to users that the user already owns.

[0101] In operation 412, the content provider system may filter the remaining content items based on user preferences, user content consumption history data, user content consumption pattern data, and / or other user data. For example, the content provider system may promote and / or remove content items that the user has indicated in any way (e.g., using indicators such as blocked and / or preferred tags, content, franchise, grouping, etc.) that the user is interested in or not interested in. Alternatively, the content provider system may evaluate user history and promote and / or remove items that are in any way similar to items the user has liked and / or avoided (e.g., items with tags similar to and / or not associated with other content items the user has purchased). Alternatively or additionally, the content provider system may sort items based on user history to promote those items in a way that makes them more likely to appeal to the user (e.g., moving items in the user's wish list to the top of an ordered set).

[0102] In operation 414, the content provider system may determine a subset of the set of content items determined in operation 412 and present them to the user in the UI. For example, the UI may be configured to present any three sales items at any given time. The content provider system may determine the top three items from the filtered set of candidate event content items and configure the UI to present these three items to the user. Any number and presentation method may be used in operation 414 when generating the UI.

[0103] Figure 5 shows a flowchart of an exemplary process 500 for determining content items for an event. This process may be performed by the content provider system described herein or any other computing device.

[0104] In operation 502, the content provider system may determine one or more event parameters of an event. For example, the operator may configure an event in the content provider system, or otherwise provide event parameters to the content provider system. Event parameters may include any of the event data, attributes, characteristics, and / or any other parameters that may be associated with an event as described herein. Examples of event parameters include themes (indicated in any suitable way including one or more tags or tag data and / or minimum tag application thresholds), minimum sales (overall and / or regional), review and / or rating requirements, user participation requirements, and event participation requirements for content items such as minimum and / or maximum age for content items. Examples of event parameters may further, or instead, include event boundaries such as event start and end times, recruitment period start and end times, and the number of slots (e.g., total, per period (e.g., hour, day, week, etc.)). Other event parameters may include financial requirements such as discounts applied during the event and minimum and / or maximum discounts that vendors may request. Event parameters may also include restrictions to preferred vendors and / or requirements that preferred vendors be offered slots in the event before unpreferred vendors.

[0105] In operation 504, the content provider system may determine one or more content items that are eligible for participation in the event, based on the event parameters determined in operation 502. For example, the content provider system may determine from its catalog of available content items that have one or more tags corresponding to the theme indicated in the event parameters. Alternatively or additionally, the content provider system may determine from its catalog of available content items that satisfy sales requirements, review requirements, rating requirements, wish list requirements, age requirements, user participation requirements, and / or any other requirements for participation in the event indicated in the event parameters. In operation 504, the content provider system may order the eligible content items based on one or more criteria as described herein. For example, the content provider system may order items based on sales, wish list inclusion, other popularity criteria, vendor preference status, user participation, etc. Content items that satisfy these requirements may form a set of eligible content items used by the content provider system to determine the event content items.

[0106] In operation 506, the content provider system may determine an initial subset of content items from an ordered set of target content items. In one embodiment, the content provider system may select a set number of top content items within the ordered set of target content items (e.g., the first 5, 10, 25, 50, etc.). In another embodiment, the content provider system may select games with high global sales for an initial subset that includes games with high regional sales, and vice versa. In yet another embodiment, the content provider system may randomly select several content items from the ordered set of target content items. Any other technique may be used to determine this initial subset of content items.

[0107] In operation 508, the content provider system may send event participation queries to vendor systems associated with content items within the initial subset determined in operation 506. These queries may include any query data and information described herein, including, but are not limited to, an indication of an initial recruitment period or deadline for which a response may be required, discounts associated with or available for sale, details of event slots (e.g., available times and dates, remaining slots, used slots, etc.), and means for registering content items for the event (e.g., a link to a webpage or interface that facilitates registration).

[0108] In operation 510, the content provider system may receive, or otherwise determine, a response to a query from the vendor system, or the registration of an event performed in response to a query. For example, if the response is sent by email, the content provider system may register a content item in response to receiving such email. If the registration is performed via a user interface or API, the content provider system may detect such registration based on the registration data generated by such interface registration. Any other operations may be performed to complete the content item registration for an event and / or to determine the content item associated with the event based on the query response.

[0109] In operation 512, the content provider system may determine, for example, at the end of the initial recruitment period or response deadline, which content items have been successfully registered for or associated with the event. Furthermore, in 512, the content provider system may determine whether there are any remaining slots for the event and / or any remaining portion of the recruitment period. If all slots are filled for the event and / or the recruitment period has ended, in operation 520, the content provider system may confirm or otherwise associate the registered content items with the event.

[0110] However, if the content provider system determines in operation 512 that there are remaining slots and recruitment time, in operation 514, the content provider system may determine a subsequent subset of content items from the ordered set of target content items. Again, any of the following techniques may be used to determine this subsequent subset of content items. For example, the next best-selling set of content items (below the set of best-selling content items used for the first subset of content items) may be selected, the next subset that does not require a preferred vendor status may be selected, the next best-rated content items may be selected, and the subsets may be selected based on age, etc. Again, a random selection of content items may be selected as a subsequent subset, etc. In some embodiments, subsets such as the initial subset of content items and the subsequent subset of content items may be mutually exclusive (e.g., a content item cannot be included in both subsets), but in other embodiments, items may overlap with subsets. For example, each vendor system may have only one opportunity to register for the event. Alternatively, one or more vendor systems may be repeatedly requested for an event (for example, because they are associated with a preferred vendor status, or because the content items are global bestsellers, etc.).

[0111] In operation 516, a join query may be sent to a vendor system associated with a subsequent subset of content items determined in operation 514. This solicitation may be similar to the solicitation in operation 508, and the associated query may include any data and / or information as described herein for the join query.

[0112] In operation 518, a join query response may be received, and / or registration may be detected and / or determined in a manner similar to that described herein in relation to operation 510 and / or in other ways.

[0113] Next, process 500 may return to operation 512 to determine if there are any remaining slots and / or recruitment time for the event. If so, process 500 may again determine a subsequent subset of content items for recruitment in operation 514. Process 500 may repeat this until all slots are filled for the event or until the event recruitment period expires.

[0114] In some examples, there may be no recruitment period for the event. Instead, the event may run during the event period for participation through the featured content items. Recruitment for such an event may occur in a round-robin fashion, with the first subset of content items being recruited again after the last subset of content items has been recruited, and the remaining slots for the event still remaining. Alternatively, the content provider system may randomly select a subset of content items with each recruitment iteration, and in some embodiments, a certain period of recruitment subsets and / or some recruitments may be excluded before the subset of content items contains the content items associated with a set of content items that may be randomly selected. Any other methods and techniques for determining the subsets and order in which to recruit participants for the event may also be used, or alternatively, according to the disclosed examples.

[0115] Figure 6 illustrates a flowchart of an exemplary process 600 for determining whether a content item is relevant to an event based on several criteria. This process may be performed by the content provider system described herein or any other computing device. While process 600 describes using several exemplary criteria to determine whether a particular content item is relevant to an event, it should be noted that other criteria may also be evaluated in accordance with this disclosure, either further or instead.

[0116] In operation 602, the content provider system may determine one or more event parameters of an event. As described herein, the operator may configure the event in the content provider system, or otherwise provide the event parameters to the content provider system. The event parameters may include any of the event data, attributes, characteristics, and / or any other parameters that may be associated with the event as described herein. In this example, exemplary event parameters for minimum tag application, minimum revenue, and minimum wish list inclusion are described, but other parameters may be used further or instead.

[0117] In operation 604, the content provider system may determine an initial set of content items that may be eligible for participation in the event, for example, based on one of the event parameters determined in operation 602. For example, the content provider system may determine from its catalog of available content items those that can be associated with a particular theme indicated by the event parameter. Alternatively or additionally, the content provider system may use any other criteria to determine an initial set of candidate eligible content items. In embodiments, this initial set of candidate eligible content items may be a set of all available content items for the entire region or a specific region. Items in the initial set of candidate eligible content items may be ordered according to any criteria, including those described herein.

[0118] In operation 606, the content provider system may determine a specific content item for evaluation from an initial set of candidate content items. The item may be determined randomly or based on the order of the initial set of candidate content items. While the serial evaluation of a single item is described in this example, multiple items may be evaluated in parallel using this operation, and all such examples are intended to be within the scope of this disclosure.

[0119] In operation 608, the content provider system may determine whether the content item determined in operation 606 satisfies the tag requirements indicated in the event parameters. For example, the event parameters determined in operation 602 may include the minimum number of user applications for a particular tag (e.g., a tag associated with the event's theme). Alternatively or additionally, the event parameters determined in operation 602 may include the minimum tag weight for a particular tag (e.g., a tag associated with the event's theme). The weight of a tag may be determined by the entity applying the tag. For example, a vendor-applied tag may have a higher weight than a user-applied tag (e.g., it may be counted as a tag applied by 2, 20, or 100 users). Similarly, premium or preferred user-applied tags may have a higher weight than regular user-applied tags (e.g., they may be counted as a regular user-applied tag by 2, 5, or 10 users). Other means or techniques may be used to weight tags.

[0120] If, in operation 608, the number and / or weight of applied tags does not meet or exceed the required tag threshold, process 600 may proceed to operation 616, in which the content item is not added to the set of target content items for the event. Then, in operation 618, the content provider system may determine whether there are any additional content items remaining in the set of candidate items to assess the targetness of this particular event. If not, process 600 may return to operation 606 to determine and evaluate the next set of candidate content items. If there are no content items remaining in the set of candidate items to assess targetness, in operation 620, the content provider system may commit or otherwise associate the set of target content items with the event, for example, for an invitation to participate as described herein.

[0121] In operation 608, if the content provider system determines that the applied tag quantity and / or weight for a candidate content item meets or exceeds the required tag threshold, in operation 610, the content provider system may determine that the revenue associated with the candidate content item meets or exceeds the revenue threshold for the event. For example, the event parameters determined in operation 602 may include the minimum total global and / or regional quantity and / or value of sales, and / or the minimum periodic global and / or regional quantity and / or value of sales. The event parameters determined in operation 602 may further, or instead, include relative sales quantities such as the minimum relative global and / or regional quantity and / or value of sales (e.g., top 100 global content item sales, top 1000 regional content item sales, etc.) and / or the minimum periodic relative global and / or regional quantity and / or value of sales (e.g., top 100 global content item sales this month, top 1000 regional content item sales this week, etc.). Alternatively or additionally, the event parameters determined in operation 602 may include other revenue requirements, such as the minimum average number and / or value of in-game sales, or the minimum average number and / or value of games purchased to be advertised on a content item. Any type of sales, purchase, and / or revenue data may be used as eligibility requirements for an event.

[0122] In operation 610, if the revenue of the candidate content item does not meet or exceed the required revenue threshold, process 600 may proceed to operation 616, in which the content item is not added to the set of target content items for the event. As described, in operation 618, the content provider system may determine whether there are any additional content items remaining in the set of candidate items to assess the targetness of this particular event. If not, process 600 may return to operation 606 to determine and evaluate the next candidate content item. If there are no content items remaining in the set of candidate items to assess targetness, in operation 620, the content provider system may commit or otherwise associate the set of target content items with the event, for example, for an invitation to participate as described herein.

[0123] In operation 610, if the content provider system determines that a candidate content item meets or exceeds the required revenue threshold, in operation 612, the content provider system may determine whether the candidate content item has been added to the desired list threshold. For example, the event parameter determined in operation 602 may include a minimum number of desired list inclusions. Alternatively or additionally, the event parameter determined in operation 602 may include requirements associated with one or more other indications of the content item's popularity or desirability.

[0124] In operation 612, if the candidate content item revenue does not meet or exceed the required wish list inclusion threshold, again, process 600 may proceed to operation 616, where the content item is not added to a set of target content items for the event. As described, in operation 618, the content provider system may determine whether there are any additional content items remaining in the set of candidate items to assess the targetness of this particular event. If not, process 600 may return to operation 606 to determine and evaluate the next candidate content item. If there are no content items remaining in the set of candidate items to assess targetness, in operation 620, the content provider system may commit or otherwise associate the set of target content items with the event, for example, for an invitation to participate as described herein.

[0125] In operation 612, if the content provider system determines that the candidate content item meets or exceeds the required wish list inclusion threshold, in operation 614, the content provider system may add the candidate content to the set of content items for the event. Then, in operation 618, the content provider system may determine if there are any additional content items remaining in the set of candidate items to assess the relevance of this particular event. If not, process 600 returns to operation 606 to determine and evaluate the next candidate content item. If there are no content items remaining in the set of candidate items to assess relevance, in operation 620, the content provider system may commit or otherwise associate the set of content items for the event, for example, for an invitation to participate as described herein.

[0126] While exemplary process 600 is described as requiring a content item to satisfy all three exemplary event requirements (tag quantity or weight, revenue, and wishlist inclusion) for being included in the target set of content items for an event, it should be noted that in other examples, satisfaction of one or a subset of the requirements may be sufficient to cause a content item to be included in the target set of content items for an event. For example, using these exemplary requirements, an alternative implementation may, in operation 620, allow any content item that satisfies any one of the tag quantity or weight, revenue, or wishlist inclusion requirements to be included in the target set of content items for an event.

[0127] Figure 7 shows a flowchart of an exemplary process 700 for dynamically determining the eligibility of content items for participation in an event. This process may be performed by the content provider system described herein or any other computing device. Process 700 describes using several exemplary content item parameters that can be monitored and / or detected to determine whether a particular content item is eligible or ineligible for an event, but note that other criteria may also be evaluated in accordance with this disclosure, either further or instead.

[0128] In operation 702, parameter changes to a content item may be determined. In embodiments, the content provider system may monitor various data that may be associated with a content item and may be associated with event participation. For example, data associated with a content item that, if changed, may trigger an assessment of the content item's eligibility for event participation may include sales and / or popularity data (e.g., global and / or regional total and / or periodic sales rankings, inclusion in global and / or regional wish lists, etc.), tag data (e.g., tags applied and / or deleted by users), and any other content item data and / or event eligibility data described herein. In embodiments, such modifications to eligibility may be temporarily buffered to avoid abrupt and / or potentially destructive changes to content item eligibility. For example, a content item determined in operation 702 to be below an eligibility threshold may maintain its eligibility over any time period (e.g., day, week, month, etc.) so that it is not deleted, and may then be determined to be eligible again immediately thereafter. Here again, this can be useful for content items that have attributes that have values ​​relatively close to the threshold and therefore can exceed or fall below such a threshold in a short period of time. Similar buffering may be used further, or instead, to establish symmetry in operation 702, where an item is not determined to be symmetry until it establishes attributes with values ​​exceeding the symmetry threshold for a certain period (e.g., days, weeks, months, etc.).

[0129] The addition or removal of content items from a content provider's catalog is also monitored and may trigger an assessment of eligibility for event participation. For example, if a particular game is added to the catalog, the data associated with that game may be automatically used (e.g., upon detection of the addition) to determine whether the game is available for sale. Similarly, if a game is removed from the catalog, the content provider system may automatically determine (e.g., upon detection of the removal) that the game is no longer eligible to participate in any sales hosted by the content provider. For the purposes of this disclosure, content items associated with modified data, or added or removed from the catalog, may generally be referred to as “updated” content items.

[0130] In operation 704, in response to determining changes in data associated with a particular content item that may affect eligibility for event participation, the content provider system may determine parameters associated with one or more current events and / or updated events. For example, the content provider system may determine one or more (e.g., all) events currently in the recruitment period, and / or one or more (e.g., all) ongoing events after the event start that may allow participation for the content item. The content provider system may also, in this operation, determine event requirements and other parameters necessary to determine whether a content item is eligible to participate in an event (e.g., as described herein).

[0131] In operation 706, the content provider system may determine one event from the set of current events determined in operation 704 in order to assess the eligibility of the updated content item. While the serial evaluation of a single event for a particular content item is illustrated in this example, it should be noted that multiple events may be evaluated in parallel for one or more content items using this operation, and all such examples are considered to be within the scope of this disclosure.

[0132] In operation 708, the content provider system may determine whether the updated content item is currently associated with the event determined in operation 706. For example, the content provider system may determine whether the updated content item is participating in an ongoing event and / or whether the updated content item is included in a set of target content items for that event. If not, processing may move to operation 714 to determine whether the updated content item is currently target for the event.

[0133] If the updated content item is already associated with an event in some way, in operation 710, the content provider system may determine whether the updated content item maintains its relevance to the event. In an embodiment, the content provider system may evaluate the updated content item against one or more (e.g., all) event requirements and / or parameters to determine relevance. Alternatively, the content provider system may evaluate the updated or modified content item data (e.g., only) against one or more corresponding event requirements and / or parameters. Any of the content item relevance techniques and operations described herein may be used for this determination.

[0134] If, in operation 710, the content provider system determines that the updated content item is relevant to the event, the content provider system may not take any action regarding the relevance of the updated content item to the event and may, in operation 718, determine whether there are other events to evaluate. If, in operation 710, the content provider system determines that the updated content item is no longer relevant to the event, in some examples considering the temporary buffering period described herein, the content provider system may, in operation 712, remove the updated content item from participation in and / or eligibility to the event, or otherwise detach the updated content item from the event to which it is associated. The content provider system may then, in operation 718, determine whether there are other events to evaluate.

[0135] If, in operation 708, the content provider system determines that the updated content item is not currently associated with the event determined in operation 706, then in operation 714, the content provider system may evaluate the updated content item and / or its associated data for eligibility to participate in that event. In embodiments, the content provider system may evaluate the content item against one or more (e.g., all) of the event requirements and / or parameters to determine eligibility. Alternatively, the content provider system may evaluate the updated or modified content item data (e.g., only) against one or more corresponding event requirements and / or parameters. Again, any of the content item eligibility techniques and operations described herein may be used for this determination.

[0136] In operation 714, if the content provider system determines that the updated content item is currently eligible for participation in the event, in operation 716, the content provider system may, for example, use any of the event participation invitation techniques and operations described herein to inquire with the vendor system associated with the updated content item about participation in the event, or otherwise solicit the vendor system about the association between the updated content item and the event. In operation 714, if the content provider system determines that the updated content item is not eligible for the event, the content provider system does not have to take any action regarding the association of the updated content item with the event. In operation 718, the content provider system may determine whether there are other events to evaluate.

[0137] If, in operation 718, the content provider system determines that there is one or more other events to evaluate instead of the updated content item, process 700 may return to operation 706 to determine subsequent events for evaluating the updated content item for symmetry. If, in operation 720, the content provider system determines that there are no remaining events for evaluating the updated content item for symmetry, the content provider system may update the content item data and / or event data based on process 700.

[0138] Figure 8 is a computer architecture diagram showing an illustrative computer hardware architecture for implementing device 800, which can be used to carry out various aspects of the techniques presented herein. The computing systems 108, 208, and / or 308, vendor systems 202 and / or 303, and / or client devices 102 and / or 302 described herein may include some or all of the components described below with reference to device 800.

[0139] The computing resources described herein may be provided by a cloud computing network, a data center, etc., and may be virtual machine (VM) instances or hardware computing systems, database clusters, computing clusters, storage clusters, data storage resources, database resources, networking resources, and other data processing resources. Part of device 800 may be configured to run a resource manager capable of instantiating and / or managing computing resources. In the case of VM instances, for example, the resource manager may be a hypervisor or another type of program configured to enable the execution of multiple VM instances on a single server device 800. Device 800 within a data center may also be configured to provide network services and other types of services.

[0140] Device 800 includes a baseboard 802, or "motherboard," which is a printed circuit board to which numerous components or devices can be connected via a system bus or other telecommunication paths. In one exemplary configuration, one or more central processing units (CPUs) 804 operate in conjunction with the chipset 806. The CPUs 804 may be standard programmable processors that perform the numerical and logical operations necessary for the operation of device 800.

[0141] The CPU 804 performs its operations by transitioning from one discrete physical state to the next through the operation of switching elements that distinguish and change these states. Switching elements generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on a logical combination of the states of one or more other switching elements, such as logic gates. By combining these basic switching elements, more complex logic circuits can be created, including registers, adders-subtractors, arithmetic logic units, floating-point units, and so on.

[0142] The chipset 806 provides an interface between the CPU 804 and the rest of the components and devices on the baseboard 802. The chipset 806 can also provide an interface to RAM 808, which is used as the main memory of device 800. The chipset 806 can further provide an interface to a computer-readable storage medium, such as read-only memory (ROM) 810 or non-volatile RAM (NVRAM), to store basic routines that help start device 800 and transfer information between various components and devices. ROM 810 or NVRAM can also store other software components necessary for the operation of device 800, according to the configurations described herein.

[0143] Device 800 can operate in a networked environment using logical connections to remote computing devices and computer systems via a network such as a local area network 824. Chipset 806 may include functionality to provide network connectivity via a network interface card (NIC) 812, such as a Gigabit Ethernet adapter. The NIC 812 can connect device 800 to other computing devices via the network. Multiple NICs 812 may reside within device 800, and it should be understood that this can connect the computer to other types of networked and remote computer systems.

[0144] Device 800 may be connected to a storage device 818 that provides a non-volatile storage device to the computer. The storage device 818 can store the operating system 820, programs 822, and data, which are described in more detail herein. The storage device 818 may be connected to device 800 via a storage controller 814 connected to a chipset 806. The storage device 818 may consist of one or more physical storage units. The storage controller 814 may interface with the physical storage units via a serial-connected SCSI (SAS) interface, a serial advanced technique attachment (SATA) interface, an FC interface, or other types of interfaces for physically connecting and transferring data between the computer and the physical storage units.

[0145] Device 800 can store data on storage device 818 by transforming the physical state of the physical storage unit to reflect the stored information. In various embodiments of this specification, the specific transformation of the physical state may depend on a variety of factors. Examples of such factors include, but are not limited to, the techniques used to implement the physical storage unit and whether storage device 818 is characterized as a primary or secondary storage device.

[0146] For example, device 800 can store information in storage device 818 by issuing commands via storage controller 814 to change the magnetic properties of a specific location in a magnetic disk drive unit, the reflective or refractive properties of a specific location in an optical memory unit, or the electrical properties of a specific capacitor, transistor, or other individual component in a solid-state memory unit. Other transformations of physical media are possible without departing from the scope and intent of this description, and the examples described above are provided only to facilitate this description. Device 800 can further read information from storage device 818 by detecting the physical state or properties of one or more specific locations in a physical memory unit.

[0147] In addition to the mass storage device 818 described above, device 800 may have access to other computer-readable storage media for storing and retrieving information such as program modules, data structures, or other data. It should be understood by those skilled in the art that the computer-readable storage media is any available medium that provides non-temporary storage of data and can be accessed by device 800.

[0148] Computer-readable storage media may include, but are not limited to, computer-readable storage media, volatile and non-volatile, removable and non-removable media, implemented in any way or technique. Computer-readable storage media may include, but are not limited to, RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory or other solid-state memory technologies, compact disk ROM (CD-ROM), digital versatile disk (DVD), high-definition DVD (HD-DVD), Blu-ray or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that may be used to store desired information in a non-temporary manner.

[0149] As briefly described above, the storage device 818 can store an operating system 820 used to control the operation of device 800. According to one embodiment, the operating system includes the LINUX operating system. According to another embodiment, the operating system includes the WINDOWS® SERVER operating system of Microsoft Corporation, Redmond, Washington. According to a further embodiment, the operating system may include the UNIX® operating system or one of its variations. It should be understood that other operating systems may also be available. The storage device 818 can store programs and data of other systems or applications used by device 800.

[0150] In one embodiment, the storage device 818 or other computer-readable storage medium is encoded with computer-executable instructions that, when loaded into device 800, transform the computer from a general-purpose computing system into a special-purpose computer capable of implementing the embodiments described herein. These computer-executable instructions transform device 800 by specifying how the CPU 804 transitions between states, as described above. According to one embodiment, device 800 has access to a computer-readable storage medium storing computer-executable instructions, and when the computer-executable instructions are executed by device 800, various operations described above with respect to Figures 4-7 are performed. Device 800 may also include a computer-readable storage medium having instructions stored thereon to perform any of the other computer-implemented operations described herein.

[0151] Device 800 may also include one or more input / output controllers 816 for receiving and processing input from several input devices, such as a keyboard, mouse, touchpad, touchscreen, electronic stylus, or other types of input devices. Similarly, the input / output controllers 816 may provide output to a display, such as a computer monitor, flat panel display, digital projector, printer, or other types of output device. It will be understood that device 800 may not include all of the components shown in Figure 8, may include other components not explicitly shown in Figure 8, or may utilize an entirely different architecture than that shown in Figure 8.

[0152] Device 800 may also, or instead, store in the storage device 818 one or more content item data processing components 830 that may include, but are not limited to, one or more components capable of performing content item data processing operations, including, but not limited to, the target content item determination components 216 and 316, the content item data determination component 318, the event content item determination components 116 and 320, and those described herein with respect to Figure 4-7.

[0153] Device 800 may also store in storage device 818 one or more event data processing components 832 that may include, or instead include, one or more components capable of performing event data processing operations, including, but not limited to, event content item determination components 116 and 320, presentation content item determination component 120, event participation query component 220, target content item determination components 216 and 316, and those described herein with respect to Figures 4-7.

[0154] Device 800 may also store in storage device 818 one or more user data processing components 834 that can perform user data processing operations, including, but not limited to, the user content item preference determination component 118 and those described herein with respect to Figures 4-7.

[0155] Device 800 may also store in the storage device 818 one or more vendor data processing components 836 that may include, or instead include, one or more components capable of performing vendor data processing operations, such as the vendor determination component 218 and those described herein with respect to Figures 4-7.

[0156] Device 800 may also store in storage device 818 one or more UI generation components 838 that can perform UI generation operations, including, but not limited to, UI generation components 122 and 322 and those described herein with respect to Figures 4-7.

[0157] Device 800 may also store in the storage device 818 one or more vendor interaction components 840 that may include, or instead include, one or more components capable of performing vendor interaction operations, such as, but not limited to, the vendor interaction component 222 and those described herein with respect to Figures 4-7.

[0158] Device 800 may further, or instead, store one or more additional elements described above with reference to Figures 1-7 in the storage device 818.

[0159] While the present invention has been described with reference to specific examples, it should be understood that the scope of the invention is not limited to these specific examples. Since other modifications and changes to suit specific operating requirements and environments will be obvious to those skilled in the art, the present invention is not considered to be limited to the examples selected for disclosure purposes, but rather covers all changes and modifications that do not depart from the true spirit and scope of the invention.

[0160] While this application describes embodiments having specific structural features and / or methodological actions, it should be understood that the claims are not necessarily limited to the specific features or actions described. Rather, the specific features and actions merely illustrate some of the embodiments that fall within the scope of the claims of this application.

Claims

1. It is a system, One or more computer processors, Computer memory and The system comprises one or more computer-readable media for storing computer-executable instructions, and when the computer-executable instructions are executed, the one or more processors: Receiving event parameters for an event, wherein the event parameters include application requirements for the event and multiple available application locations. The process involves determining one or more data relationships between the aforementioned application requirements and multiple applications represented in the application catalog. Sending a first participation query to a first application generation system associated with a first application among the plurality of applications, wherein the first participation query requests a first data association between the first application among the plurality of applications and the event, Receiving first data relevance information associated with the first participation query, Based at least in part on the first data relevance information, an event data structure is generated which associates first application data associated with the first application among the plurality of applications with first application location data associated with the first location among the plurality of available application locations, Sending a second participation query to a second application generation system associated with a second application among the plurality of applications, wherein the second participation query requests a second data association between the second application among the plurality of applications and the event. Receiving second data relevance information associated with the second participation query, A system that performs an operation including updating the event data structure based at least in part on the second data relevance information to associate the second application data associated with the second application among the plurality of applications with the second application location data associated with the second location among the plurality of available application locations.

2. The system according to claim 1, wherein the operation further comprises ordering the plurality of applications based at least in part on a criterion.

3. The system according to claim 2, wherein determining at least one of the plurality of applications, the first application, or the second application, is at least partially based on the order of the plurality of applications.

4. The system according to any one of claims 1 to 3, wherein the operation further comprises generating and transmitting to the user computing device a command causing a user interface to be presented on the display of the user computing device, at least in part based on the event data structure, and the user interface includes one or more displays of one or more applications represented by the event data structure.

5. The system according to claim 4, further comprising determining the one or more applications represented in the event data structure based at least in part on a region associated with a user of the user computing device.

6. The system according to any one of claims 1 to 5, wherein determining the one or more data relationships between the application requirements and the plurality of applications includes determining that each of the plurality of applications is associated with a tag indicated by the event parameter.

7. Determining one or more data relationships between the application requirements and the plurality of applications means that each of the plurality of applications, The number of tags that satisfies or exceeds the minimum number of tags indicated by the event parameters, or The system according to any one of claims 1 to 6, comprising determining that it is associated with at least one of the minimum tag weights that satisfy or exceed the minimum tag weight indicated by the event parameter.

8. It is a method, In a content provider computing system, the event parameters for an event and the location of multiple available applications are determined. The content provider computing system determines multiple applications from an application catalog that correspond to the application requirements indicated by the event parameters, Sending a first participate query from the content provider computing system to a first application generation system associated with a first application among the plurality of applications, wherein the first participate query requests a first data association between the first application among the plurality of applications and the event, The content provider computing system receives first data relevance information associated with the first participation query, The content provider computing system generates an event data structure that, at least in part, associates first application data associated with the first application among the plurality of applications with first application location data associated with the first location among the plurality of available application locations, based on the first data relevance information. Sending a second participation query from the content provider computing system to a second application generation system associated with a second application among the plurality of applications, wherein the second participation query requests a second data association between the second application among the plurality of applications and the event. The content provider computing system receives second data relevance information associated with the second participation query, A method comprising updating the event data structure in the content provider computing system, at least in part, based on the second data relevance information, to associate second application data associated with the second application among the plurality of applications with second application location data associated with the second location among the plurality of available application locations.

9. The method according to claim 8, further comprising determining the second application based at least partially on the event data structure and one or more remaining application locations among the plurality of available application locations.

10. The method according to claim 8 or 9, further comprising determining the second application based at least in part on one or more of the tags associated with the second application or the tag count associated with the second application.

11. The aforementioned application requirements are, The number of tags that satisfies or exceeds the minimum number of tags indicated by the event parameters, or The method according to any one of claims 8 to 10, comprising one or more tag weights that satisfy or exceed the minimum tag weight indicated by the event parameter.

12. The method according to any one of claims 8 to 11, wherein the application requirement includes an association with a tag indicated by the event parameter.

13. The method according to any one of claims 8 to 12, further comprising generating an instruction to present a user interface on the display of a user computing device, based at least in part on the event data structure, and transmitting it from the content provider computing system to the user computing device, wherein the user interface includes one or more displays of one or more applications represented by the event data structure.

14. The instruction that presents the user interface, User's region, User purchase history, User content consumption history data, User content consumption pattern data, or The method according to claim 13, which is at least partially based on at least one of the user's wish list.

15. One or more non-temporary computer-readable media for storing instructions, wherein when the instructions are executed by one or more processors, one or more computing devices are caused to carry out the method according to any one of claims 8 to 14.