Transcript Slide 1

Advertising on the Web
Online Algorithms
• Classic model of algorithms
– You get to see the entire input, then compute
some function of it
– In this context, “offline algorithm”
• Online Algorithms
– You get to see the input one piece at a time, and
need to make irrevocable decisions along the way
– Similar to data stream models
Slides by Jure Leskovec: Mining of Massive Datasets
2
Example: Bipartite Matching
Boys
1
a
2
b
3
c
4
d
Girls
Slides by Jure Leskovec: Mining of Massive Datasets
3
Example: Bipartite matching
Boys
1
a
2
b
3
c
4
d
Girls
M = {(1,a),(2,b),(3,d)} is a matching.
Cardinality of matching = |M| = 3
Slides by Jure Leskovec: Mining of Massive Datasets
4
Example: Bipartite matching
Boys
1
a
2
b
3
c
4
d
Girls
M = {(1,c),(2,b),(3,d),(4,a)} is a
perfect matching.
Perfect matching … all vertices of the graph are matched
Maximum matching … a matching that contains the largest possible number of matches
Slides by Jure Leskovec: Mining of Massive Datasets
5
Matching Algorithm
• Problem: Find a maximum matching for a
given bipartite graph
– A perfect one if it exists
• There is a polynomial-time offline algorithm
based on augmenting paths (Hopcroft & Karp 1973,
see http://en.wikipedia.org/wiki/Hopcroft-Karp_algorithm)
• But what if we do not know the entire
graph upfront?
Slides by Jure Leskovec: Mining of Massive Datasets
6
Online Graph Matching Problem
• Initially, we are given the set Boys
• In each round, one girl’s choices are revealed
• At that time, we have to decide to either:
– Pair the girl with a boy
– Do not pair the girl with any boy
• Example of application:
Assigning tasks to servers
Slides by Jure Leskovec: Mining of Massive Datasets
7
Online Graph Matching: Example
1
a
2
b
(1,a)
(2,b)
(3,d)
3
c
4
d
Slides by Jure Leskovec: Mining of Massive Datasets
8
Greedy Algorithm
• Greedy algorithm for the online graph
matching problem:
– Pair the new girl with any eligible boy
• If there is none, do not pair girl
• How good is the algorithm?
Slides by Jure Leskovec: Mining of Massive Datasets
9
Competitive Ratio
• For input I, suppose greedy produces
matching Mgreedy while an optimal
matching is Mopt
Competitive ratio =
minall possible inputs I (|Mgreedy|/|Mopt|)
(what is greedy’s worst performance over all possible inputs)
Slides by Jure Leskovec: Mining of Massive Datasets
10
Analyzing the Greedy Algorithm
• Consider the set G of girls
matched in Mopt but not in Mgreedy
– Then every boy B adjacent to girls
in G is already matched in Mgreedy:
Mopt
1
a
2
b
3
c
4
d
B={
}
G={
• If there would exist such non-matched
(by Mgreedy) boy adjacent to a non-matched
girl then greedy would have matched them
– Since boys B are already matched in Mgreedy then
(1) |B|  |Mgreedy|
Slides by Jure Leskovec: Mining of Massive Datasets
11
}
Analyzing the Greedy Algorithm
• Consider the set G of girls
matched in Mopt but not in Mgreedy
1
Mopt
a
2
– (1) |B|  |Mgreedy|
3
– There are at least |G| such boys
4
(|G|  |B|) otherwise the optimal
B={
}
algorithm could not have matched all the
G girls
– So |G|  |B|  |Mgreedy|
b
c
d
G={
• By definition of G also: |Mopt| = |Mgreedy| + |G|
• So |Mopt|  2 |Mgreedy|
• |Mgreedy|/|Mopt|  1/2
Slides by Jure Leskovec: Mining of Massive Datasets
12
}
Worst-case Scenario
1
a
2
b
3
c
4
d
Slides by Jure Leskovec: Mining of Massive Datasets
(1,a)
(2,b)
13
History of Web Advertising
• Banner ads (1995-2001)
– Initial form of web advertising
– Popular websites charged
X$ for every 1,000
“impressions” of the ad
• Called “CPM” rate
(Cost per thousand impressions)
• Modeled similar to TV, magazine ads
– Untargeted to demographically targeted
– Low click-through rates
• Low ROI for advertisers
Slides by Jure Leskovec: Mining of Massive Datasets
14
Performance-based Advertising
• Introduced by Overture around 2000
– Advertisers “bid” on search keywords
– When someone searches for that keyword, the
highest bidder’s ad is shown
– Advertiser is charged only if the ad is clicked on
• Similar model adopted by Google with some
changes around 2002
– Called “Adwords”
Slides by Jure Leskovec: Mining of Massive Datasets
15
Ads vs. Search Results
Slides by Jure Leskovec: Mining of Massive Datasets
16
Web 2.0
• Performance-based advertising works!
– Multi-billion-dollar industry
• Interesting problem:
What ads to show for a given query?
– (Today’s lecture)
• If I am an advertiser, which search terms should
I bid on and how much should I bid?
– (Not focus of today’s lecture)
Slides by Jure Leskovec: Mining of Massive Datasets
17
Adwords Problem
• Given:
–
–
–
–
1. A set of bids by advertisers for search queries
2. A click-through rate for each advertiser-query pair
3. A budget for each advertiser (say for 1 month)
4. A limit on the number of ads to be displayed with
each search query
• Respond to each search query with a set of
advertisers such that:
– 1. The size of the set is no larger than the limit on the
number of ads per query
– 2. Each advertiser has bid on the search query
– 3. Each advertiser has enough budget left to pay for
the ad if it is clicked upon
Slides by Jure Leskovec: Mining of Massive Datasets
18
Adwords Problem
• A stream of queries arrives at the search engine:
q 1, q 2, …
• Several advertisers bid on each query
• When query qi arrives, search engine must pick a
subset of advertisers whose ads are shown
• Goal: Maximize search engine’s revenues
– Simple solution: Instead of raw bids, use the
“expected revenue per click”
• Clearly we need an online algorithm!
Slides by Jure Leskovec: Mining of Massive Datasets
19
The Adwords Innovation
Advertiser
Bid
CTR
Bid * CTR
A
$1.00
1%
1 cent
B
$0.75
2%
1.5 cents
C
$0.50
2.5%
1.125 cents
Slides by Jure Leskovec: Mining of Massive Datasets
20
The Adwords Innovation
Advertiser
Bid
CTR
Bid * CTR
B
$0.75
2%
1.5 cents
C
$0.50
2.5%
1.125 cents
A
$1.00
1%
1 cent
Slides by Jure Leskovec: Mining of Massive Datasets
21
Complications: Budget
• Two complications:
– Budget
– CTR
• Each advertiser has a limited budget
– Search engine guarantees that the advertiser will
not be charged more than their daily budget
Slides by Jure Leskovec: Mining of Massive Datasets
22
Complications: CTR
• CTR: Each ad has a different likelihood of
being clicked
– Advertiser 1 bids $2, click probability = 0.1
– Advertiser 2 bids $1, click probability = 0.5
– Clickthrough rate (CTR) is measured historically
• Very hard problem: Exploration vs. exploitation
– Should we keep showing an ad for which we have good
estimates of click-through rate or shall we show a brand new ad
to get a better sense of its click-through rate
Slides by Jure Leskovec: Mining of Massive Datasets
23
Greedy Algorithm
• Our setting: Simplified environment
–
–
–
–
There is 1 ad shown for each query
All advertisers have the same budget B
All ads are equally likely to be clicked
Value of each ad is the same (=1)
• Simplest algorithm is greedy:
– For a query pick any advertiser who has
bid 1 for that query
– Competitive ratio of greedy is 1/2
Slides by Jure Leskovec: Mining of Massive Datasets
24
Bad Scenario for Greedy
• Two advertisers A and B
– A bids on query x, B bids on x and y
– Both have budgets of $4
• Query stream: x x x x y y y y
– Worst case greedy choice: B B B B _ _ _ _
– Optimal: A A A A B B B B
– Competitive ratio = ½
• This is the worst case!
– Note greedy algorithm is deterministic – always
resolves draws in the same way
Slides by Jure Leskovec: Mining of Massive Datasets
25
BALANCE Algorithm [MSVV]
• BALANCE Algorithm by Mehta, Saberi,
Vazirani, and Vazirani
– For each query, pick the advertiser with the
largest unspent budget
• Break ties arbitrarily (but in a deterministic way)
Slides by Jure Leskovec: Mining of Massive Datasets
26
Example: BALANCE
• Two advertisers A and B
– A bids on query x, B bids on x and y
– Both have budgets of $4
• Query stream: x x x x y y y y
• BALANCE choice: A B A B B B _ _
– Optimal: A A A A B B B B
• In general: For BALANCE on2 advertisers
Competitive ratio = ¾
Slides by Jure Leskovec: Mining of Massive Datasets
27
Analyzing BALANCE
• Consider simple case (WLOG):
– 2 advertisers, A1 and A2, each with budget B (1)
– Optimal solution exhausts both advertisers’ budgets
• BALANCE must exhaust at least one
advertiser’s budget:
– If not, we can allocate more queries
• Whenever BALANCE makes a mistake (both advertisers
bid on the query), advertiser’s unspent budget only
decreases
• Since optimal exhausts both budgets, one will for sure get
exhausted
– Assume BALANCE exhausts A2’s budget,
but allocates x queries fewer than the optimal
– Revenue: BAL = 2B - x
Slides by Jure Leskovec: Mining of Massive Datasets
28
Analyzing Balance
Queries allocated to A1 in the optimal solution
B
Queries allocated to A2 in the optimal solution
A1
A2
Optimal revenue = 2B
Balance revenue = 2B-x = B+y
x
B
y
(if we could assign to A1 we would since we still have the budget)
x
A1
A2 Not
used
x
B
y
Unassigned queries should be assigned to A2
Goal: Show we have y  x
Case1) y  B/2
Case2) x <B/2, x+y=B
Balance revenue is minimum for x=y=B/2
Minimum Balance revenue = 3B/2
Competitive Ratio = 3/4
x
A1
A2 Not
used
BALANCE
A2’s
Slides by Jure Leskovec:
Mining of exhausts
Massive Datasets
budget
29
BALANCE: General Result
• In the general case, worst competitive ratio
of BALANCE is 1–1/e = approx. 0.63
– Interestingly, no online algorithm has a better
competitive ratio!
• Let’s see the worst case example that gives
this ratio
Slides by Jure Leskovec: Mining of Massive Datasets
30
Worst case for BALANCE
• N advertisers: A1, A2, … AN
– Each with budget B > N
• Queries:
– N∙B queries appear in N rounds of B queries each
• Bidding:
– Round 1 queries: bidders A1, A2,
…, AN
– Round 2 queries: bidders
A2, A3, …, AN
– Round i queries: bidders
Ai, …, AN
• Optimum allocation:
Allocate round i queries to Ai
– Optimum revenue
N∙BMining of Massive Datasets
Slides by Jure Leskovec:
31
BALANCE Allocation
…
B/(N-2)
B/(N-1)
B/N
A1
A2
A3
AN-1
AN
BALANCE assigns each of the queries in round 1 to N advertisers.
After k rounds, sum of allocations to each of advertisers Ak,…,AN is
𝐵
𝑆𝑘 = 𝑆𝑘+1 = ⋯ = 𝑆𝑁 = 𝑘−1
𝑖=1
𝑁−(𝑖−1)
If we find the smallest k such that Sk  B, then after k rounds
we cannot allocate any queries to any advertiser
Slides by Jure Leskovec: Mining of Massive Datasets
32
BALANCE: Analysis
B/1
B/2
B/3 … B/(N-(k-1)) … B/(N-1)
B/N
S1
S2
Sk = B
1/1
1/2
1/3 … 1/(N-(k-1)) … 1/(N-1)
1/N
S1
S2
Sk = 1
Slides by Jure Leskovec: Mining of Massive Datasets
33
BALANCE: Analysis
𝑛
𝑖=1 1/𝑖
• Fact: 𝐻𝑛 =
≈ ln 𝑛 for large n
– Result due to Euler
1/1
1/2
1/3 … 1/(N-(k-1)) … 1/(N-1)
1/N
ln(N)
ln(N)-1
Sk = 1
• 𝑆𝑘 = 1 implies: 𝐻𝑁−𝑘 = ln(𝑁) − 1 =
• We also know: 𝐻𝑁−𝑘 = ln(𝑁 − 𝑘)
• 𝑁−𝑘 =
𝑁
𝑒
𝑁
ln( )
𝑒
N terms sum to ln(N).
Last k terms sum to 1.
1
First N-k terms sum
𝑒 Slides by Jure Leskovec: Mining of Massive Datasetsto ln(N-k) but also to ln(N)-1
34
• 𝑘 = 𝑁(1 − )
BALANCE: Analysis
• So after the first N(1-1/e) rounds, we
cannot allocate a query to any advertiser
• Revenue = B∙N (1-1/e)
• Competitive ratio = 1-1/e
Slides by Jure Leskovec: Mining of Massive Datasets
35
General Version of the Problem
• Arbitrary bids, budgets
• Consider we have 1 query q, advertiser i
– Bid = xi
– Budget = bi
• BALANCE can be terrible
– Consider two advertisers A1 and A2
– A1: x1 = 1, b1 = 110
– A2: x2 = 10, b2 = 100
– Consider we see 10 instances of q
– BALANCE always selects A1 and earns 10
– Optimal earns
100
Slides by Jure Leskovec: Mining of Massive Datasets
36
Generalized BALANCE
• Arbitrary bids; consider query q, bidder i
–
–
–
–
–
Bid = xi
Budget = bi
Amount spent so far = mi
Fraction of budget left over fi = 1-mi/bi
Define i(q) = xi(1-e-fi)
• Allocate query q to bidder i with largest
value of i(q)
• Same competitive ratio (1-1/e)
Slides by Jure Leskovec: Mining of Massive Datasets
37