Method and system for customizing end-user gaming experience
By designing a system that includes processors, compilation engines, strategy engines and workflow engines, the problem that traditional platforms cannot personalize marketing is solved, efficient personalized marketing for end users is achieved, and customer transaction frequency and revenue are increased.
Patent Information
- Application Number
- CN202080012141.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-02-20
- Filing Date
- 2020-02-18
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2040-02-18
AI Technical Summary
Traditional platforms cannot adapt to motivations for individual customers, resulting in general offers not being preferred for each customer and cannot effectively increase customer transaction frequency and revenue.
A system is designed, including a processor, compilation engine, strategy engine and workflow engine, which can create and push personalized offers based on the personalized needs of end users, monitor users' progress in the game, and adjust marketing strategies in real time.
Through personalized offer and real-time monitoring of user behavior, the system can effectively improve customers' transaction frequency and revenue, meet the motivational needs of different customers, and improve marketing efficiency.
Smart Images

Figure CN113382787B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. application serial number 62 / 807,800, filed on February 20, 2019, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure generally relates to a method and system for customizing an end-user gaming experience. Background Art
[0004] As technology continues to advance, organizations increasingly rely on technology channels to attract customers and increase revenue. Such exemplary technology channels typically include email communications and mobile applications, through which customers can join the organization's loyalty program. Typically, customers can receive motivation to frequently trade at such an organization through rewards or offers from the organization. However, traditional platforms simply cannot adapt such motivations to individual customers. Instead, traditional platforms issue general offers to all customers, even if the way in which rewards or offers can be obtained is not preferred for each customer. Summary of the invention
[0005] In some embodiments, a system for customizing an end-user gaming experience is disclosed herein. The system includes a processor, an orchestration engine, a policy engine, and a workflow engine. The processor communicates with a client computing system and one or more end-user devices. The orchestration engine is configured to create an activity. The orchestration engine receives an activity creation request from an end-user device. The activity creation request includes one or more parameters of an activity associated with the activity request. The orchestration engine creates an activity based on one or more parameters associated with the activity request. The policy engine is configured to personalize each of one or more offers for each end-user. The policy engine maps one or more personalized offers to each end-user. Each of the one or more offers includes a game with one or more levels. Completion of each of the one or more levels results in a reward. The workflow engine is configured to monitor the progress of the activity. The workflow engine pushes one or more personalized offers to each corresponding end-user device. The workflow engine monitors the progress of each end-user in the corresponding game. The workflow engine updates the progress of each user in the corresponding game.
[0006] In some embodiments, a method for customizing an end-user gaming experience is disclosed herein. An organization computing system initiates an activity. The activity includes one or more offers. Each offer corresponds to a personalized game to be played by an end user. Completion of one or more levels in the personalized game causes each corresponding end-user device to obtain a reward. The organization computing system receives a stream of one or more end-user transaction data from a client computing system. The stream of one or more end-user transaction data includes one or more transactions at a facility or organization associated with the client computing system. The organization computing system analyzes each of the one or more transactions to identify which transactions are triggered by the completion of a level for each end-user device. The organization computing system monitors the progress of each end user in the personalized game. Based on the monitoring, the organization computing system can generate one or more new versions of a machine learning model, and the one or more new versions of the machine learning model are configured to assign one or more offers to one or more end users, and personalize each of the one or more offers for each end user.
[0007] In some embodiments, a non-transitory computer-readable medium is disclosed herein. Instructions are stored on the non-transitory computer-readable medium, and when the instructions are executed by a processor, the processor executes a method for customizing a terminal user game experience. The method includes receiving an activity creation request from a client computing system. The activity creation request includes one or more parameters of an activity associated with the activity request. The method also includes creating an activity based on one or more parameters associated with the activity request. The method also includes mapping one or more offers to a terminal user computing device of one or more terminal user computing devices. Each of the one or more offers includes a game with one or more levels. Completion of each of the one or more levels causes a reward. The method also includes personalizing each of the one or more offers based on the terminal user to which each of the one or more offers is mapped. The method also includes pushing one or more personalized offers to each corresponding terminal user device. The method also includes monitoring the progress of each terminal user in the corresponding game. The method also includes updating the progress of each user. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to be able to understand in detail the manner in which the above-mentioned features of the present disclosure are achieved, a more specific description of the present disclosure briefly summarized above may be obtained by reference to embodiments, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only illustrate typical embodiments of the present disclosure and are therefore not to be considered limiting of its scope, as the present disclosure may allow for other equally effective embodiments.
[0009] Figure 1 is a block diagram illustrating a computing environment according to an example embodiment.
[0010] Figure 2 According to an example embodiment Figure 1 A block diagram of the components of a computing environment.
[0011] Figure 3 is a flow chart illustrating a method for implementing an engagement activity according to an exemplary embodiment.
[0012] Figure 4 is a logical block diagram illustrating a method for implementing an engagement activity according to an example embodiment.
[0013] Figure 5 is a flow chart illustrating a method for implementing an engagement activity according to an example embodiment.
[0014] Figure 6 is a flow chart illustrating a method for implementing an engagement activity according to an example embodiment.
[0015] Figure 7 is a block diagram illustrating a computing environment according to an example embodiment.
[0016] Fig. 8A is a block diagram illustrating a graphical user interface according to an example embodiment.
[0017] Figure 8B is a block diagram illustrating a graphical user interface according to an example embodiment.
[0018] Fig. 9 is a block diagram illustrating a graphical user interface according to an example embodiment.
[0019] Fig.10 is a block diagram illustrating a graphical user interface according to an example embodiment.
[0020] Fig.11A is a block diagram illustrating a graphical user interface according to an example embodiment.
[0021] Fig. 11B is a block diagram illustrating a graphical user interface according to an example embodiment.
[0022] Fig.12 is a block diagram illustrating a graphical user interface according to an example embodiment.
[0023] Fig.13 is a block diagram illustrating a graphical user interface according to an example embodiment.
[0024] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION
[0025] One or more technologies described herein generally relate to a method and system for customizing end-user gaming experience. In particular, the method and system provided herein provide a real-time (or near real-time) marketing solution that is optimized for delivering to a multi-step offer of a customer. For example, the intelligent framework of the system disclosed herein allows the client to unify the motivation and business objectives of the client customer. The system can utilize a series of interlocking computing engines to expand according to the needs of a given client, and a series of interlocking computing engines continuously collect, analyze and process real-time data. Therefore, one or more technologies described herein continuously observe and adapt to customer gaming experience, personalized activities and offers to attract customers and increase business objectives (such as income, participation and business operations). This can be achieved using a customer feedback loop, which continuously understands the customer of the client from the previous offer of the customer extended to the client and the action taken by the client customer in response to the previous offer.
[0026] Figure 1 1 is a block diagram illustrating a computing environment 100 according to one embodiment. The computing environment 100 may include at least a client computing system 102, an organization computing system 104, and one or more end-user computing devices 106. The client computing system 102, the organization computing system 104, and the one or more end-user computing devices 106 may communicate via a network 105.
[0027] Network 105 can be of any suitable type, including an individual connection via the Internet such as a cellular or Wi-Fi network. In some embodiments, network 105 can use technologies such as radio frequency identification (RFID), near field communication (NFC), Bluetooth TM , Bluetooth Low Energy TM (BLE), Wi-Fi TM 、ZigBee TM , ambient backscatter communication (ABC) protocol, USB, WAN, or LAN to connect terminals, services, and mobile devices. Because the information transmitted can be personal or confidential, security issues may require that one or more of these types of connections be encrypted or otherwise protected. However, in some embodiments, the information being transmitted may not be very personal, so a network connection may be selected for convenience rather than security.
[0028] The network 105 may include any type of computer network arrangement for exchanging data. For example, the network 105 may represent the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components in the computing environment 100 to send and receive information between components of the system 100.
[0029] The client computing system 102 may be operated by a user (or client). For example, the client computing system 102 may include one or more computing devices. Such computing devices may include mobile devices, tablet computers, desktop computers, or any computing system with the capabilities described herein. The client computing system 102 may belong to or be provided to an employee of an organization associated with the client computing system 102.
[0030] The client computing system 102 may include at least an application 110 and a web server 112. The application 110 may represent a web browser that allows access to a service (or website) or a stand-alone application. The client computing system 102 may access the application 110 to access the functionality of the organization computing system 104. The client computing system 102 may communicate over the network 105 to generate customized activities to be provided to end users. For example, the client computing system 102 may be configured to execute the application 110 to define one or more parameters associated with the customized activities. Content displayed to the client computing system 102 may be transmitted to the client computing system 102 and then processed by the application 110 to be displayed through a display associated with the client computing system 102.
[0031] The organization computing system 104 may represent one or more computing devices. Such computing devices may include, but are not limited to, mobile devices, tablet computers, desktop computers, or any computing system having the capabilities described herein. The organization computing system 104 may include at least a web server 114 and a motivational marketing platform 116.
[0032] Web server 114 may represent one or more computing devices configured to provide one or more web pages to client computing system 102. For example, web server 112 may be configured to provide one or more web pages to client computing system 102 so that client computing system 102 can access one or more functions of organization computing system 104. Web server 114 may communicate with client computing system 102 via application 110 executing on client computing system 102. For example, web server 114 may transmit one or more web pages to application 110 so that application 110 may render the one or more web pages and display the one or more web pages to a client via a display associated with client computing system 102.
[0033] The motivational marketing platform 116 may include one or more software modules. One or more software modules may be a collection of codes or instructions stored on a medium (e.g., a memory of the organization's computing system 104), the collection of codes or instructions representing a series of machine instructions (e.g., program code) that implement one or more algorithmic steps. Such machine instructions may be actual computer code that the processor of the organization's computing system 104 interprets to implement the instructions, or alternatively, may be a higher-level encoding of instructions that is interpreted to obtain the actual computer code. One or more software modules may also include one or more hardware components. One or more aspects of the example algorithm may be performed by the hardware component (e.g., circuit) itself, rather than by the instructions.
[0034] The motivational marketing platform 116 may be configured to provide a real-time marketing solution that optimizes (or nearly optimizes) a multi-step offer for delivery to an end user. In particular, the motivational marketing platform 116 is an intelligent framework that allows the client to align customer motivations with business goals. For example, the motivational marketing platform 116 may generate a campaign defined by one or more goals communicated by the client computing system 102 that is pushed or transmitted to the intended audience (e.g., end user). The motivational marketing platform 116 may include (in the following Figure 2 The motivational marketing platform 116 may include one or more components (discussed in more detail in ), one or more components working in concert to continuously collect, analyze, and process real-time end-user data. Continuously collecting, analyzing, and processing real-time end-user data may help improve (or optimize) campaigns over time. Thus, the motivational marketing platform 116 continuously observes and adapts the end-user experience by individualizing sales campaigns and offers to attract end users (e.g., customers of an organization or facility associated with the client computing system 102) and increase revenue.
[0035] Referring back to the client computing device 102, the client computing device 102 may also include a web server 112. The web server 112 may represent one or more computing devices configured to provide one or more web pages to one or more end-user computing devices 106. For example, the web server 112 may be configured to provide one or more web pages to the end-user computing devices 106 so that the end-user computing devices 106 can access one or more functions of the client computing system 102. The web server 112 may communicate with the end-user computing devices 106 via an application 118 executing on each end-user computing device 106. For example, the web server 112 may transmit the one or more web pages to the application 118 so that the application 118 can render the one or more web pages and display the one or more web pages to the client via a display associated with each end-user computing device 106.
[0036] The client computing system 102 may communicate with a database 108. The database 108 may be configured to store one or more sets of information associated with the client computing system 102. As shown, the database 108 may include one or more customers 120, one or more products 122, one or more transactions 124, and one or more events 126. The one or more customers 120 may represent one or more customers 120 that have transacted with a facility or organization associated with the client computing system 102. For example, the one or more customers 120 may represent one or more customers that have an account or profile with a facility or organization associated with the client computing system 102. Such exemplary accounts or profiles may include a loyalty account of a facility or organization. A loyalty account may be a registered account of the client computing system 102 that tracks end-user purchases or transactions with a facility or organization associated with the client computing system 102.
[0037] One or more products 122 may represent one or more products and / or services provided by a facility or organization associated with client computing system 102. In some embodiments, one or more products 122 may include a high-level general description of the one or more products and / or services. For example, such a high-level general description may include, but is not limited to, "blue shirt," "jeans by brand X," "deep tissue massage," "haircut and wash," etc. In some embodiments, one or more products 122 may include a more fine-grained description of the one or more products and / or services. For example, such a granular description may include a universal product code (UPC) or stock keeping unit (SKU) associated with each product provided by the facility or organization. In another example, such a granular description may include a specific code associated with each service provided by the facility or organization.
[0038] The one or more transactions 124 may represent one or more transactions between one or more end users and a facility or organization associated with the client computing system 102. In some embodiments, the one or more transactions 124 may include one or more parameters associated with each transaction 124. Such parameters may include an identifier corresponding to a customer (e.g., an end user) conducting the transaction, product information associated with the product and / or service exchanged in the transaction, a date and / or time associated with the transaction, an account number associated with the customer (e.g., a loyalty account number), etc.
[0039] One or more events 126 may correspond to one or more events recommended by the client that may constitute level completion. For example, one or more events 126 may specify which specific products may constitute level completion, which types of products may constitute level completion, and so on.
[0040] In order for the organization computing system 104 to provide real-time marketing solutions (e.g., campaigns) to end users, the client computing system 102 may allow the organization computing system 104 to access information stored in the database 108. In some embodiments, the client computing system 102 may continuously or periodically transmit the information stored in the database 108 to the organization computing system 104. In some embodiments, the client computing system 102 may grant the organization computing system 104 direct access to the database 108, such that the organization computing system 104 can access the database 108 without intervention from the client computing system 102.
[0041] Each end-user computing device 106 may represent a mobile device, a tablet computer, a desktop computer, or any computing system having the capabilities described herein. Each end-user computing device 106 may be operated by a customer 120 of a facility or organization associated with the client computing system 104. For example, the end-user computing device 106 may be operated by an end user having an account or profile with the client computing system 102. In other words, each end user operating a respective end-user computing device 106 may represent a customer 120 stored in the database 108.
[0042] The end-user computing device 106 may include an application 118 executing thereon. The application 118 may represent a web browser that allows access to a service (or website) or a stand-alone application. The end-user computing device 106 may access the application 118 to access the functionality of the client computing system 102. For example, the end-user computing device 106 may access the application 118 to manage an account or profile registered with the client computing system 106. In some embodiments, the end-user computing device 106 may access the application 118 to view and / or participate in offers associated with activities generated by the organization computing system 104. For example, the client computing system 102 may push or provide customized offers to the end-user computing device 106 to attract the end user to participate. The content displayed to the end-user computing device 106 may be transmitted to the end-user computing device 106 and then processed by the application 118 for display through a display associated with the end-user computing device 106.
[0043] Figure 2 is a block diagram of a computing environment 200 according to an exemplary embodiment. As shown, the computing environment 200 includes a motivational marketing platform 116, which is described in more detail.
[0044] The motivational marketing platform 116 may include at least an orchestration engine 202, a policy engine 204, a workflow engine 206, and a client database 208. Each of the orchestration engine 202, the policy engine 204, and the workflow engine 206 may include one or more software modules. One or more software modules may be a collection of codes or instructions stored on a medium (e.g., a memory of the motivational marketing platform 116), the collection of codes or instructions representing a series of machine instructions (e.g., program code) that implement one or more algorithm steps. Such machine instructions may be actual computer code that the processor of the motivational marketing platform 116 interprets to implement the instructions, or alternatively, may be a higher level encoding of instructions that is interpreted to obtain the actual computer code. One or more software modules may also include one or more hardware components. One or more aspects of the example algorithm may be performed by the hardware component (e.g., circuit) itself, rather than by the instructions.
[0045] The orchestration engine 202 may be configured to create and configure one or more activities and one or more offers included in each of the one or more activities. An activity may be loosely defined as a collection of offers. Each offer may be referred to as an experience that has been customized or personalized for a given end user. In other words, an offer may define a specific version of an experience with actions or products, rules, and rewards that an end user may participate in. An activity may be distinguished or defined by its goals, its expected audience, and the time period during which it is improved (or optimized) and delivered to the end user. The orchestration engine 202 may be configured to receive input from the client computing system 102 to define the goals of the activity, the expected audience, and the time period during which it is improved (or optimized) and delivered to the user (i.e., its "activation"). In some embodiments, the orchestration engine 202 may receive input from the client computing system 102 via one or more application programming interface (API) requests. In some embodiments, the orchestration engine 202 may receive input from the client computing system 102 via a computing device associated with the organization computing system 104 that submits one or more API requests. In some embodiments, the orchestration engine 202 may receive input via a user interface, and the client may interact through the user interface. For example, the client may define the objectives, intended audience, and duration of the campaign via a GUI displayed on the client device 102 .
[0046] Objectives may be referred to as basic components that represent business goals for clients. Each of the one or more offers included in a campaign may be optimized to achieve a selected objective. Exemplary campaign objectives may include, but are not limited to, return on investment (ROI), net interest income (NIR), completion, etc. An ROI objective may correspond to a client that desires to increase profit margins. An NIR objective may correspond to a client that desires to increase top line revenue. A completion objective may correspond to a client that desires to invest in building stronger customer relationships. Each campaign objective may be optimized by a machine learning model.
[0047] The prospective audience (or "segment") may correspond to a target group of customers that the client wants to target. For example, the client may define the prospective audience as a first group of "new customers" and a second group of "existing customers," and generate different offers for each respective group. In another example, the client may define the prospective audience by a set of determinations (e.g., new customers = customers created in the past 30 days) rather than a set of deterministic customer identifiers (e.g., new customers == ID1, ID2, ID3, ID4, etc.).
[0048] The orchestration engine 202 may include at least an activity application programming interface (API) 210 and an offer API 212. The activity API 210 may be configured to create and configure one or more activities. For example, via the activity API 210, the client computing system 102 may be able to create one or more activities, add offers to one or more activities, create offer configurations for one or more activities, and the like. Further, via the activity API 210, the client computing system 102 may be able to update one or more settings for a particular activity, update a specified offer for an activity, and / or update a specified activity configuration. In some embodiments, the activity API 210 may further allow the client computing system 102 to retrieve information about each activity from the database 208. For example, via the activity API 210, the client computing system may retrieve activity targets, retrieve information about specified offers in an activity, retrieve information about subscription configurations, obtain a list of created activities, retrieve a list of activities including a specific offer, retrieve a list of offers created for a specific client, retrieve a list of offers for a specific activity, and the like.
[0049] The Offer API 212 may be configured to create one or more offers and include one or more offers in a given campaign. The Offer API 212 may define an offer distribution service that is responsible for storing and maintaining the offer state before the offer is distributed, as well as affecting the distribution of the offer. The Offer API 212 may be configured to individualize the offers and distribute each offer to the appropriate end user. In general, an offer may represent a relationship between an activity containing the offer and an end user.
[0050] The offer API 212 can present a list of currently available offers to the client computing system 102. For example, the offer API 212 can generate a GUI including the list of offers, which can be accessed by the client computing system 102 via a display associated with the client computing system 102. Via the GUI, the client computing system 102 can select one or more offers to be included in a particular campaign. Further, via the GUI, the client computing system 102 can manage existing offers. For example, the client computing system 102 can suspend an offer, resume an offer, edit a name associated with an offer, terminate an offer, edit an expiration date of an offer, or delete an offer.
[0051] In general, each offer may have one or more parameters associated with it. Such exemplary parameters may include, but are not limited to, the name of the offer, the delivery channel associated with the offer (e.g., email, mobile application, SMS message, etc.), the duration of the offer (e.g., the time by which the end user must complete the offer), and the expiration date of the offer (e.g., the last date and time by which any end user can complete the offer and win the reward).
[0052] Further, each offer may include a game to be played by the end user. Each game includes one or more levels. Each level may refer to a game completion goal. For example, a level may consist of multiple transactions. A game may require the completion of one or more levels. For example, an exemplary level may be the purchase of a specific item at a facility or organization associated with the client computing system 102. After completing each level, the end user may receive a reward.
[0053] For a product / service purchase or action type gate, the activity API 210 may define a product / service purchase, for example, by: (a) a personalized product if the offer type is integrated with a separate product recommendation model; (b) descriptive product attributes such as "new arrival," "latte," "premium flight," "blue shirt," "60 minute massage," etc.; or (c) a specific product, UPC, or SKU.
[0054] For levels of cost or quantity threshold type, the activity API 210 can define a cost threshold and / or a quantity threshold. For example, in order to achieve the level, the client may require the end user to purchase the product at least 3 times (i.e., quantity) and spend at least $500 (i.e., cost) in total. In some embodiments, for example, if the offer type is integrated with a separate cost recommendation model, the cost threshold can be a personalized spread threshold. In some embodiments, the cost threshold can be an explicit cost threshold.
[0055] If the end user achieves each level in the game (although no reward is required), the activity API 210 can be further configured to define a reward to be provided to the end user. In some embodiments, the activity API 210 can define a fixed reward. The fixed reward can have one or more variations. For example, assume that the offer API 212 defines a first level with a fixed reward of an explicit reward of 1000 points. The activity API 210 can configure another reward variation with an explicit reward of 500 points. Therefore, the activity API 210 creates two offers: one offer has a reward of 1000 points; the other offer has a reward of 500 points. In some embodiments, the activity API 210 can define a random reward. The random reward can consist of a set of explicit rewards and corresponding distributions. After completing the level, the end user can randomly get a reward based on its corresponding distribution. For example, assume that the level has a reward of 1000 points with a 20% distribution, and another reward of 500 points with an 80% distribution. The end user will have a 20% chance of winning 1000 points after completing a level, and an 80% chance of winning 500 points.
[0056] The offer API 212 may be configured to assign one or more offers to a specific end user. The offer API 212 may be an offer assignment request given a specific customer and an activity associated with the customer. The response to the offer API request may be a fully personalized offer instance that has been assigned to the customer. The offer API 212 may receive one or more sets of data related to one or more end users associated with the client computing system 102 as input. For example, the organization computing system 104 may access one or more sets of customer information stored in the database 106. The offer API 212 may provide one or more sets of customer information as input to a machine learning algorithm housed in the machine learning module 216. Such suitable machine learning algorithms may include, but are not limited to, supervised learning, unsupervised learning, reinforcement learning, neural networks, contextual multi-armed bandits, linear regression, random forests, etc. As output, the machine learning module 216 may generate a model that selects one or more offers for each end user. Therefore, the offer API 212 in conjunction with the machine learning module 216 may assign one or more offers to each end user.
[0057] For example, the machine learning module 216 may be configured to assign a game corresponding to a particular offer to each particular end user. The machine learning module 216 may assign a game based on one or more sets of customer information stored in the database 108 and the type of offer assigned to the particular end user. Although the term "game" is used, the games referred to herein may be referred to as "offers."
[0058] Exemplary game structures can include, but are not limited to, multi-option multiplier games, pattern lock games, scratcher games, choose your own adventure games, a visit game, a bonus game, a loop game, a nudge game, and the like.
[0059] The multi-option multiplier game may include one or more offers, which may be intended to introduce a new experience, new product, and / or new service to the customer. For example, the multi-option multiplier game may prompt the user to purchase an easy product, an easy product, and a difficult product before earning a $50 reward. In another example, the multi-option multiplier game may prompt the user to download a mobile app and check a bag at an airport counter to earn a 10,000 mile reward.
[0060] The mode-locked game may include one or more offers that may be configured to reinforce user behavior and / or deepen user engagement. For example, the mode-locked game may prompt the user to visit a store five times in seven days to earn a hundred star rewards. In another example, a dash game may prompt the user to purchase and fly three times in the next thirty days to reach thirty thousand miles.
[0061] The scratch-off game may include one or more offers designed to attract users who like surprises and / or novelty. For example, the scratch-off game may prompt the user to purchase three lattes to: (1) have a 10% chance of winning a hundred star reward; (2) have a 40% chance of winning a fifty star reward; or (3) have a 50% chance of winning a twenty star reward.
[0062] The choose your own adventure game may include one or more offers that are structured to attract customers who may be motivated by control. For example, the choose your own adventure game may include one of the following options: (1) visit the store five times in seven days to earn one hundred stars; (2) use one hundred stars to purchase five lattes; or (3) use one hundred stars to purchase a latte, two muffins, and a sandwich.
[0063] Access games can be similar to pattern-locked games. In other words, access games can be access-based pattern-locked games. For example, an access game can prompt a user to visit a store and buy anything, rather than having to buy a specific item, item type, or monetary amount.
[0064] A loop game can be any of the games mentioned above, but repeated multiple times.
[0065] The bonus game can be any of the games mentioned above, but in addition to rewarding the user for completing a single level, it also provides additional rewards for completing all offer levels.
[0066] In some embodiments, each game can be stored in a graph-like data structure. For example, a developer can use the Dhall configuration language to generate a graph-like structure, and then run the information through a tool that can convert human-readable Dhall into a protocol buffer. In another example, a developer can generate a graph-like structure via a user interface, which can convert an intermediate configuration stored in the user interface into a similar protocol buffer.
[0067] The strategy engine 204 can work with the orchestration engine 202. For example, when the orchestration engine mediates the relationship between activities, offers and end users, the strategy engine 204 can personalize each assigned offer for each end user and perform real-time analysis on the activity results. The strategy engine 204 can include at least a machine learning module 216. The machine learning module 216 can be configured with one or more tasks. In some embodiments, the machine learning module 216 can be configured as one or more levels and rewards within a specific offer. For example, the machine learning module 216 can be configured to personalize the offers assigned to each specific end user. For example, the machine learning module 216 can be configured to customize the offers assigned to a specific end user based on one or more attributes of the user (by the machine learning module 216). The machine learning module 216 can also be configured to predict which group of personalized offers to determine which group will produce the best results given a specific business goal. The machine learning module 216 uses one or more predictive models generated by its infrastructure to select such levels, rewards and personalized offers.
[0068] In some embodiments, the machine learning module 216 may provide one or more sets of customer information as input to a machine learning algorithm. Such customer information may include descriptive attributes of the customer and transaction history associated with the customer at a facility or organization associated with the client computing system 102. Such suitable machine learning algorithms may include, but are not limited to, supervised learning, unsupervised learning, reinforcement learning, neural networks, contextual multi-armed bandits, linear regression, random forests, etc. As output, the machine learning module 216 may generate personalized offers to be pushed to each end user. For example, for a particular end user, the machine learning module 216 may generate a unique version of the offer by adjusting multiple levels until the particular end user is rewarded.
[0069] In some embodiments, the policy engine 204 may also be configured to personalize the game assigned to each end user. For example, through user-specific information, the policy engine 204 may determine that a particular user is less engaged in a product or service than another user. Therefore, for the particular user, the policy engine 204 may create a less onerous level that the particular user may more easily achieve. By doing so, the policy engine 204 personalizes the game in a way that elicits engagement from the particular user.
[0070] The workflow engine 206 may be configured to manage interactions between end users and offers assigned to end users. For example, the workflow engine 206 may receive one or more offers personalized for each respective customer from the policy engine 204. The workflow engine 206 may then push each of the one or more personalized offers to each respective customer. In some embodiments, the workflow engine 206 may interface directly with an application 118 executing thereon. For example, the workflow engine 206 may be granted access to an application 118 hosted by a web server 112 on a client computing system 102. In some embodiments, the workflow engine 206 may transmit each of the one or more personalized offers to a client computing system 102. The client computing system 102 may then push each of the one or more personalized offers to each respective end user device 106.
[0071] The workflow engine 206 may include at least an event API 218, a state API 220, and any personalized changes applied by the machine learning module 216. The event API 218 may be configured to manage one or more incoming events to the motivational marketing platform 116. In other words, when an end user opts in and / or chooses to participate in an offer represented by a game, an event associated with the game may be transmitted to the motivational marketing platform 116 and processed by the event API 218. For example, as an end user who has chosen to enter a game transaction at a facility or organization associated with the client computing system 102, such an event is processed by the event API 218. In some embodiments, the event API 218 may process all events regardless of whether the customer has a valid offer. For example, if there is a valid offer, receiving the customer's event triggers an evaluation of the offer to see if the new event causes progress. If there is no valid offer, the event may be held for a period of time to see if any valid offer arrives at the customer later. As such, the system is able to maintain a complete transaction history for the approximate length of the longest offer that exists.
[0072] In some embodiments, the workflow engine 206 can further include a transaction history associated with each customer. The transaction history can include one or more transactions conducted by each customer 232 at a facility or organization.
[0073] Tracking and processing of events by the event API 218 helps improve the machine learning algorithms of the machine learning module 216, as well as guide the overall activities selected by the client computing system 102. The event API 218 can be configured to define methods for queuing one or more incoming events for processing by the workflow engine 206. The event API 218 can include one or more events 222. The one or more events 222 can represent one or more activities received by the event API 218 from one or more end-user devices 106 and / or client computing systems 102. In some embodiments, the event API 218 can periodically transmit the one or more incoming events 222 to the workflow engine 206. For example, the event API 218 can transmit the one or more incoming events 222 to the workflow engine 206 in one or more batches. In other words, in some embodiments, the workflow engine 206 can process the one or more events 222 in batches. In some embodiments, the event API 218 can transmit the one or more incoming events 222 to the workflow engine 206 in real time (or near real time). For example, when each of the one or more events 222 is transmitted to the motivational marketing platform 116, the event API 218 can transmit the one or more incoming events 222 to the workflow engine 206. In other words, in some embodiments, the workflow engine 206 can process the one or more events 222 in a stream process.
[0074] State API 220 can be configured to communicate with one or more downstream systems. State API 220 provides access to the offer (or game) state of each terminal user. An email marketing system (not shown) can utilize state API 220 (or its streaming copy, action stream) to determine who sends the email about the offer state progress. State API 220 can be configured to update the state of the terminal user after processing the incoming event. For example, event API 218 can transfer a batch of events to workflow engine 206. One such event in the batch of events can correspond to the terminal user accepting the offer and starting the game associated with the offer. Therefore, workflow engine 206 can communicate the processing of the event to state API 220, and state API 220 can then publish the incremental state progress associated with the corresponding terminal user to the data stream.
[0075] Referring back to the policy engine 204, the policy engine 204 can continuously monitor events and end-user states to improve (e.g., optimize) the end-user experience. In some embodiments, the policy engine 204 can utilize an automated, non-trivial process of training machine learning models, versioning machine learning models, and verifying that new machine learning models perform better than old machine learning models. If the policy engine 204 determines that the new machine learning model is not as good as the previous machine learning model, the policy engine 204 can revert to the previous machine learning model. In some embodiments, the policy engine 204 can use reinforcement learning via the machine learning module 216, using context slots, to continuously improve the end-user experience. For example, via reinforcement learning techniques, the policy engine can continuously learn tasks, acquire skills, and provide real-time decisions. In some embodiments, such training can be performed every day. The policy engine 204 can improve the user experience at various stages of the activity life cycle, including but not limited to offer creation, activity creation, adding offers to activities, analysis of activity results, identification and suspension of poorly performing offers, identification of high-performance offers, and recommendation of creating new offer variants based on machine learning processes. The strategy engine 204 can act on its learning by creating new offer variations and returning them to the orchestration engine 202 for inclusion in effective campaigns.
[0076] At a conceptual level, the interaction between the policy engine 204 and the end user via the monitored events and states can be interpreted as a sequence of interactions with an individual end user that follows the following template: observe context, take action, and observe results. Many such interactions may occur overlapping in time. For example, the purpose of the policy engine 204 is to improve (e.g., optimize) the actions of a given context in order to bring about the most desired results.
[0077] The context (which may be represented as a feature vector) may include one or more attributes of the current customer and / or potential actions to be taken. The context may be known to the policy engine 204 at the time of the action. The results may include an event log that the policy engine 204 may observe shortly after the action is selected. The result log may be analyzed to determine a numerical reward returned to the policy engine 204. For example, the policy engine 204 may implement a MapReduce process that uses the log to generate a numerical machine learning reward.
[0078] The overall decision-making process of the strategy engine 204 can be managed by a machine learning algorithm (e.g., a model) trained by the machine learning module 216. When an end user participates in a game corresponding to an offer, such information can be input to the strategy engine 204 from the workflow engine 206. The machine learning module 216 can continuously improve the user experience by responding to changes in the available offers for the activity (e.g., if a user or operator adds or removes an offer from the activity) and changes in the customers who are part of the activity (e.g., if the location of the customer switches from the East Coast to the West Coast). The machine learning module 216 can adjust (e.g., optimize) to those new environments without user intervention. The machine learning module 216 can utilize the machine learning algorithm to continuously improve the user experience by generating one or more offer variants to be added to the activity. The one or more offer variants can be communicated from the strategy engine 204 to the orchestration engine 202. Thus, the orchestration engine 202 can prompt the client to add new offer variants to the activity to improve (e.g., optimize) the end user experience.
[0079] The motivational marketing platform 116 can communicate with a motivational marketing database 208. The motivational marketing database 208 can include one or more campaigns 230, one or more customers 232, one or more offers 240, one or more machine learning models 242, one or more logs 244, and one or more partial copies of a client database 246.
[0080] The one or more campaigns 230 may represent one or more campaigns 230 generated by the motivational marketing platform 116. In some embodiments, the one or more campaigns 230 may represent one or more active campaigns. In some embodiments, the one or more campaigns 230 may represent one or more active campaigns and one or more expired campaigns.
[0081] Each activity 230 may represent a business relationship between a client computing system and a set of end users (e.g., customers of the client). Each activity 230 may include at least a segment 234, an activation 236, and a goal 238. Segments 234 may represent a selected subset of end users. For example, example segments 234 may include "new customers" and "existing customers." One or more offers may be assigned to each segment 234. Activations 236 may represent a start date and an end date. In some embodiments, activations 236 may be actions that select a person into an activity. For example, a "mobile app download" trigger may select a person into a "first app use" activity that may distribute various offers for interacting with specific application features. Goals 238 may represent business goals associated with an activity. All offers may be optimized or customized to achieve goals 238. Exemplary goals 238 may include, but are not limited to: revenue, return on investment (ROI), or customer engagement.
[0082] Customers 232 may represent one or more customers (e.g., end users) of an organization or facility associated with client computing system 102. In some embodiments, customers 232 may include one or more attributes or characteristics associated with each customer. Such one or more attributes or characteristics, by themselves, may not be sufficient to de-anonymize an end user; however, such one or more attributes or characteristics may be sufficient to identify a particular anonymous user.
[0083] Offers 240 may represent one or more fully personalized offers generated by machine learning module 216. For example, offers 240 may represent one or more offers personalized for each customer represented in customers 232.
[0084] The machine learning models 242 may represent one or more predictive models generated by the machine learning module 216. For example, the machine learning models 242 may include one or more predictive models for generating fully personalized offers, one or more predictive models for selecting a subset of fully personalized offers for each user, etc. In some embodiments, the one or more machine learning models 242 may be continuously updated based on the results of each campaign.
[0085] Log 244 may represent the end-user's progress through each game. For example, log 244 may include the end-user's progress through a game corresponding to its fully personalized offer.
[0086] The client database 246 may represent a copy of the database 108 associated with a particular client. For example, in some embodiments, the client database 246 may represent a partial copy of the database 108. Storing at least a portion of the database 108 locally as the client database 246 may reduce requests sent between the organization computing system 104 and the client computing system 102.
[0087] Figure 3 is a flow chart illustrating a method 300 for implementing an engagement activity according to an example embodiment. The method 300 may begin at step 302. At step 302, the organization computing system 104 may receive an activity creation request. In some embodiments, the organization computing system 104 may receive the activity creation request from the client computing system 102. For example, the organization computing system 104 may receive the activity creation request via an application 110 executing on the client computing system 102.
[0088] In some embodiments, the campaign request may include one or more parameters associated therewith. The one or more parameters may include specifications of business goals. Exemplary business goals may include, but are not limited to, revenue, return on investment, customer engagement, etc. The one or more parameters may further include one or more sets of end-user information. The end-user information may correspond to information about customers associated with the client computing system 102. For example, such user information may include end-user descriptive attributes and transaction history for each end-user at an organization or facility associated with the client computing system 102.
[0089] At step 304, the organization computing system 104 can create an activity based on the creation request. For example, the organization computing system 104 can initialize the activity based on one or more parameters associated with the activity creation request.
[0090] In step 306, the organization computing system 104 may present one or more offers to the client computing system 102. The organization computing system 104 may present one or more offers corresponding to the identified business objectives. The organization computing system 104 may generate a graphical user interface (GUI) including a list of one or more offers corresponding to the identified business objectives. Such a list of one or more offers may allow the client to classify the offers by one or more offer attributes. For example, the list of one or more offers may include one or more classifiable columns. For example, such columns may include: offer name, offer type, offer allocation start date, offer expiration date, number of levels, duration of the offer, and status of the offer. The organization computing system 104 may transmit the GUI to the client computing system 102 for display. For example, the organization computing system 104 may transmit the GUI to the client computing system 102 via the application 110 executed thereon, so that the application 110 may render the GUI and display the GUI to the client via a display associated therewith.
[0091] At step 308, the organization computing system 104 may receive a selection of one or more offers from the client computing system 102. For example, the client computing system 102 may receive as input an indication of the client selecting one or more offers via a GUI. The client computing system 102 may relay the input to the organization computing system 104 for processing.
[0092] At step 310, the organization computing system 104 may map one or more offers to at least one end user. For example, the orchestration engine 202 may be configured to assign one or more offers to a specific end user via the machine learning module 216. The orchestration engine 202 may provide one or more sets of data related to one or more end users associated with the client computing system 102 as input. For example, the organization computing system 104 may access one or more sets of customer information stored in the database 108 and provide one or more sets of customer information as input to a machine learning algorithm. Such suitable machine learning algorithms may include, but are not limited to, supervised learning, unsupervised learning, reinforcement learning, neural networks, contextual multi-armed bandits, linear regression, random forests, etc. As output, the orchestration engine 202 may generate a mapping between one or more offers and end users.
[0093] At step 312, for each end user, the organization computing system 104 can personalize the mapped offer to each corresponding end user. For example, the policy engine 204 can be configured to personalize the assigned offer to each specific end user via the machine learning module 216. The policy engine 204 can customize the offer assigned to a specific end user based on one or more attributes of the user (by the machine learning module 216). The policy engine 204 can provide one or more sets of customer information as input to the machine learning algorithm. Such customer information may include descriptive attributes of the customer and transaction history associated with the customer at a facility or organization associated with the client computing system 102. Such suitable machine learning algorithms may include, but are not limited to, supervised learning, unsupervised learning, reinforcement learning, neural networks, contextual multi-armed bandits, linear regression, random forests, etc. As an output, the policy engine 210 can generate personalized offers to be pushed to each end user.
[0094] At step 314, the organization computing system 104 may push one or more personalized offers to each respective end user. The policy engine 204 may transmit each of the one or more personalized offers to the workflow engine 206. The workflow engine 206 may manage the interactions between the end users and the offers assigned to the end users. The workflow engine 206 may, in turn, push each of the one or more personalized offers to each respective customer. In some embodiments, the workflow engine 206 may interface directly with the application 118 executing thereon. For example, the workflow engine 206 may be granted access to the application 118 hosted by the web server 112 on the client computing system 102. In some embodiments, the workflow engine 206 may transmit each of the one or more personalized offers to the client computing system 102. The client computing system 102 may, in turn, push each of the one or more personalized offers to each respective end user device 106.
[0095] At step 316, the organization computing system 104 may monitor the activity performance. The organization computing system 104 may monitor the activity performance by receiving transaction information from the client computing system 102. In some embodiments, the transaction information may flow from the client computing system 102 to the organization computing system 104 via the workflow engine 206. For example, the event API 218 may be configured to receive one or more transaction events from the client computing system 102. The event API 218 may transmit the one or more transaction events to the workflow engine 206 for processing. In some embodiments, the event API 218 may transmit the one or more transaction events to the workflow engine 206 periodically, in one or more batches. In some embodiments, the event API 218 may transmit the one or more transaction events to the workflow engine 206 in real time (or near real time) by streaming the one or more transaction events to the workflow engine 206.
[0096] At step 318, the organization computing system 104 can update the end user progress based on the monitoring. As the workflow engine 206 processes each transaction event, the workflow engine 206 can work in conjunction with the state API 220 to update the state of each end user in their respective offer. For example, the workflow engine 206 can update each end user's game with any levels that may have been met.
[0097] In some embodiments, method 300 may further include step 320 and step 322. At step 320, after the campaign has ended, machine learning module 216 may analyze the results of the campaign. For example, machine learning module 216 may parse through logs 244 to identify those offers that generated higher engagement levels and those offers that generated lower engagement levels.
[0098] In step 322, the machine learning module 216 may update one or more prediction models based on the data identified in step 320. For example, the machine learning module 216 may update a first prediction model dedicated to offer personalization and a second prediction model dedicated to selecting between personalized offers. The personalization model may be trained on a per-activity or per-client basis. The selection model is trained with a reinforcement learning algorithm on a per-activity basis. Updating the prediction model may be accomplished by running the activity and recording the raw events that occurred during the activity. In some embodiments, the raw data may include: customers and attributes that are part of the activity, offers assigned to each customer, how each offer is personalized, raw events generated by customers, progress made by customers in their offers, and how offers contribute to the company's activity goals. The organization computing system 104 may convert the received raw data into a machine learning log on which a specific machine learning model may be trained. The machine learning module 216 may then retrain one or more existing models on the expanded data set. The machine learning module 216 may compare the prediction performance of the old version of the model with the prediction performance of the new version with respect to historical events. If the new model performs better than the old model, the machine learning module 216 may choose to use the new model for future predictions in production.
[0099] Figure 4 4 is a logic diagram 400 illustrating a method for implementing an engagement activity according to an example embodiment. The logic diagram 400 may include a client computing system 102 interacting with an organization computing system 104. The organization computing system 104 may include an intermediary service 401, an orchestration engine 202, a policy engine 204, and a workflow engine 206. The intermediary service 401 may be configured to standardize and normalize incoming data so that one or more components of the organization computing system 104 can better process the information.
[0100] At operation 402, the client computing system 102 may transmit a campaign request to the orchestration engine 202. The campaign request may include one or more parameters associated with the campaign. The one or more parameters may include a specification of a business goal. Exemplary business goals may include, but are not limited to, revenue, return on investment, customer engagement, etc. In some embodiments, the one or more parameters associated with the campaign may also include a duration of the campaign, one or more groups of target customers for the campaign, one or more descriptions associated with each of the one or more groups of target customers, etc. In some embodiments, the campaign request may also include a specification of one or more offers to be added to the campaign.
[0101] At operation 404, the client computing system 102 may request the organization computing system 104 to begin the requested activity. For example, the client computing system 102 may request the orchestration engine 202 to begin distributing one or more offers to each target end user.
[0102] At operation 406, the client computing system 102 may transmit one or more sets of data to the organization computing system 104. For example, the intermediary service 401 may receive one or more sets of data from the client computing system 102. In some embodiments, operation 406 may occur simultaneously with operation 404. The one or more sets of data may include customer-specific information (e.g., descriptive attributes, transaction history, one or more user profile preferences, etc.). Upon receiving the one or more sets of data from the client computing system 102, the intermediary service 402 may convert the data from a first format to a second format. For example, the intermediary service 402 may standardize and normalize the data so that the information is more easily processed by one or more components of the organization computing system 104.
[0103] At operation 408, the intermediary service 401 may transmit the transformed data to the orchestration engine 202 for processing. At operation 410, the policy engine 204 may personalize one or more offers to each respective end user. For example, the policy engine 204 may utilize end user (e.g., customer) specific information and the machine learning module 116 to personalize each offer for each end user. The policy engine 204 may transmit each personalized offer to the orchestration engine 202.
[0104] At operation 412, the orchestration engine 202 may assign one or more fully personalized offers to each end user. For example, the orchestration engine 202 may utilize the machine learning module 114 to generate a mapping between one or more fully personalized offers and each end user. The orchestration engine 202 may transmit the offer assignments to the policy engine 204 for personalization.
[0105] At operation 413, the workflow engine 206 may receive one or more sets of data from the client computing system 102. The one or more sets of data may include product information data (e.g., UPC, SKU, product category, etc.). Upon receiving the one or more sets of data from the client computing system 102, the intermediary service 402 may convert the data from a first format to a second format. For example, the intermediary service 402 may standardize and normalize the data so that the information is more easily processed by the workflow engine 206.
[0106] At operation 414, the orchestration engine 202 may transmit the personalized offers to the workflow engine 206 for execution. For example, the orchestration engine 202 may instruct the workflow engine 206 to execute one or more workflows corresponding to each personalized offer.
[0107] At operation 416, the workflow engine 206 may transmit the personalized offers to the client computing system 102. In some embodiments, the workflow engine 206 may interface directly with each end-user device 106. In some embodiments, the workflow engine 206 may transmit each of the one or more personalized offers to the client computing system 102. The client computing system 102 may, in turn, push each of the one or more personalized offers to each respective end-user device 106.
[0108] At operation 418, the client computing system 102 may transmit the transaction data to the organization computing system 104. In some embodiments, the client computing system 102 may stream the transaction data to the organization computing system 104, i.e., the client computing system 102 may transmit the transaction data in real time (or near real time) to the organization computing system 104. In some embodiments, the client computing system 102 may transmit the transaction data to the organization computing system 104 periodically.
[0109] At operation 420, the intermediary service 402 may convert the transaction data from the first format to the second format. For example, the intermediary service 402 may standardize and normalize the data so that the information is more easily processed by one or more components of the organization's computing system 104. The intermediary service 402 may transmit the transaction data to the workflow engine 206 for processing.
[0110] At operation 422 , the workflow engine 206 can process the received transaction data. For example, the workflow engine 206 can update the progress of each end user in their respective game based on the received transaction data. The workflow engine 206 can transmit the results to the strategy engine 204 .
[0111] At operation 426, the orchestration engine 202 may instruct the workflow engine 206 to push one or more new offer recommendations to the client computing system 102. At operation 428, the workflow engine 206 may communicate the offer progress to the client computing system 102.
[0112] Figure 55 is a block diagram 500 illustrating an activity lifecycle according to an example embodiment. The activity lifecycle may begin at operation 502. At operation 502, the organization computing system 104 may create one or more offers. At operation 504, the organization computing system 104 may create an activity. In some embodiments, the orchestration engine 202 may create an activity based on one or more parameters provided by a requesting client. At operation 506, the organization computing system 104 may add one or more offers to the activity. For example, the orchestration engine 202 may add one or more offers to the activity based on one or more selections of the client computing system 104.
[0113] At operation 508, the organization computing system 104 may analyze the results of the campaign. In some embodiments, the prediction engine 204 may monitor the results of the campaign in real time (or near real time). In some embodiments, the prediction engine 204 may monitor the results of the campaign periodically. Monitoring the results of the campaign may include the prediction engine 204 monitoring the progress of each of the one or more offers in the campaign. For example, the prediction engine 204 may monitor each offer to analyze how the end users assigned to the offer react to the offer.
[0114] At operation 510, the organizational computing system 104 may identify high performing offers. In some embodiments, as part of the analysis discussed above in conjunction with operation 508, the policy engine 204 may assign a performance metric to each offer. The performance metric may reflect the level of engagement of one or more customers with the corresponding offer. For example, the policy engine 204 may determine that offers corresponding to transaction frequency perform better (i.e., obtain more customer engagement) than transaction amount. The policy engine 204 may identify those offers with the highest performance. For example, the policy engine 204 may identify one or more offers that exceed a threshold engagement level.
[0115] At operation 512, the organization computing system 104 may generate new offers based on the identified high performance offers. In some embodiments, the organization computing system 104 may generate new offers as one or more variations of the identified high performance offers. One or more new offers may be made available to the client for addition to the campaign.
[0116] The offer lifecycle can repeat as new offers are added to a campaign by the client computing system 102. For example, as offers are added to a campaign, the policy engine 204 can continuously analyze the results and make recommendations to the client computing system 102.
[0117] Figure 66 is a flow chart illustrating a method 600 for implementing an activity according to an exemplary embodiment. The method 600 may begin at step 602. At step 602, the organizational computing system 104 may monitor end-user actions. The workflow engine 206 may receive and process one or more end-user events. Based on the one or more end-user events, the workflow engine 206 may update each corresponding offer accordingly. As each offer is updated, the policy engine 204 may analyze the results of each offer. Therefore, the policy engine 204 may generate performance metrics for each offer. The performance metrics may be associated with the level of engagement between the end user and the corresponding offer.
[0118] At step 604, the organizational computing system 104 may identify one or more high performing offers. For example, based on the monitored end-user actions, the policy engine 204 may identify one or more offers with the highest end-user engagement levels. High performing offers may be defined as offers that exceed a pre-established threshold level of end-user engagement.
[0119] At step 606, the organizational computing system 104 may identify one or more low-performing offers. For example, based on the monitored end-user actions, the policy engine 204 may identify one or more offers with the lowest end-user engagement levels. Low-performing offers may be defined as offers that are below a second pre-established threshold level of end-user engagement.
[0120] At step 608, the organization computing system 104 may prompt the client to suspend the identified one or more low-performing offers. For example, the policy engine 204 may make one or more recommendations to the client computing system 104 in the form of one or more messages or instructions to suspend the low-performing offers. Suspending the low-performing offers may allow the client computing system 102 to convert the low-performing offers assigned to the end user to new offers that may better attract the end user.
[0121] In step 610, the organization computing system 104 can generate one or more new offers based on the end-user actions and the identified high-performance offers. In some embodiments, the policy engine 204 can use the machine learning module 218 to generate one or more new offers. For example, the policy engine 204 can generate one or more new offers by inputting the stream of one or more end-user actions into the machine learning algorithm. For example, the stream of one or more end-user actions may include the end-user progress of the game corresponding to the offer, and the type of user transactions at the facility or organization associated with the client computing system 102. In some embodiments, the policy engine 204 can generate one or more new offers based on the identified high-performance offers. Further, in some embodiments, the policy engine 204 can generate one or more new offers based on the combination of the end-user actions and the identified high-performance offers.
[0122] At step 612, the organization computing system 104 may prompt the client computing system 102 to add one or more new offers to the campaign. In some embodiments, the orchestration engine 202 may generate one or more recommendation messages to be transmitted to the client computing system 102. Each recommendation message may include one or more recommendations to change or adjust the current campaign. Such adjustments may include adding one or more new offers to the campaign. In some embodiments, such adjustments may include pausing one or more available offers. In some embodiments, such adjustments may include canceling one or more available offers.
[0123] Figure 7 7 is a block diagram illustrating an exemplary computing environment 700 according to some embodiments. Computing environment 700 includes computing system 702 and computing system 752. Computing system 702 may represent client device 101. In some embodiments, computing system 702 may further represent administrator device 102. Computing system 752 may represent message management system 104.
[0124] Computing system 702 may include processor 704, memory 706, storage 708, and network interface 710. In some embodiments, computing system 702 may be coupled to one or more I / O devices 722 (eg, keyboard, mouse, etc.).
[0125] Processor 704 can retrieve and execute program code 716 (i.e., programming instructions) stored in memory 706, as well as store and retrieve application data. Processor 704 is included to represent a single processor, multiple processors, a single processor with multiple processing cores, etc. Network interface 710 can be any type of network communication system that allows computing system 702 to communicate externally via computing network 705. For example, network interface 710 is configured to enable external communication with computing system 752.
[0126] For example, storage device 708 may be a disk storage device. Although shown as a single unit, storage device 708 may be a combination of fixed and / or removable storage devices such as fixed disk drives, removable memory cards, optical storage, network attached storage (NAS), storage area network (SAN), etc.
[0127] Memory 706 may include applications 712, operating system 714, and program code 716. Program code 716 may be accessed by processor 704 for processing (i.e., executing program instructions). For example, program code 716 may include executable instructions for communicating with computing system 752 to display one or more pages of website 768.
[0128] Processor 704 may access application 712 to access functionality of computing system 752. For example, processor 704 may be configured to execute application 712 to manage client activity accounts managed by computing system 752. Content displayed to computing system 702 may be transmitted to computing system 702 via application 712 and subsequently processed by application 712 for display through a graphical user interface (GUI) of computing system 702.
[0129] The computing system 752 may include a processor 754, a memory 756, a storage device 758, and a network interface 760. In some embodiments, the computing system 752 may be coupled to one or more I / O devices 774. In some embodiments, the computing system 752 may communicate with the database 108.
[0130] Processor 754 can retrieve and execute program code 766 (i.e., programming instructions) stored in memory 756, as well as store and retrieve application data. Processor 754 is included to represent a single processor, multiple processors, a single processor with multiple processing cores, etc. Network interface 760 can be any type of network communication system that enables computing system 752 to communicate externally via computing network 705. For example, network interface 760 allows computing system 752 to communicate with computing system 702.
[0131] For example, storage device 758 may be a disk storage device. Although shown as a single unit, storage device 758 may be a combination of fixed and / or removable storage devices such as fixed disk drives, removable memory cards, optical storage, network attached storage (NAS), storage area network (SAN), etc.
[0132] The memory 756 may include an operating system 764, program code 766, a website 768, an orchestration engine 770, a policy engine 772, and a workflow engine 774. The program code 766 may be accessed by the processor 454 for processing (i.e., executing program instructions). For example, the program code 766 may include instructions configured to perform the above combined Figure 3-Figure 6 Executable instructions for the steps discussed. As an example, processor 754 can access program code 766 to generate and manage one or more activities. Website 762 can be accessed by computing system 702. For example, website 762 can include content accessed by computing system 702 via a web browser or application.
[0133] The compilation engine 770 can be configured to create and configure one or more activities and one or more offers included in each of the one or more activities. An activity can be loosely defined as a collection of offers. Each offer can be referred to as an experience that has been customized or personalized for a given end user. In other words, an offer can define a specific version of an experience with actions or products, rules, and rewards that an end user can participate in. An offer can be thought of as a game to be played by an end user. An activity can be distinguished or defined by its goals, its expected audience, and the time period during which it is improved (or optimized) and delivered to the end user. The compilation engine 770 can be configured to receive input from the client computing system 102 to define the goals of the activity, the expected audience, and the time period during which it is improved (or optimized) and delivered to the user (i.e., its "activation").
[0134] The policy engine 772 can work with the orchestration engine 770. For example, when the orchestration engine 770 mediates the relationship between the campaign, the offer, and the end user, the policy engine 772 can personalize each assigned offer for each end user and perform real-time analysis on the campaign results. The policy engine 772 can be configured to personalize the offers assigned to each specific end user. For example, the policy engine 772 can be configured to customize the offers assigned to a specific end user based on one or more attributes of the user. The policy engine 772 can also continuously monitor events and end user states to improve (e.g., optimize) the end user experience. In other words, the policy engine 772 can be configured to continuously perform real-time (or near real-time) analysis of the campaign results.
[0135] The workflow engine 774 may be configured to manage the interaction between the end user and the offers assigned to the end user. For example, the workflow engine 774 may receive one or more offers personalized for each respective customer from the policy engine 772. The workflow engine 774 may then push each of the one or more personalized offers to each respective customer. In some embodiments, the workflow engine 774 may directly interface with the application 712 executed on the computing system 702. For example, the workflow engine 774 may be granted access to the application 712 on the computing system 702. In some embodiments, the workflow engine 774 may transmit each of the one or more personalized offers to the computing system 702. The computing system 702 may then push each of the one or more personalized offers to each respective end user device.
[0136] Fig. 8A 8 is a block diagram 800 illustrating a graphical user interface (GUI) 800 according to an example embodiment. GUI 800 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 800 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102.
[0137] As shown, GUI 800 may correspond to a graphical user interface generated as a result of a user submitting an activity creation request. GUI 800 may include a first portion 802 and a second portion 804. The first portion 802 of GUI 800 may correspond to a "title" portion of GUI 800. The first portion 802 may include one or more graphical elements 806, 808, 810 (e.g., buttons, links, etc.) that are selectable by a user to cause GUI 800 (e.g., a browser or a local application) to send a message to a content management service requesting information associated with each graphical element 806-810.
[0138] Graphical element 806 may correspond to an activity, an offer, an end customer, or a system metric. Thus, upon receiving input via graphical element 806, GUI 800 may request results or metrics associated with each activity of the client from organization computing system 104. Organization computing system 104 may deliver one or more results or metrics to GUI 800 so that GUI 800 may display the one or more results or metrics on a display associated with client computing system 102.
[0139] Graphical element 808 may correspond to one or more activities. Thus, upon receiving input via graphical element 808, GUI 800 may request information for one or more activities associated with client computing system 102 from organization computing system 104. Organization computing system 104 may deliver the one or more activities to GUI 800 so that GUI 800 may display one or more results or metrics on a display associated with client computing system 102. Thus, for purposes of FIG. 8 , a user of client computing system 104 has requested activity information.
[0140] Graphical element 810 may correspond to one or more offers. Thus, upon receiving input via graphical element 810, GUI 800 may request one or more offers associated with possible activities from organization computing system 104. Organization computing system 104 may deliver one or more offers to GUI 800 so that GUI 800 may display the one or more offers on a display associated with client computing system 102.
[0141] The second portion 804 of the GUI 800 may include an activity panel 864. The activity panel 864 may include one or more activities associated with the user account. As shown, each activity may be represented by a graphical element 866. The activity panel 864 may show one or more properties of each activity. For example, the activity panel 864 may show one or more of an activity ID, activity name, audience, activity target, deployment date, expiration, and status.
[0142] In some embodiments, the second portion 804 may include a search bar 868 and a graphical element 862. The search bar 868 may be configured to receive text as input, which may be used to query a database (e.g., database 208) for one or more activities associated with a user that meets the criteria of the query. The graphical element 862 may represent a "create a new activity" option. When the user wishes to create a new activity, the user may interact with the graphical element 862. Selection of the graphical element 862 may generate a new screen, such as the following combined screen. Figure 8B The screen in question.
[0143] Figure 8B 8 is a block diagram 850 illustrating a graphical user interface (GUI) 850 according to an example embodiment. GUI 850 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 850 may be a graphical user interface generated by a local software application (e.g., application 110).
[0144] As shown, GUI 850 may correspond to a graphical user interface generated as a result of a user requesting to view one or more activities that have been created. GUI 850 may include a first portion 802 and a second portion 804. The first portion 802 of GUI 850 may correspond to a "title" portion of GUI 850. The first portion 802 may include one or more graphical elements 806, 808, 810 (e.g., buttons, links, etc.) that are selectable by a user to cause GUI 850 (e.g., a browser or a local application) to send a message to a content management service requesting information associated with each graphical element 806-810.
[0145] The second portion 804 of the GUI 850 may include a settings panel 812 associated with the offer and an activity panel 814 displaying one or more parameters of the selected activity. The settings panel 812 may include one or more graphical elements that allow the client to set one or more parameters associated with the selected activity. For example, the second portion 804 may include graphical elements 816-828.
[0146] The graphical element 816 may correspond to a segment defined by the client computing system 102. For example, upon clicking the arrow in the graphical element 816, a drop-down menu may appear that allows the client computing system 102 to select a specific segment for the end user. Each segment may be predefined by the client computing system 102 when the client computing system 102 transmits the end user information to the organization computing system 104 for analysis. Each segment generally represents how the client computing system 102 categorizes its end users. Therefore, upon receiving input via the graphical element 816, the GUI 800 may request one or more segments associated with the client computing system 102 from the organization computing system 104. The organization computing system 104 may deliver the one or more segments to the GUI 800 so that the GUI 800 may display the one or more segments on a display associated with the client computing system 102.
[0147] Graphic element 818 may correspond to an activation type for the activity. For example, graphic element 818 may include two or more selectable activation states: scheduled activation (e.g., the activity starts on January 1, 2019) or triggered activation (e.g., the activity starts when a customer downloads the app). As shown, the selected activation type is a triggered activation type.
[0148] Graphic element 820 may correspond to a trigger type. For example, graphic element 820 may include one or more selectable trigger types, such as, but not limited to, downloading of an application. As shown, the selected user type is a customer action.
[0149] Graphical element 822 may correspond to a customer action type. For example, graphical element 822 may include one or more selectable trigger types: app download, store visit, specific item purchase, item type purchase, minimum purchase amount, etc. As shown, the selected customer action type is "app download."
[0150] Graphical element 824 may correspond to an active target. For example, graphical element 820 may include one or more selectable targets: NIR, ROI, and Done. Thus, upon receiving input via graphical element 820, GUI 800 may request that the organization computing system 104 update the active target accordingly. The organization computing system 104 may deliver confirmation of the active updated target to GUI 800 so that GUI 800 may display the updated target on a display associated with client computing system 102.
[0151] Graphical element 826 may correspond to a campaign launch date. Thus, upon receiving input via graphical element 826, GUI 800 may inform the organization computing system 104 of a desired campaign launch date.
[0152] Graphical element 828 may correspond to an optional due date. Thus, upon receiving input via graphical element 828, GUI 800 may inform the organization computing system 104 of the expected due date for the activity, if any.
[0153] The activity panel 814 may display one or more offers currently assigned to an activity. For example, the activity panel 814 may include one or more graphical elements 830. Each graphical element 830 may correspond to a given offer. Each graphical element 830 may display one or more properties of the corresponding offer. For example, the graphical element 830 may include information for the following: offer ID, offer name, offer start date, offer expiration date, offer duration, and offer status.
[0154] The activity panel 814 may further include a graphical element 832. The graphical element 832 may correspond to a request to add an offer to the activity. Thus, upon receiving input via the graphical element 832, the GUI 800 may request one or more offers from the organization computing system 104, and the one or more offers may be added to the activity based on the activity parameters provided in the settings panel 812. The organization computing system 104 may deliver an updated GUI (see Fig. 9 ), the updated GUI can display one or more offers on a display associated with the client computing system 102.
[0155] Fig. 99 is a block diagram 900 illustrating a graphical user interface (GUI) 900 according to an example embodiment. GUI 900 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 900 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102.
[0156] As shown, GUI 900 may correspond to a graphical user interface generated as a result of GUI 850 receiving input to add an offer to a campaign. GUI 900 may include one or more graphical elements 904. Each graphical element 904 may correspond to a specific offer type that may be added to a campaign. For example, as shown, one or more offer types may be: mode lock, multi-action, multi-option multiplier, nudge, reward, mode lock plus, etc.
[0157] Each graphical element 904 may include one or more sub-graphical elements 906-916. Each graphical element 906 may correspond to a graphic of a particular offer type. In some embodiments, each graphical element may be color coded. Each graphical element 908 may correspond to a title of an offer type. Each graphical element 910 may correspond to a description of a corresponding offer type. Each graphical element 912 may correspond to a sample of a particular offer type. Graphical element 914 may correspond to a description of the purpose of the offer type. Graphical element 916 may correspond to a description of the motivation of the offer type. Thus, GUI 900 may provide the user with the minimum amount of information necessary for the user to make a learning decision about which offer type to select.
[0158] Fig.10 1 is a block diagram 1000 illustrating a graphical user interface (GUI) 1000 according to an example embodiment. GUI 1000 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 1000 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102.
[0159] As shown, GUI 1000 may correspond to a graphical user interface generated as a result of GUI 1000 receiving input to view one or more offers for an activity. GUI 1000 may include filter panel 1006 and results panel 1008. Filter panel 1006 may include one or more graphical elements 1010-1020.
[0160] The graphical element 1010 may correspond to one or more offer types. For example, the graphical element 1010 may allow a user to check or uncheck one or more offer types so that the offers in the results panel 1008 can be filtered. Exemplary offer types may include, but are not limited to, a multiple-option multiplier offer type, a scratch offer type, an access offer type, a mode-lock offer type, a recurring offer type, a bonus offer type, a choose your own adventure offer type, and the like.
[0161] Graphical element 1012 may correspond to an offer duration. For example, graphical element 1012 may allow a user to submit a desired offer duration. Thus, upon receiving input via graphical element 1012, GUI 1000 may request organization computing system 104 to filter available offers according to the input duration. Organization computing system 104 may deliver a list of filtered offers to GUI 1000 so that GUI 1000 may display the list of filtered offers on a display associated with client computing system 102.
[0162] Graphical element 1014 may correspond to a plurality of levels. For example, graphical element 1014 may allow a user to submit a minimum number of levels and / or a maximum number of levels for each offer. Thus, upon receiving input via graphical element 1014, GUI 1000 may request organization computing system 104 to filter available offers according to the inputted parameters. Organization computing system 104 may deliver a list of filtered offers to GUI 1000 so that GUI 1000 may display the list of filtered offers on a display associated with client computing system 102.
[0163] Graphical element 1016 may correspond to offer creation. For example, graphical element 1016 may allow a user to filter offers based on the date the offers were created. Thus, upon receiving input via graphical element 1016, GUI 1000 may request organization computing system 104 to filter available offers based on the entered creation date. Organization computing system 104 may deliver a list of filtered offers to GUI 1000 so that GUI 1000 may display the list of filtered offers on a display associated with client computing system 102.
[0164] Graphical element 1018 may correspond to an expiration date of an offer. For example, graphical element 1018 may allow a user to filter offers based on when the offers terminate (or expire). Thus, upon receiving input via graphical element 1018, GUI 1000 may request organization computing system 104 to filter available offers based on the entered expiration date. Organization computing system 104 may deliver a list of filtered offers to GUI 1000 so that GUI 1000 may display the list of filtered offers on a display associated with client computing system 102.
[0165] Graphical element 1020 may correspond to the status of an offer. For example, graphical element 1020 may allow a user to filter offers based on whether the offer is live or scheduled to be live. Thus, upon receiving input via graphical element 1020, GUI 1000 may request organization computing system 104 to filter available offers based on the offer status. Organization computing system 104 may deliver a list of filtered offers to GUI 1000 so that GUI 1000 may display the list of filtered offers on a display associated with client computing system 102.
[0166] The results panel 1008 can be configured to display one or more available offers to the client computing system 102. For example, the results panel 1008 can be configured to display one or more offers that the client computing system 102 can add to a given campaign. The results panel 1008 can be dynamically updated based on the information provided in the filter panel 1006. Thus, the results panel 1008 can be updated to satisfy one or more constraints submitted by the client computing system 102.
[0167] Results panel 1008 may include one or more offer entries 1024 and graphical elements 1028. Each offer entry 1024 may correspond to an available offer that satisfies one or more constraints defined in filter panel 1006. Each offer entry 1024 may include a graphical element 1026. Graphical element 1026 may take the form of an edit box. Upon selecting graphical element 1026, the user may be directed to a new graphical user interface that allows the user to update the corresponding offer.
[0168] GUI 1000 may also include information panel 1009. Information panel 1009 may be generated upon selection of offer item 1024. For example, upon selection of offer item 1024, GUI 1000 may be updated to show information panel 1009. Information panel 1009 may include information associated with the selected offer item. As shown, information panel 1009 may include metadata associated with the offer (e.g., channel, offer duration, expiration, creation date, etc.), one or more levels associated with the offer, one or more rewards associated with completion of each level or all levels, etc.
[0169] Fig.11A 1 is a block diagram 1100 illustrating a graphical user interface (GUI) 1000 according to an example embodiment. GUI 1100 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 1100 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102.
[0170] As shown, GUI 1100 may correspond to a graphical user interface generated as a result of a user submitting a request to view results associated with an activity. GUI 1100 may include a first portion 1102 and a second portion 1104. The first portion 1102 of GUI 1100 may correspond to a "title" portion of GUI 1100. The first portion 1102 may include one or more graphical elements 1106, 1108, 1110 (e.g., buttons, links, etc.) that are selectable by a user to cause GUI 1100 (e.g., a browser or a local application) to send a message to a content management service requesting information associated with each graphical element 1106-1110.
[0171] Graphic element 1106 can correspond to activity, offer, terminal customer or system metric.Therefore, when receiving input via graphic element 1106, GUI 1100 can request the result or metric associated with each activity of client from organization computing system 104. Organization computing system 104 can deliver one or more results or metric to GUI 1100, so that GUI 1100 can display one or more results or metric on the display associated with client computing system 102.Therefore, for the purpose of Figure 11, the user of client computing system 102 has requested metric.When selecting metric, the user is prompted with one or more sub-options 1150-1154.Sub-option 1150 allows the user to view customer motivation.Sub-option 1152 allows the user to view system health metric.Sub-option 1154 allows the user to view activity metric.In Figure 11, the user has selected sub-option 1154.
[0172] The graphical element 1108 may correspond to one or more activities. Thus, upon receiving input via the graphical element 1108, the GUI 1100 may request information from the organization computing system 104 for one or more activities associated with the client computing system 102. The organization computing system 104 may deliver the one or more activities to the GUI 1100 so that the GUI 1100 may display one or more results or metrics on a display associated with the client computing system 102.
[0173] Graphical element 1110 may correspond to one or more offers. Thus, upon receiving input via graphical element 1110, GUI 1100 may request one or more offers associated with possible activities from organization computing system 104. Organization computing system 104 may deliver one or more offers to GUI 1100 so that GUI 1100 may display the one or more offers on a display associated with client computing system 102.
[0174] The second portion 1104 of the GUI 1100 may include a selection panel 1112 and a second panel 1114. The first panel 1112 may include one or more graphical elements 1116, 1118, and 1120. Graphical element 1116 may represent a drop-down bar that allows the user to select which activity's results to view. As shown, the user has selected "New.Engagement.Scheduled.2018-09-15". Graphical element 1118 may represent a drop-down bar that allows the user to select a specific metric associated with the selected activity to view. Exemplary metrics may include, but are not limited to, overall performance, offer performance. Graphical element 1120 may represent a drop-down bar that allows the user to narrow down the types of offers to view.
[0175] The second panel 1114 may include one or more graphical representations that visually illustrate the specific metrics defined above in the first panel 1112. As shown, the second panel 1114 may include several charts related to customer engagement and finances.
[0176] Fig. 11B 1 is a block diagram illustrating a graphical user interface (GUI) 1150 according to an example embodiment. GUI 1150 may be similar to GUI 1100. GUI 1150 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 1150 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102. GUI 1150 may represent information displayed to a user when the user selects the “Offer Performance” option in graphical element 1118.
[0177] When the "Offer Performance" option is selected, the second panel 1114 can be populated with performance metrics on a per-offer basis. As shown, the GUI 1150 can include metrics associated with each offer for the "New.Engagement.Scheduled.2018-09-15" activity. For example, each offer can include metrics for "Percentage of Offers Sent," "Registration Rate," "Completion Rate," and "NIR Per Offer."
[0178] Fig.12 1 is a block diagram illustrating a graphical user interface (GUI) 1200 according to an example embodiment. GUI 1200 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 1200 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102. GUI 1200 may represent information generated for a user when a user selects a "system health" option.
[0179] GUI 1200 may include a health panel 1204. Health panel 1204 may show one or more metrics associated with the health of the system. As shown, health panel 1204 may include graphical elements 1206-1212. Graphical element 1206 may represent a connection health metric. Graphical element 1208 may represent the overall results of the activity to date. Graphical element 1220 may represent an experience engine metric. Graphical element 1222 may represent artificial intelligence / machine learning engine health.
[0180] Fig.13 1 is a block diagram illustrating a graphical user interface (GUI) 1300 according to an example embodiment. GUI 1300 may be a web page presented in a web browser application (e.g., application 110) of client computing system 102. In some embodiments, GUI 1300 may be a graphical user interface generated by a local software application (e.g., application 110) executing on client computing system 102. GUI 1200 may represent information generated for a user when a user selects a "customer motivation" option.
[0181] GUI 1300 may include panel 1304. Panel 1304 may include one or more graphical elements 1306-1310. Graphic element 1306 may represent a drop-down menu that allows a user to select a way to view metrics associated with customer motivations. For example, graphical element 1306 may allow an end user to select: motivation map, construction map, customer motivations, etc. Graphic element 1308 may represent a drop-down menu that allows a user to define a duration for viewing customer motivation metrics. As shown, the user selects "Last 5 Months". Graphic element 1310 may represent a drop-down menu that allows a user to select one or more groups of customers. For example, graphical element 1310 may allow a user to select all audiences (e.g., segments) that have been configured for a client. As shown, the user selects "All Audiences".
[0182] Panel 1304 may further include one or more graphical elements 1312-1324 showing metrics associated with the input information. Graphic element 1312 may represent the total number of customers in the selected customer group. Graphic element 1314 may represent multiple activities associated with the defined constraints. Graphic element 1316 may represent the total number of offer constructions associated with the defined constraints. Graphic element 1318 may represent one or more metrics associated with autonomy. Graphic element 1320 may represent one or more metrics associated with social relationships. Graphic element 1322 may represent one or more metrics associated with capabilities. Graphic element 1324 may represent a motivation map. The motivation map may show one or more characteristics of human motivations and show how the current offer works on these motivations. For example, a mind map may show how challenging the offer is for customers who are motivated by meeting challenges.
[0183] Although the foregoing is directed to the embodiments described herein, other and further embodiments may be designed without departing from the basic scope thereof. For example, various aspects of the present disclosure may be implemented in hardware or software or a combination of hardware and software. One embodiment described herein may be implemented as a program product for use with a computer system. The program of the program product defines the functions of the embodiment (including the methods described herein) and may be contained on various computer-readable storage media. Exemplary computer-readable storage media include, but are not limited to: (i) a non-writable storage medium on which information is permanently stored (e.g., a read-only memory (ROM) device in a computer, such as a CD-ROM disk, flash memory, ROM chip, or any type of solid-state non-volatile memory that can be read by a CD-ROM drive); and (ii) a writable storage medium on which changeable information is stored (e.g., a floppy disk or hard disk drive in a floppy disk drive or any type of solid-state random access memory). Such a computer-readable storage medium is an embodiment of the present disclosure when carrying computer-readable instructions pointing to the functions of the disclosed embodiment.
[0184] Those skilled in the art will appreciate that the foregoing examples are illustrative and not restrictive. After reading the specification and studying the drawings, those skilled in the art will appreciate that all permutations, enhancements, equivalents, and improvements thereto are within the true spirit and scope of this disclosure. Therefore, the following appended claims are intended to include all such modifications, permutations, and equivalents that fall within the true spirit and scope of these teachings.
Claims
1. A system for customizing an end-user gaming experience, comprising: A processor in communication with a client computing system and one or more end-user devices, the processor being configured to: To create an event, follow these steps: receiving an activity creation request from an end-user device, the activity creation request including one or more parameters of the activity associated with the activity creation request; creating the campaign based on the one or more parameters associated with the campaign creation request; personalizing one or more offers to the end user, each of the one or more offers comprising a game having one or more levels, wherein completion of each of the one or more levels results in a reward; and mapping a subset of one or more personalized offers to the end user; as well as Monitor the progress of the activity by following these steps: pushing the one or more personalized offers to each respective end-user device; monitor each end user's progress within the corresponding game; and Update each user's progress in the corresponding game; Wherein, the processor is further configured to: generating one or more new offers based on each end user's progress in the corresponding game using the machine learning model; identifying a subset of the one or more offers that exceed a threshold level of participation; and The one or more offers exceeding the threshold are distributed to additional end users.
2. The system according to claim 1, wherein: The one or more parameters include an activity goal.
3. The system according to claim 1, wherein: The campaign creation request also includes end-user descriptive attributes.
4. The system according to claim 3, wherein: Mapping the subset of the one or more personalized offers to the end user comprises: Using a machine learning algorithm, each of the one or more offers is mapped to the end user based on the end user descriptive attributes.
5. The system according to claim 3, wherein: Based on the end user to which each of the one or more offers is mapped, personalizing each of the one or more offers comprises: Based on the end-user descriptive attributes, each of the one or more offers is personalized.
6. The system according to claim 1, wherein: Monitoring each end user's progress within the corresponding game includes: receiving one or more streams of end-user transaction data, wherein the one or more streams of end-user transaction data include transactions occurring at a facility or organization associated with the client computing system; For each end-user transaction in the one or more streams of end-user transaction data, identifying whether each transaction satisfies a level in the game.
7. A method for customizing an end-user gaming experience, comprising: initiating, by the organization computing system, a campaign comprising one or more offers, each offer corresponding to a personalized game to be played by each end-user device, wherein each end-user device obtains a reward upon completion of one or more levels in the personalized game; receiving, by the organization computing system from a client computing system, one or more streams of end-user transaction data, the one or more streams of end-user transaction data comprising one or more transactions at a facility or organization associated with the client computing system; analyzing, by the organizational computing system, each of the one or more transactions to identify which transactions were triggered by gate completion for each end-user device; monitoring, by the organizational computing system, the progress of each end user in the personalized game; Based on the monitoring, one or more new versions of the machine learning model are generated by the organizational computing system, and the one or more new versions of the machine learning model are configured to distribute one or more offers to one or more end users, and to personalize each of the one or more offers for each end user.
8. The method according to claim 7, wherein: Initiating, by the organization computing system, the activity including the one or more offers includes: The one or more offers are mapped to an end-user computing device, each of the one or more offers.
9. The method according to claim 8, further comprising: Each of the one or more offers is personalized based on the end-user computing device to which each of the one or more offers is mapped.
10. The method according to claim 7, wherein: Each personalized game is personalized based on end-user attribute information associated with each respective end-user computing device.
11. The method according to claim 7, further comprising: Based on the monitoring, suspending, by the organizational computing system, a user of a previous machine learning model.
12. A non-transitory computer readable medium having stored thereon instructions, which when executed by a processor, cause the processor to perform a method of customizing an end-user gaming experience, the method comprising: receiving an activity creation request from a client computing system, the activity creation request including one or more parameters of an activity associated with the activity creation request; creating the campaign based on the one or more parameters associated with the campaign creation request; personalizing one or more offers for an end user of the one or more end users, each of the one or more offers comprising a game having one or more levels, wherein completion of each of the one or more levels results in a reward; mapping a subset of one or more personalized offers to each end user; pushing the one or more personalized offers to each respective end-user device; monitor each end user's progress within the corresponding game; and Update each user on their progress; One or more new offers are generated based on each end user's progress in the corresponding game using a machine learning model by following the steps below: identifying a subset of the one or more offers that exceed a threshold engagement level; and The one or more new offers are created based on variations of one or more offers that exceed the threshold engagement level.
13. The non-transitory computer readable medium of claim 12, wherein: The one or more parameters include an activity goal.
14. The non-transitory computer readable medium of claim 12, wherein: The activity creation request also includes terminal user attribute information.
15. The non-transitory computer readable medium of claim 14, wherein: Mapping the one or more offers to the end user comprises: Using a machine learning algorithm, each of the one or more offers is mapped to the end user based on the end user attribute information.
16. The non-transitory computer readable medium of claim 14, wherein: Personalizing each of the one or more offers includes: Each of the one or more offers is personalized based on the end-user attribute information.
17. The non-transitory computer readable medium of claim 12, wherein: Monitoring each end user's progress in the corresponding offer includes: receiving one or more streams of end-user transaction data, wherein the one or more streams of end-user transaction data include transactions occurring at a facility or organization associated with the client computing system; and For each end-user transaction in the one or more streams of end-user transaction data, identifying whether each transaction satisfies a level in the game.
Citation Information
Patent Citations
Automatic game task generation method based on user quality of experience fluctuation model
CN105536251A
Advertisement management method and storage medium
CN107358468A
Realtime dynamic modification and optimization of gameplay parameters within a video game application
CN108499108A
Methods, Apparatus, and Systems for Enabling Feedback-Dependent Transactions
US20110295722A1