Abstract:
A facility for adjusting the execution of an advertising campaign in which advertising messages are presented using a plurality of advertising alternatives as described. During a first time period, the facility presents advertising messages using each of the advertising alternatives in accordance with an initial allocation for each of the advertising alternatives. Also during the first time period, the facility tracks the performance of the advertising campaign with respect to each of the advertising alternatives. Based upon the tracking during the first time period, the facility attributes a performance score to each of the advertising alternatives for the first time period. The facility compares these scores, and, based upon the comparison, adjusts the allocations for the advertising alternatives so as to increase one or more allocations for advertising alternatives which compare favorably in the comparison, and so as to reduce one or more allocations for advertising alternatives comparing disfavorably in the comparison. The facility then, during a second time period, presents advertising messages using each of the advertising alternatives in accordance with the adjusted allocation for each of the advertising alternatives.

Description:
CROSS REFERENCE TO RELATED APPLICATION  
       [0001]     This application claims the benefit of provisional U.S. Patent Application No. 60/167,055 filed Nov. 22, 1999 which is hereby incorporated by reference. 
     
    
     TECHNICAL FIELD  
       [0002]     The present invention is directed to Internet advertising techniques.  
       BACKGROUND  
       [0003]     The World Wide Web (“the Web”) is a medium for making content available to requesting users, also known as “publishing” content. A Web publisher may provide content of various types, including visual Web pages having textual and static visual contents, as well as such other content such as animated images and audio and video sequences. The relatively low cost of publishing content on the Web enables many organizations and individuals to act as Web publishers.  
         [0004]     To access content made available on the Web, a user typically directs a Web client program, or “browser,” executing on his or her computer system to obtain and display a particular unit of content. Units of content are each identified by an address, also called a Uniform Resource Locator, or URL. The user may direct the browser to obtain and display a unit of content by directly entering the URL for the unit of content, or by selecting a link or bookmark with which the URL is associated.  
         [0005]     Internet advertising is a practice in which a Web publisher adds an advertising message or other content provided by a third party advertiser to the content provided by the Web publisher in exchange for payment or other consideration from the advertiser. For example, a Web-based travel agency may pay the publisher of a Web site directed to tips for travelers to add a banner advertisement for the Web-based travel agency to some of the Web pages comprising the Web site. Such a banner advertisement typically presents visual information promoting the advertiser that takes up a portion of the area of the Web page. Some banner advertisements further constitute a link to a Web site associated with the advertiser, so that the user may click anywhere within the banner advertisement to display, or “click through to,” that Web site, and perform additional actions there, such as purchasing a product or registering with the advertiser Web site. When such additional actions are performed, it is said that a “conversion” has occurred.  
         [0006]     In the terminology of Web advertising, a particular banner advertisement may be called a “creative” or a “advertising message.” The different locations on Web pages of publisher Web sites that the publisher makes available for advertising are called “placements.” An instance of presenting a particular creative in a particular placement for a particular use is called an “impression.” When a publisher enters into an advertising agreement with an advertiser in which the advertiser purchases for a single price the opportunity to display a certain number of impressions in each of a number of placements, these placements and impressions are said to constitute a “cost package.” 
         [0007]     As computer use, and particularly the use of the Web, becomes more and more prevalent, the volume of Internet advertising presented grows larger and larger. As this volume continues to increase, the need to optimize the effectiveness of advertising increases significantly.  
         [0008]     In this connection, it is now common for an advertiser to mount a campaign for an advertiser&#39;s cause, in which it presents a number of different “alternative” advertising messages for the cause in each of a number of different placements. Indeed, many advertising campaigns utilize multiple cost packages of placements purchased from multiple publishers.  
         [0009]     Such an extensive campaign can be difficult to manage in an active manner. In particular, it can be difficult to determine whether to increase or decrease the number of impressions presented in a particular cost package, whether to increase or decrease the number of impressions presented in a particular placement, and whether to increase or decrease the rate at which a particular creative is presented.  
         [0010]     Accordingly, a facility for automatically and dynamically optimizing the use of resources in an advertising campaign would have significant utility.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  is a high-level block diagram showing the environment in which the facility preferably operates.  
         [0012]      FIG. 2  is a flow diagram showing the steps preferably performed by the facility in order to optimize the performance of an advertising campaign.  
         [0013]      FIGS. 3-5  are data structure diagrams showing the analysis of sample data by the facility. 
     
    
     DETAILED DESCRIPTION  
       [0014]     A software facility for automatically and dynamically optimizing the use of resources in an advertising campaign is provided. In designing an advertising campaign, an advertising service selects cost packages to use in presenting advertising messages for the campaign, each of which constitutes an opportunity to present a certain number advertising messages in each one or more placements. The advertising service further selects a number of advertising messages to present as part of the campaign. The facility conducts the campaigns, presenting the selected advertising messages in the placements within the selected cost packages While conducting the campaign, facility maintains statistics indicating the level of performance of each of the advertising messages, placements, and cost packages.  
         [0015]     After the campaign has been conducted for a period of time, the facility compares the performance of the selected advertising messages, placements, and cost packages, and scores their relative performance. Performance scores for these aspects of the campaign, sometimes called “advertising alternatives,” may be based upon a variety of factors, including click-throughs, conversions, and sales produced by these advertising alternatives, as well as their cost. To the extent that reallocations between advertising messages, placements, and cost packages are possible, the facility performs reallocations from advertising messages, placements, and cost packages indicated by their performance scores to be performing at a low level to higher-performing ones.  
         [0016]     For example, reallocating between cost packages may involve negotiating with the publisher or other seller of a higher-performing cost package to increase the volume of the higher-performing cost package, as well as negotiating with the publisher or other seller of a lower-performing cost package to cancel or decrease the volume of the lower-performing cost package. Reallocating between the placements of a cost package may involve negotiating with the publisher or other seller of the cost package to increase the volume of the higher-performing allocations of the cost package and decrease the volume of the lower-performing allocations of the cost package. Reallocating between advertising messages presented in a placement may involve increasing the probability that higher-performing advertising messages are served in response to an advertising message request for the placement and decreasing that probability for lower-performing advertising messages. After adjusting these allocations in accordance with the effectiveness scores, the facility continues the campaign using these new allocations, again maintaining performance statistics in order to later perform further reallocations.  
         [0017]     In some embodiments, the facility manages the operation of several advertising campaigns simultaneously. For example, the facility may simultaneously manage the operation of campaigns for several different advertisers. This further extends the facility&#39;s ability to optimize campaign performance, by enabling the facility to exchange measures of advertising alternatives between campaigns, thereby allowing reallocation of advertising alternatives that otherwise could not be reallocated, e.g., allowing reallocation between two cost packages whose seller declines to renegotiate.  
         [0018]     By automatically optimizing the operating of advertising campaigns on-the-fly based upon the actual performance of the various advertising alternatives that comprise the campaign in this manner, the facility greatly increases the effectiveness of the campaign and produces significant efficiencies in operating the campaign.  
         [0019]      FIG. 1  is a high-level block diagram showing the environment in which the facility preferably operates. The diagram shows client computer systems  111  and  112 . An Internet user preferably uses one of these client computer systems to connect, via the Internet  100 , to an Internet publisher computer system, such as Internet publisher computer systems  130  and  140 , to retrieve and display a Web page.  
         [0020]     In cases where an Internet advertiser, through the Internet advertising service, has purchased advertising space on the Web page provided to the Internet user computer system by the Internet publisher computer system, the Web page contains a reference to a URL in the domain of the Internet advertising service computer system  120 . When a user computer system receives a Web page that contains such a reference, the Internet user computer systems sends a request to the Internet advertising service computer system to return data comprising an advertising message, such as a banner advertising message. When the Internet advertising service computer system receives such a request, it selects an advertising message to transmit to the Internet user computer system in response the request, and either itself transmits the selected advertising message or redirects the request containing an identification of the selected advertising message to an Internet content distributor computer system, such as Internet content distributor computer systems  170  and  180 . When the Internet user computer system receives the selected advertising message, the Internet user computer system displays it within the Web page.  
         [0021]     The displayed advertising message preferably includes one or more links to Web pages of the Internet advertiser&#39;s Web site. When the Internet user selects one of these links in the advertising message, the Internet user computer system dereferences the link to retrieve the Web page from the appropriate Internet advertiser computer system, such as Internet advertiser computer system  150  or  160 . In visiting the Internet advertiser&#39;s Web site, the Internet user may traverse several pages, and may take such actions as purchasing an item, bidding in an auction, or registering as a user of the Internet advertiser. Revenue from such actions typically finances, and is often the motivation for, the Internet advertiser&#39;s Internet advertising.  
         [0022]     The Internet advertising service computer system  120  preferably includes one or more central processing units (CPUs)  121  for executing computer programs such as the facility, a computer memory  122  for storing programs and data while they are being used, a persistent storage device  123  such as a hard drive for persistently storing programs and data, and a computer-readable media drive  143 , such as a CD-ROM drive, for reading programs and data stored on a computer-readable medium.  
         [0023]     While preferred embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments, including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices.  
         [0024]     In an embodiment discussed in detail below, the facility judges the effectiveness of advertising messages, placements, and cost packages in terms of the conversion rates that they produce. In some embodiments, however, the facility preferably uses a rating function that rates the effectiveness of each alternative advertising message when presenting each placement and cost package in which it is presented based upon other factors. The rating function preferably has a positive reaction, for a particular advertising message and publisher, to one or more of the following factors: (1) “conversion rate,” the percentage of presentations of the advertising message at the publisher to users that coincided with users that performed some action on the advertiser&#39;s web site, such as visiting it or placing an order; (2) “click rate,” the percentage of times the advertising message was presented at the publisher and was clicked on by the user viewing the advertising message; and/or (3) “average transaction value,” the average dollar amount of orders placed by customers that viewed the advertising message at the publisher. The rating function also preferably has a negative reaction, for a particular advertising message and publisher, to the financial cost of presenting the advertising message at the publisher. After the rating function is applied to each advertising message for a particular publisher to produce raw rating scores, the raw rating scores are preferably normalized so that they sum to 100% for the publisher.  
         [0025]     In various embodiments, the rating function is applied to update the weights at various frequencies, including frequencies such as once per week, once per day, once per hour, or continuously.  
         [0026]     In certain embodiments, the rating function limits the extent to which the rating of a particular advertising message and publisher can change during a single period. For example, in one preferred embodiment, the rating function is limited to changing no more than 5% per period.  
         [0027]     In some embodiments, the facility retains the initial weightings without applying the rating function until a minimum number of advertising message presentations is reached. For example, the facility may defer re-weighting until a minimum number of total presentations of any of the advertising messages within the group at any of the publishers is reached. In additional embodiments, re-weighting is deferred until each advertising message, each publisher, or each combination of an advertising message and a publisher has a certain number of presentations.  
         [0028]     In one embodiment, the facility maintains a history of the advertising presentation weights used during each period to facilitate the review of the performance of the advertising messages using different weights. In this manner, the facility can analyze the effects of particular weighting changes on performance.  
         [0029]      FIG. 2  is a flow diagram showing the steps preferably performed by the facility in order to optimize the performance of an advertising campaign. This process is preferably repeated by the facility periodically for each advertising campaign that is being managed by the facility. In steps  201 - 210 , the facility loops through each cost package of placements that has been selected for the facility. In steps  202 - 206 , the facility loops through each placement of the current cost package. In step  203 , the facility generates scores measuring the effectiveness of advertising messages that have been presented in the current placement. In a preferred embodiment, effectiveness scores correspond to conversion rates—that is, the fraction of impressions of the advertising messages that lead to a conversion on the advertiser&#39;s web site, such as a purchase. In this embodiment, the effectiveness score of an advertising message is calculated by dividing the number of conversions produced by presenting the advertising message in the current placement by the number of times the advertising message was presented in the current placement, also described as the number of impressions of the advertising message in the current placement. As is discussed elsewhere herein, additional embodiments of the present invention utilize a variety of other formulae for generating effectiveness scores, which are in these embodiments utilized in step  203 .  
         [0030]     In step  203 , the facility further compares the effectiveness scores generated for the advertising messages being presented in the current placement. In one preferred embodiment, the facility compares the absolute effectiveness scores of the advertising messages. In another preferred embodiment, the facility compares confidence intervals about the scores. Confidence intervals relate to statistical measures, such as effectiveness scores, that are based on a finite number of observations, or “samples.” A confidence interval indicates a range of values around, or “about,” the statistical measure into which there is a particular probability that the same statistical measure based upon a much larger population of samples will fall. In one embodiment, the facility compares 80 percent confidence intervals about the scores, meaning that the facility compares ranges about the scores into which there is an 80 percent chance that scores based on a much larger population of samples will fall.  
         [0031]     Equations (1)-(12) below show the derivation of the formula in equation (12) preferably used by the facility to calculate an 80 percent confidence interval about each effectiveness score. Equation (1) indicates that the confidence interval (a,b) α  for a particular confidence level α is defined as the statistical measure {overscore (x)}, here the effectivess score±a confidence interval radius c α  for that confidence level. 
 
