U.S. Pat. No. 10,099,140

SYSTEM AND METHOD FOR GENERATING PERSONALIZED MESSAGING CAMPAIGNS FOR VIDEO GAME PLAYERS

AssigneeACTIVISION PUBLISHING, INC.

Issue DateMarch 18, 2016

Illustrative Figure

Abstract

A system and method for generating personalized messaging campaigns for video game players is provided. A video game player's profile data and/or behavioral data may be used to create a customized messaging campaign for the player. The messaging campaign may comprise one or more messages, each selected from a variety of message types, that may be delivered to a game player through one or more channels, at predetermined time intervals. Examples of message types may include gameplay tips, techniques, strategy information, news, awards, milestones, promotions relating to microtransactions (e.g., offers, discounts, etc.), overviews of new products, features, etc., or other message types. Any number of predefined messages may exist (e.g., tens, hundreds, thousands, etc.) for each message type.

Description

DETAILED DESCRIPTION OF THE INVENTION The invention described herein relates to a system and method for generating personalized messaging campaigns for video game players. According to an aspect of the invention, and as described in greater detail herein, a game player's profile data and/or behavioral data may be used to create a customized messaging campaign for the player. The messaging campaign may comprise one or more messages, each selected from a variety of message types, which may be delivered to a game player through one or more channels, at predetermined time intervals. Exemplary System Architecture FIGS. 1A and 1Beach depict an exemplary architecture of a system (100A,100B) which may include one or more computer systems110, one or more servers150, one or more databases160, and/or other components. FIG. 1Aillustrates an implementation in which server(s)150function as a host computer that hosts gameplay between (or with) other devices, such as computer system(s)110. FIG. 1Billustrates an implementation in which a given computer system110functions as a host computer that hosts gameplay between (or with) other devices, such as other computer system(s)110. Unless specifically stated otherwise, the description of various system components may refer to either or both ofFIGS. 1A and 1B. Server150 Server150may include one or computing devices. Referring toFIG. 1A, server150may include one or more physical processors152(also interchangeably referred to herein as processors152, processor(s)152, or processor152for convenience) programmed by computer program instructions, one or more storage devices154(which may store a targeting application120), and/or other components. Processors152may be programmed by one or more computer program instructions. For example, processors152may be programmed by gaming instructions used to instantiate a game. Depending on the system configuration, a targeting application120(or portions thereof) may be part of a video game application, which creates a game instance to facilitate gameplay. Alternatively or additionally, portions or all of targeting application120may run ...

DETAILED DESCRIPTION OF THE INVENTION

The invention described herein relates to a system and method for generating personalized messaging campaigns for video game players.

According to an aspect of the invention, and as described in greater detail herein, a game player's profile data and/or behavioral data may be used to create a customized messaging campaign for the player. The messaging campaign may comprise one or more messages, each selected from a variety of message types, which may be delivered to a game player through one or more channels, at predetermined time intervals.

Exemplary System Architecture

FIGS. 1A and 1Beach depict an exemplary architecture of a system (100A,100B) which may include one or more computer systems110, one or more servers150, one or more databases160, and/or other components.

FIG. 1Aillustrates an implementation in which server(s)150function as a host computer that hosts gameplay between (or with) other devices, such as computer system(s)110.

FIG. 1Billustrates an implementation in which a given computer system110functions as a host computer that hosts gameplay between (or with) other devices, such as other computer system(s)110. Unless specifically stated otherwise, the description of various system components may refer to either or both ofFIGS. 1A and 1B.

Server150

Server150may include one or computing devices. Referring toFIG. 1A, server150may include one or more physical processors152(also interchangeably referred to herein as processors152, processor(s)152, or processor152for convenience) programmed by computer program instructions, one or more storage devices154(which may store a targeting application120), and/or other components. Processors152may be programmed by one or more computer program instructions. For example, processors152may be programmed by gaming instructions used to instantiate a game.

Depending on the system configuration, a targeting application120(or portions thereof) may be part of a video game application, which creates a game instance to facilitate gameplay. Alternatively or additionally, portions or all of targeting application120may run on server150or computer system110. Targeting application120is described in additional detail herein.

Computer System110

Computer system110may be configured as a gaming console, a handheld gaming device, a personal computer (e.g., a desktop computer, a laptop computer, etc.), a smartphone, a tablet computing device, and/or other device that can be used to interact with an instance of a video game.

Referring toFIG. 1B, computer system110may include one or more processors112(also interchangeably referred to herein as processors112, processor(s)112, or processor112for convenience), one or more storage devices114(which may store a message targeting application120), one or more peripherals140, and/or other components. Processors112may be programmed by one or more computer program instructions. For example, in one implementation, processors112may be programmed by targeting application120and/or other instructions (such as gaming instructions used to instantiate the video game).

Although each is illustrated inFIGS. 1A and 1Bas a single component, server150and computer system110may each include a plurality of individual components (e.g., computer devices), each programmed with at least some of the functions described herein. In this manner, some components of server150and/or computer system110may perform some functions while other components may perform other functions, as would be appreciated. The one or more processors (152,112) may each include one or more physical processors that are programmed by computer program instructions. The various instructions described herein are exemplary only. Other configurations and numbers of instructions may be used, so long as the processor(s) (152,112) are programmed to perform the functions described herein.

Furthermore, it should be appreciated that although the various instructions are illustrated inFIGS. 1A and 1Bas being co-located within a single processing unit, in implementations in which processor(s) (152,112) include multiple processing units, one or more instructions may be executed remotely from the other instructions.

The description of the functionality provided by the different instructions described herein is for illustrative purposes, and is not intended to be limiting, as any of instructions may provide more or less functionality than is described. For example, one or more of the instructions may be eliminated, and some or all of its functionality may be provided by other ones of the instructions. As another example, processor(s) (152,112) may be programmed by one or more additional instructions that may perform some or all of the functionality attributed herein to one of the instructions. Further, as noted above, either or both server150and computer system110may function as a host computer programmed by targeting application120.

