google s auction for tv ads
Download
Skip this Video
Download Presentation
Google’s Auction for TV ads

Loading in 2 Seconds...

play fullscreen
1 / 28

google - PowerPoint PPT Presentation


  • 209 Views
  • Uploaded on

Google’s Auction for TV ads. Noam Nisan Tel-Aviv and Hebrew University Joint work with: Jason Bayer, Deepak Chandra, Tal Franji, Robert Gardner, Yossi Matias, Neil Rhodes, Misha Seltzer, Danny Tom, Hal Varian, Dan Zigmond . sells TV ads.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'google' - Roberta


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
google s auction for tv ads

Google’s Auction for TV ads

Noam Nisan

Tel-Aviv and Hebrew University

Joint work with: Jason Bayer, Deepak Chandra, Tal Franji, Robert Gardner, Yossi Matias, Neil Rhodes, Misha Seltzer, Danny Tom, Hal Varian, Dan Zigmond

sells tv ads
sells TV ads
  • Google has deals with TV “publishers” (networks, cable companies) that let it sell some of their “ad-spot” inventory.
    • Over 100 channels, some local, some national
  • Google auctions this inventory among interested advertisers on a daily basis.
  • Buying TV spots this way is web-based.
outside the scope of this talk
Outside the scope of this talk
  • Why is Google doing this?
  • What are its future plans?
  • What is its competitive advantage?
  • What kinds of deals does Google have?
  • How much money is Google making?
scope of this talk
Scope of this talk
  • The auction mechanism
    • In operation since Sept 2008
  • What we did & theoretical perspective
    • The good, the bad, and the ugly
  • No numbers
    • Some I don’t know, some I can’t tell….
  • Only passing mention of the whole system
    • Whole system in operation about 2 years
buying tv ads from google
Buying TV ads from Google

Why buy from Google?

  • Web-based: easy, fast, flexible, day-to-day
  • Aggregation with precise targeting
  • Excellent feedback / reporting allows optimization
    • Actual number of viewers, tune-out info, …

Workflow for advertisers:

  • Upload ad video
  • Enter desired targets and your bid
  • Everyday:

The auction runs, your ad is scheduled and aired, you get a detailed report, and you pay Google (and then Google pays publishers.)

daily auction process
Daily Auction Process

Publishers receive & air ad schedule

Publishers Daily Inventory

Schedule

#viewers

Pricing

Auction runs daily

Cpm price

Google bills advertisers

Advertisers Bid DB

rest of talk
Rest of Talk
  • Basic theoretical model
  • Auction goals
  • The ascending auction
    • Good and bad
  • The ugly
basic model
Input

m slots for sale; slot j has reserve price rj ≥ 0

n bidders. Bidder i has:

Budget limit bi

Value vij for each slot j

Output

Set of slots Si won by each bidder i.

Price pj for each slot j

Obvious Constraints

Si disjoint

rj ≤ pj ≤ vij (for j in Si)

∑ j in Sipj ≤ bi

Optimization Goals

Revenue

Efficiency (total value)

Fairness (?)

Incentive Compatibility

Basic Model
incentive compatibility
Incentive Compatibility
  • Bidders are strategic
    • They will mis-report their value or budget if that helps them
  • Our Auction should produce the desired results even when bidders act strategically
  • Best if Auction rules themselves discourage any strategic behavior
    • I.C. = truthful = strategy-proof
  • Revelation Principle: this is wlog
optimize
Optimize?

Difficult example:

  • 100 slots
  • Alice: bid value=$25, budget=$50
  • Bob: bid value = $5, budget=$150

Optimize Revenue: Maximize ∑jpj ?

  • Alice: 2 slots * $25
  • Bob: 30 slots * $5
  • Other 68 slots can go anywhere

Optimize Social Welfare: Maximize ∑ j in Sivij ?

  • Alice: 100 slots, at whatever cost ≤ $50
  • Budgets ignored in allocation
econ 101
Econ 101

Example:

  • 100 slots
  • Alice: bid value=$25, budget=$50
  • Bob: bid value = $5, budget=$150

Solve: demand=supply:

  • D(p) = 200/p for p ≤$5
  • D(p) = 50/p for $5 < p ≤$25
  • D(p) = 0 for $25 < p

Solution: D(p)=100 when p=$2

  • Alice: 25 slots * $2
  • Bob: 75 slots * $2
walrasian equilibrium
Walrasian Equilibrium

Definition:S is the demand of i at prices p1…pm if it is within budget (∑ j in Spj ≤ bi) and it maximizes utility. I.e. for every T within budget we have that ∑ j in T (vij-pj)≤ ∑ j in S (vij-pj).

Definition:S1…Sn and p1…pm are at an equilibrium if:

  • For every i, Si is the demand of i
  • All items j are allocated, except perhaps those with rj = pj
