Presentation on theme: "Sponsored Search Cory Pender Sherwin Doroudi. Optimal Delivery of Sponsored Search Advertisements Subject to Budget Constraints Zoe Abrams Ofer Mendelevitch."— Presentation transcript:

Sponsored Search Cory Pender Sherwin Doroudi

Optimal Delivery of Sponsored Search Advertisements Subject to Budget Constraints Zoe Abrams Ofer Mendelevitch John A. Tomlin

Introduction Search engines (Google, Yahoo!, MSN) auction off advertisement slots on search page related to user’s keywords Pay per click Earn millions a day through these auctions –Auction type is important

Sponsored search parameters Bids Query frequencies –Not controlled by advertisers or search engine –Few queries w/ large volume, many with low volume Advertiser budgets Pricing and ranking algorithm

Solution Focus on small subset of queries –Predictable volumes in near future –Constitute large amount of total volume

Sponsored search parameters Bids Query frequencies Advertiser budgets –Controlled by advertisers Pricing and ranking algorithm –Generalized second price (GSP) auction –Rankings according to (bid) x (quality score) –Charged minimum price needed to maintain rank Goal: take these parameters into account, maximize revenue

Motivating example BidderBid for q 1 Bid for q 2 Budget b1b1 C 1 +  C1C1 C1C1 b2b2 C1C1 0C1C1 b3b3 C 1 -  2 C 1 AllocationShown for q 1 Shown for q 2 Total Revenue Greedyb1b1 b3b3 C 1 +  Optimalb2b2 b1b1 2C 1 -  Reserve price is 

Problem Definition Queries Q = {q 1, q 2, q 3,..., q N } Bidders B = {b 1, b 2, b 3,..., b M } Bidding state A(t); A ij (t) is j’s bid for i-th query d j is j’s daily budget v i is estimate of query frequency L i = {j p : j p  B, p = 1,..., P i } L i k = {j i k : j i k  L i, l ≤ L i k ≤ P}

Ranking and revenue Bid-ranking - Revenue-ranking - So, for slate k, Price per click: Independent click through rates Revenue-per-search:  Total revenue:

Bidder’s cost Total spend for j:

Linear program Queries i = 1,..., N Bidders j = 1,..., M Slates k = 1,..., K i Data: d j, v i, c ijk, r ik Variables: x ik Constraints: – Budget: –Inventory:

Objective function Maximize revenue: Value objective: Clicks objective:

Column Generation Each column represents a slate Could make all possible columns –But for each query, exponential in number of bidders Start with some initial set of columns  j : Marginal value for j’s budget  i : Marginal value for i th keyword Profit if Maximize

How to maximize? If small number of bidders for a query, enumerate all legal subsets L i k, find maxima, see if adding increases profit Otherwise, use algorithm described in another paper tigerdirect.com ? nextag.com priceline.com ebay.com

Summary (so far) Various bidders vying for spots on the slate for each query Constrained by budget, query frequencies, ranking method Solve LP for some initial set of slates Check if profit can be made by adding new slates Re-solve LP, if necessary Can be applied to maximize revenue or efficiency

Simulation Methodology Compare this method to greedy algorithm –For greedy, assign what gets most revenue at the time; when bidder’s budget is reached, take them out of the pool Used 5000 queries For 11 days, retrieved hourly data on bidders, bids, budgets To determine which ads appear, assign based on frequencies f ik = x ik /v i After each hour, see if anyone has exceeded budget

Simulation Results Current method better than greedy method, when optimizing over revenue or efficiency Larger gain for revenue when revenue optimized Revenue and efficiency are closely tied

Gains when efficiency is maximized

Gains when revenue is maximized

Impact on bidders

Limitations Illegitimate price hikes for other bidders if one person exceeds budget in middle of hour Assumption that expected number of clicks are correct For the purposes of the simulation, expect these to affect greedy and LP optimization similarly

Future work Focus on less frequent queries –Frequencies harder to predict –Some work has been done (doesn’t incorporate pricing and ranking) Keywords with completely unknown frequencies Parallel processing for submarkets Investigate how advertisers might respond to this method –Potential changes in reported bids/budgets