Peripherals140

Peripherals140may be used to obtain an input (e.g., direct input, measured input, etc.) from a player. Peripherals140may include, without limitation, a game controller, a gamepad, a keyboard, a mouse, an imaging device such as a camera, a motion sensing device, a light sensor, a biometric sensor, and/or other peripheral device that can obtain an input from a player. Peripherals140may be coupled to a corresponding computer system110via a wired and/or wireless connection.

Storage Devices (154,114)

The various instructions described herein may be stored in one or more storage devices, such as storage devices (154,114) which may comprise random access memory (RAM), read only memory (ROM), and/or other memory. The storage device may store the computer program instructions (e.g., the aforementioned instructions) to be executed by processor (152,112) as well as data that may be manipulated by processor (152,112). The storage device may comprise floppy disks, hard disks, optical disks, tapes, or other storage media for storing computer-executable instructions and/or data.

Network102

The various components illustrated inFIGS. 1A-1Bmay be coupled to at least one other component via a network, which may include any one or more of, for instance, the Internet, an intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN (Storage Area Network), a MAN (Metropolitan Area Network), a wireless network, a cellular communications network, a Public Switched Telephone Network, and/or other network.

Databases160

The various databases160described herein may be, include, or interface to, for example, an Oracle™ relational database sold commercially by Oracle Corporation. Other databases, such as Informix™, DB2 (Database 2) or other data storage, including file-based, or query formats, platforms, or resources such as OLAP (On Line Analytical Processing), SQL (Structured Query Language), a SAN (storage area network), Microsoft Access™ or others may also be used, incorporated, or accessed. Database160may comprise one or more such databases that reside in one or more physical devices and in one or more physical locations. Database160may store a plurality of types of data and/or files and associated data or file descriptions, administrative information, or any other data.

InFIGS. 1A-1B, as well as in other drawing Figures, different numbers of entities than those depicted may be used. Furthermore, according to various implementations, the components described herein may be implemented in hardware and/or software that configure hardware. Accordingly, the foregoing system architecture is exemplary only and should not be viewed as limiting. Other system configurations may be used as well, as would be appreciated by those having skill in the art.

Exemplary Multiplayer System Configurations

Multiplayer video games have exploded in popularity due, in part, to services such as Microsoft's Xbox LIVE® and Sony's PlayStation Network® which enable gamers all over the world to play with or against one another. Generally, a multiplayer video game is a video game in which two or more players play in a gameplay session in a cooperative or adversarial relationship. Typically, when a player logs in to a video game system or platform to play a multiplayer video game, the player may engage in a gameplay session in which he or she is matched with other players to play together (on the same team or as opponents).

FIG. 2Aillustrates an exemplary system configuration200A in which a server hosts a plurality of computer devices to facilitate a multiplayer game, according to an implementation of the invention. In one implementation, one or more servers150may host a number of computer systems110(illustrated as computer systems110A,110B, . . . ,110N) via a network102. Each of the computer systems110may include one or more peripherals (illustrated as peripherals140A,140B, . . . ,140N). In this manner, one or more servers150may facilitate the gameplay of different players using different computer systems110and/or otherwise provide one or more operations of message targeting application120(illustrated inFIG. 1).

In some instances, a given server150may be associated with a proprietary gameplay network system, such as, without limitation, Microsoft's Xbox LIVE® and Sony's PlayStation Network®, and/or another type of gameplay network system. In this implementation, a given one of the computer systems110may be associated with a particular type of gaming console. Other types of computer systems110using other types of gameplay networks may be used as well.

FIG. 2Billustrates an exemplary system configuration200B in which a plurality of computer systems110are networked together to facilitate a multiplayer game, according to an implementation of the invention. Any one or more of the computer systems110may serve as a host and/or otherwise provide one or more operations of message targeting application120(illustrated inFIG. 1).

FIG. 2Cillustrates an exemplary system configuration200C in which one of the computer systems110is used by a plurality of users to facilitate a multiplayer game, according to an implementation of the invention. In an implementation, one of the computer systems110may be considered to host the multiplayer game and/or otherwise provide one or more operations of message targeting application120(illustrated inFIG. 1).

Referring toFIGS. 2A-2C, in an implementation, a host may facilitate the multiplayer game and/or perform other operations described herein. In an implementation, at least some of these operations may also or instead be performed by an individual one of the computer systems110. Furthermore, the illustrated system configurations are exemplary only and should not be viewed as limiting in any way. Other system configurations may be used as well, as would be appreciated by those having skill in the art.

Targeting Application120

According to an aspect of the invention, with reference toFIGS. 1A-1B, targeting application120may include instructions that program server150and/or computer system110, as noted above. The instructions may include, without limitation, a message creation engine122, a user monitoring engine124, a trigger management engine126, a treatment data management engine128, a targeting engine130, a message datastore132, a trigger datastore134, a treatment data datastore136, or other engines or datastores.

As used herein, for convenience, the various instructions will be described as performing an operation, when, in fact, the various instructions program the processors (152,112) to perform the operation. Further, in some implementations, one or more engines may be combined while, in other implementations, one or more engines may not be necessary. Likewise, one or more datastores may combined in some implementations, and omitted in others. Moreover, in some implementations, the various datastores may be separate from, but accessible by, targeting application120. It should further be recognized that descriptions of various features and functionality herein that are attributed to targeting application120may refer to one or more of the engines and/or datastores comprising targeting application120.

According to an aspect of the invention, message creation engine122may be configured to manage creation of varying message types (message templates) and messages based on those message types. In some implementations, message creation engine122may include text entry modules that enable entry of portions of message types or messages (e.g., message subjects, message bodies, etc.). Message creation engine122may receive information about a message type or message to be created from targeting engine130. Message creation engine122may store created message types and messages in message datastore132. In various implementations, messages created by message creation engine122may comprise a predefined set of messages, as discussed further herein. As previously noted, message types may include, for example, gameplay tips, techniques, strategy information, news, awards, milestones, promotions relating to microtransactions or downloadable content (e.g., offers, discounts, etc.), overviews of new products, features, etc., or other message types.

