Utility Patent Application
of
Brian O1KELLEY
for a
METHOD AND SYSTEM FOR PRICING ELECTRONIC ADVERTISEMENTS
Copyright Notice
[0001] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
[0002] Copyright 2004 Right Media. All rights reserved.
Background of the Invention
Field of the Invention
[0003] The invention relates generally to management and delivery of electronic advertising, and relates particularly to pricing of electronic advertisements.
Description of Prior Art
[0004] Advertising on the Internet has become a popular and effective way of promoting goods and services. The interactive nature of the Internet has provided opportunities for better targeting in advertising. This interactive nature has also led to new pricing models for advertisements. With Internet advertising systems capable of recording viewer actions associated with electronic advertisements, pricing models can be based on such actions.
[0005] For example, a common online advertising method is the banner advertisement. The banner advertisement is usually a combination of text and graphics of a specific size appearing on the top of or along the side of a web page. If the content of such a banner advertisement interests an online visitor, the visitor can click on the banner advertisement for more information or to purchase a product.
[0006] If a visitor clicks on an electronic advertisement, then the advertising system that published the electronic advertisement is notified. After clicking on the advertisement, the visitor may subsequently act on or convert on the advertisement. A visitor can act or convert on an advertisement in several ways including, but not limited to, purchasing a product, ordering services, submitting an email address, or answering a question. If the visitor subsequently acts on or converts on the advertisement, then the publishing system is also notified.
[0007] An advertiser or owner of such advertisements may then be charged based on the visitor's viewing impressions, clicks, or conversions. Thus pricing models for electronic advertisements include cost-per-thousand impressions
CCPM), cost-per-click (CPC), and cost-per-action (CPA). Pricing models have become an important consideration for advertisers trying to maximize their return on investment (ROI), and for publishers trying to maximize revenue from advertisement management and display services.
[0008] Such pricing models have been combined with bidding systems allowing advertisers to adjust the price they are willing to pay for each advertisement. Some bidding systems include targeting rules based on historical performance. The historical performance is usually evaluated at arbitrary intervals. Most other systems use rule sets to determine which advertisement will produce the highest ROI.
[0010] For example, Overture
(http://www.content.overture.eom/d/USm/about/advertisers/spjntro.jhtml) is a pay-for-placement (P4P or PFP) service that allows advertisers to purchase search terms so that when users search for those search terms on search engines such as Yahoo (http://www.yahoo.com/), MSN (http://www.msn.com/), and AltaVista (http://www.altavista.com/), the advertiser's advertisement will appear as impressions, typically labeled as a "sponsored link" or the like. Advertisers can associate each search term with a target URL. In one model, Overture charges for clicks but not for impressions (i.e. it is a CPC-based model, not a CPM-based model). Using this CPC-based model, advertisers determine how much they want to pay for each search term. Then they check Overture's reports (for example monthly) to see how many clicks each search term generated and what the CPC was for each search term. Advertisers can discard non-performing search terms (i.e. those with no clicks), and advertisers can spend more money on performing search terms (i.e. those with clicks). One problem with this system is that an advertiser's budget can be quickly exhausted by a few search terms with a high cost, i.e. those with many clicks where the advertiser payed a high amount for the search terms. Another problem with this system is that advertisers must constantly monitor the performance of all search terms and all search engines in an attempt to efficiently acquire the most conversions.
[0011] There are also a number of patents that relate to electronic advertisement pricing and management.
[0012] U.S. Pat. No. 6,026,368 "On-Line Interactive System And Method For
Providing Content And Advertising Information To A Targeted Set Of Viewers" (Brown et al. 02-15-2000) describes a system for targeting and providing advertisements in a prioritized manner. A queue builder generates priority queues. Content data and subscriber data is sent to the queue builder. An online queue manager receives priority queues from the queue builder and sends content segment play lists over a network.
[0013] U.S. Pat. No. 6,285,987 "Internet Advertising System" (Roth et al. 09-04- 2001) describes a system that uses a central server to provide advertisements based on information about viewers who access web sites. A database stores advertisements, information about viewers, and characteristics of a web site. Advertisers specify proposed bids in response to specific viewing opportunities, bidding agents compare characteristics of viewing opportunities to specifications in proposed bids, then the bidding agents submit bids as appropriate.
[0014] U.S. Pat. No. 6,324,519 "Advertisement Auction System" (Eldering 11-27- 2001) describes an auction system that uses consumer profiles. When a consumer is available to view an advertisement, advertisers transmit advertisement characterization information which is correlated with a consumer profile. Advertisers place bids for the advertisement based on the advertisement characterization and the subscriber profile.
[0015] U.S. Pat. Application No. 2002/0116313 "Method Of Auctioning Advertising Opportunities Of Uncertain Availability" (Detering 08-22-2002) describes a method of determining pricing and allocation of advertising messages. Before an advertising opportunity occurs, bids are organized around profiles of individuals. Advertisers specify their audience preferences and a ranking list of potential contacts is drawn from a database of profiled individuals and
displayed to the advertisers. Advertisers then enter their maximum bid and/or bidding criteria for contacting each of the displayed contacts.
[0016] U.S. Pat. Application No. 2003/013546 "Methods For Valuing And Placing Advertising" (Talegon 07-17-2003) discloses a method for valuing and placing advertisements based on competitive bidding. Publishers make advertisement space available to an intermediary who accepts bids from advertisers and awards advertising space based on ranking.
[0017] U.S. Pat. Application No. 2003/0220918 "Displaying Paid Search Listings In Proportion To Advertiser Spending" (Roy et al. 11-27-2003) describes a pay for placement database search system. Advertisers pay for their search listings to be provided with search results in response to queries from searchers.
[0018] U.S. Pat. Application No. 2004/0034570 "Targeted Incentives Based Upon Predicted Behavior" (Davis 02-19-2004) describes a system for anticipating and influencing consumer behavior. Consumers receive targeted incentives based upon a prediction about whether the consumer will enter into a transaction.
[0019] U.S. Pat. Application No. 2004/0068436 "System And Method For Influencing Position Of Information Tags Allowing Access To On-Site Information" (Boubek et al. 04-08-2004) describes a method of advertising on the Internet. Information providers influence the position of their information tags by auctioning directory search terms associated with the information tag. The information tags allow consumers access to information maintained on the same website as the information tag.
[0020] While the prior art discloses attempts to improve pricing models for Internet advertisements, these attempts generally focus on making rule sets for bidding based on historical data. The analysis for making rule sets is done off-line or at specified time intervals. Much of the advertiser's time is spent adjusting bidding amounts and strategies. Prior attempts do not concentrate
analysis "at the Individual advertisement level. Furthermore, prior attempts either maximize revenue for the publisher or maximize ROI for the advertiser - but not both. What is needed, therefore, is a method of pricing advertisements at the individual level, using real time data, in a manner that maximizes revenue for the publisher and maximizes ROI for the advertiser.
Brief Summary of the Invention
Overview
[0021] The present invention is a method of pricing electronic advertisements. The invention provides:
1) Dynamic Pricing. The invention provides the ability to set a price for an advertisement at run time based upon the "advertiser value," namely the value of the advertisement as determined by the advertiser (based on past performance or other criteria).
2) Pricing based on "soft targets." The invention provides the ability to determine whether a predetermined price meets an advertiser's soft targets. "Soft targets" are CPC-based or CPA-based ROI targets based on the projected actions of the visitor.
3) Auction-based pricing. The invention provides the ability for the advertiser to pay only as much as necessary to secure the impression, while insuring the advertiser does not pay more than the advertisement is worth. This process maximizes publisher revenue while ensuring that advertisers meet their ROI goals.
[0022] As an electronic advertisement pricing system, the invention may be integrated with or operate as a component of a larger advertisement serving system. An advertisement serving system using the present invention may manage all interactions with advertisers and users including creative content, session management, reporting, targeting, trafficking, and billing. Such a system may include a mechanism or component, either online or off-line, to predict how likely a visitor is to convert on a particular advertisement.
[0023] The ROI for an advertiser's campaign is usually calculated after a campaign has been completed. Each visitor action can be assigned some value by the advertiser to calculate the return on investment (ROI) for the advertising campaign. For example, an advertiser may assign one value for clicking an electronic advertisement, a second value for filling out a form, a third value for subscribing to a newsletter, a fourth value for purchasing a product, and so
on. In the following formula, "n" is a binary number representing whether or not a particular action occurred (i.e. "n" is equal to one if the action occurred, "n" is equal to zero if the action did not occur), and "r" represents the value of the corresponding action. So
1) if na represents the ath action and ra represents the value of the ath action; and
2) if nb represents the bth action and rb represents the value of the bth action; and
3) if nx represents the xth action and rx represents the value of the xth action; then the ROI can be represented as:
. _ _ . {(naxra)+(nbxrb)+...+(nxxrx)) campaιgnROI= — - — — — — campaignCost
[0024] When, as in other systems, the cost of an impression is fixed, the above equation becomes:
campaιgnROI= — - — — — — fixedCost
[0025] where fixedCost represents the fixed cost of a particular campaign. When the cost of a campaign is fixed, the only way to increase the ROI is increase the value of rx, which is usually only possible by changing the advertised product itself to make it more valuable, which may not be possible or practical.
[0026] When advertisers have a minimum acceptable ROI (and therefore a range of acceptable ROIs), then the value of the campaign cost (campaingCost) can be varied to stay within the range of values of acceptable ROI:
((naxra)+(nbxrb)+... +(nxxrx))
(campaignROI≥minimumAcceptableROI)= campaignCost
[0027] In this scenario, the advertisement server can increase each impression price to decrease the advertiser's campaign ROI without having the ROI go below the minimum acceptable ROI. Similarly, the advertisement server can
decrease each impression price to increase the advertiser's campaign ROI. In this way, the present invention calculates a projected ROI when an advertisement is run (i.e. in real time). The projected ROI is calculated using a "conversion probability," which is the probability of visitor action such as the probability that a user will click on a particular impression, or the probability that a user will convert on a particular impression. The projected ROI calculation also uses an impression cost. The impression cost is set by the publisher and is within a range of acceptable values. Using a probability of a visitor action and an impression cost, the invention calculates a projected ROI for a particular advertisement and online visitor. If px represents the probability that an online visitor will act on action x if this advertisement is shown to the online visitor (i.e. "p" is a value between or including zero and one), then the projected ROI for the next impression is:
. DΛf ((P βxrβ)+(pbxrb)+... +(PxXrx)) ιmpressιonROI= — - — — — impression Cost
[0028] So the formula to calculate the impression cost (impressionCosή becomes:
((P axra)+(pbxrb)+... +(pxxrx)) impression Cost=- impressionROI
[0029] The projected value of an action is calculated by multiplying each action's probability times its value (e.g. (paX ra)), and the projected value of an impression is calculated by summing these results for each action (the numerator of the right half of the above formula). By dividing this projected value of an impression by the calculated ROI, the impression cost can be calculated. By setting the impression cost at a price the publisher will accept, the system can maximize revenue for a publisher while still meeting ROI goals of the advertiser. Advertisers have the option of specifying maximum and minimum price constraints as well as ROI targets. The system may adjust the final maximum price as the lesser of the advertiser's price constraint and the ROI-derived impression cost.
FoYSx'aήiϊpie, an advertiser's definition of a "lead" could be a user who say an advertisement (an impression), clicked on it, and acted on it by filling out a form. Rather than paying a certain amount for each click associated with a search term (as in the Overture example), the advertiser determines that it is willing to pay $20 for a lead, and the system adjusts the amount the advertiser is willing to pay for advertisements from all providers to archive the $20/lead goal. This is the opposite of how Overture works, where users set prices for search terms, not for leads.
Features and Advantages
[0031] An advantage of this invention is that it provides the ability to 1) set a price for an advertisement at run time based upon the value of the advertisement to the advertiser (pricing dynamically) and 2) determine whether a predetermined price is advantageous for the advertiser (pricing based CPC or CPA soft targets).
[0032] Another advantage of this invention is that it maximizes publisher revenue while ensuring that advertisers meet their ROI goals. The invention calculates an advertiser's projected ROI and a publisher's expected CPM (eCPM) in real time, not at intervals, so pricing of each electronic advertisement is more efficient for both advertisers and publishers.
[0033] Another advantage of the invention is that it focuses on the individual advertisement level and not in the aggregate. This individual advertisement focus is also done automatically, eliminating the need for advertisers to spend time reviewing each advertising opportunity. Advertisers may designate a target ROI for their campaign instead of focusing on bidding and pricing strategies. Advertisements can be targeted by market segment and by target website.
[0034] Another advantage is accurate pricing of individual advertisements. In prior systems, advertisers attempted to maximize their ROI by adjusting the amount they are willing to pay for advertising during the campaign. This can be inefficient as the advertiser pays the same amount for a high-quality impression as for a low-quality impression. So without dynamic pricing, if an advertiser sets its price too low, then it won't get any delivery, and if the price is too high, then the advertiser will not meet its ROI goals. With pricing based on a projected ROI, however, each individual advertisement is accurately priced so that advertisers are getting the most value from each advertisement impression. Additionally, advertisers can run campaigns by focusing more on ROI targets rather than bidding strategies.
Brief Description of the Drawings
[0035] In the drawings, closely related figures and items have the same number but different alphabetic suffixes. Processes, states, statuses, and databases are named for their respective functions.
[0036] FIG. 1 is a diagram showing the overall advertisement serving process and pricing system.
[0037] FIG. 2 is a flow chart of the pricing process.
[0038] FIG. 3 shows a client-server environment for the invention.
[0039] FIGS. 4-6 are flow charts showing component processes of the pricing system.
Detailed Description of the Invention, Including the Preferred Embodiment
Operation
[0040] In the following detailed description of the invention, reference is made to the accompanying drawings which form a part hereof, and in which are shown, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be used, and structural changes may be made, without departing from the scope of the present invention.
[0041] FIG. 1 shows the process of serving an advertisement over the Internet and how the pricing process of the present invention fits into Internet advertisement serving systems. In the course of using the Internet 120, a person may use a web browser on a client computer (not shown) to visit a website on a server computer (not shown) running a web server (not shown). Upon connecting to this website, and while navigating through web pages on this website, the website has an opportunity to presented advertisements to the visitor. For simplification, the following discussion refers to "display" of advertisements, but advertisements can have visual components, audio components, text components, other components, or any combination of the above. Every advertisement displayed to the visitor is termed an impression.
[0042] Certain web pages are designed to display an advertisement impression to the visitor. At block 100, the visitor's browser requests an advertisement from advertisement server system 130. Upon receiving the advertisement request from the browser, advertisement server system 130 specifies a list of eligible advertisements for consideration, advertiser constraints, and visitor action probabilities in step 140. Advertising pricing process 150 receives the eligible advertisements, constraints, and probabilities for selecting and pricing an advertisement. After pricing and selection of an advertisement, advertising pricing process 150 sends, in step 160, a winning advertisement and its price to advertisement server system 130. Advertisement server system 130, in
conjunction with the web server (not shown), then returns the selected advertisement to the web browser. In block 110, the web browser displays the selected advertisement to the visitor. By a combination of web browser session data, web browser cookies, and HTTP calls from the websites visited by the users to the advertisement server system 130, click data and conversion data is calculated.
[0043] FIG. 2 shows a detailed decision process for pricing electronic advertisements. In block 200, a browser requests an advertisement to display to a visitor. In block 205, electronic advertisements that are eligible for auction are identified. This identification process is called "hard targeting." Hard targeting rules for advertisements can be based on any number of factors including, but not limited to, size of the advertisement, geography, frequency cap, website or section exclusions, creative or advertiser bans. Eligibility may be based on several factors such as format of advertisement, or size of advertisement. For example, a browser may have a space available for a 120x600 pixel banner advertisement. When the browser requests an advertisement for this space, only those advertisements fitting this size requirement will be considered. The requested advertisement may also be restricted to a ".gif" image, must contain flash animation, must be a text-based advertisement, or other such restriction. Eligibility of an advertisement may also be based on content of an advertisement. A user may enter search terms into a search engine, in which case only advertisements associated with the search term would be eligible. The browser or website may request specific content such as, for example, a mobile phone advertisement. In such a request, only advertisements with content relating to mobile phones will be considered. Another eligibility factor can be type of advertisement. Advertisements may be banner advertisements, advertisements providing a game for a visitor to play, floating advertisements, HTML emails, and so forth. Requests for HTML emails may come from a browser or from a separate marketing engine.
[0044] Continuing now with FIG. 2. The system next applies soft targeting (block 210) (FIG. 5, via off-page connector A). "Soft targets" are CPC-based or CPA-based ROI targets based on the projected actions of the visitor. Soft
targeting is performed at the advertisement placement level. If the placement is ahead of its CPC or CPA soft target, the system can show any advertisement. If the placement is behind this target, the system may operate by only showing advertisements that the invention predicts to be at or below the target.
[0045] Continuing now with FIG. 2. At block 220, expected revenue for statically priced electronic advertisements is calculated. At block 225, the system calculates a maximum price for flexibly priced CPM advertisements for each advertiser (FIG. 4, via off-page connector B). After the system calculates the maximum dynamic CPM for each advertiser, an auction is conducted to choose the electronic advertisement with the highest expected revenue (eCPM) for the publisher (block 230), which is the "best electronic advertisement." If the best electronic advertisement (the auction winner) is a dynamically priced electronic advertisement (block 235), then the price of the best electronic advertisement is lowered to a point just greater than the second-best electronic advertisement from the auction (block 240), and then the best electronic advertisement is returned to the browser (block 245). If the best electronic advertisement is not a dynamically priced electronic advertisement (block 235), then the best electronic advertisement is returned to the browser (block 245).
[0046] FIG. 3 shows a client-server environment for the invention. One or more client computers 300 connect via Internet 120 to server computer 310, which is operative to run a web server 320 and a database server 330. The database server 330 serves data from a database (not shown), which stores electronic advertisements, advertiser data, publisher data, and related data. The server computer 310 communicates with and operates in conjunction with advertisement server 340, which is operative to run the advertisement server system 130 and the advertisement pricing process 150. In the preferred embodiment, the advertisement server system is implemented in the C programming language, and the database is Berkeley DB. It is to be understood that the web server, database server, and advertisement server can be configured to run on one or multiple physical computers in one or
more geograpnic locations, that alternate platforms can be used for the database and for each server, and that alternate programming languages can be used.
[0047] FIG. 4 shows the process of FIG. 2, block 225, in more detail. Beginning at block 400, the system determines if the dynamic CPM advertisement has a CPC or CPA target. For dynamic CPM advertisements with CPC targets, at block 405, the system calculates the current CPC as the amount spent divided by the number of clicks. If the current CPC is greater than the target CPC, block 410, then the maximum CPC is set to an amount greater than target CPC, block 415. Otherwise, the the maximum CPC is set to an amount equal to the target CPC, block 420. Then a maximum CPM is calculated as the product of 1) 1000, 2) the calculated maximum CPC, and 3) a real time click probability, block 425.
[0048] Continuing with FIG. 4. For dynamic CPM advertisements with a CPA target, the system begins by calculating the current advertiser value, block 430. The current advertiser value is, for each advertisement, the sum of the product of the 1) conversion targets and 2) the number of conversions. At block 435 the system calculates the expected value of the CPM advertisement. If the current advertiser value is greater then the amount spent, block 440, then the maximum CPM is set to an amount greater than the expected value, block 445. Otherwise the system sets the maximum CPM to an amount equal to the expected value, block 450.
[0049] FIG. 5 shows the process of FIG. 2, block 210, in more detail. FIG. 5 is illustrative of the soft targeting process and shows a flow diagram for soft targeting of a CPM advertisement with a CPC target. If a CPC advertisement is ahead of its target, block 500, then the considered advertisement can be shown. Otherwise, the system calculates a projected CPC using a real time generated click probability, block 510. If the projected CPC is less than or equal to a target CPC, then the advertisement can be shown, block 505. Otherwise, don't show the advertisement, block 520.
[0050] FIG. 6 shows ffie" preferred bidding method. As described in blocks 600 to 625, if there are no advertisements, show a public service advertisement or other non-paying advertisement (600). Next, rank all advertisements from highest to lowest expected revenue (605). If multiple advertisements are tied as the best, randomly choose one advertisement as the winner and one advertisement as the second-best, then decrease the expected revenue of the second-best advertisement by one bidding increment (610). Eliminate all advertisements except the best two from consideration (615). If the best advertisement has pricing flexibility, set its price to one bidding increment more than the expected revenue of the second-best advertisement. If there is not a second-best advertisement, set the price of the winning advertisement to the greater of the bidding increment and the advertiser's minimum price constraint (620). The best advertisement is then shown to the visitor (625).
Other Embodiments
[0051] The system may consider combinations of advertisement pricing models such as CPC, CPA, and flat-rate CPM. Visitor action probabilities are also used with these pricing models to predict an expected revenue for each type of pricing model considered. When combining pricing models, the system calculates an expected revenue for the publisher for each advertisement considered.
1) For CPA advertisements, an expected revenue is the product of the conversion probability and the value of such a conversion.
2) For CPC advertisements, the expected revenue is the product of the click probability and the advertiser's value of such a click.
3) For fixed price CPM advertisements, the expected revenue is the fixed cost of the advertisement.
4) For dynamically priced CPM advertisements, the expected revenue is the maximum dynamic CPM as calculated previously following the steps as shown in FlG. 2. The maximum dynamic CPM may be selected as the lesser of the calculated maximum dynamic impression cost (maximum impression cost), and an advertiser's assigned maximum price. The formulas for expected revenues are:
expRevDYN=maximumlmpressionPrice
expRevCPA=({paxra)+(pbxrb)+...+(pxxrx)) expRevCPC={pclickx rclij expRevCPM=rimp
Once each advertisement has been assigned an expected revenue, the system can select the advertisement with the highest expected revenue to return to the browser. Alternatively, the system may hold an auction wherein those advertisements with flexible pricing may have their price incrementally raised, according to the publisher's and the advertiser's bidding rules, until there is a winner.