The invention relates generally to computer systems, and more particularly to an improved system and method for representative allocation and pricing of impression segments of online advertisement impressions for advertising campaigns.
Traditionally, there are two common internet advertising market segments. One is the text advertisement segment, and the other is the banner segment. Text advertisements are generally segments of text that may be linked to the advertiser's web site via a hypertext link. The text advertisement business is mainly conducted through sponsored search auction and content match technologies. Content matching is a widely used mechanism for selling online advertising by matching advertisements to content published on the Internet. Each time a user requests published content, advertising space may be allocated within the content served in response to the user's request. For instance, page content may be aggregated into keywords, and advertisements may be matched to content using the highest payment offered by an advertiser for the keywords representing the content.
For the banner advertising segment, behavioral targeting technology has been used, where both users and advertisements are mapped into categories, and then advertisements with the highest payments offered by an advertisers that are in the same categories with a user will be served to that user. Unfortunately, the categories may be defined by marketing personnel relying on their experience, rather than by the interests of the users. Moreover, the categories may be defined in a hierarchy that may focus on vertical areas such as travel or shopping, and thus may unnecessarily restrict selection of an advertisement within a vertical, instead of considering the broader interests of the users and a representative sample of display properties for advertisers.
What is needed is a way to allocate and price advertisements that provide a representative sample of display properties for advertisers and take into account the value of the unused inventory. Such a system and method should consider users' experience and interests to provide more relevant advertisements and should provide a representative sample of display properties for advertisers.
The present invention provides a system and method for representative allocation and pricing of impression segments of online advertisement impressions for advertising campaigns. An allocation and pricing engine may be provided that determines a representative number of advertisement impressions from impression segments eligible to satisfy advertising campaigns by maximizing the prices of the impression segments for each of the values of the advertising campaigns. The allocation and pricing engine may be operably coupled to an inventory evaluator that identifies impression segments that satisfy targeting attributes of an advertising campaign. The allocation and pricing engine may also be operably coupled to a proportional inventory allocator that may allocate the representative number of advertisement impressions from the impression segments for the advertising campaigns. In general, such an allocation of advertisement impressions that is representative of eligible impression segments values diversification and may be optimized to derive market pricing of advertisement impression segments.
An inventory of online advertisement impressions may be grouped in impression segments according to attributes of the advertisement impressions and advertising campaigns for impressions targeting specific attributes may be received. A historical value previously paid may be obtained for each of the impression segments of the inventory of online advertisement impressions and an average price may be computed for each of the advertising campaigns. A representative number of advertisement impressions from the impression segments may be determined for allocation to the advertising campaigns by maximizing the prices of the impression segments for each of the values of the advertising campaigns. The representative number of advertisement impressions from the impression segments may be allocated for the advertising campaigns, and the price of each of the advertising campaigns may be output for the allocated advertisement impressions.
The present invention may be used by many applications to allocate and price impression segments of online advertisement impressions for advertising campaigns. For example, online banner advertising applications may use the present invention to allocate and price online advertisement impressions that satisfy advertising campaigns. Or online content-match advertising applications may use the present invention to allocate and price online advertisement impressions for available advertising space displayed with content requested by a user. Similarly, advertising applications for email may use the present invention to allocate and price online advertisement impressions for available advertising space displayed with a message from an inbox requested by a user. For any of these online advertising applications, advertisement impressions allocated from impression segments may be priced using the present invention to satisfy advertising campaigns.
Other advantages will become apparent from the following detailed description when taken in conjunction with the drawings, in which:
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer system 100 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer system 100 and includes both volatile and nonvolatile media. For example, computer-readable media may include volatile and nonvolatile computer storage media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer system 100. Communication media may include computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For instance, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
The system memory 104 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 106 and random access memory (RAM) 110. A basic input/output system 108 (BIOS), containing the basic routines that help to transfer information between elements within computer system 100, such as during start-up, is typically stored in ROM 106. Additionally, RAM 110 may contain operating system 112, application programs 114, other executable code 116 and program data 118. RAM 110 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by CPU 102.
The computer system 100 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, discussed above and illustrated in
The computer system 100 may operate in a networked environment using a network 136 to one or more remote computers, such as a remote computer 146. The remote computer 146 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer system 100. The network 136 depicted in
The present invention is generally directed towards a system and method for representative allocation and pricing of impression segments of online advertisement impressions for advertising campaigns. An inventory of online advertisement impressions may be grouped by attributes into impression segments and advertising campaigns may be received for placement of advertisements on display properties. A representative allocation and pricing of impression segments may be optimized by minimizing a squared distance of an allocation of advertisements that maximizes value of impression segments from a proportional allocation of advertisements for each campaign. The representative allocation and pricing of impression segments may then be output for the advertising campaigns.
As will be seen, the present invention may be used by many applications to allocate and price impression segments of online advertisement impressions for advertising campaigns. As will be understood, the various block diagrams, flow charts and scenarios described herein are only examples, and there are many other scenarios to which the present invention will apply.
Turning to
In various embodiments, a computer 202, such as computer system 100 of
The allocation and pricing engine 204 may allocate a representative sample of advertisement impressions 218 from impression segments 216 to satisfy advertiser campaigns 212 and may price the impressions 218 allocated to the advertiser campaigns 212. The allocation and pricing engine 204 may be operably coupled to an inventory evaluator 206 that may evaluate attributes of impression segments 216 and identify eligible impression segments 216 with advertisement impressions 218 that may satisfy targeting attributes of an advertiser campaign 212. The allocation and pricing engine 204 may also be operably coupled to a proportional inventory allocator 208 that may allocate a proportional number of advertisement impressions 218 as a representative sample from impression segments 216 eligible to satisfy advertisement campaigns 212. Each of these components may be any type of executable software code that may execute on a computer such as computer system 100 of
There may be many applications which may use the present invention to allocate and price impression segments of online advertisement impressions for advertising campaigns. For example, online banner advertising applications may use the present invention to allocate and price online advertisement impressions that satisfy advertising campaigns. Or online content-match advertising applications may use the present invention to allocate and price online advertisement impressions for available advertising space displayed with content requested by a user. Similarly, advertising applications for email may use the present invention to allocate and price online advertisement impressions for available advertising space displayed with a message from an inbox requested by a user. For any of these online advertising applications, advertisement impressions may be allocated and priced using the present invention to satisfy advertising campaigns.
In general, the inventory of impressions may be grouped and organized into impression segments by a set of attributes. A set of attributes may be any combination of one or more attributes associated with web page display properties, with web browser properties, with one or more users including demographics, online behavior, and so forth. Each impression segment may represent a disjoint set of attributes. For example, the set of attributes for an impression segment may include males between the ages of 20 and 30 living in the U.S. While each of the impression segments may represent a disjoint set of attributes, an inventory impression may belong to two or more impression segments. For instance, advertisement impressions in an impression segment that includes an attribute of “male” may also occur in another impression segment that includes an attribute of “living in the U.S.”
An Internet advertising service may receive numerous requests from advertisers to purchase impressions for advertising campaigns. Each of these requests may identify a specific number of impressions that are desired that satisfy a particular set of attributes. For instance, an advertiser may request that the Internet advertising service provide a million impressions targeted to males. An Internet advertising service has a number of options available to it to satisfy such a request, since there may be a number of disjoint impression segments that include the attribute of “male.” For example, the males may be living in the U.S. or outside the U.S., as well as within various age ranges. As a result, there are a number of different ways that the Internet advertising service may satisfy this request from the different disjoint impression segments that include the attribute of “male.”
Consider the indices of the impression segments to be denoted by i=1, . . . ,I, xi to denote the volume of impression segment i. Also consider ri to denote the reference price for impressions segment i. Next consider the indices of the requested campaigns to be denoted by j=1, . . . ,J. Consider, Bj to denote the set of impression segments that can be used to satisfy the demand of campaign j, and yij to denote the amount of bucket i that will go toward campaign j, and Yj to denote the guaranteed number of impressions for campaign j such that
The value of campaign j may be denoted by Vj.
An allocation and pricing of impression segments that may supply a representative sample of impressions from eligible impression segments for requested campaigns may be optimized for an Internet advertising service by minimizing the squared distance of an allocation of advertisements from a proportional allocation of advertisements for each campaign.
It is desirable to weight the squared deviations by
to make the solution independent of impression segment division and by Vj to reflect potentially differential campaign weighting. Thus the objective function used to minimize the squared distance of an allocation of advertisements from a proportional allocation of advertisements for each campaign may be in an embodiment
There may be three kinds of constraints for such an allocation. First, there must be an adequate number of impressions in each impression segment for the allocation to be feasible. Mathematically, this requires
for every bucket i. Second, each campaign must meet its guarantee, requiring
for all campaigns j. In addition, quantities are non-negative, creating a constraint yij≧0, for all i and j.
Consider pi to denote the value of impression segment i. In an embodiment, pi may be initialized to the historical price paid for advertisement impressions in impression segment i. To include the constraints in the objective function that there be an adequate number of impressions in each impression segment and that each campaign meets its guarantee, pi may be a shadow value denoted by the Lagrangian multiplier on
and αj be the multiplier on
The constraint that the quantities are non-negative may be handled manually. The objective function that includes the Lagrangian multiplier becomes the following equation:
The first order conditions, for iεBj, come in the form of
Considering Aj={iεBj|yij>0} and summing over iεAj, the multiplier αj may be obtained in the form of the equation,
Substituting the value of αj into
or yij=0 and
the following equation for a proportional allocation of advertisements for each campaign from eligible impression segments is obtained:
There may be a critical level, denoted by p*j, that represents the maximum value of inventory for campaign j that is the price campaign j is willing to pay for impressions in inventory. Note that the critical level p*j occurs when yij=0, if and only if pi≦p*j. From the equation
p*j must equal
where
A
j
={iεB
j
|y
ij>0}={iεBj|pi<p*j}.
Thus, an allocation for a proportional representation of advertisements for each campaign from eligible impression segments may be calculated by the following equation that considers the maximum value of the inventory for each campaign:
Importantly, this solution delivers quantities as a function of prices. In the special case where all the quantities of campaign j are positive for all of the impression segments, consider
Then an allocation for a proportional representation of advertisements may be calculated by the following equation that considers the maximum value of the inventory for each campaign:
Given the special case where all of the impression segments are eligible impression segments, then either max pi≦Vj+
and the allocation and price of inventory may be calculated for each campaign by
with the largest set Aj chosen for maximal representation.
A procedure for calculating each campaign by
is to rank-order the prices from highest to lowest pmax≧ . . . ≧p2≧p1, and calculate the critical price p*j, for all of the campaigns from highest to lowest prices using the following equation:
until a highest h is found where ph≦ph*j<ph−1. There must be one by hypothesis, since p1<p1*j and pmax>pmax*j. A representative number of impressions may be allocated from eligible impression segments to each campaign that maximizes the value of the campaigns, and it may be determined whether there is excess demand for impressions allocated from impression segments eligible for the campaigns. Given that excess demand may be proportional to
excess demand may be either zero or excess demand may be negative and pi=ri. If there is excess demand or the price of impression segments is greater than the reserve price, then the procedure may reiterate until the price of impression segments is equal to their reserve price when there is no excess demand.
Accordingly,
At step 406, it may be determined whether the maximum price of the impression segments eligible for each campaign is less than or equal to the value of the campaign plus the average price of impression segments eligible for the campaign:
If so, then a representative number of impressions may be allocated at step 408 from eligible impression segments to each campaign that maximizes the value of the campaigns. In an embodiment, the representative number of impressions may be allocated by the following equation that considers the maximum value of the inventory for each campaign
The price of the allocated impressions for each campaign may be output at step 410 and processing may be finished.
If it may be determined at step 406 that the maximum price of the impression segments eligible for a campaign is greater than the value of the campaign plus the average price of impression segments eligible for the campaign, then the impression segments eligible for the campaigns may be rank ordered by price at step 412.
Steps 414 to 418 may get each impression segment from the rank-order by price from highest to lowest pmax≧ . . . ≧p2≧p1, and calculate the critical price p*j, for all of the campaigns from highest to lowest prices using the following equation:
until a highest h is found where ph≦ph*j<ph+1.
At step 414 the next impression segment may be obtained from the rank order of impression segments by price in order to calculate the critical price, p*j, for all of the campaigns for the impression segments obtained from the rank order by price. At step 416, the critical price, p*j, may be calculated for all of the campaigns for the impression segments obtained from the rank order by price. In an embodiment, the critical price, p*j, for all of the campaigns may be calculated for the impression segments obtained from the rank order by price using the following equation:
At step 418, it may be determined whether the critical price for the impression segment obtained at step 414 is greater than or equal to the price of the impression segment and less than the previous rank ordered impression segment obtained from the rank order such that ph≦ph*j<ph+1. If so, then at step 420 a representative number of impressions may be allocated from eligible impression segments to each campaign that maximizes the value of the campaigns. In an embodiment, the representative number of impressions may be allocated by the following equation that considers the maximum value of the inventory for each campaign
At step 422, it may be determined whether there is excess demand for impressions allocated from impression segments eligible for the campaigns. In an embodiment, excess demand for impressions allocated from the impression segments may be calculated by the equation,
If not, then it may be determined at step 424 whether the price is greater than the reserve price for each impression segment such that pi>ri. If there is not excess demand and the price is not greater than the reserve price for each impression segment when there is excess demand, then the price of the allocated impressions for each campaign may be output at step 428 and processing may be finished. Otherwise, if it may be determined that there is excess demand at step 422, then the price for each impression segment that is less than or equal to the reserve price may be updated at step 426. In an embodiment, the price for each impression segment may be updated by the equation
where pi≦ri. And processing may continue at step 406 where it may be determined whether the maximum price of the impression segments eligible for each campaign is less than or equal to the value of the campaign plus the average price of impression segments eligible for the campaign. And if it may be determined at step 424 that the price is greater than the reserve price for each impression segment when there is excess demand, then the price for each impression segment that is less than or equal to the reserve price may be updated at step 426. In an embodiment, the price for each impression segment may be updated by the equation
where pi≦ri. And processing may continue at step 406 where it may be determined whether the maximum price of the impression segments eligible for each campaign is less than or equal to the value of the campaign plus the average price of impression segments eligible for the campaign.
Those skilled in the art will appreciate that the steps undertaken in the embodiment described in conjunction with
Thus the present invention may optimize an allocation and pricing of impression segments that is representative of eligible impression segments available for each campaign and maximize the value of impression segments allocated for each campaign. Such an allocation of advertisement impressions that is representative of eligible impression segments values diversification and may be based upon pricing that equates supply and demand to derive market pricing of advertisement impression segments. Moreover, those skilled in the art will appreciate that the present invention may be deployed by advertising systems where targeting attributes are taken into consideration as well as by advertising system that do not consider targeting attributes. Moreover, eligible impression segments for each campaign may be defined by an independent set of attributes instead of demand attributes of an advertising campaign.
As can be seen from the foregoing detailed description, the present invention provides an improved system and method for representative allocation and pricing of impression segments of online advertisement impressions for advertising campaigns. Advertising campaigns for impressions targeting specific attributes may be received. A representative number of advertisement impressions from the impression segments may be determined for allocation to the advertising campaigns by maximizing the prices of the impression segments for each of the values of the advertising campaigns. The representative number of advertisement impressions from the impression segments may be allocated for the advertising campaigns, and the price of each of the advertising campaigns may be output for the allocated advertisement impressions. Advantageously, the system and method of the present invention may be generally applied by many online advertising applications for allocating impression segments of advertisements for advertising campaigns. As a result, the system and method provide significant advantages and benefits needed in contemporary computing, and more particularly in online advertising applications.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.