User monitoring engine124may be configured to identify, monitor, or otherwise access player profiles and/or behavioral data for game players. As previously noted, a player profile may comprise any number of attributes about a player such as, for example, screen name (or gamer tag), demographic information of the player (e.g., geographic location, age, gender, income level, etc.), style of gameplay (e.g., aggressive), a role preference (e.g., an explicit indication by the player of such preference), a role actually played, a duration of gameplay sessions, a number of gameplay sessions played by the player in a given login session, in-game items used or purchased by the player, membership in a clan or team, preference to play with clan mates or friends, experience level, win/loss records, winning percentage, scores (highest, lowest, etc.), and/or other attributes or information without limitation.

Examples of behavioral data may include, for example, in-game actions, duration of gameplay sessions, frequency of gameplay sessions, number of games quit, game-related purchases made by the player, style of gameplay, experience level, etc. In one implementation, user monitoring engine may obtain gameplay state information captured by, for example, an event log engine.

Trigger management engine126may be configured to monitor operating systems, processes, applications, and/or other resources of computer system(s)110, server(s)150, and/or other system components for the occurrence (or detection) of triggers. As described above, triggers may comprise any situation, occurrence, event, action, or property related to a video game. Trigger management engine126may also implement processes that monitor in-game actions for triggers. Trigger management engine126may further implement processes that monitor user account actions (logging on, logging out, identifying relationships to other accounts, etc.) related to video game players' accounts. Processes implemented by trigger management engine126may compare situations, occurrences, actions, etc. of computer system(s)110, server(s)150, and/or other system components with situations, occurrences, events, actions, or properties, etc. represented in data structures stored in trigger datastore134.

According to an aspect of the invention, treatment data management engine128may be configured to obtain user classifications from targeting engine130, and to obtain user treatment grids associated with the user classifications from treatment data datastore136. In various implementations, treatment data management engine128may provide targeting engine130with particular electronic messages for certain user classifications. Treatment data management engine128may further provide targeting engine130with specific channels (e.g., in-game channels, out-of-game channels, etc.) for the electronic messages.

Targeting engine130may be configured to generate various interfaces that enable administrative users (or other individuals) associated with video game developers, publishers, marketers, or other entities to create messaging campaigns for one or more video games by, among other things, defining triggers, creating a number of predefined messages for various message types, defining user classifications, assigning players to user classifications, generating one or more allocation series, and performing other operations.

Message datastore132may be configured to store a set of predefined electronic messages. The messages may correspond to a variety of formats, such as formats corresponding to in-game messages and out-of-game messages. In some implementations, the messages may include electronic messages of varying message types including, but not limited to, gameplay tips, techniques, strategy information, news, awards, milestones, promotions relating to microtransactions or downloadable content (e.g., offers, discounts, etc.), overviews of new products, features, etc., or other message types. Each message type defines the parameters of messages of that type. Any number of predefined messages may exist (e.g., tens, hundreds, thousands, etc.) for each message type.

Trigger datastore134may be configured to store data structures that represent triggers. The structures in trigger datastore134may uniquely identify situations, occurrences, events, actions, or properties related to video games that form the basis for triggers. In some implementations, the data structures in trigger datastore134may comprise one or more tables indexed by identifiers corresponding to situations, occurrences, events, actions, or properties related to video games that form the basis for triggers.

