Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimization Problems in Internet Advertising Cliff Stein Columbia University Google Research.

Similar presentations


Presentation on theme: "Optimization Problems in Internet Advertising Cliff Stein Columbia University Google Research."— Presentation transcript:

1 Optimization Problems in Internet Advertising Cliff Stein Columbia University Google Research

2 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

3 Some Statistics VendorAd viewers Google1,118 DoubleClick1,079 Yahoo362 MSN309 AOL156 Adbrite73 Total3,087 (millions, one month in 2008) **From Wikipedia

4 Internet Advertising  2 main types Adwords (right column, auction) Adwords (right column, auction) Display ads (scattered, matching) Display ads (scattered, matching)

5 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

6 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.

7

8

9

10

11

12

13

14

15 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

16 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) Advertiser (maximize clicks, minimize money spent) Internet company (maximize profit, maximize user happiness, minimize bad publicity/lawsuits) Internet company (maximize profit, maximize user happiness, minimize bad publicity/lawsuits)

17 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? Who gets the hat? How much do they pay? How much do they pay?

18 Basic Mechanism Design Auction Mechanism Private value 2 Private value 1 Bidders Bid 2 Bid 1 Gives item to someone Collects payments

19 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

20 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.

21 First price auction  My utility = $20 - $20 = 0  Arod utility = $0 - $0 = 0. Arod $10 Me $20 First Price Auction Mechanism Cliff gets it. Cliff pays $20 Arod pays $0 Bid 20 Bid 10

22 Can I do better?

23 First price auction (2)  My utility = $20 - $15 = 5  Arod utility = $0 - $0 = 0. Arod $10 Me $20 First Price Auction Mechanism Cliff gets it. Cliff pays $15 Arod pays $0 Bid 15 Bid 10

24 First Price Auctions Suppose 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

25 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

26 Second price auction  My utility = $20 - $10 = 10  Arod utility = $0 - $0 = 0. Arod $10 Me $20 Second Price Auction Mechanism Cliff gets it. Cliff pays $10 Arod pays $0 Bid 20 Bid 10

27 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.

28 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.

29 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.

30 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 Multiple slots Advertisers bidding on many keywords Advertisers bidding on many keywords Many auctions going on during the course of a day Many auctions going on during the course of a day

31 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.

32 Example of GSP Auction  Bids: $1, $0.50, $2.25, $1.20, $0.10, $2.50, $1.25  5 slots

33 Example 2 of GSP Auction  Bids: $1, $0.50, $2.25, $1.20, $0.10, $2.50, $1.25  5 slots SlotBidPayment 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

34 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.

35 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

36 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

37 Budgets  Advertiser specifies a daily budget B.  They participate in an auction as long as the daily budget is not spent.

38 Example Advertiser Bid on “skiing” “hiking” Daily Budget Joe’s outdoor store $0.50$1.00$2.00 Campmor$1.00$0.75$3.00

39 Example  Auction 1: Hiking. Joe wins. When click happens, he pays $0.75 Advertiser Bid on “skiing” “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

40 Example  Auction 1: Hiking. Joe wins. When click happens, he pays $0.75 Advertiser Bid on “skiing” “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

41 Example  Auction 2: Skiing. Campmor. When click happens, he pays $0.50 Advertiser Bid on “skiing” “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

42 Example  Auction 2: Skiing. Campmor. When click happens, he pays $0.50 Advertiser Bid on “skiing” “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

43 Example  Auction 3: Hiking. Joe wins. When click happens, he pays $0.75 Advertiser Bid on “skiing” “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

44 Example  Auction 3: Hiking. Joe wins. When click happens, he pays $0.75 Advertiser Bid on “skiing” “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

45 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” “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

46 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)

47 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?

48 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?

49 Who advertises adwords?

50 Optimization Problem  Suppose that I knew Everyone else’s bids Everyone else’s bids Exactly how many times each keyword will come up Exactly how many times each keyword will come up The number of clicks associated with each position The number of clicks associated with each position Google’s exact advertising mechanism Google’s exact advertising mechanism How should I bid? (Note: Think of bid as cost-per-click (cpc))

51

52 Queries vs. Keywords asics Gel kayano I hate asics Red running shoes shoe asics I hate peanut butter Red asics Asics gel nimbush Running shoes

53 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.

54 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

55 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

56

57

58

59

60

61

62

63

64

65

66

67 Theorem is pessimistic

68 Display advertising  From ALENEX 2009, with Cosmin Negruseri, Mircea Pasio, Barbara Stanley, Cristian Strat

69 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

70

71

72

73 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.

74

75

76

77

78

79

80

81

82 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)

83

84

85 Previous experimental work  None that we are aware of

86

87

88

89 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

90 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?

91 Typical results (hi-lo)

92

93 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

94 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)


Download ppt "Optimization Problems in Internet Advertising Cliff Stein Columbia University Google Research."

Similar presentations


Ads by Google