1 / 28

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.

Roberta
Download Presentation

Google’s Auction for TV ads

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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?

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

  5. 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.)

  6. Choose Target

  7. Specify Bid

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

  9. Rest of Talk • Basic theoretical model • Auction goals • The ascending auction • Good and bad • The ugly

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

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

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

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

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

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

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

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

  18. 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)

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

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

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

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

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

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

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

  26. 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)

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

  28. Thank You!

More Related