optimization problems in internet advertising
DESCRIPTION
Optimization Problems in Internet Advertising. Cliff Stein Columbia University Google Research. Internet Advertising. Multi-billion dollar business Google purchased DoubleClick for over 3 billion dollars, 2 years ago A new paradigm for advertising - PowerPoint PPT PresentationTRANSCRIPT
Optimization Problems in Internet Advertising
Cliff SteinColumbia University
Google Research
Internet Advertising
Multi-billion dollar business Google purchased DoubleClick for over 3
billion dollars, 2 years ago A new paradigm for advertising Many interesting mathematical, economic,
and computational problems
Some Statistics
Vendor Ad viewersGoogle 1,118DoubleClick 1,079Yahoo 362MSN 309AOL 156Adbrite 73Total 3,087
(millions, one month in 2008)**From Wikipedia
Internet Advertising
2 main types Adwords (right column, auction) Display ads (scattered, matching)
This talk
Overview of some issues in internet advertising
Talk about two particular algorithmic results, one on adwords optimization, one on display ads
No attempt to comprehensively survey the area
Adwords
Advertisers bid to have the right to appear when a user enters a search query
Advertisers are chosen according to some kind of auction mechanism
Ads are displayed for free. Advertiser pays when a user clicks.
New Kind of Auctions Traditional auctions are for one item, or a small
number of items, and are done on a human time scale
Many types of auctions (ascending, sealed-bid, second price …) are well understood mathematically
Adwords auctions are a new type of auction, where a bidder bids on multiple items for many items on a “computer” time scale
Mathematically, it is a whole new ballgame
Technical Challenges Mechanism Design - designing rules of
a game or system to achieve a specific outcome, even though each agent may be self-interested
Technology to implement the auctions Optimization for
Advertiser (maximize clicks, minimize money spent) Internet company (maximize profit, maximize user
happiness, minimize bad publicity/lawsuits)
Basic Mechanism Design
Let’s set up an auction for
Suppose it is worth $20 to me, but $10 to Alex Rodriguez (and these values are private)
We each bid some amount: Who gets the hat? How much do they pay?
Basic Mechanism Design
Auction Mechanism
Private value
2
Private value
1
Bidders
Bid 2
Bid 1
Gives item to someoneCollects payments
Some goals in an auction
Truth revealing (bidders want to bid their values)
Revenue maximizing (auctioneer maximizes profit)
Social welfare (good for bidders)
These goals may be in conflict
First price auctions
Everyone bids, highest bidder gets item for the price he bid, others pay nothing and get nothing.
Bidders Utility = value of item received – payment.
First price auction
My utility = $20 - $20 = 0 Arod utility = $0 - $0 = 0.
Arod $10
Me$20
First PriceAuction Mechanism
Cliff gets it.Cliff pays $20Arod pays $0
Bid 20
Bid 10
Can I do better?
First price auction (2)
My utility = $20 - $15 = 5 Arod utility = $0 - $0 = 0.
Arod $10
Me$20
First PriceAuction Mechanism
Cliff gets it.Cliff pays $15Arod pays $0
Bid 15
Bid 10
First Price AuctionsSuppose I bid $15, Arod bids $10.
I get item for $15, Arod gets nothing for nothing. My utility = 20- 15 = 5 Arod utility = 0-0 = 0
I am happier I am not telling the “truth” anymore My bid needs to be a function of everyone else’s bid (in
addition to my value) Auctioneer makes less money
Second Price Auctions
Everyone bids. Item goes to the highest bidder, who pays the bid of the second-highest bidder.
Bidders Utility = value of item received – payment
Second price auction
My utility = $20 - $10 = 10 Arod utility = $0 - $0 = 0.
Arod $10
Me$20
Second PriceAuction Mechanism
Cliff gets it.Cliff pays $10Arod pays $0
Bid 20
Bid 10
Second Price Auctions
Theorem: In a second-price auction, no bidder has any incentive to lie.
Proof: I don’t lie. If I lie any amount >= 10, nothing changes. If I lie < 10, I lose the auction and my utility
is 0. Therefore I don’t want to lie.
Second Price Auctions
Theorem: In a second-price auction, noone has any incentive to lie.
Proof: Arod doesn’t lie. If he lies any amount < 20, nothing
changes for him. If he lies at x > 20, he wins for $20, but
his utility is 20 –x which is negative, so he is worse off.
Notes on Second Price Auctions
Everyone tells the truth May yield less revenue than first-price
auctions Note: we assume that I get no benefit from
seeing you pay more money.
Back to internet auctions We are not auctioning off baseball hats, or
paintings, or cars that were used in the commission of a crime….
We are auctioning off slots on a web page There are:
Multiple slots Advertisers bidding on many keywords Many auctions going on during the course of
a day
Multiple Slots: Generalized Second Price Auctions
Users are bidding for slots, where slot i is more valuable than slot i+1.
Higher slots tend to get more clicks, and therefore cost more (cost per click)
Sort bids, i’th bid gets slot i and pays bid of slot i+1.
Example of GSP Auction
Bids: $1, $0.50, $2.25, $1.20, $0.10, $2.50, $1.25
5 slots
Example 2 of GSP Auction Bids: $1,
$0.50, $2.25, $1.20, $0.10, $2.50, $1.25
5 slots
Slot Bid Payment
1 $2.50 $2.25
2 $2.25 $1.25
3 $1.25 $1.20
4 $1.20 $1.00
5 $1.00 $0.50
Some Complications from GSP We are bidding one amount, but don’t
know which slot we will win. Different advertisers have different
preferences/beliefs about slots You actually might have some incentives
to lie.
In “reality” (google), your bid is actually modified by the “quality” of your ad.
Advertisers bidding on many keywords
An advertiser sets up a campaign in which they advertise on many keywords
Each time a user issues a query that matches one of their keywords, the ad for that keyword enters the auction.
Depending on their bid (and other factors), they may get a slot in the auction
If someone clicks on their ad, they are charged
Question?
How does the advertiser control the total amount that they are charged?
They specify a budget on how much they want to spend in a day
Budgets
Advertiser specifies a daily budget B. They participate in an auction as long as
the daily budget is not spent.
Example
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget
Joe’s outdoor store
$0.50 $1.00 $2.00
Campmor $1.00 $0.75 $3.00
Example Auction 1: Hiking. Joe wins. When click
happens, he pays $0.75
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $2.00
Campmor $1.00 $0.75 $3.00 $3.00
Example Auction 1: Hiking. Joe wins. When click
happens, he pays $0.75
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $1.25
Campmor $1.00 $0.75 $3.00 $3.00
Example Auction 2: Skiing. Campmor. When click
happens, he pays $0.50
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $1.25
Campmor $1.00 $0.75 $3.00 $3.00
Example Auction 2: Skiing. Campmor. When click
happens, he pays $0.50
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $1.25
Campmor $1.00 $0.75 $3.00 $2.50
Example Auction 3: Hiking. Joe wins. When click
happens, he pays $0.75
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $1.25
Campmor $1.00 $0.75 $3.00 $2.50
Example Auction 3: Hiking. Joe wins. When click
happens, he pays $0.75
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $0.50
Campmor $1.00 $0.75 $3.00 $2.50
Example Auction 4: Hiking. Joe should win. But he
doesn’t have enough budget, so Campmor wins. Pays some amount < 0.75 (depends on other bidders and system minimums).
Advertiser Bid on “skiing”
Bid on“hiking”
Daily Budget Remaining Budget
Joe’s outdoor store
$0.50 $1.00 $2.00 $0.50
Campmor $1.00 $0.75 $3.00 $2.50
Lessons
Auction is not always won by the highest bidder.
Bidders may engage in strategic behavior, allow others to win at a high price so as to exhaust their budget and be removed from competition (bid jamming)
What about the advertiser?
Suppose you are an advertiser You want to bid on many keywords How should you allocate your budget
among multiple keywords?
Example: Asics Keywords:Shoe, sneaker, running shoe, gel kayano,
gel nimbus, pronating, marathon shoe, race shoe, reebok, I hate asics, sporting goods, footware, racing attire, race, wicked fast, air jordan, laces, shin splints, white sneakers, …
Budget: $100 What to bid on each one?
Who advertises adwords?
Optimization Problem Suppose that I knew
Everyone else’s bids Exactly how many times each keyword will come up The number of clicks associated with each position Google’s exact advertising mechanism
How should I bid?(Note: Think of bid as cost-per-click (cpc))
Queries vs. Keywords
asics
Gel kayano
I hateasics
Red running shoes
shoe
asics
I hate peanut butter
Red asics
Asics gel nimbush
Running shoes
Bidding Problem Bidding on multiple keywords is an NP-hard
problem (knapsack)
Knapsack: Given a set of items with sizes and values and a knapsack of size B, choose a maximum value set of objects that fit in the knapsack.
Proof of difficulty is also demonstrated by the amount that people are willing to pay to solve the problem.
How do we evaluate a bidding strategy
Objective: maximize number of clicks, subject to budget
We compare the performance of our (simple) strategy to the performance of an arbitrarily complicated strategy of an adversary, take the ratio, and minimize over all inputs
))(/)((min iOPTiAI
Simple Strategies are pretty good
Feldman, Pal, Muthukrishnan, Stein There exists one amount b, and if I bid b
on every keyword, I will get at least ½ the clicks of any strategy
There exists two numbers b1 and and b2, and if I bid either b1 or b2 on every keyword, I will get at least 63% (e/(e-1))of the clicks of any strategy
Theorem is pessimistic
Display advertising
From ALENEX 2009, with Cosmin Negruseri, Mircea Pasio, Barbara Stanley, Cristian Strat
Display Ads Publishers (e.g. newspapers, travel
agents) make on-line “real estate” available for ads
Advertisers purchase impressions (e.g. 100 appearances on CNN money page on 5/3/2009)
Users visit pages, see advertisements Market manager (e.g. google) has to
decide which ad is displayed for each user
Optimization Problem
Publisher is offering certain types of unsold “inventory” (views on pages with certain demographics)
Advertiser is looking to buy some amount of inventory
Market manager needs to quickly decide if advertisers demand can be satisfied.
Algorithmic Ideas
Push/relabel algorithms work by pushing flow over on edge at a time (pushing downhill)
Excess accumulates at vertices Vertices are relabeled, pulling them uphill. Flow is pushed over eligible edges
(pointing downhill, have residual capacity)
Previous experimental work
None that we are aware of
Synthetic Distributions Uniform Random High-Lo (chosen flow with additional edges) Rope (long paths plus some useless edges) Zipf (edge between i and j with probability
proportional to 1/(ij). Said to model real-world web graphs
First three are modifications of generators from [CG97
Experimental Questions
Can we efficiently solve the real problems we have?
On bipartite graphs, do the specialize algorithms help?
Which variants are best? Which heuristics are needed? Do these conclusions generalize to other
data?
Typical results (hi-lo)
Typical results (hi-lo)
Conclusions for display ads
Bipartite flow algorithms are worth using in practice
FIFO is usually the best variant, and rarely the worst
Heuristics (gap relabelling, exact label updates) are helpful
Data is publicly available
General Conclusions Internet advertising is an important area Interesting algorithmic and game-theoretic
problems need to be solved. There are problems for the advertiser and
for the auction maker and for the user Ongoing work – studying the online
problem of matching impressions with advertisers (e.g. Feldman, Korula, Muthukrishnan, Makroni 09)