This application relates generally to systems and methods for automated marketing and, more particularly, to automated marketing systems and methods that utilize adaptive self-learning to provide marketing information.
Historically an entire suite of approaches have been used to contact potential customers, from various types of print advertising, to media advertising of all kinds (radio, TV, newspaper, etc), and even direct mail. The emergence of the Internet has provided an entirely new medium in which to market goods and services. With the Internet there are at least two additional channels of interest to marketers: email and web pages. New channels also emerge from this medium all the time, including chat, instant messaging, blogs, social networking applications, and numerous others. These additional channels have provided an opportunity for an entirely new class of approach to marketing. With the data for all aspects of a marketing campaign handled within a computer system, the opportunities for mass distribution and tracking are much greater than ever before. However, marketing remains much more of an art than a science.
The emergence of the internet as a marketing channel has spawned the emergence of a new class of systems for automating the marketing process. Marketing automation software has been produced to help manage outbound email campaigns as well as handle advertising on web pages, if not many other channels. Too often, however, these marketing automation systems simply replicate the same manual processes that the pre-computer marketer performed. Their automation primarily comes in the form of creating email distribution lists from a database of people and providing a workflow around the process of proofing and sending this email. Some more advanced marketing automation systems also track response rates to the campaigns.
Systems and methods for monitoring and adapting marketing campaigns are described. Various aspects of the inventive subject matter include dynamically adjusting presented campaign frequency based upon measured success criteria, identifying important or superfluous portions of a campaign to adjust campaign sub-part frequency based upon measured success criteria, and/or recombining campaign sub-parts into entirely new campaigns and selecting for successful campaigns based upon measured success criteria.
These and other advantageous features of the various embodiments will be in part apparent and in part pointed out herein below.
For a better understanding of the present invention, reference may be made to the accompanying drawings in which:
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the inventive subject matter, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the inventive subject matter.
Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
In the Figures, the same reference number is used throughout to refer to an identical component that appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description. Also, please note that the first digit(s) of the reference number for a given item or part of the invention should correspond to the Fig. number in which the item or part is first identified.
The description of the various embodiments is to be construed as exemplary only and does not describe every possible instance of the inventive subject matter. Numerous alternatives could be implemented, using combinations of current or future technologies, which would still fall within the scope of the claims. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the inventive subject matter is defined only by the appended claims.
For simplicity and illustrative purposes, the principles of the inventive subject matter are described by referring mainly to an example embodiment, with references to the Internet and the World Wide Web (WWW) as the example databases of informational items. However, one of ordinary skill in the art would readily recognize that the same principles are equally applicable to, and can be implemented in, other informational databases, and that such variations and modification are within the scope of the inventive subject matter. Similarly, references to an example embodiments including email could be readily recognized by one of ordinary skill in the art to be equally applicable to, and implemented in, other communication systems, such as targeted web pages, automated phone systems, interactive voice response systems (IVRs), and that any such variation would also not depart from the scope of the inventive subject matter.
In general, the embodiments described in detail below provide various forms of adaptive self-learning functionality to a marketing automation system. The marketing automation system may include methods to create a marketing campaign consisting of multiple sections (such as a product section and a discount section). In some embodiments, the campaign may be relayed to potential consumers via, for example, an email. A customer list to receive the email may be generated either manually or by some segmenting process, for example, a process using demographic or prior purchase information. Upon email receipt, the marketing automation system may track actions such as opening the email and click-through actions for web links (hyperlinks, URLs etc.) within the email. Similarly, the emails sent to potential consumers may include a method, for example via web links, to produce dynamic content. Finally, tracked actions as opened email and click-throughs, may be collected and summarized for reporting, logging or other purposes. The marketing automation system includes components and functionality sufficient to support the inventive aspects described herein to provide the adaptive self-learning functionality as described herein.
The method begins at block 102 with the creation of a campaign. The campaign may provide an offer to a consumer, such as a discount, buy one get one free, free shipping, or other inducement to persuade the consumer to buy a product or service. At block 104, a check is made to determine if further campaigns are to be created having alternative offers. If so, the method returns to block 102 to create another campaign for the product or service. If all desired campaigns have been created, the method proceeds to block 106, where the campaigns are enacted, that is, the campaigns are communicated to a desired target audience. In some embodiments, the campaigns may be enacted by sending an email to the members of the targeted group of consumers. In alternative embodiments, other communications mechanisms may be used, including chat, instant messaging, targeted web pages, automated phone systems, IVRs, etc.
At block 108, priorities may be assigned to each campaign. In some embodiments, each campaign may be assigned an equal priority such that each campaign has an equal likelihood of being selected. The priorities may be automatically assigned or they may be manually assigned. One of ordinary skill in the art can devise any number and variety of odds calculation formulae depending upon the desired characteristics of the system. Possible functions include linear, non-linear, step functions, fuzzy logic functions, or any number of other variants or combinations, for example also including any ceiling or floor limits, to the odds.
At block 110, a marketing automation system executing the method receives a request for a campaign. In some embodiments, the request may be received when a user utilizes a request mechanism such as a URL link and clicks the link in an email, instant message, responds to a phone prompt, etc. sent at block 106 (e.g., a click-through request).
At block 112, the marketing automation system then automatically selects a campaign 1 through N based on the currently assigned priorities for the campaigns associated with a product or service, where N is the number of campaigns created for a product or service. The selected campaign is then provided in response to the request at blocks 114-118. Blocks 114-118 are shown at the same level in the flowchart to reflect the fact that multiple campaigns sent to multiple potential consumers in a targeted audience may be simultaneously outstanding at any particular point in time. Thus one consumer may receive an offer of a discount for a product in a first campaign while another consumer may receive an offer of free shipping for the same product in a second campaign.
At block 120 the system determines if the user has selected a campaign provided at blocks 114-118. If the user selects a campaign, at block 122 the marketing automation system updates the priority for the selected campaign such that it is more likely the campaign will be provided when consumers in the target audience click-through an email. In some embodiments, if the user does not end up purchasing the product or service, then at block 124 the marketing automation system updates the priority for the selected campaign such that it is less likely the campaign will be provided when consumers click-through or otherwise respond to a campaign.
Those of ordinary skill in the art can see how this process could proceed linearly in real time as described, or in bulk fashion or asynchronously without disrupting the inventive process described herein.
The method then returns to block 110 to receive and process further requests for campaigns by consumers in the targeted audience.
The following example will be used to illustrate the operation of the method described above. Assume that a marketer creates two campaigns (
The system responds by identifying there are two distinct campaigns sent to the consumers. It thus makes each campaign appear on the click-through with a 50% likelihood (i.e., the success counters on each campaign are set to the same value, for example 0) (
Note in this example that the adjustment of the odds for selecting a campaign does not need to be based exclusively upon a linear calculation of the success counter. Similarly, a “lack of success” may also adjust the odds calculation. In the above example, campaign A was the only campaign that resulted in no purchase when offered. This “negative success” statistic can be used to bias the odds as well (as was done in the example).
While the example is presented with two campaigns, this choice is done for simplicity of explanation. Similarly, the number of consumers per campaign or segment has no limitation. The described approach will work for any number of campaigns or consumers.
To further explain Table 1, 10 e-mails were sent. The 1st person (i.e., user) to respond to an e-mail, meaning that person clicked through a link in the e-mail, and was also the 1st person to open the e-mail. The system randomly chose Campaign A for that first person, so the success odds are equal (50/50 odds). As shown, with the 2nd person coming in, the odds are now 60/40 for Campaign A. Again, at this point, the system chooses Campaign A randomly with a bias towards Campaign A.
When the 3rd person to click through, the odds are now shown as 75/25 for Campaign A, but the system randomly chose Campaign B at that point (just because it is a random coin toss). There is a slight chance of getting B and the system randomly chose B.
The 4th person to click through, the odds are now 66/33 and again the system randomly chose the lower odds of B.
The 5th person to click through, the odds are now 50/50 and the system randomly chose A again.
The 6th person to click through, the odds are still 50/50 because there was no purchase so the system didn't adjust the odds.
The 7th person to click through, the odds are now 40/60, so the system chooses Campaign B.
The 8th person to click through, the odds are 20/80 and Campaign B is chosen.
The 9th person to click through, the odds are 10/90 and the system chooses the lower one (Campaign A) again just because it's random.
The 10th person to click through, the system is now biased so strongly in favor of Campaign B and it's very unlikely that anything besides Campaign B will be chosen into the future.
The method begins at block 202 with the creation of a campaign. The campaign may provide an offer to a consumer, such as a discount, buy one get one free, free shipping, or other inducement to persuade the consumer to buy a product or service. At block 204, a check is made to determine if further campaigns are to be created having alternative offers. If so, the method returns to block 202 to create another campaign for the product or service.
When all desired campaigns have been created, the method proceeds to block 206 to create a demographic group. As noted above, the demographic group may be manually created, i.e. an administrator may define demographic groups within a target audience, or the demographic group may be automatically defined using data accessible to the marketing automation system. At block 208, a check is made to determine if further demographic groups are to be created. If so, the method returns to block 206 to create another demographic group. While
After the desired campaigns and demographic groups have been created, the method proceeds to block 210 where the campaigns are enacted, that is, the campaigns are communicated to a desired target audience. In some embodiments, the campaigns may be enacted by sending an email to the members of the targeted group of consumers. In alternative embodiments, other communications mechanisms may be used, including chat, instant messaging, targeted web pages, automated phone systems, IVRs, etc.
At block 212, priorities may be assigned to each campaign. In some embodiments, each campaign may be assigned an equal priority such that each campaign has an equal likelihood of being selected. The priorities may be automatically assigned or they may be manually assigned. One of ordinary skill in the art can devise any number and variety of odds calculation formulae depending upon the desired characteristics of the system. Possible functions include linear, non-linear, step functions, fuzzy logic functions, or any number of other variants or combinations, for example also including any ceiling or floor limits to the odds.
At block 214, a marketing automation system executing the method receives a request for a campaign. In some embodiments, the request may be received when a user clicks a link in an email, instant message, responds to a prompt in an IVR, etc. sent at block 210 (e.g., a click-through request).
At block 216, the marketing automation system then automatically selects a campaign 1 through N. Here the selection is based on the currently assigned campaign priority and demographic priority associated with the campaign for a product or service, where N is the number of campaigns created for a product or service. The selected campaign is then provided in response to the request at blocks 218-222. Blocks 218-222 are shown at the same level in the flowchart to reflect the fact that multiple campaigns sent to multiple potential consumers in multiple demographic groups within a targeted audience may be simultaneously outstanding at any particular point in time. Thus one consumer in a first demographic group may receive an offer of a discount for a product in a first campaign while another consumer in a different demographic group may receive an offer of free shipping for the same product in a second campaign.
At block 224 the system determines if the user has selected a campaign provided at blocks 218-222. If the user selects a campaign, then at block 226 the marketing automation system updates the priority for the selected campaign. Further, at block 228, the demographic priority for the demographic group associated with the consumer is adjusted. The priority adjustments are such that it is more likely the campaign will be provided when consumers in the demographic group of the target audience click-through an email.
In some embodiments, if the user does not end up purchasing the product or service, then at block 230 the marketing automation system updates the priority for the selected campaign. Further, at block 232 the demographic priority for the demographic group is adjusted. The priorities are adjusted such that it is less likely the campaign will be provided when a consumer in the demographic group associated with the user click-through or otherwise respond to a campaign.
The method then returns to block 214 to receive and process further requests for campaigns by consumers in the targeted audience.
This example extends the example provided above in Example 1 where there are two campaigns and 10 users. Assume that the 10 users are evenly (or even unequally) distributed into two segment groups, one male and one female (
The method begins at block 302 with the creation of a campaign. The campaign may provide an offer to a consumer, such as a discount, buy one get one free, free shipping, or other inducement to persuade the consumer to buy a product or service. At block 304, a check is made to determine if further campaigns are to be created having alternative offers. If so, the method returns to block 302 to create another campaign for the product or service.
After the desired campaigns have been created, the method proceeds to block 306 where the campaigns are enacted, that is, the campaigns are communicated to a desired target audience. In some embodiments, the campaigns may be enacted by sending an email to the members of the targeted group of consumers. In alternative embodiments, other communications mechanisms may be used, including chat, instant messaging, targeted web pages, automated phone systems, IVRs, etc.
At block 308, initial priorities may be assigned to each campaign. In some embodiments, each campaign may be assigned an equal priority such that each campaign has an equal likelihood of being selected. The priorities may be automatically assigned or they may be manually assigned. One of ordinary skill in the art can devise any number and variety of odds calculation formulae depending upon the desired characteristics of the system. Possible functions include linear, non-linear, step functions, fuzzy logic functions, or any number of other variants or combinations, for example also including any ceiling or floor limits, to the odds.
At block 310, a marketing automation system executing the method receives a request for a campaign. In some embodiments, the request may be received when a user clicks a link in an email, instant message, responds to a prompt in an IVR, etc. sent at block 306 (e.g., a click-through request).
At block 312, the marketing automation system then automatically selects a campaign 1 through N. Here the selection is based on the currently assigned campaign priority and demographic priority associated with the campaign for a product or service, where N is the number of campaigns created for a product or service. The selected campaign is then provided in response to the request at blocks 314-318. Blocks 314-318 are shown at the same level in the flowchart to reflect the fact that multiple campaigns sent to multiple potential consumers in a targeted audience may be simultaneously outstanding at any particular point in time.
At block 320 the system determines if the user has selected a campaign provided at blocks 314-318. If the user selects a campaign, then at block 322 the marketing automation system updates the priority for the selected campaign. Further, at block 324, the system identifies a demographic group associated with the user. If a new demographic group is identified, it is associated with the consumer. Otherwise, a previously identified demographic group may be updated. A demographic priority for the demographic group associated with the consumer is adjusted. The priority adjustments are such that it is more likely the campaign will be provided when consumers in the demographic group of the target audience click-through an email.
In some embodiments, if the user does not end up purchasing the product or service, then at block 326 the marketing automation system updates the priority for the selected campaign. Further, at block 328, the system identifies a demographic group associated with the user. If a new demographic group is identified, it is associated with the consumer. Otherwise, a previously identified demographic group may be updated. The priorities for the demographic group are adjusted such that it is less likely the campaign will be provided when a consumer in the demographic group associated with the user click-through or otherwise respond to a campaign.
The method then returns to block 310 to receive and process further requests for campaigns by consumers in the targeted audience and to identify or update further demographic groups and demographic priorities based on responses to campaigns.
Those of ordinary skill in the art can see how this process could proceed linearly in real time as described, or in bulk fashion or asynchronously without disrupting the inventive process described herein.
It should be noted that demographic groups may be identified at points other than blocks 324 and 328. For example, the marketing automation system may periodically analyze the data and apply various statistical techniques (such as regression, factor analysis, clustering, and the like), artificial intelligence techniques (neural networks, expert systems, fuzzy logic, swarm intelligence, genetic algorithms, and the like), or other of a number of alternate approaches to identify demographic groups.
This example again assumes the group provided in Example 1. Here assume there is a campaign A and campaign B and a single segment of 10 people (
The method begins at block 402 with the creation of a campaign. The campaign may provide an offer to a consumer, such as a discount, buy one get one free, free shipping, or other inducement to persuade the consumer to buy a product or service. At block 404, a check is made to determine if further campaigns are to be created having alternative offers. If so, the method returns to block 402 to create another campaign for the product or service.
When all desired campaigns have been created, the method proceeds to block 406 to create a demographic group. As noted above, the demographic group may be manually created, i.e. an administrator may define demographic groups within a target audience, or the demographic group may be automatically defined using data accessible to the marketing automation system. At block 408, a check is made to determine if further demographic groups are to be created. If so, the method returns to block 406 to create another demographic group.
After the desired campaigns and demographic groups have been created, the method proceeds to block 410 where the campaigns are enacted, that is, the campaigns are communicated to a desired target audience. In some embodiments, the campaigns may be enacted by sending an email to the members of the targeted group of consumers. In alternative embodiments, other communications mechanisms may be used, including chat, instant messaging, targeted web pages, automated phone systems, IVRs, etc.
At block 412, priorities may be assigned to each campaign. In some embodiments, each campaign may be assigned an equal priority such that each campaign has an equal likelihood of being selected. The priorities may be automatically assigned or they may be manually assigned. One of ordinary skill in the art can devise any number and variety of odds calculation formulae depending upon the desired characteristics of the system. Possible functions include linear, non-linear, step functions, fuzzy logic functions, or any number of other variants or combinations, for example also including any ceiling or floor limits, to the odds. While
At block 414, a marketing automation system executing the method receives a request for a campaign. In some embodiments, the request may be received when a user clicks a link in an email, instant message, responds to a phone prompt, etc. sent at block 410 (e.g., a click-through request).
At block 416, the marketing automation system then automatically selects a campaign 1 through N. Here the selection is based on the currently assigned campaign priority and demographic priority associated with the campaign for a product or service, where N is the number of campaigns created for a product or service. The selected campaign is then provided in response to the request at blocks 418-422. Blocks 418-422 are shown at the same level in the flowchart to reflect the fact that multiple campaigns sent to multiple potential consumers in multiple demographic groups within a targeted audience may be simultaneously outstanding at any particular point in time. Thus one consumer in a first demographic group may receive an offer of a discount for a product in a first campaign while another consumer in a different demographic group may receive an offer of free shipping for the same product in a second campaign.
At block 424 the system determines if the user has selected a campaign provided at blocks 418-222. If the user selects a campaign, then at block 426 the marketing automation system updates the priority for the selected campaign. Further, at block 428, the demographic priority for the demographic group associated with the consumer is adjusted. The priority adjustments are such that it is more likely the campaign will be provided when consumers in the demographic group of the target audience click-through an email.
In some embodiments, if the user does not end up purchasing the product or service, then at block 432 the marketing automation system updates the priority for the selected campaign. Further, at block 434 the demographic priority for the demographic group is adjusted. The priorities are adjusted such that it is less likely the campaign will be provided when a consumer in the demographic group associated with the user click-through or otherwise respond to a campaign.
In addition, at various points in time (e.g., at periodic intervals), at block 430 the marketing automation system analyzes the data to determine if there are new demographic groups or whether a new campaign should be created. For example, the system may use iterative learning to determine that a new campaign may be desirable. The new campaign may be added and provided in response to a click-through. The analysis may also determine that some campaigns are not effective and should not be provided.
The method then returns to block 414 to receive and process further requests for campaigns by consumers in the targeted audience.
The following example is provided to illustrate the method described above in
Note in this symbolic example that the number of resulting offers may be greater or less than that originally offered by the marketer. Also, the attributes defining an offer may be greater or less than the marketer specified (i.e., all males, independent of residential state, or only one of the two available discounts). Finally, the original marketer specified offers may carry through the system as effective or may be supplanted by alternate offers created by the system. In order to avoid obscuring the inventive subject matter, steps to collect feedback on each offer and to cross-breed the offers have been left out of the example. These steps are within the ability of one of ordinary skill in the art of genetic algorithms, and represented simplistically in
At block 504, the system selects the M best performing campaign and demographic pairings from the current data set, where M is the number of desired pairings. The “best” pairings may be determined using an evaluation function such as, but not limited to, the success rate for the pairing.
At block 506, the system creates M new campaign and demographic pairings from the existing data.
At block 508 the system combines the existing M best pairings with the newly created pairings to create a new set of M best pairings on the basis of the identified variables and attributes. The combination may be performed using any of a variety of cross-breeding techniques typically used in genetic algorithms. The results of the cross-breeding can (and, in fact is expected to) result in a unique combination of customer segment attributes and campaign attributes. Upon multiple iterations of the cross-breeding operation the resulting segments and campaigns will represent the best possible combination of attributes to produce a highly effective campaign or set of campaigns, without requiring the marketer to have any prior expectation of the value of that combination.
In some embodiments, mutations of the variable values may be used as part of the process in order to obtain potential new best pairings. Methods of providing mutations may be any of those typically used in genetic algorithms.
Further details on the genetic algorithms that may be used in some embodiments may be found in the document entitled “A Genetic Algorithm Tutorial” available at the URL “www.cs.iastate.edu/˜honavar/ga_tutorial.pdf”, which is hereby incorporated by reference.
While some embodiments use genetic algorithms to produce the desired effect, one of ordinary skill in the art can easily see how any number of algorithms could be used to extract and recombine attributes of segments and campaigns in various ways, from statistical to artificial intelligence approaches.
As is evident from the foregoing description, certain aspects of the inventive subject matter are not limited by the particular details of the examples illustrated herein, and it is therefore contemplated that other modifications and applications, or equivalents thereof, will occur to those skilled in the art. It is accordingly intended that the claims shall cover all such modifications and applications that do not depart from the spirit and scope of the inventive subject matter. Therefore, it is manifestly intended that this inventive subject matter be limited only by the following claims and equivalents thereof.
The Abstract is provided to comply with 37 C.F.R. § 1.72(b) to allow the reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to limit the scope of the claims.