Information, Bidding and Competition in Sponsored Search
Jon FeldmanS. 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.
Algorithms
EconomicsLearning/IR/Stats
optimize stuff and prove bounds
model stuff to learn about the worldlearn stuff from data and test it
What can you prove about that heuristic?
Great proof... but is this useful on real data?
Isn’t the Bayesean assumption unsatisfying?
We can predict behavior without always needing to
bound stuff.
Your model ignores the nature of the agents...!
Your mechanism is biasing my data...!
Multiple perspectives
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:
• What incentives do the resulting mechanism create?
``Adwords and Generalized Online Matching'', Mehta, Saberi, Vazirani, Vazirani, JACM, 2007.
“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
• Is it a good idea to opt into broad match?
• How do targeting restrictions affect efficiency of ad placements?
• How does competition express itself across the keyword/query network?
Economic questions
“The Cost of Inexpressiveness in Advertisement Auctions,” Benisch, Sadeh, Sandholm, AAW 08.
“To Broad-Match or Not to Broad Match: An Auctioneer’s Dilemma?,” Singh, Roychowdhury, AAW 08
“Bid Optimization for Broad Match Ad Auctions,” Even-Dar, Mirrokni, Mansour, M., Nadav.
“The Cost of Conciseness in Sponsored Search Auctions,” Abrams, Ghosh, Vee, WINE 07.
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
$-
$20.00
$40.00
$60.00
$80.00
$100.00
$120.00
0 5 10 15 20 25
conversions
cost....find point where
dCost / dConversions = v
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:
...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?
For each search query:
- bidders declare value(impression)
- SE runs an efficient, truthful auction.
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?
“Sponsored Search Auctions with Markovian Users,” Aggarwal, F., M., Pal, WINE 08.
“Position Auctions with Consumer Search,” Athey, Ellison, working paper, 2007.
“A Cascade Model for Externalities in Sponsored Search,” Kempe, Mahdian, WINE 08.
“An Experimental Comparison of Click Position-Bias Models,” Craswell, Zoeter, Taylor, Ramsey, WSDM 2008
CS:
Learning / IR:
Econ:
“A User Browsing Model... ,” Dupret, Piwowarsky, SIGIR 08
“Click Chain Model in Web Search,” Guo, Liu, Kannan, Minka, Taylor, Wang, Faloutsos, WWW 09
Learning click probabilities: user click models
• 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.
“Position Auctions with Consumer Search,” Athey, Ellison, working paper, 2007.
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
What role does the search ad click play in “generating” the conversion?
value(click) = v • Pr[conversion | click]
“Integrated Multichannel Communication Strategies: Evaluating the Return on Marketing objectives...,” Briggs, Krishnan, Borin, Journal of Interactive Marketing, 2005.
Brand and Search
Model still relevant?
“Internet Shopping Shoots Holes in the Purchase Funnel” J. Henry, bnet.com, Sept. 2008.
In what phases of this process is (sponsored) search useful?
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?
$-
$20.00
$40.00
$60.00
$80.00
$100.00
$120.00
0 5 10 15 20 25
conversions
cost
$-
$0.20
$0.40
$0.60
$0.80
$1.00
$1.20
0 5 10 15 20 25
conversions
cost
need:
have:
?
?
Traffic Projections
Keyword-based estimates
Simulation-based estimates
• How can the SE predict the effect of a bid change?
• Bid affects query mix, and therefore conversion probability and value.
Traffic predictions from click simulation
• If an advertiser had placed differently, what would have happened?
Ad A
Ad B
Ad C
Ad D
Ad C
Ad A
Ad B
Ad D
click click?
click?
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.