Method, algorithm, and computer program for optimizing the performance of messages including advertisements in an interactive measurable medium
First Claim
1. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;
(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state;
(c) computing a current message state on the basis of said prior stage message state and said message performance results; and
(d) generating a current message allocation based on said current message state;
wherein at least one of steps (a)–
(d) is performed by at least one processing device.
8 Assignments
0 Petitions
Accused Products
Abstract
Method, procedure, algorithm, system, and computer program for improving and attempting to optimize the performance of messaging campaigns, particularly to marketing campaigns in which advertisements or other messages are distributed over an interactive measurable medium such as the Internet. A goal is to allocate the message alternatives to the customer population to optimize business objectives. The includes reading prior stage message state data pertaining to a prior stage including a cumulative number of trials and a cumulative number of successes for a particular message. Message performance results representing message trials and message successes from the previous stage based on the prior-stage state are then read, and a current message state is computed. A current message allocation is generated based on the current message state. Desirably the cumulative number of trials and the cumulative number of successes are discounted based on the age of the information. This inventive procedure may be applied to various message types including, for example, web site banner advertisements, electronic advertisements generally, email messages and promotions, and the like. In one embodiment, the messages are internet web site banner ads, trials are impressions of the ads presented to the user, and successes are measured by clickthroughs from the banner ad to the web site associated with the banner ad. Computer system, computer program, and computer program product associated with the inventive method and procedures are also provided by the invention.
135 Citations
80 Claims
-
1. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
- said method including steps of;
-
24. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said cumulative number of trials and said cumulative number of successes comprise discounted cumulative number of trials and discounted cumulative number of successes; wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
25. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; (d) generating a current message allocation based on said current message state; (e) storing said current message state as prior stage message state for a next iteration of said method; and (f) repeating steps (a)–
(e) for each stage in said message campaign;wherein said cumulative number of trials and said cumulative number of successes comprise discounted cumulative number of trials and discounted cumulative number of successes; wherein said prior stage message state comprises reading a state vector for the prior stage in a message campaign; wherein said step of generating a current message allocation further includes applying a message allocation constraint; and wherein said message is selected from the group of messages consisting of an advertisement, an email, and combinations thereof; wherein at least one of steps (a)–
(f) is performed by at least one processing device.
- said method including steps of;
-
26. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium, wherein the message comprises a banner advertisement and a constraints list stores any constraints on the allocation of banner ads to impressions;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said constraints includes a minimum number of banners to be retained at each state of an ad campaign and the identity of particular banners to be excluded from any zones; wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
27. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state using results from a predetermined number of most recent prior stages in the campaign; wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
28. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state using weighted results from a predetermined number of the most recent prior stages in the campaign so that more recent results are weighted more heavily than older results; wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
29. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein, when multiple zones are possible for a message, said step (a)–
(d) are applied separately for each zone on a zone-by-zone basis;wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
30. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said performance results are discounted when computing a current state vector; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (31, 32, 33)
- said method including steps of;
-
34. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein, at each stage, performance data is discounted according to a geometrical discounting function; wherein the geometrical discounting function multiplies each performance result at each stage by a number of one-stage discount factors β
, where β
is less-than-or-equal-to 1 (β
≦
1), corresponding to the number of stages, such that performance data that is n stages old at the time of execution are multiplied by β
raised to the n power (β
n);wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (35, 36, 37, 38, 39, 40)
- said method including steps of;
-
41. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular (ith) message at the end of said prior stage, wherein “
i”
is between 1 and “
n,”
wherein “
n”
is a number of messages in the multi-stage message campaign;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said state comprises a state vector having a first state vector component si(t) for the total number of discounted cumulative clicks for the particular (ith) message at the end of stage t, and a second state vector component ni(t) for the cumulative number of impressions for the particular (ith) message at the end of stage t; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (42, 43, 44, 45)
- said method including steps of;
-
46. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular ith message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein, at each stage, available messages are partitioned into a first group of contending messages that remain in contention to become a best performing message, and a second group that are not in contention to become the best performing message; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
- said method including steps of;
-
64. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular ith message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said message is selected from the group of messages consisting of an advertisement, an internet web site banner ad, an email, an email advertisement, an email having an advertisement attachment, a solicitation, an interactive television message, and combinations thereof; wherein at least one of steps (a)–
(d) is performed by at least one processing device.
- said method including steps of;
-
65. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular ith message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein for providing more than two groups of alternatives, the alternatives are divided into multiple sets based on a performance value; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (66)
- said method including steps of;
-
67. A method for improving the stage-to-stage performance of a message in a multi-stage message campaign in an interactive measurable medium;
- said method including steps of;
(a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular (ith) message at the end of said prior stage, wherein “
i”
is between 1 and “
n,”
wherein “
n”
is a number of messages in the multi-stage message campaign;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said state comprises a first state vector component si(t) for the total number of discounted cumulative successes for the particular (ith) message at the end of stage t, and a second state vector component ni(t) for the cumulative number of trials for the particular (ith) message at the end of stage t; wherein at least one of steps (a)–
(d) is performed by at least one processing device. - View Dependent Claims (68, 69, 70)
- said method including steps of;
-
71. A computer program for use in conjunction with a computer system, the computer program comprising a computer program mechanism embedded therein, the computer program mechanism, comprising:
-
a program module that directs the computer system to improving the stage-to-stage performance of a message in a multi-stage message, the program module including instructions for performing a method comprising; (a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior message stage state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state. - View Dependent Claims (72, 73, 74, 75, 76, 77)
-
-
78. A computer program for use in conjunction with a computer system, the computer program comprising a computer program mechanism embedded therein, the computer program mechanism, comprising:
-
a program module that directs the computer system to improving the stage-to-stage performance of a message in a multi-stage message, the program module including tangible instructions for performing a method comprising; (a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state; wherein said cumulative number of trials and said cumulative number of successes comprise discounted cumulative number of trials and discounted cumulative number of successes.
-
-
79. A computer program for use in conjunction with a computer system, the computer program comprising a computer program mechanism embedded therein, the computer program mechanism, comprising:
-
a program module that directs the computer system to improving the stage-to-stage performance of a message in a multi-stage message, the program module including tangible instructions for performing a method comprising; (a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; (d) generating a current message allocation based on said current message state; (e) storing said current message state as prior stage message state for a next iteration of said method; and (f) repeating steps (a)–
(c) for each stage in said message campaign;wherein said cumulative number of trials and said cumulative number of successes comprise discounted cumulative number of trials and discounted cumulative number of successes; wherein said prior stage message state comprises reading a state vector for the prior stage in a message campaign; wherein said step of generating a current message allocation further includes applying a message allocation constraint; and wherein said message selected from the group of messages consisting of an advertisement, an email, and combinations thereof.
-
-
80. A computer system comprising:
-
a server having a processor and a memory coupled to said processor; an internet interface means for coupling said processor to the internet; means for receiving performance results from a message service coupled to said internet; means for transmitting a message allocation to said message service; a message optimization procedure implemented as a computer program and comprising a computer program mechanism embedded therein and stored in said memory and executing in said processor; said computer program mechanism, comprising a program module that directs the computer system to improving the stage-to-stage performance of a message in a multi-stage message, the program module including tangible instructions for performing a method comprising; (a) reading prior stage message state pertaining to a prior stage in a message campaign;
said prior stage message state including a cumulative number of trials and a cumulative number of successes for a particular message at the end of said prior stage;(b) reading message performance results representing message trials and message successes from said prior stage based on said prior stage message state; (c) computing a current message state on the basis of said prior stage message state and said message performance results; and (d) generating a current message allocation based on said current message state.
-
Specification