the continuous case
The continuous case

If slots were infinitely divisible then:

  • A Walrasian Equilibrium always exists
  • It is Pareto Efficient (first welfare theorem)
  • It exhausts the budgets of all bidders that bid > market price on at least some slot
  • When bidders are small (“price takers”) there is no incentive for under-bidding.
our case
Our case
  • Sometimes a Walrasian equilibrium doesn’t exist at all.
    • Sometimes it does
  • If it exists, then it is Pareto efficient and exhausts the budget of each bidder up to the price of the cheapest slot for which it bid at least market.
  • “Sometimes” it is incentive compatible.
computing the demand of i
Computing the Demand of i

Input:p1…pm ; vi1…vim ; b

Output: S within budget (∑ j in Spj ≤ bi) that maximizes ∑ j in S (vij-pj)

Complexity: Knapsack  NP-hard

Optimal Fractional solution:

  • Greedily in order of decreasing vij/pj

Why not FPTAS?

  • Speed, Simplicity, and Extendibility
  • Stability over multiple calls
  • Budget limit not really sharp
simultaneous ascending auction demange gale sotomayer kelso crawford
Simultaneous Ascending AuctionDemange-Gale-Sotomayer, Kelso-Crawford, …
  • Initialize: pj = rj ; Si = Ø ; Q  all bidders
  • While Q not empty
    • i  Q.deque()
    • Si  demand(i)
        • At current prices; but +δ for j not in Si
    • For all slots j taken from others do pj  pj +δ
    • For all k that had slots taken do Q.enque(k)
analysis
Analysis
  • Prices only increase

at most mvmax/δ rounds

  • After round with i dequed, Si = demand(i)
  • Remains true, when prices of un-owned slots increase
    • Invariant: for i not in Q: Si = demand(i)
  • When algorithm terminates we have a (δ-) Walrasian equilibrium
ignoring the bug
Ignoring the bug

BUG: slots may be left un-allocated….

Definition: “Gross Substitutes” = it doesn’t happen

Theorem: If “Gross Substitutes” then (δ-) Walrasian equilibrium [Kelso and Crawford]

Example: Homogenous slots

  • Also Incentive compatible if values<<budgets or budgets<<values

Example: “Unit demand” – demand is never more than a single unit [Demange, Gale, and Sotomayer]

 An algorithm for maximum-weight bipartite matching

  • Also final prices are VCG and thus incentive compatible
remnant round
Remnant round

Reality is not “Gross substitutes”

  • Some slots remain un-allocated at the end

What to do with these?

  • Ignore and leave un-allocated?

Our Solution: remnant-sale round

  • Fix what was already sold
  • Repeat:
    • Reduce prices of unsold slots a bit
    • Rerun simultaneous ascending auction
  • Until all unsold slots are at reserve price
software engineering
Software Engineering
  • “Bidder” is a central internal interface
    • Responsible only for the desires of a single advertiser
    • Can answer “demand” queries
  • Arbitration between the different bidders is the responsibility of the main algorithm and is price-based.
multiple ad lengths
Multiple ad lengths
  • Standard Ad lengths may be 15sec, 30sec, 60sec, 90sec,120sec
  • We use15sec slots
  • Pricing difficulty:
    • $10 for 30sec vs. $7 for 15sec + $2 for 15sec
    • $10 for 30sec vs. $9 for 15sec + $9 for 15sec
  • Our solution:
    • In main ascending auction, pay taken slot prices
    • In remnant round, pay for all slots of displaced ad
crowding
Crowding
  • TV stations and advertisers often require some minimum gap between similar ads
    • By time or by commercial break
    • Per-creative, per advertiser, sometimes even per-industry
  • Internal to demand logic
  • Can be solved exactly using dynamic programming
  • We just add condition in greedy algorithm
noisy budgets
Noisy Budgets
  • Daily budgets are only approximate:
    • Google allows up to 20% daily deviation
    • Actual costs depend on actual numbers of viewers and are only estimated
  • Leaves room for policy decisions
  • Leaves room for optimizations
    • Allow taking “last spot” if it is just a bit above
  • Re-justifies the greedy demand logic
unscheduled slots
Unscheduled slots
  • We do not really have free disposal: “half filling” a commercial break is not allowed.
    • Various rules
  • Try to schedule “public service announcements” to fill commercial breaks.
  • Release non-full breaks (and try re-scheduling)
overlapping auctions
Overlapping Auctions
  • Sometimes we need to run an auction for some parts of the slot-inventory before the rest of the inventory is finalized.
  • Problem: budget shared between the auctions.
  • Solution: Use best estimate/prediction on non-finalized inventory; commit only to inventory you need to commit to.
ad