google’s auction for tv ads

28
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

Upload: yuri-lowery

Post on 31-Dec-2015

33 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: Google’s Auction for 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.

Page 3: Google’s Auction for TV ads

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?

Page 4: Google’s Auction for TV ads

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

Page 5: Google’s Auction for TV ads

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:1. Upload ad video2. Enter desired targets and your bid3. Everyday:

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

Page 6: Google’s Auction for TV ads

Choose Target

Page 7: Google’s Auction for TV ads

Specify Bid

Page 8: Google’s Auction for TV ads

Daily Auction Process

Publishers Daily Inventory

Advertisers Bid DB

Auction runs daily

Schedule

Pricing

Google bills advertisers

Publishers receive & air ad schedule

Cpm price

#viewers

Page 9: Google’s Auction for TV ads

Rest of Talk

• Basic theoretical model

• Auction goals

• The ascending auction – Good and bad

• The ugly

Page 10: Google’s Auction for TV ads

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 Si pj ≤ bi

Optimization Goals• Revenue

• Efficiency (total value)

• Fairness (?)

• Incentive Compatibility

Page 11: Google’s Auction for TV ads

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

Page 12: Google’s Auction for TV ads

Optimize?Difficult example:

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

Optimize Revenue: Maximize ∑j pj ? – Alice: 2 slots * $25– Bob: 30 slots * $5– Other 68 slots can go anywhere

Optimize Social Welfare: Maximize ∑ j in Si vij ?

– Alice: 100 slots, at whatever cost ≤ $50– Budgets ignored in allocation

Page 13: Google’s Auction for TV ads

Econ 101Example:

– 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

Page 14: Google’s Auction for TV ads

Walrasian Equilibrium

Definition: S is the demand of i at prices p1…pm if it is within budget (∑ j in S pj ≤ 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

Page 15: Google’s Auction for TV ads

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.

Page 16: Google’s Auction for TV ads

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.

Page 17: Google’s Auction for TV ads

Computing the Demand of i

Input: p1…pm ; vi1…vim ; bOutput: S within budget (∑ j in S pj ≤ bi) that

maximizes ∑ j in S (vij-pj)

Complexity: Knapsack NP-hardOptimal 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

Page 18: Google’s Auction for TV ads

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)

Page 19: Google’s Auction for TV ads

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

Page 20: Google’s Auction for TV ads

Ignoring the bug

BUG: slots may be left un-allocated….

Definition: “Gross Substitutes” = it doesn’t happenTheorem: 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

Page 21: Google’s Auction for TV ads

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

Page 22: Google’s Auction for TV ads

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.

Page 23: Google’s Auction for TV ads

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

Page 24: Google’s Auction for TV ads

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

Page 25: Google’s Auction for TV ads

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

Page 26: Google’s Auction for TV ads

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)

Page 27: Google’s Auction for TV ads

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.

Page 28: Google’s Auction for TV ads

Thank You!