US20140025486A1 - Method and system for scheduling electronic advertising - Google Patents

Method and system for scheduling electronic advertising Download PDF

Info

Publication number
US20140025486A1
US20140025486A1 US14/016,220 US201314016220A US2014025486A1 US 20140025486 A1 US20140025486 A1 US 20140025486A1 US 201314016220 A US201314016220 A US 201314016220A US 2014025486 A1 US2014025486 A1 US 2014025486A1
Authority
US
United States
Prior art keywords
advertising
impressions
computer
contract
time interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/016,220
Inventor
Michael Bigby
Britton Glasser
Adam Taisch
Andy Atherton
Harry Fung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Excalibur IP LLC
Altaba Inc
Original Assignee
Yahoo Inc until 2017
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Inc until 2017 filed Critical Yahoo Inc until 2017
Priority to US14/016,220 priority Critical patent/US20140025486A1/en
Publication of US20140025486A1 publication Critical patent/US20140025486A1/en
Assigned to EXCALIBUR IP, LLC reassignment EXCALIBUR IP, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to YAHOO! INC. reassignment YAHOO! INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EXCALIBUR IP, LLC
Assigned to EXCALIBUR IP, LLC reassignment EXCALIBUR IP, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0246Traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0264Targeted advertisements based upon schedule
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0272Period of advertisement exposure