( a,b )= α   ={overscore (x)}±c   α   (1) 
 
         [0032]     Equation (2) indicates that the confidence interval radius c α  is equal to a z-score z α  for the confidence level multiplied by the standard deviation of the larger population σ and divided by the square root of the number of samples n upon which the statistical measure is based.  
               c   α     =         z   α     ⁢   σ       n               (   2   )             
 
         [0033]     Equation (3) indicates that, in accordance with the Central Limit Theorem, the standard deviation σ of the larger population can be assumed to be equal to the standard deviation s of the samples upon which the statistical measure is based. 
 
σ=s  (3) 
 
         [0034]     Equation (4) indicates that the standard deviation s of the samples upon wich the statistical measure is based is equal to the square root of the product of the proportion of successes p times the proportion of failures (1−p).  
             s   =       p   ⁡     (     1   -   p     )                 (   4   )             
 
         [0035]     Equation (5) shows the substitution of equations (3) and (4) in equation (1).  
               c   α     =       z   α     ⁢         p   ⁡     (     1   -   p     )       n                 (   5   )             
 
         [0036]     Equation (6) shows that, in this case, the number of samples n upon which the statistical measure is based is the number of impressions in which the current advertising message was presented in the current placement. 
 
n=impressions  (6) 
 
         [0037]     Equation (7) shows that the proportion of successes p is equal to the number of conversions that resulted from presenting the current advertising message in the placement divided by the number of impressions.  
             p   =     conversions   impressions             (   7   )             
 
         [0038]     Equation (8) shows the substitution of equations (6) and (7) in equation (5).  
               c   α     =       z   α     ⁢           conversions   impressions     ⁢     (     1   -     conversions   impressions       )       impressions                 (   8   )             
 
         [0039]     Equation (9) shows the simplification of equation (8).  
               c   α     =         z   α     ⁢       conversions   ⁡     (     impressions   -   conversions     )           impressions             (   9   )             
 
         [0040]     Equation (10) shows that the z-score for an 80 percent confidence interval is 1.28, as derived from statistical tables. 
 
