Information, Bidding and Competition in Sponsored Search Jon Feldman S. Muthukrishnan Sponsored search from the advertiser perspective • What is a search ad campaign? • What are the goals of a search ad campaign? • What information do we have to analyze and manage a campaign? • Given this information, how do we manage a campaign? • How does competition affect a search ad campaign? • Note: the word “auction” does not appear above... Goals of this tutorial • Detail the real experience of setting up and managing a search ad campaign. • Formulate general research questions inspired by these details. • Highlight examples of existing research. • non-goal: complete survey of the Sponsored Search literature Users, advertisers, and the search engine • Search engine determines which ads get shown, page layout (and, of course, the search results). • Search engine user determines which (if any) ad is clicked, and whether to buy something. ...thus, even from the advertiser perspective, need to reason about behavior of user and search engine. Multiple perspectives Algorithms optimize stuff and prove bounds What can you prove about that heuristic? Great proof... but is this useful on real data? Learning/IR/Stats learn stuff from data and test it Your mechanism is biasing my data...! Isn’t the Bayesean assumption unsatisfying? We can predict behavior without always needing to bound stuff. Economics model stuff to learn about the world Your model ignores the nature of the agents...! Outline First half (Jon): • Parameters of a search campaign: Keywords, creatives, adgroups, match types, negative keywords, geo, language, demographic, ad networks, delivery method, scheduling, rotation, frequency capping, landing pages, conversion tracking. • Goals of a search campaign: Direct vs. branding Reaching the user Conversion attribution • Information: Performance statistics, traffic estimation Outline Second half (Muthu): • Bidding, campaign management Bidding strategy, optimization Keyword selection, bidding languages • Competition Dynamics, vindictive strategies Parameters of a search campaign Ad Networks • What is a good economic model for “outsourcing ads?” “Competing Ad Auctions,” Ashlagi, Monderer, Tennenholtz, AAW 08 “Competing Keyword Auctions,” Liu, Chen, Whinston, AAW 08 Automatic bidding • Much more on bidding types, strategy and algorithms later.... (Muthu) • How can an auctioneer successfully mix bidding types? “General Auction Mechanism for Search Advertising,” Aggarwal, M., Pal, Pal, WWW ‘09 Budget allocation • How should a search engine allocate budget efficiently? Pure online algorithms question: ``Adwords and Generalized Online Matching'', Mehta, Saberi, Vazirani, Vazirani, JACM, 2007. • What incentives do the resulting mechanism create? “Multi-unit Auctions with budget limits,” Dobzinski, Lavi, Nisan. FOCS 08. Ad rotation • Clear application of explore/exploit model. • What are the implications of having the search engine automate the learning, rather than the advertiser? Frequency capping (not on search ads) • Marketing rule of thumb: People should see your ad between 3 and 7 times. • Is this still true for online ads? For what formats is this a useful rule? • We are now armed with massive data; was this even true to begin with? Keywords, queries and broad match “keyword” = the criteria entered by an advertiser “query” = the data entered by the user “broad match” = search engine determines if (and to what degree) a keyword matches a query • When does a keyword match a query? • Are keywords the right language for advertisers to express their preference for queries? Other alternatives? Learning / NLP questions • Can user intention be gleaned from queries? • Can advertiser intention be gleaned from sets of keywords, ad creatives, landing pages? "Logistic Regression and Collaborative Filtering for Sponsored Search Term Recommendation", Bartz, Murthi, Sebastian, AAW 06 “Keyword generation for search engine advertising using semantic similarity between terms,” Abhishek, EC 07 Economic questions • Is it a good idea to opt into broad match? “Bid Optimization for Broad Match Ad Auctions,” Even-Dar, Mirrokni, Mansour, M., Nadav. “To Broad-Match or Not to Broad Match: An Auctioneer’s Dilemma?,” Singh, Roychowdhury, AAW 08 • How do targeting restrictions affect efficiency of ad placements? “The Cost of Inexpressiveness in Advertisement Auctions,” Benisch, Sadeh, Sandholm, AAW 08. “The Cost of Conciseness in Sponsored Search Auctions,” Abrams, Ghosh, Vee, WINE 07. • How does competition express itself across the keyword/query network? Algorithmic questions • How do match ads to queries (online) to maximize efficiency? “An Optimal Online Bipartite Matching Algorithm,” Karp, Vazirani, Vazirani, STOC ’90. “Optimize-and-Dispatch Architecture for Expressive Ad Auctions,” Parkes and Sandholm, AAW 05. “Offline Optimization for Online Ad Allocation,” F., Mehta, Mirrokni, M., AAW 09 Goals of a search campaign Goals of advertising • Direct vs. branding “Direct” advertiser: selling something now e.g.: online electronics retailer “Branding” advertiser: building brand awareness e.g.: national restaurant chain Direct advertisers: easier to quantify goals • Direct advertisers want sales “conversion” = ad interaction that results in a sale v = value(conversion) ≈ profit from sale Goal: maximize v • #conversions - cost $120.00 $100.00 ....find point where dCost / dConversions = v cost $80.00 $60.00 $40.00 $20.00 $0 5 10 15 conversions 20 25 Conversions via impressions v = value(conversion) ≈ profit from sale Risk-neutral model: value(click) = v • Pr[conversion | click] value(impression) = value(click) • Pr[click | impression] Therefore: value(impr.) = v • Pr[conversion | click] • Pr[click | impr.] Direct advertisers val(impr.) = v • Pr[conv. | click] • Pr[click | impr.] So generating value is (in principle) simple: For each search query: - bidders declare value(impression) - SE runs an efficient, truthful auction. ...but: ...how do we learn those probabilities? ...who is in the best position to learn them? ...how do we elicit values on a per-query basis? Bid for clicks, rank by impression value • Current SE common practice: - Bidders declare val(click) (= v • Pr[conv | click]) ....bid declared on keyword level. - SE estimates Pr[click | impr.], ranks by val(impr.) = val(click) • Pr[click | impr.] ....ranking at query time. price: min bid required to achieve rank pay only on a click • Implicit assumption: v, Pr[conversion | click] both independent of query. Learning click probabilities: user click models ...but ...how do users interact with ads? “Separable” model: - User looks at ad in position j with prob. p(j). p(1) > p(2) > ... > p(k) - If user looks at ad, user clicks on ad with prob. q(i). • Ranking by b(i) q(i) maximizes efficiency • Basis of most mech. design work in sponsored search Learning click probabilities: user click models ...but ...how do users really interact with ads? CS: “Sponsored Search Auctions with Markovian Users,” Aggarwal, F., M., Pal, WINE 08. “A Cascade Model for Externalities in Sponsored Search,” Kempe, Mahdian, WINE 08. Learning / IR: “An Experimental Comparison of Click Position-Bias Models,” Craswell, Zoeter, Taylor, Ramsey, WSDM 2008 “A User Browsing Model... ,” Dupret, Piwowarsky, SIGIR 08 “Click Chain Model in Web Search,” Guo, Liu, Kannan, Minka, Taylor, Wang, Faloutsos, WWW 09 Econ: “Position Auctions with Consumer Search,” Athey, Ellison, working paper, 2007. Learning click probabilities: user click models “Position Auctions with Consumer Search,” Athey, Ellison, working paper, 2007. • User looking for something • Will search down the sponsored links until cognitive cost of looking > expected value from looking SE: arrange ads to minimize user cost, maximize ad value Advertiser: proper targeting, build user trust. Learning and Incentives “Dynamic Cost-Per-Action Mechanisms and Applications to Online Advertising,” Nazerzadeh, Saberi, Vohra, WWW’08 • Repeated sales of clicks c1, c2, c3, ..., cn. • Mechanism decides to give click i to advertiser j based on history. • Advertiser j then learns how valuable the click was, reports v(i, j). “Characterizing Truthful Multi-Armed Bandit mechanisms,” Babaioff, Sharma, Slivkins, EC 09. The Price of Truthfulness for Pay-Per-Click Auctions,” Devanur, Kakade, EC 09 • If mechanism truthful, each sale must explore or exploit, not both. Conversion Attribution value(click) = v • Pr[conversion | click] What role does the search ad click play in “generating” the conversion? “Integrated Multichannel Communication Strategies: Evaluating the Return on Marketing objectives...,” Briggs, Krishnan, Borin, Journal of Interactive Marketing, 2005. Brand and Search In what phases of this process is (sponsored) search useful? Model still relevant? “Internet Shopping Shoots Holes in the Purchase Funnel” J. Henry, bnet.com, Sept. 2008. Information Always an aggregated view • Each auction a small part of overall campaign performance. • Huge diversity of queries, competition, targeting features. • Noise in every prediction The dynamics of GSP are a second-order concern. Impressions, Clicks, Cost and Position • Always see aggregated view over diverse set of queries How should an advertiser react to information? $1.20 $1.00 cost $0.80 ? $0.60 $0.40 ? $0.20 $5 10 15 20 25 conversions $120.00 $100.00 $80.00 cost have: 0 $60.00 $40.00 $20.00 $- need: 0 5 10 15 conversions 20 25 Traffic Projections Keyword-based estimates • How can the SE predict the effect of a bid change? • Bid affects query mix, and therefore conversion probability and value. Simulation-based estimates Traffic predictions from click simulation • If an advertiser had placed differently, what would have happened? click Ad A Ad C click? Ad B Ad A click? Ad C Ad B Ad D Ad D Acting on traffic predictions • How volatile is click traffic? Does volatility come from... competition? query (inventory) variance? changes to SE algorithms? • Can traffic be separated effectively across keywords? keywords are related to each other • Need simple, robust bidding strategies (stay tuned). Web Analytics Portfolio of auctions Advertisers face a complex, noisy, dynamic environment. - Important to target effectively, monitor performance. - find signals in massive data sets - Need fast, scalable, simple optimization strategies. ...go have some coffee.