220 likes | 378 Views
Sponsored Search. Cory Pender Sherwin Doroudi. Optimal Delivery of Sponsored Search Advertisements Subject to Budget Constraints. Zoe Abrams Ofer Mendelevitch John A. Tomlin. Introduction.
E N D
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 Reserve price is
Problem Definition • Queries Q = {q1, q2, q3, ..., qN} • Bidders B = {b1, b2, b3, ..., bM} • Bidding state A(t);Aij(t) is j’s bid for i-th query • djis j’s daily budget • viis estimate of query frequency • Li = {jp : jp B, p = 1, ..., Pi} • Lik = {jik : jik Li, l ≤ Lik ≤ 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, ..., Ki • Data: dj, vi, cijk, rik • Variables: xik • 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 ithkeyword • Profit if • Maximize
ebay.com nextag.com ? tigerdirect.com priceline.com How to maximize? • If small number of bidders for a query, enumerate all legal subsets Lik, find maxima, see if adding increases profit • Otherwise, use algorithm described in another paper
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 fik = xik/vi • 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
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