Examples of in-game triggers may include, but are not limited to, a player achieving a certain level or objective in a game, a player winning or losing a predetermined number of games in a row, a player performing a certain action in a game (e.g., quitting, shooting one's own teammate, achieving a specific kill/death (“KID”) ratio, etc.), a player making one or more in-game purchases, etc.

Examples of triggers external to gameplay may include, for example, a certain date, a time, the occurrence of a given event (e.g., the release of a new game or game peripheral or accessory, the release of supplemental game content, a holiday sale, a clearance sale, etc.), or other situation, occurrence, event, action, or property occurring external to gameplay.

Triggers may further comprise scheduled triggers based on, for example, attributes of a player profile, or other data. For instance, an administrator or other user may decide to trigger a messaging campaign for gamers that satisfy certain demographic criteria (e.g., based on gender, age, geographic location) or other player profile criteria.

Treatment data datastore136may be configured to store treatments for various pairings of triggers and user classifications. Examples of user classifications may include, but are not limited to, classifications based on common in-game actions, classifications based on common out-of-game actions, classifications based on common experience levels (e.g., experience levels in a specific video game, experience levels in a given genre of video games, general experience levels regarding video games, etc.), classifications based on common likelihood of purchasing supplemental content (e.g., game-related purchases), etc. As discussed in further detail below and throughout, a given treatment for a trigger/user classification pairing defines one or more allocations. Each allocation in the treatment specifies parameters relating to one or more messages of a particular message type to be sent to game players captured by the user classification. Each message type also has a scoring formula, which is used to determine the relevancy of a particular message of the message type to a particular game player. An allocation may further include thresholds that determine a minimum relevancy score required for a message to be communicated to a game player.FIGS. 3-5, which are addressed in detail below, depict these aspects of the invention in further detail.

Exemplary System Operation

The following description of the operation of the system of the invention is exemplary only, as targeting application120may operate in other ways without departing from the scope and substance of the invention described herein. Targeting application120may operate to select targeted electronic messages from message datastore132for transmission to video game players using treatments stored in treatment data datastore136. Targeting application120may provide the targeted messages to video game players in response to the occurrence (or detection) of a trigger from trigger datastore134.

Creating Predefined Message Types and Messages

Targeting application120may provide administrative users (or other individuals) associated with video game developers, publishers, marketers, or other entities with one or more interfaces to define one or more message types (or message templates). As previously noted, message types may include, for example, gameplay tips, techniques, strategy information, news, awards, milestones, promotions relating to microtransactions or downloadable content (e.g., offers, discounts, etc.), overviews of new products, features, etc., or other message types. A message type serves as a template for all messages of that type, and defines various aspects of such messages, including for example, the format and/or required fields of the message contents, the suitable channels for transmission, and a relevancy scoring formula. Targeting application120may operate to store created message types in message datastore132.

Targeting application120may further provide administrative users (or other individuals) associated with video game developers, publishers, marketers, or other entities with one or more interfaces (e.g., including message templates) to create a plurality of predefined electronic messages. In some implementations, each message is a specific instantiation of a particular message type. Creating a predefined message may include creating the content for that particular message. The content may include text for fields commonly found in electronic messages, such as text for a subject of an electronic message, text for a body of an electronic message, etc. The content may further comprise, without limitation, images, audio, video, hyperlinks, attachments, etc. Creating a predefined message may further include selecting particular target values relating to the message's scoring formula. Targeting application120may operate to store created electronic messages in message datastore132. Once entered, the electronic messages may be “predefined” in that they have already been composed (or generated), and need only recipients in order to be transmitted.

Creating and/or Managing Messaging Campaigns and User Treatment Grids

Targeting application120may further operate to guide users through the creation of messaging campaigns (or treatments), which may in some implementations be organized as a user treatment grid. For example, targeting application120may operate to provide users with one or more interfaces to provide information related to a messaging campaign (e.g., campaign title, description, purpose, number of messages, message types, campaign duration, schedule or frequency of message transmissions, etc.). Targeting application120may further enable users to define triggers and/or parameters for the messaging campaign. More particularly, the interface(s) may enable users to specify the trigger and user classification for a particular messaging campaign. Users may further specify threshold numbers that represent a minimum relevance score that a given message must have in order to qualify for treatment for a specific user behavior classification. User treatment grids may further include thresholds that limit the number of messages that may fall within a user behavior classification.

Monitoring for Triggers

Targeting application120may monitor operating systems, processes, applications, and/or other resources of computer system(s)110, server(s)150, and/or other system components for the occurrence (or detection) of triggers that match triggers in trigger datastore134.

As a non-limiting example, trigger datastore134may maintain a defined trigger corresponding to a date and a time of the beginning of a holiday sale. Trigger management engine126may monitor a system clock of computer system(s)110and/or server(s)150to determine whether the date and/or time of the beginning of the holiday sale has occurred.

As another non-limiting example, trigger datastore134may maintain a defined trigger that requires a series of gameplay events to occur (e.g., the act of quitting three games in a row before reaching a specified objective for those games, the act of reaching a milestone in a video game, etc.) before an associated message campaign is to commence. Trigger management engine126may monitor user monitoring engine124for the occurrence of the series of gameplay events. Trigger management engine126may provide a signal to treatment data management engine128if a trigger has occurred and/or a trigger condition has been satisfied.

Using Treatments to Identify Targeted Messages

Targeting application120may operate to identify treatments for triggers that have occurred (e.g., that been detected by trigger management engine126). More particularly, in some implementations, treatment data management engine128may receive information related to a trigger (from trigger management engine126) that trigger management engine126has detected as occurring. Treatment data management engine128may further identify the treatments defined for each user classification associated with the trigger. Treatment data management engine128may provide the specific actions to the other engines or components of targeting application120, such as targeting engine130.

As an example, treatment data management engine128may select actions in response to a trigger corresponding to a date and a time of a holiday sale. In this non-limiting example, the trigger may be associated with two user behavior classifications: (1) a first user classification corresponding to video game players with extensive video game experience, extensive use of digital currencies for in-game purchases, and frequent use of video games; and (2) a second user classification corresponding to video game players with little video game experience, little use of digital currencies for in-game purchases, and infrequent use of video games.

In this example, a user treatment grid in treatment data datastore136may specify that video game players falling within the first user classification be provided with a particular treatment comprising five allocations: one gameplay tip and four discounts for in-game items. Moreover, the user treatment grid in treatment data datastore136may specify that the video game players falling within the second user classification be provided with a different treatment comprising five allocations, for example, a basic gameplay tip, a news update, a product/new feature overview, and two intermediate gameplay tips.

Treatment data management engine128may then identify the appropriate messages for each game player captured by the user classifications. For example, for a given game player, treatment data management engine128may calculate the relevancy scores for every predefined message of the message types identified in the treatment. Treatment data management engine128may then rank the predefined messages based on relevancy and transmit those most relevant to the game player.

Transmitting Targeted Messages

In some implementations, targeting engine130may select one or more channels for distribution of messages to video game players. Targeting engine130may, for example, provide messages to players via one or more in-game channels including, without limitation, pop-up windows, chat messages, messages from characters in the video game, messages displayed on objects in the video game, or via other in-game channels. Additionally, messages may be provided to a game player via one or more channels external to (or outside of) a video game including, without limitation, messages in mobile applications external to a video game, Short Messaging Service (SMS) or Multimedia Messaging Service (MMS) messages, emails, messages on a website associated with a video game (e.g., messages to a website that maintains a user forum for users of the video game), traditional mai, or via other external channels. In various implementations, targeting engine130bases the selection of distribution channels on information in a user treatment grid associated with an underlying trigger. Targeting engine130may configure hardware and/or or software of computer system(s)110and/or server(s)150to send the targeted messages via the selected channels.

In some implementations, players that are flagged to receive the same treatment may receive messages via the same channel(s). Alternatively, player profiles may be analyzed, prior to transmission of a message, to see if players have specified preferences for delivery for messages via certain channels. In some implementations, specified player preferences may override system default distribution channels. As one example, a given message of a messaging campaign may comprise a gameplay tip to be provided to targeted players via SMS message by default. However, in some implementations, the message may alternatively be transmitted to players via email (or another distribution channel) if the players have opted out of receiving SMS messages.

Exemplary Data Structures

FIG. 3illustrates an exemplary data structure300used to classify actions of video game players according to predefined communication contexts, according to an implementation of the invention. Data structure300may include user classification rows302and action (or event) columns304.

Each user classification row302may specify a behavior (or other) category for video game players. As an illustrative example, segment3may comprise a “High Skill/Churn Risk” behavior category312that represents a category of video game players that have extensive experience in the video game, but a high likelihood of quitting the video game altogether (e.g., as predicted by player profile and/or behavioral data).

Each action (or event) column304may specify actions (or events) corresponding to the user classification rows302. For example, action columns304may include a “Holiday in-game” action column306, an “email” column308, and a web-based communication (e.g., “COD.com”) column310. As shown inFIG. 3, each of the “Holiday in-game” action column306, “email” column308, and web-based communication column310may specify one or more actions that may be taken for the corresponding “High Skill/Churn Risk” category312(e.g., a first treatment314, a second treatment316, and a third treatment318).

FIG. 4illustrates an exemplary treatment data structure400used to define the allocations for a given treatment, according to an implementation of the invention. Treatment data structure400may correspond to one of the actions that may be taken for a user classification. As an example, treatment data structure400may correspond to one of the treatment boxes in data structure300shown inFIG. 3. Treatment data structure400may include one or more allocations. In the example ofFIG. 4, treatment data structure400includes a first action allocation402, a second action allocation404, and a third action allocation406.

Each of first action allocation402, second action allocation404, and third action allocation406may include information about specific message types, specific sequences of messages, and/or specific numbers of messages, among other data. For instance, first action allocation402may include a first message type listing408and a first message number410. Second action allocation404may include a second message type listing412and a second message number414. Third action allocation406may include a third message type listing416and a third message number418.

In one implementation, the order of first action allocation402, second action allocation404, and third action allocation406within treatment data structure400may specify the sequence of messages to a video game player.

Moreover, each of first action allocation402, second action allocation404, and third action allocation406may include information about scoring thresholds. For example, first action allocation402may include a first threshold420, second action allocation404may include a second threshold422, and third action allocation406may include a third threshold424. Each of the first threshold420, second threshold422, and third threshold424may include (relevancy) scores (e.g., a score resulting from a customized scoring formula) that define the minimum relevance of a message to qualify for inclusion in treatment data structure400. For example, first threshold420may define the minimum relevance of a message to qualify for inclusion in treatment data structure400. Second threshold422may define the minimum relevance of a message to qualify for inclusion in treatment data structure400. Third threshold424may define the minimum relevance of a message to qualify for inclusion in treatment data structure400.

FIG. 5depicts an exemplary action allocation data structure500used to score correlation of user behavior with target variables in a communication context, according to an implementation of the invention. Action allocation data structure500may correspond to one of the action allocations in treatment data structure400. As an example, action allocation data structure500may correspond to one of the first action allocation402, second action allocation404, and third action allocation406in treatment data structure400.

Action allocation data structure500may include a first message data structure502, a second message data structure504, a third message data structure506, and a scoring template508. First message data structure502may include a first plurality of content items510. Similarly, second message data structure504may include a second plurality of content items512, and third message data structure506may include a third plurality of content items514. Each of the first plurality of content items510, second plurality of content items512, and third plurality of content items514may include specific electronic messages for targeting, specific channels, and/or specific languages.

Scoring template508may specify the extent messages are correlated with target variables. In the non-limiting example ofFIG. 5, scoring template508includes the target variables X and Y.

Target variable Y may represent, on a scale of 1 to 10, the amount a video game player plays a specific genre, type, or mode of video games compared to others. Other variables, scales, and/or data may be used.

Target variable X may represent the video game players experience level on a scale of 1 to 10. Other variables, scales, and/or data may be used.

In an example, scoring template508may seek players that play a lot of deathmatch games (e.g., have a high Y score) and have a low experience level (e.g., have a low X score). As a result, scoring template508may allow messages to be ranked according to the extent Y values are high and X values are low.

In various implementations, action allocation data structure500may include a ranking516of various messages according to the rules of scoring template508. A predetermined (e.g., a specified integer) number of messages may be included in the treatment for the video game player, provided they all meet or exceed a threshold score for a particular allocation. In this fashion, the systems and methods described herein may create customized treatments with the most relevant messages based on user profile and behavioral data.

Exemplary Targeting Application Interfaces

According to an aspect of the invention, targeting application120may generate various interfaces that enable users to perform various functions. The users may comprise administrative users (or other individuals) associated with video game developers, publishers, marketers, or other entities, without limitation.FIGS. 6-15depict examples of user interfaces that a user may access in one or more implementations of the invention. The layout of each interface is exemplary in nature, and should not be viewed as limiting. The content of each interface (e.g., available data fields, numerical ranking or grading scales, etc.) may vary in different implementations along with, for instance, the various navigational tools that enable users to select, access, display, or navigate through the features and functionality of the interface, including selection objects (or buttons), drop-down menus, and the like.

FIG. 6depicts an exemplary interface600of targeting application120, according to an implementation of the invention. Interface600may enable a user to define the number and priority of message types for a given allocation series, the allocation series being defined by an event and segment. Interface600may include an event selection UI element602that allows a user to specify an event (in the example ofFIG. 6, an event relating to a “Friends and Family Beta,” or “F+F Beta”), and a segment selection UI element604that allows the user to specify a segment of video game players (in the example ofFIG. 6, those players participating in the Friends and Family Beta). The specified event and/or the specified segment may form the basis of one or more allocation series.

Interface600may further include allocation series UI elements606that allow a user to define the allocation series, including the priority information, threshold information, and count information for the allocation series' allocations.

Interface600may further include an allocation series addition link608that allows the user to add an allocation series.

Interface600may further include edit buttons610(or other UI elements) that allow a user to delete, save, etc. changes to an allocation series.

FIG. 7depicts exemplary interfaces700of targeting application120, according to an implementation of the invention. Interfaces700show a side-by-side comparison of two interfaces (702,704) that each enable a user to set (or define) an allocation series.

First interface702includes a first UI element706to specify an event, and a second UI element708to specify a segment. In the example shown in interface702, an allocation series has been set (or defined) for an event relating to video game players with an in-game tenure less than fourteen days, for a segment of video game players comprised of beginners at risk of quitting the game. For example, first UI element706specifies an event for video game players with an in-game tenure of less than fourteen days, and second UI element708specifies a segment of video game players that is comprised of beginners at risk of quitting the game (“Noob Churn”). First interface702may further allow a user to specify the allocation series for the identified event and segment, as described in connection withFIG. 6, for example. Other rating scales and/or naming conventions may be used.

In second interface704, an allocation series has been set (or defined) for video game players with an in-game tenure greater than twenty-eight days, for a segment of video game players comprised of advanced players who are not at risk of quitting the game. Second interface704may include a first UI element710to specify an event and a second UI element712to specify a segment. First UI element710specifies an event for video game players with an in-game tenure of greater than twenty-eight. Second UI element712specifies a segment of video game players that is comprised of advanced players who are not at risk of quitting the game (“Vet No Churn—Prestiged”). Second interface704may further allow a user to specify the allocation series for the identified event and segment, as described in connection withFIG. 6, for example. Other rating scales and/or naming conventions may be used.

FIG. 8depicts an exemplary interface800of targeting application120, according to an implementation of the invention. Interface800depicts a set of predefined electronic messages that may be selected for targeted messages to a video game player. More particularly, interface800includes a first UI element802that allows a user to compose an electronic message. Once composed, an electronic message may be listed in a message list806, which provides a user with the ability to view predefined messages that have been created. Interface800may further include a second UI element804that allows users to search predefined electronic messages. Interface800may also include a third UI element808that users to sort predefined messages.

FIG. 9depicts an exemplary interface900of targeting application120, according to an implementation of the invention. Interface900may guide a user through creation of a new predefined message. Interface900may include a first UI element902that allows a user to specify message parameters (e.g., message type, message tier, message name, maximum displays, view frequencies, tags, start and/or end dates, country codes, dates added and/or uploaded, etc.). Depending on selections made by the user, interface900may include further UI elements that allow the user to specify additional values relating to the message. For example, in response to the user's selection of the “Song Recommendation Paid-Recommended” message type, interface900may display second UI element904, which allows the user to specify certain target values relevant to the message type (e.g., target song, target network, target relevance scores, etc.). Likewise, interface900may further include a third UI element906that allows a user to specify content (e.g., specific songs, video clips, files, etc.) relevant to the selected message type.

FIG. 10depicts an exemplary interface1000of targeting application120, according to an implementation of the invention. Interface1000may guide a user through creation of a new predefined message. In some implementations, interface1000may continue the processes initiated in interface900(shown inFIG. 9). Interface1000may include a first UI element1002that allows the user to specify portions of a predefined message, including the game channel (e.g., in-game lobby, email, gaming lobby, etc.). First UI element1002may further allow a user to enter text and other contents related to the predefined message. Interface1000may further include a second UI element1004that allows a user to enter content related to the predefined message.

FIG. 11depicts an exemplary interface1100of targeting application120, according to an implementation of the invention. Interface1100may include a UI element1102that displays user classifications of video game players. In this example, UI element1102allows users to edit one or more of the user classifications.

FIG. 12depicts an exemplary interface of targeting application120, according to an implementation of the invention. Interface1200may include a UI element1202that displays user classifications of video game players. In this example, UI element1202allows users to edit attributes of user classifications.

FIG. 13depicts an exemplary interface1300of targeting application120, according to an implementation of the invention. Interface1300may allow a user to specify formulas (or other information) for user classifications. For instance, interface1300may include a first UI element1302that allows a user to specify formulas for a portion of a behavior category. First UI element1302may allow, for instance, specification of formulas for skill ranks and other behavior category identifiers (e.g., churn segment identifiers, prestige identifiers, etc.). Interface1300may further include a second UI element1304that allows a user to specify a new formula for a behavior category. Interface1300may further include edit buttons1306that allow users to delete, save, etc. changes to an allocation series.

FIG. 14depicts an exemplary interface1400of targeting application120, according to an implementation of the invention. Interface1400may include a first UI element1402that allows a user to specify events related to user classifications that can be modified. Interface1400may further include a second UI element1404that lists events related to user classifications that can be modified.

FIG. 15depicts an exemplary interface1500of targeting application120, according to an implementation of the invention. Interface1500may include a first UI element1502that lists information associated with an event related to user classifications that can be modified. Interface1500may further include a second UI element1504that specifies event formulas that may be changed.

Exemplary Flowchart

FIG. 16depicts an exemplary flowchart of processing operations1600for generating personalized messaging campaigns for video game players, according to an implementation of the invention. The various processing operations and/or data flows depicted inFIG. 16are described in greater detail herein. The described operations may be accomplished using some or all of the system components described in detail above and, in some implementations, various operations may be performed in different sequences and various operations may be omitted. Additional operations may be performed along with some or all of the operations shown in the depicted flow diagrams. One or more operations may be performed simultaneously. Accordingly, the operations as illustrated (and described in greater detail below) are exemplary by nature and, as such, should not be viewed as limiting.

Operation1602

In an operation1602, one or more messages may be created. Messages may comprise any communications that can be provided in an electronic format, through one or more channels, including in-game channels and channels external to (or outside of) a video game.

Message types may include, for example, gameplay tips, techniques, strategy information, news, awards, milestones, promotions relating to microtransactions (e.g., offers, discounts, etc.), overviews of new products, features, etc., or other message types.

The messages may be generated by administrative users (or other individuals) associated with video game developers, publishers, marketers, or other entities, without limitation, using one or more system-generated user interfaces.

Message content may include, without limitation, text, images, audio, video, hyperlinks, attachments, etc. The messages generated in operation1602may be “predefined” in that they have already been composed (or generated), and need only recipients in order to be transmitted.

Operation1604

In an operation1604, one or more triggers used to commence a messaging campaign may be defined. A trigger may comprise any situation, occurrence, event, action, or property related to a video game.

Triggers may comprise in-game triggers including, but not limited to, a player achieving a certain level or objective in a game, a player winning or losing a predetermined number of games in a row, a player performing a certain action in a game (e.g., quitting, shooting one's own teammate, achieving a specific kill/death (“K/D”) ratio, etc.), a player making one or more in-game purchases, etc.

Triggers may also comprise triggers external to gameplay such as, for example, a certain date, a time, the occurrence of a given event (e.g., the release of a new game or game peripheral or accessory, the release of supplemental game content, a holiday sale, a clearance sale, etc.), or other situation, occurrence, event, action, or property occurring external to gameplay.

Triggers may further comprise scheduled triggers based on, for example, attributes of a player profile, or other data. For instance, an administrator or other user may decide to trigger a messaging campaign for gamers that satisfy certain demographic criteria (e.g., based on gender, age, geographic location) or other player profile criteria.

Operation1606

In an operation1606, game players may be grouped or categorized together with one or more other game players in a user classification based on one or more common player profile attributes, and/or one or more behavioral data characteristics. Examples of user classifications may include, but are not limited to, classifications based on common in-game actions, classifications based on common out-of-game actions, classifications based on common experience levels (e.g., experience levels in a specific video game, experience levels in a given genre of video games, general experience levels regarding video games, etc.), classifications based on common likelihood of purchasing supplemental content (e.g., game-related purchases), etc.

Specific user classifications may be associated with one or more predefined messages in an allocation series. An allocation series may be implemented as a user treatment grid that associates certain messages (to be provided) with certain user classifications. A user treatment grid may include scores that represent the extent to which messages correlate with user classifications. A user treatment grid may further include thresholds that limit the number of messages associated with user classifications.

Operation1608

In an operation1608, a customized treatment (or messaging campaign) may be crafted for players based on player profile data, behavioral data, and/or user classification. The customized treatment may comprise some number of predefined messages of varying message types particularly relevant to the players.

Operation1610

In an operation1610, operating systems, processes, applications, and/or other system resources of one or more computer systems (e.g., user devices and/or host computers) may be monitored in real-time for the occurrence (or detection) of triggers. As a non-limiting example, in-game actions may be monitored for triggers. User account actions (e.g., logging on, logging out, identifying relationships to other accounts, etc.) related to video game players' accounts may likewise be monitored. Situations, occurrences, actions, etc. of various computer systems or other system components may be compared to situations, occurrences, events, actions, or properties, etc. represented in data structures stored in a datastore to identify matches.

Operation1612

In an operation1612, a determination may be made as to whether a trigger has been detected. If a trigger has been detected, processing may continue with an operation1614. If a trigger has not been detected, processing may resume with operation1610.

Operation1614

In an operation1614, game players associated with detected triggers may be identified based on user classifications for the allocations series for the detected trigger. In some implementations, user treatment grids for any detected triggers are accessed. Players may be identified based on user classifications set forth in the user treatment grids.

Operation1616

In an operation1616, messaging actions in an allocation series for the user classifications associated with the identified users may be identified. More particularly, messaging actions may be identified from the user treatment grids for the detected triggers. The messaging actions may include one or more messages to be transmitted via one or more in-game channels and/or one or more channels external to (or outside of) a video game.

In-game channels may include, for example, pop-up windows, chat messages, messages from characters in the video game, messages displayed on objects in the video game, etc. Examples of channels external to (or outside of) a video game may include, without limitation, messages in mobile applications external to a video game, Short Messaging Service (SMS) or Multimedia Messaging Service (MMS) messages, emails, messages on a website associated with a video game (e.g., messages to a website that maintains a user forum for users of the video game), etc.

Operation1618

In an operation1618, the messaging campaign is commenced and identified messages may be transmitted to the appropriate players through the designated channels.

For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that implementations of the disclosure can be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow diagrams are shown to represent data and logic flows. The components of block diagrams and flow diagrams (e.g., modules, blocks, structures, devices, features, etc.) may be variously combined, separated, removed, reordered, and replaced in a manner other than as expressly described and depicted herein.

Reference in this specification to “one implementation”, “an implementation”, “some implementations”, “various implementations”, “certain implementations”, “other implementations”, “one series of implementations”, or the like means that a particular feature, design, structure, or characteristic described in connection with the implementation is included in at least one implementation of the disclosure. The appearances of, for example, the phrase “in one implementation” or “in an implementation” in various places in the specification are not necessarily all referring to the same implementation, nor are separate or alternative implementations mutually exclusive of other implementations. Moreover, whether or not there is express reference to an “implementation” or the like, various features are described, which may be variously combined and included in some implementations, but also variously omitted in other implementations. Similarly, various features are described that may be preferences or requirements for some implementations, but not other implementations.

Other implementations, uses and advantages of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. The specification should be considered exemplary only, and the scope of the invention is accordingly intended to be limited only by the following claims. For example, though portions of the foregoing discussion related to the use of the invention to deliver personalize messages to video game players, one of skill in the art will recognize that the system and methods disclosed herein can be used to deliver personalized messages to users of a variety of applications and systems.

Claims

  1. A computer-implemented method of generating personalized messaging campaigns for video game players, the method being implemented in a host computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, cause the host computer system to perform the method and wherein the host computer system is remote from, and in data communication with, a plurality of computer devices to facilitate a multiplayer game between the video game players, the method comprising: detecting, by the host computer system, an occurrence of a trigger, wherein the trigger is at least one of an event, action or property related to a video game and wherein the trigger is detected using a trigger management engine integrated within the computer program instructions;accessing, by the host computer system, a data structure stored in one or more datastores remote from the plurality of computer devices, wherein the data structure relates the trigger, at least one user classification, and one or more treatments in a predefined format;identifying, by the host computer system and the data structure, the at least one user classification associated with the detected trigger, the at least one user classification grouping one or more video game players based on player profile data and/or player behavioral data;identifying, by the host computer system and the data structure, the one or more treatments associated with the at least one user classification, each of the one or more treatments comprising one or more allocations, each of the one or more allocations comprising a predetermined number of messages of varying message type eligible to be transmitted to the one or more video game players in the at least one user classification;and for each of the one or more video game players grouped in the at least one user classification: (i) determining, by the host computer system, a relevancy score for each of the predetermined number of messages;(ii) ranking, by the host computer system, the predetermined number of messages according to the determined relevancy scores;and (iii) selecting for transmission, by the host computer system, one or more messages having a relevancy score that meets or exceeds a predetermined threshold.
  1. The computer-implemented method of claim 1 , wherein said trigger comprises an event related to gameplay, wherein the event related to gameplay is at least one of a player achieving a certain level in a game, a player achieving a certain objective in a game, a player losing a predetermined number of games in a row, a player winning a predetermined number of games in a row, a player performing a certain action in a game or a player making one or more in-game purchases.
  2. The computer-implemented method of claim 2 , wherein said trigger comprises a series of the events related to gameplay.
  3. The computer-implemented method of claim 1 , wherein said trigger comprises an event external to gameplay, wherein the event external to gameplay is at least one of a date or a time.
  4. The computer-implemented method of claim 1 , wherein said trigger comprises a scheduled trigger based on attributes of a player profile.
  5. The computer-implemented method of claim 1 , wherein said trigger comprises a scheduled trigger based on demographic data of players.
  6. A system for generating personalized messaging campaigns for video game players, wherein the system comprises a host computer that is remote from, and in data communication with, a plurality of computer devices to facilitate a multiplayer game between the video game players the system comprising: one or more physical processors in the host computer programmed with one or more computer program instructions which, when executed, cause the one or more physical processors to: detect an occurrence of a trigger, wherein the trigger is at least one of an event, action or property related to a video game and wherein the trigger is detected using a trigger management engine that is part of the one or more computer program instructions;access a data structure stored in one or more datastores remote from the plurality of computer devices, wherein the data structure relates the trigger, at least one user classification, and one or more treatments in a predefined format;identify the at least one user classification associated with the detected trigger from the data structure, the at least one user classification grouping one or more video game players based on player profile data and/or player behavioral data;identify the one or more treatments associated with the at least one user classification from the data structure, each of the one or more treatments comprising one or more allocations, each of the one or more allocations comprising a predetermined number of messages of varying message type eligible to be transmitted to the one or more video game players in the at least one user classification;and for each of the one or more video game players grouped in the at least one user classification: (i) determine a relevancy score for each of the predetermined number of messages;(ii) rank the predetermined number of messages according to the determined relevancy scores;and (iii) select for transmission one or more messages having a relevancy score that meets or exceeds a predetermined threshold.
  7. The system of claim 7 , wherein said trigger comprises an event related to gameplay, wherein the event related to gameplay is at least one of a player achieving a certain level in a game, a player achieving a certain objective in a game, a player losing a predetermined number of games in a row, a player winning a predetermined number of games in a row, a player performing a certain action in a game or a player making one or more in-game purchases.
  8. The system of claim 8 , wherein said trigger comprises a series of the events related to gameplay.
  9. The system of claim 7 , wherein said trigger comprises an event external to gameplay, wherein the event external to gameplay is at least one of a date or a time.
  10. The system of claim 7 , wherein said trigger comprises a scheduled trigger based on attributes of a player profile.
  11. The system of claim 7 , wherein said trigger comprises a scheduled trigger based on demographic data of players.
  12. A computer program product located in a host computer system that is remote from, and in data communication with, a plurality of computer devices to facilitate a multiplayer game between video game players, wherein the computer program product generates personalized messaging campaigns for video game players and comprises: one or more tangible, non-transitory computer-readable storage devices;program instructions, stored on at least one of the one or more tangible, non-transitory computer-readable storage devices that, when executed, cause the host computer to: detect an occurrence of a trigger, wherein the trigger is at least one of an event, action or property related to a video game and wherein the trigger is detected using a trigger management engine integrated within the computer program product;access a data structure stored in one or more datastores remote from the plurality of computer devices, wherein the data structure relates the trigger, at least one user classification, and one or more treatments in a predefined format;identify the at least one user classification associated with the detected trigger using the data structure, the at least one user classification grouping one or more video game players based on player profile data and/or player behavioral data;identify the one or more treatments associated with the at least one user classification using the data structure, each of the one or more treatments comprising one or more allocations, each of the one or more allocations comprising a predetermined number of messages of varying message type eligible to be transmitted to the one or more video game players in the at least one user classification;and for each of the one or more video game players grouped in the at least one user classification: (i) determine a relevancy score for each of the predetermined number of messages;(ii) rank the predetermined number of messages according to the determined relevancy scores;and (iii) select for transmission one or more messages having a relevancy score that meets or exceeds a predetermined threshold.
  13. The computer program product of claim 13 wherein said trigger comprises an event related to gameplay, wherein the event related to gameplay is at least one of a player achieving a certain level in a game, a player achieving a certain objective in a game, a player losing a predetermined number of games in a row, a player winning a predetermined number of games in a row, a player performing a certain action in a game or a player making one or more in-game purchases.
  14. The computer program product of claim 14 , wherein said trigger comprises a series of the events related to gameplay.
  15. The computer program product of claim 13 , wherein said trigger comprises an event external to gameplay, wherein the event external to gameplay is at least one of a date or a time.
  16. The computer program product of claim 13 , wherein said trigger comprises a scheduled trigger based on attributes of a player profile.
  17. The computer program product of claim 13 , wherein said trigger comprises a scheduled trigger based on demographic data of players.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.