Google s auction for tv ads
1 / 28

google - PowerPoint PPT Presentation

  • 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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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 l.jpg

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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Daily Auction Process

Publishers receive & air ad schedule

Publishers Daily Inventory




Auction runs daily

Cpm price

Google bills advertisers

Advertisers Bid DB

Rest of talk l.jpg
Rest of Talk

  • Basic theoretical model

  • Auction goals

  • The ascending auction

    • Good and bad

  • The ugly

Basic model l.jpg


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


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


Efficiency (total value)

Fairness (?)

Incentive Compatibility

Basic Model

Incentive compatibility l.jpg
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 l.jpg

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 l.jpg
Econ 101


  • 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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg

  • 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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg

  • 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 l.jpg
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 l.jpg
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 l.jpg
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.