google’s auction for tv ads
Post on 31-Dec-2015
Embed Size (px)
DESCRIPTIONGoogles 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
Googles Auction for TV adsNoam 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 adsGoogle 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 talkWhy 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 talkThe auction mechanismIn operation since Sept 2008What we did & theoretical perspectiveThe good, the bad, and the uglyNo numbersSome I dont know, some I cant tell.Only passing mention of the whole systemWhole system in operation about 2 years
Buying TV ads from GoogleWhy buy from Google?Web-based: easy, fast, flexible, day-to-dayAggregation with precise targetingExcellent feedback / reporting allows optimizationActual number of viewers, tune-out info, Workflow for advertisers:Upload ad videoEnter desired targets and your bidEveryday: 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 Publishers Daily InventoryAdvertisers Bid DBAuction runs dailySchedulePricingGoogle bills advertisersPublishers receive & air ad scheduleCpm price#viewers
Rest of TalkBasic theoretical modelAuction goalsThe ascending auction Good and badThe ugly
Basic ModelInputm slots for sale; slot j has reserve price rj 0n bidders. Bidder i has:Budget limit biValue vij for each slot jOutputSet of slots Si won by each bidder i.Price pj for each slot j
Obvious Constraints Si disjointrj pj vij (for j in Si) j in Si pj bi
Optimization GoalsRevenueEfficiency (total value)Fairness (?)Incentive Compatibility
Incentive CompatibilityBidders are strategicThey will mis-report their value or budget if that helps themOur Auction should produce the desired results even when bidders act strategicallyBest if Auction rules themselves discourage any strategic behaviorI.C. = truthful = strategy-proofRevelation Principle: this is wlog
Optimize?Difficult example:100 slotsAlice: bid value=$25, budget=$50Bob: bid value = $5, budget=$150Optimize Revenue: Maximize j pj ? Alice: 2 slots * $25Bob: 30 slots * $5Other 68 slots can go anywhereOptimize Social Welfare: Maximize j in Si vij ?Alice: 100 slots, at whatever cost $50Budgets ignored in allocation
Econ 101Example:100 slotsAlice: bid value=$25, budget=$50Bob: bid value = $5, budget=$150Solve: demand=supply:D(p) = 200/p for p $5D(p) = 50/p for $5 < p $25D(p) = 0 for $25 < pSolution: D(p)=100 when p=$2Alice: 25 slots * $2Bob: 75 slots * $2
Walrasian EquilibriumDefinition: S is the demand of i at prices p1pm 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: S1Sn and p1pm are at an equilibrium if:For every i, Si is the demand of iAll items j are allocated, except perhaps those with rj = pj
The continuous caseIf slots were infinitely divisible then:A Walrasian Equilibrium always existsIt is Pareto Efficient (first welfare theorem)It exhausts the budgets of all bidders that bid > market price on at least some slotWhen bidders are small (price takers) there is no incentive for under-bidding.
Our caseSometimes a Walrasian equilibrium doesnt exist at all.Sometimes it doesIf 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 iInput: p1pm ; vi1vim ; 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/pjWhy not FPTAS?Speed, Simplicity, and ExtendibilityStability over multiple calls Budget limit not really sharp
Simultaneous Ascending AuctionDemange-Gale-Sotomayer, Kelso-Crawford, Initialize: pj = rj ; Si = ; Q all biddersWhile Q not emptyi Q.deque()Si demand(i)At current prices; but + for j not in SiFor all slots j taken from others do pj pj +For all k that had slots taken do Q.enque(k)
AnalysisPrices only increase at most mvmax/ rounds After round with i dequed, Si = demand(i)Remains true, when prices of un-owned slots increaseInvariant: for i not in Q: Si = demand(i)When algorithm terminates we have a (-) Walrasian equilibrium
Ignoring the bugBUG: slots may be left un-allocated.
Definition: Gross Substitutes = it doesnt happenTheorem: If Gross Substitutes then (-) Walrasian equilibrium [Kelso and Crawford]
Example: Homogenous slotsAlso Incentive compatible if values
Remnant round Reality is not Gross substitutes Some slots remain un-allocated at the endWhat to do with these?Ignore and leave un-allocated?Our Solution: remnant-sale roundFix what was already soldRepeat:Reduce prices of unsold slots a bitRerun simultaneous ascending auctionUntil all unsold slots are at reserve price
Software EngineeringBidder is a central internal interfaceResponsible only for the desires of a single advertiserCan answer demand queriesArbitration between the different bidders is the responsibility of the main algorithm and is price-based.
Multiple ad lengthsStandard Ad lengths may be 15sec, 30sec, 60sec, 90sec,120secWe use15sec slotsPricing difficulty:$10 for 30sec vs. $7 for 15sec + $2 for 15sec$10 for 30sec vs. $9 for 15sec + $9 for 15secOur solution:In main ascending auction, pay taken slot pricesIn remnant round, pay for all slots of displaced ad
CrowdingTV stations and advertisers often require some minimum gap between similar adsBy time or by commercial breakPer-creative, per advertiser, sometimes even per-industryInternal to demand logicCan be solved exactly using dynamic programmingWe just add condition in greedy algorithm
Noisy BudgetsDaily 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 optimizationsAllow taking last spot if it is just a bit above Re-justifies the greedy demand logic
Unscheduled slotsWe do not really have free disposal: half filling a commercial break is not allowed.Various rulesTry to schedule public service announcements to fill commercial breaks.Release non-full breaks (and try re-scheduling)
Overlapping AuctionsSometimes 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.