Online advertising has become a significant aspect of the Web browsing experience. Today, many search engines generate revenue through advertisements positioned adjacent to a user's search query results. For example, many search engine providers, such as Microsoft, Google and Yahoo, receive payment from advertisers based upon pay-per-performance models, e.g. cost-per-click and cost-per-action\conversion models.
When estimating expected advertisement performance, a number of historical advertisement performance measures are typically utilized. For instance, in a cost-per-click model, click-through rates (CTRs) may be utilized to estimate the expected future performance of advertisements. Thus, if an advertisement is displayed 100 times and is selected five times by a user, the historical CTR of the advertisement is 0.05. Accordingly, the estimated future advertisement performance is also 0.05 with a confidence rate of 100 impressions. As the system observes more impressions the estimate is adjusted and the confidence increases.
In some cases, sufficient historical advertisement performance measures may not exist. For example, advertisements void of any history with a search engine do not have historical advertisement performance measures associated therewith. Additionally, advertisements that have had a limited number of impressions may have insufficient historical advertisement performance measures to generate accurate estimates. This can result in radically inaccurate estimated performance measures for the advertisements.
Embodiments of the present invention relate to systems, methods, and computer-readable media for calculating charges for advertisements. The historical performance (such as CTR) of an on-line advertisement is utilized to calculate the current cost per selection or advertiser-desired user actions (click-through) for the advertisement. The current cost per advertiser-desired user action may be multiplied by the total number of advertiser-desired user actions to determine the adjusted revenue total for the advertisement. In embodiments, the charge for the advertisement is the adjusted revenue total for the advertisement less the amount of revenue previously received for the advertisement.
This Summary is provided to introduce a selection of concepts in a simplified that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Embodiments are described in detail below with reference to the attached drawing figures, wherein:
The subject matter of embodiments of the present invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Embodiments of the present invention provide systems, methods, and computer-readable media for calculating charges for advertisements. In one aspect, a computer-implemented method for calculating a charge due for an advertisement is provided. The performance of an advertisement is utilized to calculate the current cost per advertiser-desired user action for the advertisement. The performance is the number of advertiser desired user actions per the number of times the advertisement was presented to one or more users. The current cost per selection and the total number of times the advertisement was presented are utilized to determine the adjusted charge for the advertisement. The charge due for the advertisement is determined by subtracting an amount of revenue previously received for the advertisement from the adjusted revenue total for the advertisement. The charge for the advertisement is presented.
In another aspect, a computerized system for calculating charge due for an on-line advertisement is provided. The system comprises a cost calculating component configured to calculate the current cost per advertiser desired user actions of an advertisement utilizing the performance of an advertisement, the performance being the number of advertiser desired user actions for the advertisement divided by the number of times the advertisement was presented to one or more users. The system also comprises an adjusted total calculation component configured to determine the adjusted revenue total for the advertisement by multiplying the current cost per selection and the total number of times advertiser desired user actions. The system further comprises a charge calculating component configured to determine the amount of charge for the advertisement by subtracting an amount of revenue previously received for the advertisement from the adjusted revenue total for the advertisement.
In yet another aspect, one or more computer readable media having computer-executable instructions embodied thereon that, when executed perform a method for calculating revenue due for an advertisement are provided. The method comprises utilizing a click-through rate (CTR) for an online advertisement to calculate the current cost per click-through of the advertisement. The click-through rate is the number of click-throughs of the advertisement divided by the number of times the advertisement was presented to one or more users. The current cost per click-through is compared to a bid for the advertisement to determine whether the cost per click-through exceeds the bid for the advertisement. If the cost per click through exceeds the bid for the advertisement, the charge is adjusted or the advertisement is suppressed. If the cost per click-through does not exceed the bid for the advertisement, he current cost per click-through is multiplied by the total number of times the advertisement was presented to determine the adjusted revenue total for the advertisement. The charge for the advertisement is determined by subtracting an amount of revenue previously received for the advertisement from the adjusted revenue total for the advertisement. The charge for the advertisement is stored in a data store.
Referring to the drawings in general, and initially to
Embodiments may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, modules, data structures, and the like, refer to code that performs particular tasks, or implement particular abstract data types. Embodiments may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, specialty computing devices, etc. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to
Computing device 100 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier wave or any other medium that can be used to encode desired information and be accessed by computing device 100.
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O modules 120. Presentation module(s) 116 present data indications to a user or other device. Exemplary presentation modules include a display device, speaker, printing module, vibrating module, etc. I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O modules 120, some of which may be built in. Illustrative modules include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
As previously set forth, embodiments of the present invention relate to computing systems for calculating charges for an auctioned service. With reference to
Computing system architecture 200 includes a server 202, a storage device 204, and an end-user device 206, all in communication with one another via a network 208. The network 208 may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. Accordingly, the network 208 is not further described herein.
The storage device 204 is configured to store information associated with an advertisement. In various embodiments, such information may include, without limitation, bids, estimated performance of the advertisement, historical performance of the advertisement, impression totals, historical clicks or actions for the advertisement and charges or revenue paid for one or more advertisements. It will be appreciated that the modules and components discussed below access the storage device 204 to obtain the information needed to make determinations and calculations to determine the revenue due for an advertisement. In embodiments, the storage device 204 is configured to be searchable for one or more of the items stored in association therewith. It will be appreciated by those of ordinary skill in the art that the information stored in the storage device 204 may be configurable and may include a variety of information relevant to the advertisement. Further, though illustrated as a single, independent component, the storage device 204 may, in fact, be a plurality of storage devices, for instance a database cluster, portions of which may reside on the server 202, the end user device 206, another external computing device (not shown), and/or any combination thereof.
Each of the server 202 and the end-user device 206 shown in
As shown in
The performance estimating module 214 is configured to estimate the expected performance of an advertisement. Advertisement performance may include, by way of example only and not limitation, the number of user selections of an advertisement. User selections may include selections of a displayed advertisement including, click-throughs or performance of another action with respect to the displayed advertisement (e.g., purchasing a product or services, signing up for a newsletter, and the like). The advertisement for which an expected performance is estimated may be a new advertisement or an existing advertisement with limited historical data. Accordingly, performance estimating module 214 may be configured to estimate the initial expected performance for a new advertisement or an updated expected performance for an existing advertisement. To estimate an expected advertisement performance, the estimating module utilizes an advertisement performance prediction model, e.g., using estimated historical click-through rate (CTR) for that advertiser or for similar type advertisements. One skilled in the art will recognize that performance estimating module 214 may estimate advertisement performance in a variety of ways. The estimated expected advertisement performance may be stored in a storage device, such as storage device 204.
A performance module 216 is configured for calculating the performance of an advertisement, e.g. determining the CTR or action rate for an advertisement. It will be appreciated that the performance may be the historical performance of an advertisement, such as the historical CTR or action rate for an advertisement. The (CTRhist) for the advertisement may be determined as:
CTR
hist
=C
total
I
total
In the above equation, Ctotal is the total number of historical clicks on the advertisement and Itotal is the number of impressions (e.g., times the advertisement has been displayed to users). The number of impressions can be further adjusted based on display context and location of the advertisement. For example, with reference to
It will be appreciated the historical action rate (Ahist) for an advertisement may be determined as:
A
hist
=A
total
/I
total
In the above equation, Atotal is the total number of actions (e.g., signing up for newsletter, purchasing product) for the advertisement and Itotal is the number of impressions (e.g., times the advertisement has been displayed to users).
The ranking module 218 is configured to determine advertisement rankings and adjust advertisement rankings if necessary. The advertisement ranking for each advertisement is determined based on the respective estimated expected performance measure determined (determined by estimating module 214) or, if available, the historical performance of the advertisement (determined by the historical performance module 216), or estimated advertisement revenue (which in turn uses performance estimates). Advertisements are presented (e.g., displayed) according to the advertisement ranking. Typically, the advertisement having the highest ranking will be awarded the most prominent display position, e.g., the top link of a vertical listing of links on a search engine web page that is displayed as the result of a particular user query. Upon selection of an advertisement by a user, the user may be redirected to a uniform resource locator (URL) (e.g., landing page, advertiser's webpage). The advertisement rankings determined utilizing the ranking module 218 may be stored in a storage device, such as storage device 204.
By way of example, and not by limitation, in revenue maximizing ranking auction, such as a second price auction, the ranking of three (3) new advertisements bidding for the same advertising display spot (e.g., same search terms) is determined by determining the externality the advertisement imposes on the other bidding advertisement. The estimating module 214 determines the estimated CTR for each advertisement. For example, if:
Advertisement A has a monetary bid of $1 and an estimated CTR of 1%
Advertisement B has a monetary bid of $0.50 and an estimated CTR of 1.5%
Advertisement C has a monetary bid of $0.30 and an estimated CTR of 1.1%
Then the advertisements would be ranked as:
1) Advertisement A with monetary value per click of $0.01
2) Advertisement B with monetary value per click of $0.0075
3) Advertisement C with a monetary value per click of $0.0033
It will be appreciated as historical data is collected, for example with respect to CTR, that the ranking module 218 will update the rankings. For example, if enough data has been collected for the historical performance module to calculate a historical CTR for advertisement A, the ranking of the advertisements is updated to reflect the historical CTR of advertisement A:
Advertisement A has a monetary bid of $1 and a historical CTR of 0.5%
Advertisement B has a monetary bid of $0.50 and an estimated CTR of 1.5%
Advertisement C has a monetary bid of $0.30 and an estimated CTR of 1.1%
Then the advertisements would be ranked as:
1) Advertisement B with a monetary value per click of $0.0075
2) Advertisement A with a monetary value per click of $0.005
3) Advertisement C with a monetary value per click of $0.0033
The executing module 220 is configured to implement the advertisement rankings. For example, the executing module will communicate with the presentation module 236 of an end user device 206 to present advertisements in order of advertisement ranking.
The extracting module 222 is configured to extract advertisement features. An advertisement feature may be a value or datum that represents advertisement information such as the number of clicks on the advertisement, number of actions based on the advertisement, number of impressions of the advertisement, and bids, revenue for the advertisement. For example, with reference to
The pricing module 210 is configured to determine the charge for an advertisement. The pricing module 210 illustrated in
The cost calculating component 224 calculates the cost per performance of an advertisement. In some embodiments, a pay per performance model is utilized. An exemplary pay per performance model is used in search engines, advertising networks, content websites/blogs, etc. Advertisers bid on keywords they believe their target market would type in the search bar when they are looking for a product or service. When a user types a keyword query matching the advertiser's keyword, the pay per performance model the cost calculating component may utilize a second price auction such as a Vickrey-Clark-Groves auction or a generalized second price auction or a variation thereof. In one embodiment, a second price auction is utilized for determining the cost per performance of an advertisement. It will be appreciated that the performance of an advertisement may be advertiser desired actions such as click-throughs or actions based on the advertisement.
By way of example, if the cost per performance is based on the click-throughs of an advertisement, the cost per performance is calculated by a second price auction (VCG) as:
Cost per performance=Bidbelow*(CTRbelow/CTRhist)
In the above equation, Bidbelow is the monetary bid of the advertisement ranked directly below Advertisement 1, CTRhist is the historical CTR of Advertisement 1 and CTRbelow is the CTR of the advertisement ranked directly below Advertisement 1. By way of example, with reference to
0.17*[0.029412/0.050887]=0.098277
The bid for the advertisement ranked below Advertisement 1 is 0.17. The CTR of the advertisement ranked below Advertisement 1 is 0.029412. The historical CTR of Advertisement 1 is 0.050887. As such, the cost per performance of Advertisement 1 for days 1 and 2 is 0.098277.
While the above example utilizes a second price auction to calculate the cost per performance, it will be appreciated that a variety of pay per performance models may be utilized to determine the cost per performance of an advertisement.
The comparison component 226 compares the cost per performance of an advertisement to the monetary bid for the advertisement to determine if the cost per performance calculated exceeds the monetary bid for the advertisement. For example, if the cost per performance of Advertisement 1 for days 1 and 2 is 0.098277 and the bid for advertisement is 0.2, the comparison component will determine that the cost per performance of the advertisement does not exceed the bid for the advertisement. If the cost per performance exceeds the bid for the advertisement, the bid amount for the advertisement is used to calculate the charge, rather than the cost per performance.
The adjusted revenue calculating component 228 calculates the total adjusted revenue for the advertisement. For example, the total adjusted revenue is the cost per performance calculated by the cost calculating component 224 multiplied times the total number of clicks or actions for the advertisement. By way of example, if the cost per performance is based on the CTR rate of an advertisement, the total adjusted revenue due for the advertisement is:
total adjusted revenue=current cost per performance*total click-throughs
By way of example, with reference to
0.098277*218=$21.42
The cost per performance for Advertisement 1 for days 1 and 2 is 0.098277. The total number of click-throughs for Advertisement 1 for days 1 and 2 is 218. As such, the total revenue for Advertisement 1 for days 1 and 2 is $21.42.
The revenue calculating component 230 calculates the charge for the advertisement. For example, the charge due for the ad is the total adjusted revenue due for the advertisement less the total revenue already paid for the advertisement. As such, the revenue due for the advertisement may be calculated as:
Total Revenue due for Advertisement−Revenue Paid for Advertisement
By way of example, referring again to
$21.42−$12.00=$9.42
Total revenue due for Advertisement 1 for days 1 and 2 is $21.42. The revenue already paid for Advertisement 1 through day 1 was $12.00. As such, the revenue due for the advertisement is $9.42.
As shown in
The user input module 206 is configured for receiving input of search query terms. Typically, search query terms are input via a user interface (not shown) associated with the end-user device, or the like. Upon receiving input of search query terms, the presentation module 236 of end-user device 206 is configured for presenting advertisements to a user in order by rank number. The input module 206 may also be configured to receive selections or click-throughs of an on-line advertisement or actions based of the advertisement (e.g., purchasing a product). In one embodiment, the presentation module 236 presents a plurality of relevant advertisements utilizing a display device associated with the end-user device.
As shown in
The input module 242 is configured for receiving input of bids, estimated performance or CTR of advertisements, and the actual advertisements from an advertiser or agent of an advertiser. In one embodiment, this information is input via an advertiser interface (not shown) associated with the advertiser device, or the like. Upon receiving input of the information, the presentation module 244 presents the revenue due for an advertisement to an advertiser. The presentation module 244 may also present information such as the total revenue paid, the total impressions and click-throughs of an advertisement. In one embodiment, the presentation module 244 presents the charge on a display associated with the advertiser device.
Referring next to
At step 406, the cost per performance calculated for an advertisement is compared to the bid placed by the advertiser. For example, in a second price auction, it is determined whether the cost per performance of the advertisement determined by a second price auction does not exceed the amount bid by the advertiser. The bid is the amount the advertiser is willing to pay for performance of the advertisement (e.g., a click-through or action). At step 406, if it is determined that the cost per performance of the advertisement exceeds the amount bid by the advertiser, the charge due for the advertisement is calculated using the current bid. For example, if the bid for each click-through for an advertisement was 0.075 and the cost calculated by a second price auction for each click-through of the advertisement was 0.080, then the advertiser is charged only the amount bid (0.075) for each click-through of the advertisement or the advertisement could be suppressed due to insufficiently high bid.
If at step 406 it is determined that the cost per performance calculated does not exceed the amount bid by the advertiser, at step 412 the total adjusted revenue for the advertisement is determined. The total adjusted revenue due for the advertisement is the cost per performance of the advertisement multiplied by the total number of performances (e.g., number of click-throughs or actions). At step 412, the charge due for the advertisement is determined. The charge for the advertisement is the total adjusted revenue due less the total revenue already paid for the advertisement. At step 414, the charge for the advertisement is stored. The total adjusted revenue for the advertisement may also be stored. The revenue due and total adjusted revenue for the advertisement may be stored in storage device 204 of
At step 416, the charge for the advertisement may be transmitted, presented, communicated and/or displayed to the advertiser. The charge may be presented on a display associated with an advertiser's device.
Referring next to
The data also includes the number of impressions 510 of the advertisement. The number of impressions includes the number of times the advertisement is presented to user(s). In this example, the advertisement for calculating revenue due is Advertisement 1. The data includes the number of clicks 515 (e.g., click-throughs or click-actions) for the time frame. The historical performance 520 (e.g., the click-through rate or click-action rate) of the advertisement and the bid 525 for the advertisement are included. The cost per impression 530 of the advertisement is also included.
The data also includes information for a second advertisement ranked beneath the first advertisement. For instance, Advertisement 2 may be ranked directly below Advertisement 1 by the ranking module 218 of
The table also includes the adjusted revenue total 565 for Advertisement 1 (Cost per click-through*total clicks on advertisement) that has been calculated using the system and method described above. The table includes the non-adjusted charge 550 and the adjusted charge 555. The adjusted charge is calculated utilizing the system and method described above for the specified time period. For example the adjusted charge for day 2 is $9.42 (Adjusted Total Revenue−Revenue already received for Advertisement), while the non-adjusted charge for day 2 was $9.63 (cost per click-through*number of clicks on day 2). The table also includes what the non-adjusted revenue total 560 and is merely the sum of the non-adjusted charge 550 for that time period and preceding time periods (e.g., the non adjusted total revenue on day 2 is the sum of the non-adjusted charge for day 1 ($12.00) and day 2 ($9.63)). The data also includes the revenue total bounded by the advertiser bid 570. In the cases where the cost per impression exceeds the advertiser bid, the cost is capped by the bid.
With reference to
With reference to
With reference to
As described herein above, embodiments of the present invention provide systems, methods, and computer-readable media for calculating charge for advertisements. The performance (such as CTR) of an online advertisement is utilized to calculate the current cost per advertiser desired user action (click-through) of the advertisement. The current cost per advertiser desired user action may be multiplied by the total number of advertiser desired user actions to determine the adjusted revenue total for the advertisement. In embodiments, the charge for the advertisement is the adjusted revenue total for the advertisement less the amount of revenue previously received for the advertisement.
While the embodiments described above relate to calculating charges for on-line advertisements, it will be appreciated that the concepts are applicable to a variety of auctioned services, including, telemarketing, such as pay-per-call. In this embodiment, the “selection” is when a telemarketer calls customers/potential customers and sells a product or service, or develops a lead. The performance would be the total number of leads and/or sales divided by the total number of calls made to customers/potential customers.
Embodiments described herein are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art without departing from the scope of embodiments described herein.
From the foregoing, it will be seen that embodiments of the present invention are well adapted to attain ends and objects set forth above, together with other advantages which are obvious and inherent to the systems and methods described. It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated by and is within the scope of the claims.