z 80% =1.28  (10) 
 
         [0041]     Equation (11) shows the substitution of equation (10) in equation (9).  
               c     80   ⁢   %       =       1.28   ⁢       conversions   ⁡     (     impressions   -   conversions     )           impressions             (   11   )             
 
         [0042]     Equation (12) shows the substitution of equation (11) in equation (1), and indicates how to calculate an 80 percent confidence interval about a conversion rate effectivess score for a particular advertising message in a particular placement given the number of conversions and the number of impressions measured for that advertising message in that placement.  
                       (     a   ,   b     )       80   ⁢   %       =       ⁢       conversions   impressions     ±                     ⁢       1.28   ⁢       conversions   ⁡     (     impressions   -   conversions     )           impressions                   (   12   )             
 
         [0043]     In step  204 , the facility reallocates the relative weights of the advertising messages for the current placement based upon the comparison performed in step  203 . When an advertising message presentation request is received requesting an advertising message to present in the current placement, these weights are used to determine which advertising message to return. The weight for a particular advertising message reflects the relative likelihood that that advertising message will be returned in response to each such request. A number of embodiments of the facility utilize various reallocation schemes in step  204 . In some embodiments, one or more advertising messages are “dropped” by assigning them a weight of zero, thereby increasing the relative weights of the advertising message that are not dropped. In these embodiments, any number of advertising messages may be dropped: a single lowest-performing advertising messages, the bottom-performing n advertising messages, the lowest-performing half of the advertising messages, all but the highest-performing advertising message, etc. In other embodiments, the facility incrementally adjusts the weight of each advertising message, incrementally reducing the weights of lower-performing advertising messages, and incrementally increasing the weights of higher-performing advertising messages. Additional reallocation schemes may also be employed.  
         [0044]     In step  205 , the facility forecasts the effectiveness scores for the advertising messages based upon the new allocation of advertising messages created in step  204 . In step  206 , the facility loops back to step  202  to process the next placement in the current cost package. After the last placement in the current cost package has been processed, the facility continues in step  207 . In step  207 , the facility forecasts the effectiveness scores of the placements in the current cost package based upon the effectiveness scores forecasted in step  205  for the advertising messages presented in those placements. In step  208 , the facility compares the effectiveness scores forecasted in step  207  for the placements in the current cost package. Step  208  is preferably performed in a manner similar to the comparison performed in step  203 . In step  209 , the facility reallocates the relative weights of the placements in the cost package based upon the comparison of the effectiveness scores forecasted for them in step  208 . Step  209  is preferably performed in a manner similar to that of step  204 . Reallocating between the placements of a cost package may involve negotiating with the publisher or other seller of the cost package to increase the volume of the higher-performing allocations of the cost package and decrease the volume of the lower-performing allocations of the cost package. In step  210 , the facility loops back to step  201  to process the next cost package. After the last cost package is processed, the facility preferably continues in step  211 . In step  211 , the facility forecasts cost effectiveness scores for the cost packages based upon effectiveness scores forecasted in step  207  for the placements in each cost package. In step  212 , the facility compares the cost effectiveness scores forecasted in step  211  for the cost packages. Step  212  is preferably performed in a manner similar to the comparison of step  203 . In step  213 , the facility reallocates the relative weights of the cost packages based upon the comparison of step  212 . Step  213  is preferably performed in a manner similar to the comparison of step  204 . Reallocating between cost packages may involve negotiating with the publisher or other seller of a higher-performing cost package to increase the volume of the higher-performing cost package, as well as negotiating with the publisher or other seller of a lower-performing cost package to cancel or decrease the volume of the lower-performing cost package. In step  214 , the facility applies the reallocations performed in steps  204 ,  209 , and  213 . After step  214 , these steps conclude.  
         [0045]      FIGS. 3-5  are data structure diagrams showing the analysis of sample data by the facility.  FIGS. 3-5  show sample data for a single cost package. As is discussed herein, however, the facility is preferably capable of managing campaigns that make use of more than one cost package, and, indeed, managing several such campaigns simultaneously.  
         [0046]      FIG. 3  is a data structure diagram showing data relating to the performance of a sample cost package. A table  300  contains rows  311 - 325 . Rows  311 - 324  each correspond to a different combination of a placement and an advertising message presented in that placement. Row  325  contains values aggregated from rows  311 - 324 . Each row contains a field in each of the following columns: a placement column  301  identifying a placement in the cost package; an advertising message  302  identifying an advertising message presented in that placement; an allocation column  303  showing the current allocation weighting for the advertising message without the placement; an impressions column  304  indicating the number of times that the identified advertising message has been presented in the identified placement; a conversions column  305 , indicating the number of such impressions that have resulted in a conversion event at the advertiser&#39;s web site; a conversion rate column  306  indicating the quotient of conversions over impressions; a cost column  307  indicating, in row  325 , the cost of presenting the counted impressions; and a cost per conversion column  308  indicating, in row  325  the ultimate cost incurred per conversion. For example, the contents of row  312  show that advertising message  2  has been presented in placement  1  234,333 times and produced 234 conversions, thus achieving a conversion rate of 0.0010±0.0404. The conversion rate of 0.0010 is obtained by the facility by dividing 234 conversions by 234,333 impressions. The confidence interval rate is of 0.0404 is obtained in accordance with equation (11) by subtracting the number of conversions, 23, from the number of impressions, 243,655, then multiplying by the number of conversions, 23, then taking the square root of this quantity, then multiplying by 1.28 and dividing by the number of impressions, 234,655. Row  325  shows that using cost package  1  in the current campaign has produced a total of 1,564 conversions, at a total cost of $200,000, for an ultimate cost per conversion of $13.28. It can be seen that advertising message  3  has the highest conversion rate for placement  1 , advertising message  1  has the highest conversion rate for placement  2 , advertising message  1  has the highest conversion rate for placement  3 , advertising message  2  has the highest conversion rate for placement  4 , and advertising message  2  has the highest conversion rate for placement  5 .  
         [0047]      FIG. 4  is a data structure diagram showing reallocation among advertising messages for each placement. Table  400  shows the result of reallocating weights among the advertising messages displayed in each placement. By comparing the new allocation weights shown in allocation column  403  to the conversion rates shown in column  306  of  FIG. 3 , it can be seen that the facility has assigned a new weight of 1 to the advertising message for each placement having the highest conversion rate, and an allocation weight of 0 to each of the other advertising messages within the placement. For example, advertising message  3  having the highest conversion rate within placement  1 , is assigned an allocation weight of 1for placement  1 , while advertising messages  1  and  2  are assigned an allocation weight of 0 for placement  1 . Impressions column  404  shows the number of impressions forecasted for each combination of placement and advertising message in the next analysis cycle. For placement and advertising message combinations having an allocation weight of 0, 0 impressions are projected. For placement and advertising message combinations having weight of 1, a number of impressions equal to the sum of observed impressions for all of the advertising messages for that placement is projected. For example, the 721,000 impressions projected for advertising message  3  in placement  1  is the sum of the number of impressions observed for all advertising messages in placement  1 . Conversions column  405  contains a projection of the number of conversions that will be produced by those impressions, and is obtained by multiplying the projected number of impressions in column  404  by the observed conversion rate shown in column  306 . For example, the projection of 313,526 conversions shown for placement  1  in advertising message  3  is the product of 721,000 impressions and a conversion rate of 0.0188. The conversions field in row  425  is updated to be the sum of projected conversions. Similarly, the cost per conversion field in row  425  is updated to a projection of $4.30 per conversion by dividing the total cost of $200,000 by the projected total number of conversions, 46,551. Thus, it can be seen that, by reallocating advertising message weights as shown, the facility projects that is will reduce an ultimate cost per conversion from $13.28 to $4.30.  
         [0048]      FIG. 5  is a data structure diagram showing the comparison of the performance of placements within a cost package. Table  500  shows that the facility, for each placement, attributes the conversion rate of the non-zero weighted advertising message to the entire placement. On that basis, the facility compares the conversion rates attributed to each placement for the purpose of performing a reallocation among placements. The facility determines that placement  3  has the highest conversion rate, 0.0233. Accordingly, the facility, if possible, reweights the placements so as to increase the allocation to placement  3  and decrease the allocation to lower-performing placements, such as placements  4  and  5 . Based on these reallocations among the placements of cost package  1 , the facility preferably repeats its forecasting to determine a new cost per conversion for cost package  1 . On this basis, it preferably compares the cost per conversion projected for cost package  1  to costs per conversion similarly projected for the other cost packages of the campaign, and performs a reallocation away from cost packages having a higher cost per conversion toward cost packages having a lower cost per conversion.  
         [0049]     It will be understood by those skilled in the art that the above-described facility could be adapted or extended in various ways. For example, while advertising campaigns in which the advertising alternatives are advertising messages, placements, and cost package are discussed above, the facility may be straightforwardly adapted to manage advertising campaigns having more, fewer, or different advertising alternatives. Additionally, the facility may employ a variety of different types of effectiveness scores for comparing the effectiveness of different advertising alternatives. Further, in the foregoing, embodiments of the facility have been described that automatically manage advertising campaigns in which advertising messages are delivered via the World Wide Web to users using general-purpose computer systems executing web browsers. Additional embodiments of the facility may be used to manage campaigns in which advertising messages are presented to users via various other communication channels and other types of devices, including special-purpose devices such as personal digital assistants, cellular and satellite telephones, devices installed in automobiles and other vehicles, pagers, automatic teller machines, televisions, and other home appliances. Moreover, a further embodiment of the facility is adapted to allocate advertising alternatives separately for each of a number of these alternative outlet types, so that, for example, an advertisement that is particularly effective on a certain publisher via personal digital assistants is presented more frequently on personal digital assistants than alternative advertisements.  
         [0050]     While the foregoing description makes reference to various preferred embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.