Definitions

  • the present invention relates to methods and systems for scheduling advertising lines, and in particular for scheduling electronic advertising lines.
  • An electronic publisher treats the available advertising space as inventory.
  • the term “inventory” can include available advertising space in a variety of media, including but not limited to web pages, portions of web pages, banners, buttons, pop-up windows, placement within sponsored search listings, and streaming media (including video and/or audio). Each time one of these advertisement types is played for or presented to a user constitutes an “impression.”
  • the inventory of advertising space includes the capacity to render advertising in any of these formats.
  • advertising is not limited to commercial advertising, but may also include any purchase of the ability to deliver information content of any type.
  • a public service notice or a pure entertainment streaming video that is purchased by a sponsor, but only delivers information to the recipient without asking the recipient to take any action or make any purchase would still be encompassed by the term “advertisement” as used herein.
  • a unit of delivery for advertising may be referred to as a line.
  • a line refers to one particular set of creative expressions delivered over one particular period of time for a web site.
  • a line is also a unit of purchase, so it has an associated particular rate or cost.
  • Advertising media inventory may be divided into two general classes.
  • the first type is “guaranteed” (also called Class I). This inventory is generally paid for in advance and is guaranteed (by contract) to be delivered within a certain period. Because of this constraint, Class I inventory cannot be oversold, and an inventory management system exists to measure and regulate inventory availability. Class I inventory is generally sold to large, branding-oriented advertisers who need reliable delivery to achieve their marketing goals and are willing to pay premium prices for that inventory. Class I inventory is typically sold on a cost-per-impression (CPI) basis.
  • CPI cost-per-impression
  • Class II The second type of media inventory is “preemptible” or non-guaranteed (referred to herein as “Class II.”) It comprises the remnant of available inventory after Class I is served. Class II advertising is generally paid for in arrears, because it can be preempted at the publisher's discretion without violating any contractual obligation. Class II inventory serves as a sink for excess supply and can be thought of as a “spot” or “auction” marketplace. This inventory is usually sold to smaller advertisers, often to direct marketers who wish to drive transactions rather than branding.
  • Class II inventory is most frequently sold on a performance basis, meaning that the advertiser pays based only in the event of a response to an ad, rather than just for placement of that ad.
  • This performance basis adds uncertainty to the estimation of the value (on a per-impression basis) of a media purchase.
  • Cost-per-click deals require the advertiser to pay the electronic publisher a fixed amount per click by an end user that sees or hears the advertisement. This cost-per-click is also called a “click bounty”. (This requires the viewer to take an action, but does not necessarily require a purchase by the viewer to trigger an obligation for the advertiser to pay the publisher.)
  • Cost-per-acquisition deals require the advertiser to pay the electronic publisher a fixed amount per action that happens after the click. For example, an advertiser might pay a fixed bounty for each new membership to their site that was driven from the advertisement. The advertisement must actually be effective (in leading a viewer to purchase goods or services) in order to trigger an obligation for the advertiser to pay the publisher for the advertisement. This cost-per-acquisition is called an “acquisition bounty”.
  • the prior art advertisement delivery system was designed for Class I inventory.
  • the prior art system assumed that the sum of all the sales will be less than or equal to the available inventory. This is enforced by an inventory prediction system and scheduling system.
  • the ad server was designed to satisfy as many contracts as possible on schedule. Thus when selecting an ad, the ad server finds the set of all appropriate ads and chooses the one from the contract that is most behind on its delivery schedule. If no contracts are behind then no ad is chosen. Since the system constrains the sold inventory to less than or equal to 100%, this results in the most Class I contracts being satisfied on schedule.
  • a method for scheduling advertising comprises the steps of: estimating a respective fraction of delivered advertisement impressions that result in a response from a user for each of a plurality of advertising contracts, estimating a value per impression for each of the advertising contracts, and scheduling an advertising line under the contract having the highest value per impression at a next available advertising window.
  • FIG. 1 is a flow chart diagram of a method of scheduling advertisements with multiple classes.
  • FIG. 2 is a detailed diagram of the Class II scheduling step shown in FIG. 1 .
  • FIG. 3 is a flow chart diagram of the click through rate calculation step of FIG. 2 .
  • FIG. 4 is a flow chart diagram of a method for calculating the conversion rate.
  • FIG. 5 is a flow chart diagram of a method for determining the number of impressions to be rendered during each scheduling interval.
  • FIG. 6 is a block diagram showing an exemplary ePCM system for performing the method of FIGS. 1-5 .
  • Permissible over-scheduling may include any combination of (1) Class I advertising less than or equal to the total amount of advertising space inventory, plus (2) any amount of Class II advertising.
  • Class II prices are generally lower than Class I, so Class II advertisers are capable of purchasing impressions in much larger numbers than Class I advertisers.
  • Class II generally the bigger advertising contracts have lower values per impression. That is, the expected value to the publisher per advertisement shown decreases as the purchase size increases. In this environment (overselling, bigger-is-cheaper), ideal behavior would be delivering the advertising having the highest expected return per impression first.
  • the biggest contracts were served first. This means that the lowest value contracts were serviced before the higher value ones.
  • One exemplary embodiment described herein delivers Class I and Class II advertisements with different priority schemes.
  • Class I advertisements continue to be delivered by the most-behind-first method described above.
  • Another exemplary embodiment only handles Class II advertising.
  • Class II advertising is delivered in a highest-value-first manner. To fairly compare the values of CPI, CPC and CPA contracts, an effective CPI value is estimated for every CPC and CPA contract.
  • click bounty paid per click.
  • conversion bounty paid per conversion (acquisition).
  • FIG. 1 is a flow chart diagram of an exemplary method for scheduling advertisements in a system having at least two classes of advertisements.
  • Urgency is a measure of how far behind schedule the delivery of the advertisement is.
  • the measure of urgency may be the fraction of impressions remaining to be served divided by the fraction of time remaining to fulfill the contract.
  • step 104 if there are Class I impressions to be delivered, then the Class I impressions are scheduled in order of urgency. If a large number of impressions are to be served for a given line, the total number of impressions to be served is divided into periodic groups over the period of time in which the impressions are guaranteed to be rendered.
  • the Class II advertisements are scheduled in order of value per impression. If there are more Class II contracts available than it is possible to fulfill, only the Class I contracts plus a subset of the Class II contracts having the highest value per impression are fulfilled.
  • step 110 if there is a tie between two (or more) Class II contracts having the same value per impression, then at step 112 , the tie is broken by scheduling the advertisement having the greater urgency first. This is to say that Class II lines of equal value compete with each other like Class I lines compete.
  • FIG. 2 is a flow chart showing details of the Class II scheduling step 108 in FIG. 1 .
  • a loop including steps 202 - 210 is performed for each Class II advertisement.
  • “new” includes any advertisement for which an insufficient number of impressions have been rendered to accurately estimate the click-through rate and/or the conversion rate.
  • step 204 if the advertisement is new, a predetermined, relatively high click-through rate is assumed. In the case of a CPA contract, a predetermined, relatively high conversion rate is also assumed. Then, step 210 is executed next.
  • step 206 if the advertisement is not new, data on responses (clicks and/or acquisitions) per impression are collected as advertisements are rendered.
  • the click-through rate is estimated in near real-time as impressions are rendered.
  • the CTR is calculated in near real-time from the last previously scheduled set of impressions served for that contract.
  • the CVR is estimated daily for CPA contracts (or at another predetermined interval that is preferably longer than the period needed to accurately estimate the click through rate).
  • the value per impression is estimated.
  • the CTR (the assumed CTR for a new contract, or the most recently estimated CTR for a contract that is not new) is multiplied by the click bounty for a CPC contract, or by the product of the conversion bounty and the CVR for a CPA contract.
  • step 212 after the loop of steps 202 - 210 is repeated for each Class II contract, the advertisements are scheduled so that the advertisements having the highest value per impression are scheduled first.
  • the ad system calculates the expected value per impression. This is done in different ways for each of the three different payment types (CPI, CPC, CPA). For CPI deals the estimation is trivial: The expected value is the CPI specified in the contract, i.e., no estimation is required. The following equation is used:
  • Click bounty is defined as dollars per click.
  • Conversion bounty is defined as dollars per conversion.
  • CTR is defined as clicks per impression.
  • Conversion rate is defined as conversions per click. Expansion and cancellation of the units in the above equations show that in all three cases, the result is a quantity specified in dollars / impression. From the above equations, it is clear that to estimate value for a CPC contract, CTR must be estimated; and for a CPA contract, CTR and CVR must also be estimated.
  • priorities are calculated in near real-time.
  • the expected value (expected cost per 1000 impressions or eCPM) is calculated by the system using the above three equations.
  • CTR is estimated for each individual contract in near real time by the system by looking at a window of the past click behavior. This is accomplished by maintaining a system of “buckets”. Each bucket represents the number of clicks that have occurred in a fixed number of page views or impressions (scale).
  • FIG. 3 is a flow chart diagram of an exemplary method for calculating the click through rate for a single advertising line. It will be understood that this process is carried out individually for each advertising line.
  • step 300 upon the addition of a new advertising line, all of the bucket values (number of clicks in each bucket) for that advertising line are set to a high initial value, corresponding to a high click through rate. For example, bucket values corresponding to a 1% click through rate may be used. (The number of clicks per bucket corresponding to a particular click through rate is proportional to the size of the bucket.)
  • new data are added to a separate accumulator bucket, which is the same size as the rest of the buckets.
  • the accumulator bucket includes a counter for the number of impressions and a counter for the number of clicks from those impressions.
  • the accumulator bucket stores the most recent impression and click data until a complete “bucket full” of data are collected.
  • step 304 the number of impressions in the accumulator bucket is compared to the fixed bucket size. If the accumulator bucket is not full (the number of impressions is less than the size of the buckets, then at step 302 , additional results of impressions are added to the accumulator bucket. When the number of impressions in the accumulator bucket reaches the bucket size, then step 306 is executed.
  • the data in the least recently filled bucket are replaced with the data in the accumulator bucket, so that the buckets form a circular buffer.
  • the time stamp of the least recently filled bucket is updated to reflect its current update time and date, so that the second least recently filled bucket now becomes the least recently filled bucket.
  • the click through rate is calculated from the total number of clicks across all the buckets (except the accumulator bucket) divided by the total number of impressions across all the buckets (except the accumulator bucket).
  • the accumulator bucket values are reset to zero, so that a new set of impressions can be added to the accumulator bucket at step 302 .
  • each bucket may have the results of 10,000 page views.
  • N buckets e.g., 10 buckets
  • an additional bucket is used as a temporary accumulation space. Impressions and clicks are counted, and stored in the N+1 th bucket (accumulation space).
  • the click through rate can be calculated at any time by summing the clicks in the buckets and dividing by (N*number of impressions per bucket).
  • N*number of impressions per bucket In the exemplary system 10 buckets representing 10,000 impressions each are used. This means that the advertising system looks at the last 100,000 impressions for a given contract to determine CTR.
  • the buckets are pre-filled with some pre-determined, high-valued CTR.
  • CTR some pre-determined, high-valued CTR.
  • an initial CTR of 1% may be assumed, so that each bucket of 10,000 impressions is initially assigned 100 clicks. This allows a contract to initially assume a high CTR (and thus high estimated value) and allows new contracts to get started.
  • a bucket of impressions e.g., 10,000 impressions
  • the contents of the bucket having the oldest data are replaced with the clicks in the N+1 th bucket (the temporary bucket).
  • the CTR has fallen to the actual CTR.
  • CTR is calculated as a moving average based on actual performance data, with the calculation performed each time a bucket of impressions is served.
  • CVR is calculated offline, once per day by the scheduling system. This estimated CVR is generated by:
  • the scheduling system combines this quantity with the CPA once per day to generate a virtual click bounty with the following equation:
  • CPA contracts are calculated using the algorithm for CPC contracts by the advertising system, with the result multiplied by the cost per conversion.
  • CPA deals are given a “grace period” (e.g., 2 weeks) during which a default value of CVR is used. This default is set reasonably high so that the contract is assigned some delivery by the system. At any point during the grace period, if some conversions are captured then the “true” CVR is calculated. If the grace period expires without conversions being entered, the CVR falls to zero.
  • FIG. 4 is a flow chart diagram of an exemplary method of calculating the conversion rate for a single advertising line. It will be understood that this process is performed individually for each advertising line.
  • the conversion rate is initialized at a sufficiently high initial value that the advertising line will be scheduled by the system.
  • steps 404 - 408 are repeated while the time (since introduction of the advertisement) is less than the grace period.
  • the system waits for a conversion and maintains two counters for this advertisement: a counter for clicks and a counter for conversions.
  • step 406 when a click occurs (or an impression is rendered), but no conversion occurs, then step 402 is performed, and the system continues to wait for a conversion.
  • step 408 is executed.
  • the counter for the number of conversions is updated with each conversion.
  • the conversion rate for the advertisement is calculated as the total number of conversions divided by the total number of clicks for the advertisement since it was first rendered.
  • the counters are incremented each time a conversion occurs, but the conversion rate CVR is only updated at a fixed interval, such as on a daily basis.
  • the period between CVR updates coincides with the scheduling period for advertisements.
  • the conversion rate can be updated with each conversion, or with each click. It will be understood that only updating CVR with each conversion will produce higher estimates of CVR in between conversions, and updating the conversion rate with each click will cause CVR to drop to lower levels whenever a long period passes between conversions.
  • step 410 is executed.
  • step 414 is executed. Otherwise, step 412 is executed.
  • CVR is calculated as the total number of conversions divided by the total number of clicks for the advertisement since it was first rendered.
  • the conversion rate is assigned a value of 0.0.
  • the system tries to deliver only as many advertisements as the advertiser wants delivered.
  • CPC and CPA advertisers do not order specific numbers of impressions; the advertiser either orders a number of clicks (for a CPC contract) or a number of acquisitions (for a CPA contract).
  • the publisher uses the estimated CTR to determine the expected number of impressions to serve in order to meet the desired number of clicks or acquisitions.
  • many contracts specify a period over which the impressions are to be rendered (e.g., a day, a week or a month).
  • the exemplary system divides the expected number of impressions for the contract into a plurality of relatively short intervals. For example, a week's worth of advertisements may be divided into 336 half-hour intervals). The system tries to deliver the advertisements smoothly.
  • the 336 half-hour intervals are weighted by the relative traffic patterns on the site. For example, 3:30 AM might get 1000 impressions while 1:00 PM might get 5000.
  • the number of clicks scheduled in any given interval is given by:
  • the number of advertisements to be rendered in any given half-hour interval is determined by the number of clicks or acquisitions yet to be obtained, the current estimate of the CTR, and the weights of the remaining half-hour intervals. This produces a self-regulating effect. Because the estimated value per impression for both CPC and CPA contracts is proportional to the estimated CTR, an overly high initial estimate of the CTR causes an advertisement to jump ahead of other advertisements that actually have a higher value, but a smaller number of impressions are rendered than would be rendered if the initial estimate of CTR is closer to the actual CTR. Thus, higher value advertisements are not crowded out.
  • all intervals have the same weight. For example, if one million impressions are required in a week, the alternative system will schedule about 3000 advertisements in each of the 336 half-hour intervals, and will not schedule one million in the first half hour.
  • FIG. 5 is a flow chart diagram of an exemplary method for setting and adjusting the number of impressions to be rendered per time interval for a given advertisement.
  • an estimated click through rate is used for the initial period(s).
  • the remaining clicks to be rendered for a new advertisement is set to the number of desired clicks.
  • the number of intervals remaining is initialized at the total number of intervals for the amount of time in which the advertisement impressions are to be delivered. Thereafter, the click through rate, remaining clicks, and the number of intervals remaining are updated periodically, e.g., after each scheduling interval, or daily.
  • the number of impressions to be rendered during the next scheduling interval is assigned a value of:
  • the number of remaining clicks is set equal to the original total number of clicks desired minus the total actual number of clicks to date for the advertising line.
  • the CTR estimate is updated, based on the total number of clicks in the most recent time intervals divided by the number of impressions in the N buckets (described above with reference to FIG. 3 ).
  • step 512 the number of intervals remaining is decremented by one.
  • the loop of steps 506 - 512 is executed to render the appropriate number of impressions, and update the remaining number of clicks to be obtained, CTR, number of intervals remaining, and number of impressions per interval.
  • the self regulating affect is apparent from FIG. 5 . If the CTR estimate is too high, the number of impressions rendered in the first interval is too low. Although the ad line jumps ahead of more profitable ads, only a small number are scheduled. Then the number of remaining clicks stays higher than it would be (if the correct CTR had been used), and the next CTR update (as shown in FIG. 3 ) reduces the current CTR estimate based on the small number of clicks observed. As a result the number of impressions rendered in the next interval increases.
  • the number of impressions rendered in the first interval is higher than if the correct CTR is applied. Although the ad line is not delivered until after less profitable ads, a larger number of impressions are scheduled for the profitable ad. Then the number of remaining clicks drops lower than it would be (if the correct CTR had been used), and the next CTR update (as shown in FIG. 3 ) increases the current CTR estimate based on the large number of clicks observed. As a result, the number of impressions rendered in the next interval decreases.
  • the system recognizes that ten times as many impressions are needed if the advertisement is to be run, but the system also recognizes that this advertisement has a much lower value per impression. Thus, the advertisement may be preempted if there are other advertisements available with higher value per impression.
  • the scheduling interval may be smaller.
  • a scheduling interval is selected that is long enough to render about (N*the bucket size) impressions. If the number of impressions rendered during the interval is orders of magnitude greater than (N*the bucket size), then the circular queue wraps around tens or hundreds of times during the interval. In that case, most of the history is discarded, and only the last (N*the bucket size) data are considered for estimating CTR and scheduling advertisements for the next interval.
  • the scheduling interval is not adjusted, but either N or the bucket size B is adjusted if the number of impressions to be rendered is much greater than B*N.
  • N*B may be 100,000, but after a pre-determined number of intervals in which the number of impressions far exceeds 100,000, either N or B is doubled. This process can be repeated until N*B is of the order of magnitude of the number of impressions served during the interval.
  • Class I advertising agreements are also entered, in addition to Class II.
  • Class I advertising is also performed, the system attempts to smoothly deliver the advertisements for the class I contracts by dividing the sold advertisements into several relatively small groups (e.g., 100,000 impressions), and delivering one group during each scheduling interval (e.g., every half hour). To the extent that any one of these scheduled groups is delayed, the advertisement becomes behind schedule.
  • Class I advertising is not, however, performed ahead of schedule. That is, if a Class I advertisement runs every half hour, once the ad has been run for a half hour period, the system waits until the next half hour period before running that ad again.
  • Class I advertisements are prioritized by how far behind schedule they are.
  • its urgency value is 1.0 (e.g., 50% of the impressions still remaining to be rendered in 50% of the contract duration, or 25% of the impressions still remaining to be rendered in 25% of the contract duration.).
  • the first mechanism is class.
  • Class I advertisements are rendered first. If there are no Class I advertisements (or the only Class I advertisements have an urgency of less than or equal to 1.0, and are thus scheduled to be delivered in the future), then Class II advertisements can be run.
  • the exemplary embodiment includes only two classes, a system may include more than two classes (e.g., ten).
  • the second mechanism is rank.
  • Rank is a measure of value. In the example, rank is irrelevant for Class I (or any guaranteed class of advertising), because the advertisements are guaranteed to be run regardless of value. In the case of Class II advertising, as described above, all lines of advertising are assigned a rank in terms of an expected value per impression.
  • urgency is the primary mechanism of ordering the lines of advertising for delivery.
  • urgency may be measured as percentage of impressions remaining to be delivered divided by percentage of contract duration remaining. This normalized measure is advantageous, because it puts contracts having a large total number of impressions on the same footing as contracts that have a small total number of impressions. This is reasonable, because all of the Class I advertising is guaranteed, regardless of size.
  • different methods of calculating urgency may use used, such as the number of impressions overdue, or the length of time that the most overdue impression is late.
  • urgency may come into play if two different class II contracts have the same (or substantially the same) value per impression. If the difference in value per impressions for two contracts is less than a threshold (e.g., one tenth or one hundredth of a cent), then the urgency would be used as the deciding factor in determining which advertisement to run first.
  • a threshold e.g., one tenth or one hundredth of a cent
  • FIG. 6 is a block diagram showing an exemplary ePCM system 600 for performing the functions described above.
  • the system 600 may be hosted on any general purpose processor 602 .
  • the functions of the ePCM system include click through rate estimation 610 , conversion rate estimation 612 , value per impression estimation 614 , urgency calculation 616 and impression scheduling 618 .
  • the processor has access to a storage medium 620 , in which the click data buckets 622 - 626 and the accumulator bucket 628 are stored.
  • the present invention may be embodied in the form of computer-implemented processes and apparatus for practicing those processes.
  • the present invention may also be embodied in the form of computer program code embodied in tangible media, such as floppy diskettes, read only memories (ROMs), CD-ROMs, hard drives, “ZIPTM” disks, memory sticks, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
  • the present invention may also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over the electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
  • computer program code segments configure the processor to create specific logic circuits.

Abstract

A method for scheduling advertising comprises the steps of: estimating a respective fraction of delivered advertisement impressions that result in a response from a user for each of a plurality of advertising contracts, estimating a value per impression for each of the advertising contracts, and scheduling an advertising line under the contract having the highest value per impression at a next available advertising window.

Description

  • This application claims the benefit of U.S. Provisional Application No. 60/507,031, filed Sep. 29, 2003.
  • FIELD OF THE INVENTION
  • The present invention relates to methods and systems for scheduling advertising lines, and in particular for scheduling electronic advertising lines.
  • BACKGROUND
  • An electronic publisher treats the available advertising space as inventory.
  • As used herein, the term “inventory” can include available advertising space in a variety of media, including but not limited to web pages, portions of web pages, banners, buttons, pop-up windows, placement within sponsored search listings, and streaming media (including video and/or audio). Each time one of these advertisement types is played for or presented to a user constitutes an “impression.” The inventory of advertising space includes the capacity to render advertising in any of these formats.
  • The term “advertising” as used herein is not limited to commercial advertising, but may also include any purchase of the ability to deliver information content of any type. For example, a public service notice or a pure entertainment streaming video that is purchased by a sponsor, but only delivers information to the recipient without asking the recipient to take any action or make any purchase would still be encompassed by the term “advertisement” as used herein.
  • A unit of delivery for advertising may be referred to as a line. A line refers to one particular set of creative expressions delivered over one particular period of time for a web site. A line is also a unit of purchase, so it has an associated particular rate or cost.
  • Advertising media inventory may be divided into two general classes. The first type is “guaranteed” (also called Class I). This inventory is generally paid for in advance and is guaranteed (by contract) to be delivered within a certain period. Because of this constraint, Class I inventory cannot be oversold, and an inventory management system exists to measure and regulate inventory availability. Class I inventory is generally sold to large, branding-oriented advertisers who need reliable delivery to achieve their marketing goals and are willing to pay premium prices for that inventory. Class I inventory is typically sold on a cost-per-impression (CPI) basis.
  • The second type of media inventory is “preemptible” or non-guaranteed (referred to herein as “Class II.”) It comprises the remnant of available inventory after Class I is served. Class II advertising is generally paid for in arrears, because it can be preempted at the publisher's discretion without violating any contractual obligation. Class II inventory serves as a sink for excess supply and can be thought of as a “spot” or “auction” marketplace. This inventory is usually sold to smaller advertisers, often to direct marketers who wish to drive transactions rather than branding.
  • Class II inventory is most frequently sold on a performance basis, meaning that the advertiser pays based only in the event of a response to an ad, rather than just for placement of that ad. This performance basis adds uncertainty to the estimation of the value (on a per-impression basis) of a media purchase.
  • There are two general types of performance based advertising deals: “cost-per-click (CPC)” and “cost-per-acquisition (CPA).” Cost-per-click deals require the advertiser to pay the electronic publisher a fixed amount per click by an end user that sees or hears the advertisement. This cost-per-click is also called a “click bounty”. (This requires the viewer to take an action, but does not necessarily require a purchase by the viewer to trigger an obligation for the advertiser to pay the publisher.) Cost-per-acquisition deals, on the other hand, require the advertiser to pay the electronic publisher a fixed amount per action that happens after the click. For example, an advertiser might pay a fixed bounty for each new membership to their site that was driven from the advertisement. The advertisement must actually be effective (in leading a viewer to purchase goods or services) in order to trigger an obligation for the advertiser to pay the publisher for the advertisement. This cost-per-acquisition is called an “acquisition bounty”.
  • The prior art advertisement delivery system was designed for Class I inventory. The prior art system assumed that the sum of all the sales will be less than or equal to the available inventory. This is enforced by an inventory prediction system and scheduling system. In this environment, the ad server was designed to satisfy as many contracts as possible on schedule. Thus when selecting an ad, the ad server finds the set of all appropriate ads and chooses the one from the contract that is most behind on its delivery schedule. If no contracts are behind then no ad is chosen. Since the system constrains the sold inventory to less than or equal to 100%, this results in the most Class I contracts being satisfied on schedule.
  • In Class II advertising, it is to the publisher's disadvantage to limit contracts to only 100% of the available inventory. Also, because the contract allows the advertisement to be delayed (e.g., to service a more profitable advertiser), it is disadvantageous to always service a contract that is most behind on its delivery schedule.
  • The prior art electronic advertising environment required manual optimization of the preemptible inventory by removing low-value campaigns. This was complicated by the fact that optimal behavior required that orders be balanced with available inventory. Because Class I inventory fluctuates daily, this required unrealistic human maintenance effort and the inventory was frequently improperly scheduled.
  • In addition, estimations of the value of the Class II inventory were difficult and often incomplete. The Class II advertisers pay on a per-click or per-acquisition basis, but the advertisements must be scheduled on a per-impression basis. The number of impressions required to generate a desired number of clicks or acquisitions was not known. Schedulers would choose which contract to run based on criteria such as client size, relationships with sales people, or the like. This frequently led to an inappropriate mix of contracts being scheduled.
  • An improved system to scheduling electronic advertisements is desired.
  • SUMMARY OF THE INVENTION
  • A method for scheduling advertising comprises the steps of: estimating a respective fraction of delivered advertisement impressions that result in a response from a user for each of a plurality of advertising contracts, estimating a value per impression for each of the advertising contracts, and scheduling an advertising line under the contract having the highest value per impression at a next available advertising window.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flow chart diagram of a method of scheduling advertisements with multiple classes.
  • FIG. 2 is a detailed diagram of the Class II scheduling step shown in FIG. 1.
  • FIG. 3 is a flow chart diagram of the click through rate calculation step of FIG. 2.
  • FIG. 4 is a flow chart diagram of a method for calculating the conversion rate.
  • FIG. 5 is a flow chart diagram of a method for determining the number of impressions to be rendered during each scheduling interval.
  • FIG. 6 is a block diagram showing an exemplary ePCM system for performing the method of FIGS. 1-5.
  • OVERVIEW
  • U.S. Provisional Application No. 60/507,031, filed Sep. 29, 2003, is incorporated by reference herein in its entirety.
  • Because delivery of impressions under Class II contracts can be delayed at the publisher's whim in order to service a more profitable advertiser (or group of advertisers), it is advantageous to allow over-scheduling to provide some competitive pressure on prices. (Here, “competitive pressure” refers to pressure on the sponsors or customers to pay a higher CPI, CPC or CPA.) Permissible over-scheduling may include any combination of (1) Class I advertising less than or equal to the total amount of advertising space inventory, plus (2) any amount of Class II advertising.
  • Class II prices are generally lower than Class I, so Class II advertisers are capable of purchasing impressions in much larger numbers than Class I advertisers. Also, in Class II, generally the bigger advertising contracts have lower values per impression. That is, the expected value to the publisher per advertisement shown decreases as the purchase size increases. In this environment (overselling, bigger-is-cheaper), ideal behavior would be delivering the advertising having the highest expected return per impression first. However, because the inventory is oversold, and the biggest contracts are the hardest to satisfy, using the system of the prior art, the biggest contracts were served first. This means that the lowest value contracts were serviced before the higher value ones.
  • One exemplary embodiment described herein delivers Class I and Class II advertisements with different priority schemes. In the example with both Class I and II advertisements, Class I advertisements continue to be delivered by the most-behind-first method described above. Another exemplary embodiment only handles Class II advertising. In both of these examples, Class II advertising is delivered in a highest-value-first manner. To fairly compare the values of CPI, CPC and CPA contracts, an effective CPI value is estimated for every CPC and CPA contract.
  • Definitions
  • click bounty—revenue paid per click.
  • conversion bounty—revenue paid per conversion (acquisition).
  • CTR—click through rate, or clicks per impression
  • CVR—conversion rate—conversions per click
  • FIG. 1 is a flow chart diagram of an exemplary method for scheduling advertisements in a system having at least two classes of advertisements.
  • At step 100, the urgency of the advertisements is calculated. Urgency is a measure of how far behind schedule the delivery of the advertisement is. The measure of urgency may be the fraction of impressions remaining to be served divided by the fraction of time remaining to fulfill the contract.
  • At step 102, a determination is made whether there are any Class I (guaranteed) impressions (advertisements) to be delivered.
  • At step 104, if there are Class I impressions to be delivered, then the Class I impressions are scheduled in order of urgency. If a large number of impressions are to be served for a given line, the total number of impressions to be served is divided into periodic groups over the period of time in which the impressions are guaranteed to be rendered.
  • At step 106, a determination is made whether any Class II (preemptible) advertisements are to be served.
  • At step 108, the Class II advertisements, if present, are scheduled in order of value per impression. If there are more Class II contracts available than it is possible to fulfill, only the Class I contracts plus a subset of the Class II contracts having the highest value per impression are fulfilled.
  • At step 110, if there is a tie between two (or more) Class II contracts having the same value per impression, then at step 112, the tie is broken by scheduling the advertisement having the greater urgency first. This is to say that Class II lines of equal value compete with each other like Class I lines compete.
  • If there are no Class II advertisements, or if there is no tie between any Class II contracts, then the program ends at step 114.
  • FIG. 2 is a flow chart showing details of the Class II scheduling step 108 in FIG. 1.
  • At step 200, a loop including steps 202-210 is performed for each Class II advertisement.
  • At step 202, a determination is made whether this is a new advertisement. For this purpose, “new” includes any advertisement for which an insufficient number of impressions have been rendered to accurately estimate the click-through rate and/or the conversion rate.
  • At step 204, if the advertisement is new, a predetermined, relatively high click-through rate is assumed. In the case of a CPA contract, a predetermined, relatively high conversion rate is also assumed. Then, step 210 is executed next.
  • At step 206, if the advertisement is not new, data on responses (clicks and/or acquisitions) per impression are collected as advertisements are rendered.
  • At step 208, the click-through rate is estimated in near real-time as impressions are rendered. The CTR is calculated in near real-time from the last previously scheduled set of impressions served for that contract. Also, the CVR is estimated daily for CPA contracts (or at another predetermined interval that is preferably longer than the period needed to accurately estimate the click through rate).
  • At step 210, the value per impression is estimated. The CTR (the assumed CTR for a new contract, or the most recently estimated CTR for a contract that is not new) is multiplied by the click bounty for a CPC contract, or by the product of the conversion bounty and the CVR for a CPA contract.
  • At step 212, after the loop of steps 202-210 is repeated for each Class II contract, the advertisements are scheduled so that the advertisements having the highest value per impression are scheduled first.
  • DETAILED DESCRIPTION
  • Estimating Value
  • In order to deliver Class II advertisements based on highest expected value, the ad system calculates the expected value per impression. This is done in different ways for each of the three different payment types (CPI, CPC, CPA). For CPI deals the estimation is trivial: The expected value is the CPI specified in the contract, i.e., no estimation is required. The following equation is used:
  • Est. Value (CPI)=CPI (cost per impression)
  • For CPC deals, the following equation is used:
  • Est . Value ( CPC ) = ( click bounty ) * ( click through rate or CTR ) = ( $ / click ) * ( clicks / impression )
  • For CPA deals, the following equation is used:
  • Est . Value ( CPA ) = ( conversion bounty ) * ( conversion rate ) * CTR = ( $ / conversion ) * ( conversions / click ) * ( clicks / impression )
  • Click bounty is defined as dollars per click. Conversion bounty is defined as dollars per conversion. CTR is defined as clicks per impression. Conversion rate is defined as conversions per click. Expansion and cancellation of the units in the above equations show that in all three cases, the result is a quantity specified in dollars / impression. From the above equations, it is clear that to estimate value for a CPC contract, CTR must be estimated; and for a CPA contract, CTR and CVR must also be estimated.
  • Estimating CTR
  • In the exemplary system, priorities are calculated in near real-time. The expected value (expected cost per 1000 impressions or eCPM) is calculated by the system using the above three equations. CTR is estimated for each individual contract in near real time by the system by looking at a window of the past click behavior. This is accomplished by maintaining a system of “buckets”. Each bucket represents the number of clicks that have occurred in a fixed number of page views or impressions (scale).
  • FIG. 3 is a flow chart diagram of an exemplary method for calculating the click through rate for a single advertising line. It will be understood that this process is carried out individually for each advertising line.
  • At step 300, upon the addition of a new advertising line, all of the bucket values (number of clicks in each bucket) for that advertising line are set to a high initial value, corresponding to a high click through rate. For example, bucket values corresponding to a 1% click through rate may be used. (The number of clicks per bucket corresponding to a particular click through rate is proportional to the size of the bucket.)
  • At step 302, new data are added to a separate accumulator bucket, which is the same size as the rest of the buckets. The accumulator bucket includes a counter for the number of impressions and a counter for the number of clicks from those impressions. The accumulator bucket stores the most recent impression and click data until a complete “bucket full” of data are collected.
  • At step 304, the number of impressions in the accumulator bucket is compared to the fixed bucket size. If the accumulator bucket is not full (the number of impressions is less than the size of the buckets, then at step 302, additional results of impressions are added to the accumulator bucket. When the number of impressions in the accumulator bucket reaches the bucket size, then step 306 is executed.
  • At step 306, the data in the least recently filled bucket are replaced with the data in the accumulator bucket, so that the buckets form a circular buffer. The time stamp of the least recently filled bucket is updated to reflect its current update time and date, so that the second least recently filled bucket now becomes the least recently filled bucket.
  • At step 308, the click through rate is calculated from the total number of clicks across all the buckets (except the accumulator bucket) divided by the total number of impressions across all the buckets (except the accumulator bucket).
  • At step 310, the accumulator bucket values are reset to zero, so that a new set of impressions can be added to the accumulator bucket at step 302.
  • For example, each bucket may have the results of 10,000 page views. N buckets (e.g., 10 buckets) are used as a circular buffer, and an additional bucket is used as a temporary accumulation space. Impressions and clicks are counted, and stored in the N+1th bucket (accumulation space). Each time one bucket's worth of impressions are delivered, the next logical bucket in the circular buffer is filled with the accumulated clicks and the temporary click and impression counts in the N+1th bucket are set to zero. The click through rate can be calculated at any time by summing the clicks in the buckets and dividing by (N*number of impressions per bucket). In the exemplary system 10 buckets representing 10,000 impressions each are used. This means that the advertising system looks at the last 100,000 impressions for a given contract to determine CTR.
  • When a contract first begins, there are no delivery data on which to base a CTR estimation. Because the exemplary system always delivers the advertisements in the queue having the highest expected CPI, it would not be satisfactory to pre-load every bucket with zero's and assume an initial CTR of zero (That would prevent a new advertisement from ever being delivered by the system).
  • In the exemplary embodiment, the buckets are pre-filled with some pre-determined, high-valued CTR. For example, an initial CTR of 1% may be assumed, so that each bucket of 10,000 impressions is initially assigned 100 clicks. This allows a contract to initially assume a high CTR (and thus high estimated value) and allows new contracts to get started. Each time a bucket of impressions (e.g., 10,000 impressions) are served, the contents of the bucket having the oldest data are replaced with the clicks in the N+1th bucket (the temporary bucket). With this method, by the first (N*bucket size) impressions (100,000 in this example), the CTR has fallen to the actual CTR. After the first (N*bucket size) impressions, CTR is calculated as a moving average based on actual performance data, with the calculation performed each time a bucket of impressions is served.
  • For example, assume an advertisement for which there are about 10 clicks per 100,000 impressions. In that case the actual CTR is 0.1%, but because the CTR is not known a priori, the initial estimate of 1.0% is used. After the first 10,000 impressions, the estimated CTR is about (9*100+1*10)/100,000=0.91%. After the second 10,000 impressions, the estimated CTR is about (8*100+2*10)/100,000=0.82%. After the third 10,000 impressions, the estimated CTR is about (7*100+3*10)/100,000=0.73%. This continues until the tenth group of 10,000 impressions is rendered, at which point the estimated CTR will be about (10*10)/100,000=0.1%. Thereafter, the CTR will be based completely on empirical data, and the initial assumptions have no further impact.
  • Estimating CVR
  • CVR is calculated offline, once per day by the scheduling system. This estimated CVR is generated by:

  • CVR=(conversions to date)/(clicks to date)
  • The scheduling system, combines this quantity with the CPA once per day to generate a virtual click bounty with the following equation:

  • virtual click bounty=CVR*CPA=(conversions/clicks)*(cost/conversion)
  • Thus, CPA contracts are calculated using the algorithm for CPC contracts by the advertising system, with the result multiplied by the cost per conversion.
  • Initial CVR
  • The number of conversions and clicks to date will always be zero at the beginning of a contract. This makes CVR and the virtual click bounty undefined (because they are computed by ratios having the number of clicks in the denominator). To deal with this initial condition, CPA deals are given a “grace period” (e.g., 2 weeks) during which a default value of CVR is used. This default is set reasonably high so that the contract is assigned some delivery by the system. At any point during the grace period, if some conversions are captured then the “true” CVR is calculated. If the grace period expires without conversions being entered, the CVR falls to zero.
  • FIG. 4 is a flow chart diagram of an exemplary method of calculating the conversion rate for a single advertising line. It will be understood that this process is performed individually for each advertising line.
  • At step 400, the conversion rate is initialized at a sufficiently high initial value that the advertising line will be scheduled by the system.
  • At step 402, steps 404-408 are repeated while the time (since introduction of the advertisement) is less than the grace period.
  • At step 404, the system waits for a conversion and maintains two counters for this advertisement: a counter for clicks and a counter for conversions.
  • At step 406, when a click occurs (or an impression is rendered), but no conversion occurs, then step 402 is performed, and the system continues to wait for a conversion. When a conversion occurs, step 408 is executed.
  • At step 407, once a first conversion occurs, the counter for the number of conversions is updated with each conversion.
  • At step 408, the conversion rate for the advertisement is calculated as the total number of conversions divided by the total number of clicks for the advertisement since it was first rendered. In preferred embodiments, the counters are incremented each time a conversion occurs, but the conversion rate CVR is only updated at a fixed interval, such as on a daily basis. In some embodiments, the period between CVR updates coincides with the scheduling period for advertisements. In other embodiments, after the first conversion, the conversion rate can be updated with each conversion, or with each click. It will be understood that only updating CVR with each conversion will produce higher estimates of CVR in between conversions, and updating the conversion rate with each click will cause CVR to drop to lower levels whenever a long period passes between conversions.
  • After the end of the grace period, step 410 is executed. At step 410, if there have been no clicks by the end of the grace period, step 414 is executed. Otherwise, step 412 is executed.
  • At step 412, CVR is calculated as the total number of conversions divided by the total number of clicks for the advertisement since it was first rendered.
  • At step 414, if have been no clicks, then the conversion rate is assigned a value of 0.0.
  • In the exemplary embodiment, the system tries to deliver only as many advertisements as the advertiser wants delivered. However, CPC and CPA advertisers do not order specific numbers of impressions; the advertiser either orders a number of clicks (for a CPC contract) or a number of acquisitions (for a CPA contract). To serve up a number of impressions that is likely to result in the desired number of clicks for a CPC contract (or acquisitions for a CPA contract) the publisher uses the estimated CTR to determine the expected number of impressions to serve in order to meet the desired number of clicks or acquisitions.
  • In addition, many contracts specify a period over which the impressions are to be rendered (e.g., a day, a week or a month). The exemplary system divides the expected number of impressions for the contract into a plurality of relatively short intervals. For example, a week's worth of advertisements may be divided into 336 half-hour intervals). The system tries to deliver the advertisements smoothly. In a preferred embodiment, the 336 half-hour intervals are weighted by the relative traffic patterns on the site. For example, 3:30 AM might get 1000 impressions while 1:00 PM might get 5000.
  • The number of clicks scheduled in any given interval is given by:
  • ( clicks this period ) = ( clicks remaining ) * ( weight of this period ( CTR ) * ( sum of all remaining period weights )
  • The number of advertisements to be rendered in any given half-hour interval is determined by the number of clicks or acquisitions yet to be obtained, the current estimate of the CTR, and the weights of the remaining half-hour intervals. This produces a self-regulating effect. Because the estimated value per impression for both CPC and CPA contracts is proportional to the estimated CTR, an overly high initial estimate of the CTR causes an advertisement to jump ahead of other advertisements that actually have a higher value, but a smaller number of impressions are rendered than would be rendered if the initial estimate of CTR is closer to the actual CTR. Thus, higher value advertisements are not crowded out.
  • In an alternative embodiment, all intervals have the same weight. For example, if one million impressions are required in a week, the alternative system will schedule about 3000 advertisements in each of the 336 half-hour intervals, and will not schedule one million in the first half hour.
  • FIG. 5 is a flow chart diagram of an exemplary method for setting and adjusting the number of impressions to be rendered per time interval for a given advertisement.
  • At step 500, when the advertisement is first delivered, an estimated click through rate is used for the initial period(s).
  • At step 502, the remaining clicks to be rendered for a new advertisement is set to the number of desired clicks.
  • At step 504, the number of intervals remaining is initialized at the total number of intervals for the amount of time in which the advertisement impressions are to be delivered. Thereafter, the click through rate, remaining clicks, and the number of intervals remaining are updated periodically, e.g., after each scheduling interval, or daily.
  • At step 506, the number of impressions to be rendered during the next scheduling interval is assigned a value of:
  • ( clicks this period ) = ( clicks remaining ) * ( weight of this period ( CTR ) * ( sum of all remaining period weights )
  • At 508, after the impressions are rendered, the number of remaining clicks is set equal to the original total number of clicks desired minus the total actual number of clicks to date for the advertising line.
  • At step 510, the CTR estimate is updated, based on the total number of clicks in the most recent time intervals divided by the number of impressions in the N buckets (described above with reference to FIG. 3).
  • At step 512, the number of intervals remaining is decremented by one.
  • Thereafter, the loop of steps 506-512 is executed to render the appropriate number of impressions, and update the remaining number of clicks to be obtained, CTR, number of intervals remaining, and number of impressions per interval.
  • The self regulating affect is apparent from FIG. 5. If the CTR estimate is too high, the number of impressions rendered in the first interval is too low. Although the ad line jumps ahead of more profitable ads, only a small number are scheduled. Then the number of remaining clicks stays higher than it would be (if the correct CTR had been used), and the next CTR update (as shown in FIG. 3) reduces the current CTR estimate based on the small number of clicks observed. As a result the number of impressions rendered in the next interval increases.
  • On the other hand, if the CTR estimate is too low (but not so low as to completely prevent any impressions from being delivered), the number of impressions rendered in the first interval is higher than if the correct CTR is applied. Although the ad line is not delivered until after less profitable ads, a larger number of impressions are scheduled for the profitable ad. Then the number of remaining clicks drops lower than it would be (if the correct CTR had been used), and the next CTR update (as shown in FIG. 3) increases the current CTR estimate based on the large number of clicks observed. As a result, the number of impressions rendered in the next interval decreases.
  • Consider the example mentioned above with reference to FIG. 3, in which the initial estimate of CTR (1%) is ten times the actual CTR (0.1%); then the number of impressions rendered in the first half hour is ten times smaller than the number actually needed to service the contract. Thus, there is less danger of swamping the system with an overvalued advertisement contract for which the estimated CTR is too high. When an initial estimate of CTR is too high, the advertisement is served sooner than it should be, but only a relatively small number of impressions are delivered in the first half hour the advertisement is run. When enough empirical data is available to reliably estimate CTR, and the much smaller value of CTR is used, the system recognizes that ten times as many impressions are needed if the advertisement is to be run, but the system also recognizes that this advertisement has a much lower value per impression. Thus, the advertisement may be preempted if there are other advertisements available with higher value per impression.
  • Although an example is provided in which the schedule for a contract is adjusted every half hour, other intervals may be used. In particular, if very large numbers of impressions are to be scheduled per unit of time, then the scheduling interval may be smaller. Preferably, a scheduling interval is selected that is long enough to render about (N*the bucket size) impressions. If the number of impressions rendered during the interval is orders of magnitude greater than (N*the bucket size), then the circular queue wraps around tens or hundreds of times during the interval. In that case, most of the history is discarded, and only the last (N*the bucket size) data are considered for estimating CTR and scheduling advertisements for the next interval.
  • In some embodiments, the scheduling interval is not adjusted, but either N or the bucket size B is adjusted if the number of impressions to be rendered is much greater than B*N. Thus, initially N*B may be 100,000, but after a pre-determined number of intervals in which the number of impressions far exceeds 100,000, either N or B is doubled. This process can be repeated until N*B is of the order of magnitude of the number of impressions served during the interval.
  • As noted above, in some embodiments, Class I advertising agreements are also entered, in addition to Class II. When Class I advertising is also performed, the system attempts to smoothly deliver the advertisements for the class I contracts by dividing the sold advertisements into several relatively small groups (e.g., 100,000 impressions), and delivering one group during each scheduling interval (e.g., every half hour). To the extent that any one of these scheduled groups is delayed, the advertisement becomes behind schedule. Class I advertising is not, however, performed ahead of schedule. That is, if a Class I advertisement runs every half hour, once the ad has been run for a half hour period, the system waits until the next half hour period before running that ad again.
  • In the exemplary system, Class I advertisements are prioritized by how far behind schedule they are. There are a variety of alternative techniques for determining how far behind a line of advertising is. In the exemplary embodiment, a normalized measure is used: the percentage of the total contract remaining divided by the percentage of time remaining to deliver the advertisements. For example, if 50% of the impressions for a contract are still remaining to be rendered, and 25% of the duration of the contract remains, then the measure of urgency (or how behind the contract is) would be 50/25=2. Another contract having 50% of its advertising lines remaining to be run in 12.5% of the time of the whole contract would have an urgency of 50/12.5=4. The more data to be delivered in a short time, the greater the urgency. When a Class I contract catches up with its schedule, then its urgency value is 1.0 (e.g., 50% of the impressions still remaining to be rendered in 50% of the contract duration, or 25% of the impressions still remaining to be rendered in 25% of the contract duration.).
  • In the exemplary system including both Class I and Class II advertising, there are three mechanisms for prioritization.
  • The first mechanism is class. When both Class I and Class II are available to be currently scheduled, the Class I advertisements are rendered first. If there are no Class I advertisements (or the only Class I advertisements have an urgency of less than or equal to 1.0, and are thus scheduled to be delivered in the future), then Class II advertisements can be run. Although the exemplary embodiment includes only two classes, a system may include more than two classes (e.g., ten).
  • The second mechanism is rank. Rank is a measure of value. In the example, rank is irrelevant for Class I (or any guaranteed class of advertising), because the advertisements are guaranteed to be run regardless of value. In the case of Class II advertising, as described above, all lines of advertising are assigned a rank in terms of an expected value per impression.
  • The third mechanism is urgency. With Class I, where all advertisements have the same class and rank, urgency is the primary mechanism of ordering the lines of advertising for delivery. As described above, urgency may be measured as percentage of impressions remaining to be delivered divided by percentage of contract duration remaining. This normalized measure is advantageous, because it puts contracts having a large total number of impressions on the same footing as contracts that have a small total number of impressions. This is reasonable, because all of the Class I advertising is guaranteed, regardless of size. In other embodiments, different methods of calculating urgency may use used, such as the number of impressions overdue, or the length of time that the most overdue impression is late.
  • Within Class II advertisements, urgency may come into play if two different class II contracts have the same (or substantially the same) value per impression. If the difference in value per impressions for two contracts is less than a threshold (e.g., one tenth or one hundredth of a cent), then the urgency would be used as the deciding factor in determining which advertisement to run first.
  • FIG. 6 is a block diagram showing an exemplary ePCM system 600 for performing the functions described above. The system 600 may be hosted on any general purpose processor 602. The functions of the ePCM system include click through rate estimation 610, conversion rate estimation 612, value per impression estimation 614, urgency calculation 616 and impression scheduling 618. The processor has access to a storage medium 620, in which the click data buckets 622-626 and the accumulator bucket 628 are stored.
  • With the deployment of the eCPM system, both problems of the prior art (poor scheduling and inappropriate mix of advertisements) are solved. The Class II inventory no longer needs to be constrained, because the “optimal” contracts are always selected first. In addition, because the highest value contracts are selected first, the system creates an implicit reinforcement for good data entry by salespeople (in terms of estimating the value of a Class II contract). Salespeople and sale operations managers will be motivated to insure that campaign values are appropriately tracked because when they fail to do so (by initially overestimating the click-through rate), their campaigns often stop, due to an insufficient number of impressions being generated to ensure continued scheduling of impressions. The exemplary system makes estimation of value easier and more accurate.
  • The present invention may be embodied in the form of computer-implemented processes and apparatus for practicing those processes. The present invention may also be embodied in the form of computer program code embodied in tangible media, such as floppy diskettes, read only memories (ROMs), CD-ROMs, hard drives, “ZIP™” disks, memory sticks, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention may also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over the electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the computer program code segments configure the processor to create specific logic circuits.
  • Although the invention has been described in terms of exemplary embodiments, it is not limited thereto. Rather, the invention should be construed broadly, to include other variants and embodiments, which may be made by those skilled in the art without departing from the scope and range of equivalents of the appended claims.

Claims (20)

1. A computer-implemented method for scheduling advertisements comprising:
receiving a plurality of advertising contracts that are each associated with a time interval;
determining a click through rate for each of a plurality of advertising contracts;
determining a conversion rate for each of the plurality of advertising contracts;
estimating a value per impression based on the click through rate and the conversion rate, wherein the estimated value per impression is based on a weight assigned to future time intervals, further wherein the weight is based on an estimated relative traffic pattern for each future time interval; and
scheduling the advertisements based on the estimated value per impression.
2. The computer-implemented method of claim 1, wherein the value per impression is estimated based on a moving average representing a fraction of trials in which an impression is delivered and the user responds to the impression.
3. The computer-implemented method of claim 1, wherein the number of impressions to be delivered during the next available advertising window is further determined based on a desired number of responses and an estimate of a fraction of the impressions that elicit a response from the user.
4. The computer-implemented method of claim 1, wherein a sufficiently high value per impression is initially assumed for a new advertising contract, so as to ensure that sufficient trials are performed under the new contract to form an accurate estimate of the value per impression.
5. The computer-implemented method of claim 1, wherein each remaining time interval is associated with a time of day and the weight assigned to each remaining time interval is based on an average number of impressions delivered during the time of day on a plurality of previous.
6. The computer-implemented method of claim 1, wherein each time interval of the plurality of time intervals comprises of a half hour time interval.
7. The computer-implemented method of claim 1, wherein, if two of the advertising contracts have substantially the same value per impression, an advertising line is scheduled under the one of the two contracts for which advertising delivery has a greater urgency.
8. The computer-implemented method of claim 7, wherein a measure of urgency for each contract is based on a ratio of a remaining fraction of the total impressions to be delivered under the contract divided by a remaining fraction of the total time during which the contract is to be fulfilled.
9. The computer-implemented method of claim 1, wherein the next available advertising window is a time period after which a guaranteed-delivery advertisement is scheduled.
10. The computer-implemented method of claim 1, wherein the advertising is transmitted electronically to a recipient using one of the group consisting of web pages, portions of web pages, banners, buttons, pop-up windows, placement within sponsored search listings, and streaming media.
11. A non-transitory computer readable medium encoded with computer program code, wherein, when the computer program code is executed by a processor, the processor performs a method for scheduling advertising, comprising the steps of:
receiving a plurality of advertising contracts that are each associated with a time interval;
determining a click through rate for each of a plurality of advertising contracts;
determining a conversion rate for each of the plurality of advertising contracts;
estimating a cost per impression based on the click through rate, the conversion rate, and a weight assigned to future time intervals, further wherein the weight is based on an estimated relative traffic pattern for each future time interval; and
scheduling the advertisements based on the estimated cost per impression.
12. The computer readable medium of claim 11, wherein the estimated cost per impression is estimated in near-real time based on a moving average representing a fraction of trials in which an impression is delivered and the user responds to the impression.
13. The computer readable medium of claim 11, wherein the number of impressions to be delivered during the next available advertising window is further determined based on a desired number of responses and an estimate of a fraction of the impressions that elicit a response from the user.
14. The computer readable medium of claim 11, wherein a sufficiently high estimated cost per impression is initially assumed for a new advertising contract, so as to ensure that sufficient trials are performed under the new contract to form an accurate estimate of the estimated cost per impression.
15. The computer readable medium of claim 11, wherein each time interval of the plurality of time intervals comprises of a half hour time interval.
16. The computer readable medium of claim 11, wherein, if two of the advertising contracts have substantially the same estimated cost per impression, an advertising line is scheduled under the one of the two contracts for which advertising delivery has a greater urgency.
17. The computer readable medium of claim 16, wherein a measure of urgency for each contract is based on a ratio of a remaining fraction of the total impressions to be delivered under the contract divided by a remaining fraction of the total time during which the contract is to be fulfilled.
18. A computer implemented method for scheduling advertisements comprising:
determining a plurality of time intervals in which to display the advertisements;
determining a number of clicks remaining over a predetermined amount of the time intervals;
determining a weight for a current time interval and for the remaining time intervals; and
calculating, with at least one processor, a number of clicks over the current time interval based on the number of clicks remaining, the weight for the current time interval, the weights for the remaining time intervals, and the click through rate.
19. The computer implemented method of claim 18 wherein the weight is based on an estimated relative traffic pattern for each future time interval.
20. The computer implemented method of claim 18 wherein the calculated number of clicks over the current time interval comprises the number of clicks remaining times the weight for the current time interval, which is divided by the multiplication of the click through rate times a sum of the weights for the remaining time intervals.
US14/016,220 2003-09-29 2013-09-02 Method and system for scheduling electronic advertising Abandoned US20140025486A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/016,220 US20140025486A1 (en) 2003-09-29 2013-09-02 Method and system for scheduling electronic advertising

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50703103P 2003-09-29 2003-09-29
US10/880,183 US8527346B2 (en) 2003-09-29 2004-06-28 Method and system for scheduling electronic advertising
US14/016,220 US20140025486A1 (en) 2003-09-29 2013-09-02 Method and system for scheduling electronic advertising

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/880,183 Continuation US8527346B2 (en) 2003-09-29 2004-06-28 Method and system for scheduling electronic advertising

Publications (1)

Publication Number Publication Date
US20140025486A1 true US20140025486A1 (en) 2014-01-23

Family

ID=34425992

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/880,183 Expired - Fee Related US8527346B2 (en) 2003-09-29 2004-06-28 Method and system for scheduling electronic advertising
US14/016,220 Abandoned US20140025486A1 (en) 2003-09-29 2013-09-02 Method and system for scheduling electronic advertising

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/880,183 Expired - Fee Related US8527346B2 (en) 2003-09-29 2004-06-28 Method and system for scheduling electronic advertising

Country Status (2)

Country Link
US (2) US8527346B2 (en)
WO (1) WO2005033876A2 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140180885A1 (en) * 2012-10-24 2014-06-26 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8805552B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8806239B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US8862279B2 (en) 2011-09-28 2014-10-14 Causam Energy, Inc. Systems and methods for optimizing microgrid power generation and management with predictive modeling
US8890505B2 (en) 2007-08-28 2014-11-18 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8930038B2 (en) 2012-07-31 2015-01-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US8965786B1 (en) * 2008-04-18 2015-02-24 Google Inc. User-based ad ranking
US8983669B2 (en) 2012-07-31 2015-03-17 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US9130402B2 (en) 2007-08-28 2015-09-08 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US9177323B2 (en) 2007-08-28 2015-11-03 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US9207698B2 (en) 2012-06-20 2015-12-08 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US9225173B2 (en) 2011-09-28 2015-12-29 Causam Energy, Inc. Systems and methods for microgrid power generation and management
US9429974B2 (en) 2012-07-14 2016-08-30 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US9461471B2 (en) 2012-06-20 2016-10-04 Causam Energy, Inc System and methods for actively managing electric power over an electric power grid and providing revenue grade date usable for settlement
US9465398B2 (en) 2012-06-20 2016-10-11 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US9563248B2 (en) 2011-09-28 2017-02-07 Causam Energy, Inc. Systems and methods for microgrid power generation management with selective disconnect
US10116560B2 (en) 2014-10-20 2018-10-30 Causam Energy, Inc. Systems, methods, and apparatus for communicating messages of distributed private networks over multiple public communication networks
US20190043076A1 (en) * 2015-07-09 2019-02-07 Huawei Technologies Co., Ltd. Method and apparatus for estimating advertisement value, and displaying advertisements on user terminal according to their values
US10295969B2 (en) 2007-08-28 2019-05-21 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US10861112B2 (en) 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US11004160B2 (en) 2015-09-23 2021-05-11 Causam Enterprises, Inc. Systems and methods for advanced energy network
US11314831B2 (en) * 2016-04-25 2022-04-26 Google Llc Allocating communication resources via information technology infrastructure

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689458B2 (en) * 2004-10-29 2010-03-30 Microsoft Corporation Systems and methods for determining bid value for content items to be placed on a rendered page
US20070073579A1 (en) * 2005-09-23 2007-03-29 Microsoft Corporation Click fraud resistant learning of click through rate
US20070088605A1 (en) * 2005-10-19 2007-04-19 Yahoo! Inc. System and method for achieving linear advertisement impression delivery under uneven, volatile traffic conditions
US9037482B2 (en) * 2006-03-16 2015-05-19 Opentv, Inc. Method and system for optimizing the viewing of advertising
US9092807B1 (en) * 2006-05-05 2015-07-28 Appnexus Yieldex Llc Network-based systems and methods for defining and managing multi-dimensional, advertising impression inventory
US11887175B2 (en) 2006-08-31 2024-01-30 Cpl Assets, Llc Automatically determining a personalized set of programs or products including an interactive graphical user interface
US8799148B2 (en) * 2006-08-31 2014-08-05 Rohan K. K. Chandran Systems and methods of ranking a plurality of credit card offers
US8099328B2 (en) * 2007-05-01 2012-01-17 Traffiq, Inc. System and method for brokering the sale of internet advertisement inventory as discrete traffic blocks of segmented internet traffic
US8073738B2 (en) * 2007-05-01 2011-12-06 Traffiq, Inc. System and method for brokering the sale of internet advertisement inventory as discrete traffic blocks of segmented internet traffic
US9392074B2 (en) 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
US20090013051A1 (en) * 2007-07-07 2009-01-08 Qualcomm Incorporated Method for transfer of information related to targeted content messages through a proxy server
US8001004B2 (en) * 2007-08-18 2011-08-16 Traffiq, Inc. System and method for brokering the sale of internet advertisement inventory
US8001001B2 (en) * 2007-08-30 2011-08-16 Yahoo! Inc. System and method using sampling for allocating web page placements in online publishing of content
US9705998B2 (en) 2007-11-14 2017-07-11 Qualcomm Incorporated Method and system using keyword vectors and associated metrics for learning and prediction of user correlation of targeted content messages in a mobile environment
US20090177530A1 (en) 2007-12-14 2009-07-09 Qualcomm Incorporated Near field communication transactions in a mobile environment
US20100076894A1 (en) * 2008-09-22 2010-03-25 Yahoo! Inc. System and method for acquiring and distributing advertisement impressions
US8738436B2 (en) * 2008-09-30 2014-05-27 Yahoo! Inc. Click through rate prediction system and method
US20100082438A1 (en) * 2008-10-01 2010-04-01 Ronnie Jack Garmon Methods and systems for customer performance scoring
WO2010045191A2 (en) * 2008-10-13 2010-04-22 Vuelogic, Llc Methods and systems for customer performance scoring
US8315908B1 (en) * 2009-02-27 2012-11-20 Google Inc. Generating a proposed bid
US20100262497A1 (en) * 2009-04-10 2010-10-14 Niklas Karlsson Systems and methods for controlling bidding for online advertising campaigns
US20100262455A1 (en) * 2009-04-10 2010-10-14 Platform-A, Inc. Systems and methods for spreading online advertising campaigns
US8620751B2 (en) * 2010-02-11 2013-12-31 Microsoft Corporation Facilitating advertisement selection using advancement bids
US20130085872A1 (en) * 2011-10-04 2013-04-04 Bret GORSLINE System and method for serving advertisements on a network in accordance with a dynamic prioritization schema
US9569787B2 (en) 2012-01-27 2017-02-14 Aol Advertising Inc. Systems and methods for displaying digital content and advertisements over electronic networks
US9129313B1 (en) * 2012-04-06 2015-09-08 MaxPoint Interactive, Inc. System and method for optimizing real-time bidding on online advertisement placements utilizing mixed probability methods
US10282758B1 (en) 2012-04-06 2019-05-07 MaxPoint Interactive, Inc. Pricing control in a real-time network-based bidding environment
CN103377309B (en) * 2012-04-13 2017-12-12 腾讯科技(北京)有限公司 It is a kind of to show the method and device for announcing information
US20130339126A1 (en) * 2012-06-13 2013-12-19 Yahoo! Inc. Campaign performance forecasting for non-guaranteed delivery advertising
JP5710577B2 (en) * 2012-11-12 2015-04-30 ヤフー株式会社 Advertisement information providing apparatus and advertisement information providing method
US10311486B1 (en) 2013-05-13 2019-06-04 Oath (Americas) Inc. Computer-implemented systems and methods for response curve estimation
US9449231B2 (en) 2013-11-13 2016-09-20 Aol Advertising Inc. Computerized systems and methods for generating models for identifying thumbnail images to promote videos
CN111183621B (en) * 2017-07-07 2022-07-08 阿里巴巴集团控股有限公司 System and method for flow control in an online platform
US11334911B1 (en) 2018-03-23 2022-05-17 Tatari, Inc. Systems and methods for debiasing media creative efficiency
US11132706B1 (en) 2018-03-26 2021-09-28 Tatari, Inc. System and method for quantification of latent effects on user interactions with an online presence in a distributed computer network resulting from content distributed through a distinct content delivery network
US11212566B1 (en) 2018-03-26 2021-12-28 Tatari, Inc. Systems and methods for attributing TV conversions
US11334912B1 (en) 2018-12-07 2022-05-17 Tatari, Inc. Systems and methods for determining media creative attribution to website traffic
US11562393B1 (en) 2018-12-07 2023-01-24 Tatari, Inc. Self-consistent inception architecture for efficient baselining media creatives

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128904A1 (en) * 2001-01-23 2002-09-12 Tim Carruthers Method and system for scheduling online targeted content delivery
US20030110171A1 (en) * 2001-11-21 2003-06-12 Stuart Ozer Methods and systems for selectively displaying advertisements
US8082174B1 (en) * 2003-03-07 2011-12-20 Google, Inc. Arbitrating the sale of ad spots to increase offer competition

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5937392A (en) * 1997-07-28 1999-08-10 Switchboard Incorporated Banner advertising display system and method with frequency of advertisement control
AU1798401A (en) 1999-11-22 2001-06-04 Avenue, A, Inc. Dynamically targeting online advertising messages to users
US20040044571A1 (en) * 2002-08-27 2004-03-04 Bronnimann Eric Robert Method and system for providing advertising listing variance in distribution feeds over the internet to maximize revenue to the advertising distributor
US7260783B1 (en) * 2003-07-08 2007-08-21 Falk Esolutions Gmbh System and method for delivering targeted content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128904A1 (en) * 2001-01-23 2002-09-12 Tim Carruthers Method and system for scheduling online targeted content delivery
US20030110171A1 (en) * 2001-11-21 2003-06-12 Stuart Ozer Methods and systems for selectively displaying advertisements
US8082174B1 (en) * 2003-03-07 2011-12-20 Google, Inc. Arbitrating the sale of ad spots to increase offer competition

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Advertising, from Wikipedia, downloaded from http://en.wikipedia.org/w/index.php?title=Advertising&printable=yes on 26 January 2015 *
How to Write Advertisements that Sell, author unknown, from System, the magazine of Business, dated 1912, downloaded from http://library.duke.edu/digitalcollections/eaa_Q0050/ on 21 February 2015 *
Karuga, et al., AdPallete: an algorithm for customizing online advertisements on the fly, Decision Support Systems 32 (2001), pages 85-106, downloaded 26 January 2015 from http://ac.els-cdn.com/S016792360100104X/1-s2.0-S016792360100104X-main.pdf?_tid=c2dbc414-a593-11e4-a00f-00000aab0f02&acdnat=1422301657_3c368ba4cab32bccb053815a7fe134ed (hereinafte *

Cited By (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678522B2 (en) 2007-08-28 2017-06-13 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US11022995B2 (en) 2007-08-28 2021-06-01 Causam Enterprises, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8805552B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8806239B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US10394268B2 (en) 2007-08-28 2019-08-27 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US10396592B2 (en) 2007-08-28 2019-08-27 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US10389115B2 (en) 2007-08-28 2019-08-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10303194B2 (en) 2007-08-28 2019-05-28 Causam Energy, Inc System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US11119521B2 (en) 2007-08-28 2021-09-14 Causam Enterprises, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US11733726B2 (en) 2007-08-28 2023-08-22 Causam Enterprises, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US11735915B2 (en) 2007-08-28 2023-08-22 Causam Enterprises, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US10295969B2 (en) 2007-08-28 2019-05-21 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US10833504B2 (en) 2007-08-28 2020-11-10 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US9651973B2 (en) 2007-08-28 2017-05-16 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US9130402B2 (en) 2007-08-28 2015-09-08 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US9177323B2 (en) 2007-08-28 2015-11-03 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US10116134B2 (en) 2007-08-28 2018-10-30 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US9899836B2 (en) 2007-08-28 2018-02-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US11650612B2 (en) 2007-08-28 2023-05-16 Causam Enterprises, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US10985556B2 (en) 2007-08-28 2021-04-20 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US11025057B2 (en) 2007-08-28 2021-06-01 Causam Enterprises, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US11651295B2 (en) 2007-08-28 2023-05-16 Causam Enterprises, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8890505B2 (en) 2007-08-28 2014-11-18 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US11108263B2 (en) 2007-08-28 2021-08-31 Causam Enterprises, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US9766644B2 (en) 2007-08-28 2017-09-19 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US9773256B1 (en) 2008-04-18 2017-09-26 Google Inc. User-based ad ranking
US10445768B1 (en) 2008-04-18 2019-10-15 Google Llc User-based ad ranking
US8965786B1 (en) * 2008-04-18 2015-02-24 Google Inc. User-based ad ranking
US11676079B2 (en) 2009-05-08 2023-06-13 Causam Enterprises, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US9639103B2 (en) 2011-09-28 2017-05-02 Causam Energy, Inc. Systems and methods for optimizing microgrid power generation and management with predictive modeling
US9563248B2 (en) 2011-09-28 2017-02-07 Causam Energy, Inc. Systems and methods for microgrid power generation management with selective disconnect
US8862279B2 (en) 2011-09-28 2014-10-14 Causam Energy, Inc. Systems and methods for optimizing microgrid power generation and management with predictive modeling
US10261536B2 (en) 2011-09-28 2019-04-16 Causam Energy, Inc. Systems and methods for optimizing microgrid power generation and management with predictive modeling
US9979198B2 (en) 2011-09-28 2018-05-22 Causam Energy, Inc. Systems and methods for microgrid power generation and management
US9225173B2 (en) 2011-09-28 2015-12-29 Causam Energy, Inc. Systems and methods for microgrid power generation and management
US9880580B2 (en) 2011-09-28 2018-01-30 Causam Energy, Inc. Systems and methods for microgrid power generation management with selective disconnect
US9465398B2 (en) 2012-06-20 2016-10-11 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US11703903B2 (en) 2012-06-20 2023-07-18 Causam Enterprises, Inc. Method and apparatus for actively managing electric power over an electric power grid
US9461471B2 (en) 2012-06-20 2016-10-04 Causam Energy, Inc System and methods for actively managing electric power over an electric power grid and providing revenue grade date usable for settlement
US11899482B2 (en) 2012-06-20 2024-02-13 Causam Exchange, Inc. System and method for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US10831223B2 (en) 2012-06-20 2020-11-10 Causam Energy, Inc. System and method for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11165258B2 (en) 2012-06-20 2021-11-02 Causam Enterprises, Inc. System and methods for actively managing electric power over an electric power grid
US11228184B2 (en) 2012-06-20 2022-01-18 Causam Enterprises, Inc. System and methods for actively managing electric power over an electric power grid
US9952611B2 (en) 2012-06-20 2018-04-24 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11899483B2 (en) 2012-06-20 2024-02-13 Causam Exchange, Inc. Method and apparatus for actively managing electric power over an electric power grid
US10088859B2 (en) 2012-06-20 2018-10-02 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US9207698B2 (en) 2012-06-20 2015-12-08 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US11262779B2 (en) 2012-06-20 2022-03-01 Causam Enterprises, Inc. Method and apparatus for actively managing electric power over an electric power grid
US10547178B2 (en) 2012-06-20 2020-01-28 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US10651655B2 (en) 2012-06-20 2020-05-12 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US11703902B2 (en) 2012-06-20 2023-07-18 Causam Enterprises, Inc. System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US10768653B2 (en) 2012-06-20 2020-09-08 Causam Holdings, LLC System and methods for actively managing electric power over an electric power grid and providing revenue grade data usable for settlement
US11782470B2 (en) 2012-07-14 2023-10-10 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US11126213B2 (en) 2012-07-14 2021-09-21 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US10768654B2 (en) 2012-07-14 2020-09-08 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US11625058B2 (en) 2012-07-14 2023-04-11 Causam Enterprises, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US9563215B2 (en) 2012-07-14 2017-02-07 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US9429974B2 (en) 2012-07-14 2016-08-30 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US10429871B2 (en) 2012-07-14 2019-10-01 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
US9729011B2 (en) 2012-07-31 2017-08-08 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10861112B2 (en) 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US8930038B2 (en) 2012-07-31 2015-01-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11782471B2 (en) 2012-07-31 2023-10-10 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10523050B2 (en) 2012-07-31 2019-12-31 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11774996B2 (en) 2012-07-31 2023-10-03 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11747849B2 (en) 2012-07-31 2023-09-05 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10381870B2 (en) 2012-07-31 2019-08-13 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10559976B2 (en) 2012-07-31 2020-02-11 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10651682B2 (en) 2012-07-31 2020-05-12 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10320227B2 (en) 2012-07-31 2019-06-11 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10310534B2 (en) 2012-07-31 2019-06-04 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US8983669B2 (en) 2012-07-31 2015-03-17 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US9008852B2 (en) 2012-07-31 2015-04-14 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9804625B2 (en) 2012-07-31 2017-10-31 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11681317B2 (en) 2012-07-31 2023-06-20 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10852760B2 (en) 2012-07-31 2020-12-01 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11307602B2 (en) 2012-07-31 2022-04-19 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10938236B2 (en) 2012-07-31 2021-03-02 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10985609B2 (en) 2012-07-31 2021-04-20 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9806563B2 (en) 2012-07-31 2017-10-31 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10996706B2 (en) 2012-07-31 2021-05-04 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US10998764B2 (en) 2012-07-31 2021-05-04 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11650613B2 (en) 2012-07-31 2023-05-16 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9465397B2 (en) 2012-07-31 2016-10-11 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9513648B2 (en) 2012-07-31 2016-12-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11095151B2 (en) 2012-07-31 2021-08-17 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11561564B2 (en) 2012-07-31 2023-01-24 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9740227B2 (en) 2012-07-31 2017-08-22 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US9729012B2 (en) 2012-07-31 2017-08-08 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US10429872B2 (en) 2012-07-31 2019-10-01 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US11561565B2 (en) 2012-07-31 2023-01-24 Causam Enterprises, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US9729010B2 (en) 2012-07-31 2017-08-08 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US11501389B2 (en) 2012-07-31 2022-11-15 Causam Enterprises, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US11316367B2 (en) 2012-07-31 2022-04-26 Causam Enterprises, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US20140180885A1 (en) * 2012-10-24 2014-06-26 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8996419B2 (en) 2012-10-24 2015-03-31 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11270392B2 (en) 2012-10-24 2022-03-08 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9704206B2 (en) 2012-10-24 2017-07-11 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8775283B1 (en) * 2012-10-24 2014-07-08 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11263710B2 (en) 2012-10-24 2022-03-01 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11195239B2 (en) 2012-10-24 2021-12-07 Causam Enterprises, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9779461B2 (en) 2012-10-24 2017-10-03 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9786020B2 (en) 2012-10-24 2017-10-10 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9799084B2 (en) 2012-10-24 2017-10-24 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9418393B2 (en) 2012-10-24 2016-08-16 Causam Energy, Inc System, method, and apparatus for settlement for participation in an electric power grid
US8849715B2 (en) 2012-10-24 2014-09-30 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US9070173B2 (en) 2012-10-24 2015-06-30 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11823292B2 (en) 2012-10-24 2023-11-21 Causam Enterprises, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11816744B2 (en) 2012-10-24 2023-11-14 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11288755B2 (en) 2012-10-24 2022-03-29 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US8996418B2 (en) 2012-10-24 2015-03-31 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11803921B2 (en) 2012-10-24 2023-10-31 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10529037B2 (en) 2012-10-24 2020-01-07 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11798103B2 (en) 2012-10-24 2023-10-24 Causam Exchange, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10521868B2 (en) 2012-10-24 2019-12-31 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10497074B2 (en) 2012-10-24 2019-12-03 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10497073B2 (en) 2012-10-24 2019-12-03 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US11770335B2 (en) 2014-10-20 2023-09-26 Causam Enterprises, Inc. Systems, methods, and apparatus for communicating messages of distributed private networks over multiple public communication networks
US10116560B2 (en) 2014-10-20 2018-10-30 Causam Energy, Inc. Systems, methods, and apparatus for communicating messages of distributed private networks over multiple public communication networks
US10833985B2 (en) 2014-10-20 2020-11-10 Causam Energy, Inc. Systems, methods, and apparatus for communicating messages of distributed private networks over multiple public communication networks
US20190043076A1 (en) * 2015-07-09 2019-02-07 Huawei Technologies Co., Ltd. Method and apparatus for estimating advertisement value, and displaying advertisements on user terminal according to their values
US11004160B2 (en) 2015-09-23 2021-05-11 Causam Enterprises, Inc. Systems and methods for advanced energy network
US11314831B2 (en) * 2016-04-25 2022-04-26 Google Llc Allocating communication resources via information technology infrastructure

Also Published As

Publication number Publication date
US8527346B2 (en) 2013-09-03
WO2005033876A2 (en) 2005-04-14
WO2005033876A3 (en) 2007-07-05
US20070174114A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
US8527346B2 (en) Method and system for scheduling electronic advertising
US8321280B2 (en) Demand forecasting system and method for online advertisements
US7546249B2 (en) System and method for managing advertising inventory to maximize advertising revenue
US8478644B1 (en) Optimizing placement and delivery of advertisements
US8473339B1 (en) Automatically switching between pricing models for services
JP5801425B2 (en) Ad progressive pricing method
US20150134462A1 (en) Dynamic bid price selection
US20130268347A1 (en) Yield management system and method for advertising inventory
US20080140493A1 (en) Systems And Methods For Real-Time Allocation Of Digital Content
US20060122879A1 (en) Method and system for pricing electronic advertisements
US20050021395A1 (en) System and method for conducting an advertising campaign
US20090012868A1 (en) Systems And Methods For Real-Time Allocation Of Digital Content
US10445789B2 (en) Segment-based floors for use in online ad auctioning techniques
US20090099909A1 (en) System and Method for Setting Bid Prices Associated with Digital Advertisements Based on Market Conditions
JP2011507107A (en) TV broadcast traffic estimation
US20150112795A1 (en) Efficient budget pacing
US20150134463A1 (en) Performance metric based bid placement
US20100082392A1 (en) Multi-objective optimization for allocation of advertising resources
US20170161774A1 (en) Methods and systems for managing and routing targeted content over networks
TW201501057A (en) Keyword based automatic pricing method and search engine promotion system
US20210295383A1 (en) Audience proposal creation and spot scheduling utilizing a framework for audience rating estimation
US20080281679A1 (en) Competitive fulfillment of discrete opportunities for an impression of broadband video commercials via self-regulating and self-adaptive dynamic spot markets
US10825041B1 (en) Real-time optimization of bid selection
US11869042B2 (en) Bidding assistance device, bidding assistance method, and computer-readable medium storing bidding assistance program
KR100988965B1 (en) Method and system for calculating expectation data and method and system for determinig range expectation in keyword advertisement

Legal Events

Date Code Title Description
AS Assignment

Owner name: EXCALIBUR IP, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038383/0466

Effective date: 20160418

AS Assignment

Owner name: YAHOO| INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EXCALIBUR IP, LLC;REEL/FRAME:038951/0295

Effective date: 20160531

AS Assignment

Owner name: EXCALIBUR IP, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038950/0592

Effective date: 20160531

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION