Many companies spend a lot of money each year on advertisements. In traditional advertising environments (e.g., newspaper, magazines, television, etc.), the price of an advertisement is typically based on visibility. For example, an ad that is placed on the front page of a newspaper is typically more expensive than an ad that is placed on the third page of the second section of the newspaper. Similarly, an advertiser will pay more to have an ad broadcast on television during primetime than he would pay to have the same ad broadcast on television at 2:00 am. With these traditional methods of advertising, the cost of the advertisement is known up-front, and the expected return on investment is based on the degree of visibility that the advertisement receives.
Internet-based advertising differs somewhat in that advertisers are typically not charged for an ad being displayed, but are only charged if a user selects the ad, which typically directs the user to a website associated with the advertiser. This is commonly referred to as “click-through pricing”. Because advertisement visibility is still desired to attract a large number of users to the advertiser's website, high-visibility advertisement slots are desired. Advertisers typically bid auction-style for placement of ads within a web page, with the bid price indicating a maximum amount that the advertiser is willing to pay per click-through. For example, a search engine website may have five ad slots in a column down the right hand side of a web page on which search results are displayed. Advertisers may bid for those spots in conjunction with a particular keyword that a user may enter for a search. For example, a company that sells camera equipment may place a bid to have their advertisement displayed when a user submits a search using the keyword “camera”. When a user submits a search using the keyword “camera”, the ads from the advertisers who have submitted the five highest bids in association with the keyword “camera” are displayed in the five ad slots, with the ad from the highest bidding advertiser on top (i.e., in the most desirable of the five available ad slots).
Along with their bid, advertisers also submit a budget amount. After their budget is reached (based on the price paid per received click-through of the ad), the ad is no longer displayed. Over time, advertisers have realized that submitting lower bids can result in a higher return on investment than submitting higher bids. In other words, if an advertiser has a budget of $100, and bids 50 cents to win placement of the ad in the top slot on the web page, after 200 click-throughs, the advertiser's budget will be exceeded, and the ad will no longer be shown. On the other hand, if the advertiser bids only 10 cents to win placement of the ad in the fourth slot on the web page, then the advertiser will receive 1000 click-throughs before the budget is exceeded. As a result, advertisers are less willing to submit higher bids for ad placement, which results in lower revenue for companies that offer website ad placement.
Normalized click-through advertisement pricing is described. Advertisement-specific click-through prices are calculated for advertisements to be displayed via a particular web page. When a user selects on a particular advertisement, the click-through price associated with that advertisement is charged to an advertiser. The click-through prices may be equal across each of the advertisements, or may be calculated, for example, based on a measured attractiveness of each advertisement.
The embodiments of normalized click-through advertisement pricing described below provide techniques for normalizing the expected return on investment associated with multiple ad slots on a single web page. Multiple ad slots on a web page have varying degrees of desirability to an advertiser. For example, if arranged as a vertical list the ad slot on top is typically most desirable because it is usually the first ad a user will see. Advertisers typically pay a particular amount (a click-through price) each time a user clicks on an ad. If higher click-through prices are charged for more desirable ad slots, advertisers may submit lower bids to increase their return on investment. With normalized prices for ads displayed on a web page, the cost associated with each click-through is the same (or approximately the same), regardless of ad placement. Because of this, the return on investment for each displayed ad is approximately equal. However, ad placement is typically determined as a function of the bids associated with each ad—ads with higher bids get placed in more desirable ad slots. Thus, advertisers have an incentive to bid higher in an attempt to win placement in the most desirable ad slot, which is expected to provide more click-throughs. The higher bids also result in more revenue for the ad slot provider.
The following discussion is directed to normalized click-through advertisement pricing. While features of normalized click-through advertisement pricing can be implemented in any number of different computing environments, they are described in the context of the following exemplary implementations.
In the illustrated example, web page 102 contains search results and five ad slots 104(1-5). It is assumed that ad slot 104(1) is more desirable than ad slot 104(2), which is more desirable than ad slot 104(3), and so on. When web page 102 is requested, five of the previously received advertisements are dynamically allocated to the available ad slots based on the previously received bids and budgets associated with the advertisements. Prior to displaying web page 102, advertisements 106(1), 106(2), 106(3), 106(4), 106(5), and 106(6) are identified as the previously received advertisement having the six highest bid values and sufficient remaining budget values (i.e., the click-through prices charged to the advertisers so far has not yet reached the specified budget values). The identified ads are sorted in descending order according to bid, as illustrated in
A click-through price 108 is calculated based on the bid associated with the first losing ad 106(6). In this example, one cent is added to the bid, resulting in a click-through price of 51 cents. This same click-through price 108 is then assigned to each of the winning ads 106(1-5), such that if a user viewing web page 102 clicks on any one of ads 106(1-5), the respective advertiser will be charged 51 cents.
As described above, previously received ads have an associated bid that indicates a maximum value that the advertiser is willing to pay each time a user clicks on the ad. In this example, each of the previously received ads also has an associated click-through rate (CTR) that indicates a frequency with which it is expected that a user will click on the ad. For example, a CTR of 80% indicates an expectation that a user will click on the ad 80% of the times that the ad is displayed. In an exemplary implementation, the CTR may be statistically determined by the web page (or an application associated with the web page). For example, when a new ad is received, a CTR of 50% may be assigned to the ad, indicating a 50-50 chance that a user will click on the ad when the ad is displayed. Over time, data is gathered each time the ad is displayed, indicating whether or not a user clicked on the ad. Based on this gathered data, the CTR associated with the ad is dynamically updated.
An effective bid is calculated for each of the previously received ads. The effective bid represents an expected income for the ad slot provider each time the ad is displayed based on the bid and the CTR. For example, if an ad has a bid value of 65 cents and a CTR of 80%, then 80% of the times that the ad is displayed, the ad slot provider can expect to receive 65 cents. Accordingly, on average, the ad slot provider can expect to receive approximately 52 cents (80% of 65 cents) each time the ad is displayed.
After calculating the effective bid values, the previously received ads are sorted in descending order according to the calculated effective bid. Ads 206(1-6) are identified, as illustrated in
A pseudo bid (PB) 208 is calculated based on the effective bid associated with first losing ad 206(6). In this example, one cent is added to the effective bid associated with the first losing ad 206(6), resulting in a PB of 17 cents. The PB is then used to calculate normalized click-through prices (CTPs) for each of the five winning ads 206(1-5) assigned to the available ad slots. In the illustrated example, the CTP 210 for a particular ad is calculated by dividing the PB 208 by the CTR associated with the ad. For example, for ad 206(1), the CTP 210(1) is calculated as:
17 cents/80%=21 cents
Although each ad is not assigned the same click-through price, the advertisers are, on the average, paying approximately the same price per display of their respective ads. For example, for ad 206(1), each time a user clicks on the ad, the advertiser is charged 21 cents. According to the CTR for the ad, the ad is clicked 80% of the times that it is displayed. Accordingly, on average, the advertiser pays approximately 16.8 cents each time the ad is displayed. Similarly, for ad 206(3), each time a user clicks on the ad, the advertiser is charged 42 cents. According to the CTR for the ad, the ad is clicked only 40% of the times that it is displayed. Accordingly, on average, the advertiser pays approximately 16.8 cents each time the ad is displayed—the same amount paid by the advertiser associated with ad 206(1).
As described above, previously received ads have an associated bid that indicates a maximum value that the advertiser is willing to pay each time a user clicks on the ad. In this example, each of the previously received ads also has an associated expected click wait (ECW) that indicates a number of times that the ad is expected to have to be displayed before a user will click on the ad. For example, an ECW of two indicates an expectation that a user will click on the ad, on average, every two times that the ad is displayed. In an exemplary implementation, the ECW may be statistically determined by the web page (or an application associated with the web page). For example, when a new ad is received, an ECW of two may be assigned to the ad, indicating a 50-50 chance that a user will click on the ad when the ad is displayed. Over time, data is gathered each time the ad is displayed, indicating whether or not a user clicked on the ad. Based on this gathered data, the ECW associated with the ad is dynamically updated.
An effective bid is calculated for each of the previously received ads. The effective bid represents an expected income for the ad slot provider each time the ad is displayed based on the bid and the ECW. For example, if an ad has a bid value of 72 cents and an ECW of 1.2, then every 1.2 times that this ad is displayed, the ad slot provider can expect to receive 72 cents. Accordingly, the ad slot provider can expect to receive approximately 60 cents (72 cents/1.20 displays) each time the ad is displayed.
After calculating the effective bid values, the previously received ads are sorted in descending order according to the calculated effective bid. Ads 306(1-6) are identified, as illustrated in
A pseudo bid (PB) 308 is calculated based on the effective bid associated with first losing ad 306(6). In this example, one cent is added to the effective bid associated with the first losing ad 306(6), resulting in a PB of eight cents. The PB is then used to calculate normalized click-through prices (CTPs) for each of the five winning ads 306(1-5) assigned to the available ad slots. In the illustrated example, the CTP 310 for a particular ad is calculated by multiplying the PB 308 by the CTR 310 associated with the ad. For example, for ad 306(2), the CTP 310(2) is calculated as:
8 cents*2=16 cents
Although each ad is not assigned the same click-through price, the advertisers are, on the average, paying approximately the same price per display of their respective ads. For example, for ad 306(3), each time a user clicks on the ad, the advertiser is charged 12 cents. According to the ECW for the ad, the ad is clicked every 1.5 times that it is displayed. Accordingly, on average, the advertiser pays approximately 8 cents each time the ad is displayed. Similarly, for ad 306(4), each time a user clicks on the ad, the advertiser is charged 28 cents. According to the ECW for the ad, the ad is clicked every 3.5 times that it is displayed. Accordingly, on average, the advertiser pays approximately 8.0 cents each time the ad is displayed—the same amount paid by the advertiser associated with ad 306(3).
As described above, each previously received ad has an associated bid that indicates a maximum amount that the advertiser is willing to pay each time a user clicks on the ad. For example, bid 426 indicates a maximum value that an advertiser is willing to pay each time ad 414 is selected by a user. An effective bid is calculated for each ad according to some function fi(Bi) where Bi is the bid associated with a particular ad. For example, effective bid 428 is calculated in association with advertisement 414. As illustrated in
A pseudo bid (PB) 430 is calculated according to some function fPB(BX) where Bx is the effective bid calculated with respect to the first losing ad (e.g., ad 424). In the examples shown in
The PB is then used to calculate normalized click-through prices (CTPs) for each of the winning ads. In the illustrated example, the CTP for a particular ad is calculated by applying to the PB, the inverse of the function used to calculate the effective bid for the particular ad. For example, for ad 414, the effective bid 428 was calculated according to the function f1(B1), where B1 was the bid 426 associated with ad 414. Accordingly, the CTP 432 for ad 414 is calculated as:
CTP=f1−1(PB)
For example, in the implementation illustrated in
f1(B1)=B1 and f1−1(PB)=PB
Similarly, in the implementation illustrated in
f1(B1)=(B1*CTR1) and f1−1(PB)=(PB/CTR1)
Finally, in the implementation illustrate in
f1(B1)=(B1/ECW1) and f1−1(PB)=(PB*ECW1)
Selected components of web server 502 may include a processor 514, a network interface 516, and memory 518. Network interface 516 enables web server 502 to receive data from advertiser(s) 504, and to communicate with computer system 508 over the Internet 510. One or more applications 520, one or more web pages 522, ad store 524, and ad auction engine 526 are maintained in memory 518 and executed on processor 514.
Web pages 522 each include one or more ad slots via which advertisements received from advertisers 504 may be presented. In the described exemplary implementation, ad slots on a web page may have varying degrees of desirability that may be based, for example, on visibility. For example, if a web page has one ad slot at the top of the page and another ad slot at the bottom of the page, the ad slot at the top of the page would be expected to have higher visibility, and therefore would be more desirable to advertisers. The ad slots associated with a web page may be ordered according to their respective desirability.
Ad store 524 maintains data associated with advertisements received from advertisers 504. Data that may be maintained may include, but is not limited to, an advertisement, a bid, a budget, a click-through rate, and/or an expected click wait. As described above, the bid indicates a maximum value that the advertiser is willing to pay per click-through of the ad. The budget indicates a maximum value that the advertiser is willing to pay for placement of the ad over a particular period of time. For example, an advertiser may indicate a budget of $50 per day, or $1000 per month. The click-through rate may be determined by web server 502, and indicates an expected, or statistically determined, percentage that indicates a frequency with which the ad is expected to be selected by a user. For example, a click-through rate of 80% indicates that for every ten times that the ad is displayed, it is expected that a user will click on the ad eight times. Click-through rates are described in further detail above with reference to
Ad auction engine 526 includes ad placement module 528 and click-through price normalizer 530. Ad placement module 528 is configured to determine which ads in ad store 524 are to be presented via a particular web page 522. Ad placement module 528 also determines which of the identified ads are to be presented in each of the available ad slots. As described above with reference to
Methods for normalized click-through advertisement pricing may be described in the general context of computer executable instructions. Generally, computer executable instructions include routines, programs, objects, components, data structures, procedures, and the like that perform particular functions or implement particular abstract data types. The methods may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
At block 602, ads with associated bids are received. Each bid indicates a maximum value that an advertiser is willing to pay each time the ad is selected by a user. For example, web server 502 may receive one or more advertisements and bids from advertiser(s) 504. The bids may also indicate one or more web pages in which the advertiser would like to have the ad placed.
At block 604, a request for a particular web page having N ordered ad slots is received. For example, web server 502 receives web page request 506 from computer system 508 via the Internet 510.
At block 606, one or more of the received ads are identified for possible placement in the requested web page. For example, ad auction engine queries ad store 524 to identify the received ads that may be placed in available ad slots on the requested web page. As one example, placement of a particular ad on a particular web page may be based on a keyword that was entered by a user as search criteria.
At block 608, an effective bid for each identified ad is calculated. Any number of techniques may be implemented for calculating the effective bids. For example, as illustrated in
At block 610 the identified ads are sorted in descending order by effective bid. At block 612, the first N sorted ads are placed in the respectively ordered N ad slots on the web page. For example, ad placement module 528 places the ad with the highest effective bid in the most desirable ad slot, the ad with the second highest effective bid in the second most desirable ad slot, and so on.
At block 614, a pseudo bid is calculated. For example, click-through price normalizer 530 may calculate a pseudo bid based on the effective bid associated with the (N+1)th ad, as ordered by effective bid. An exemplary calculation of the pseudo bid increments the effective bid of the (N+1)th ad by one cent. In an exemplary implementation, a minimum pseudo bid is also enforced such that if the calculated pseudo bid is less than the minimum pseudo bid, then the minimum pseudo bid is used.
At block 616, a click-through price is calculated for each placed ad based on the calculated (or minimum allowed) pseudo bid. For example, as illustrated in
At block 618, the requested web page is returned. For example, web server 502 transmits the web page with ads 512 to computer system 508 over the Internet 510.
Although embodiments of normalized click-through advertisement pricing have been described in language specific to structural features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations of normalized click-through advertisement pricing.