Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords...

40
Considerations of Modeling in Keyword Bidding (Google:AdWords) Xiaoming Huo Georgia Institute of Technology August 8, 2012 1 8/8/2012

Transcript of Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords...

Page 1: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Considerations of Modeling in Keyword Bidding (Google:AdWords)

Xiaoming Huo

Georgia Institute of Technology

August 8, 2012

1 8/8/2012

Page 2: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Outline

I. Problem Description

II. Game theoretical aspect of the bidding problem that we are considering

III. Statistical Implementation

IV. Conclusion

8/8/2012 2

Page 3: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

I. Introduction

• We consider the modeling issue in AdWords

• An equilibrium strategy is derived, which we argue will be the foundation of statistical modeling

• What is AdWords: A tool at Google that allow users to bid for advertising positions at google.com

3 8/8/2012

Page 4: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

8/8/2012 4

Organic search AdWords dehumidifier

Page 5: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

8/8/2012 5

Hotel raleigh NC

Page 6: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

A Simplified Version of AdWords Bidding

• Sorted (descending) bids 𝑏𝑗, 𝑗 = 1,2,⋯ ,𝑁, of

𝑁 potential advertisers: 𝑏1 > 𝑏2 > ⋯ > 𝑏𝑁

• Positions and Cost per Click by AdWords

• GSP: generalized second price

8/8/2012 6

Position Bid price Actual price (i.e., CPC)

1 𝑏1 𝑏2+ 1 cent

2 𝑏2 𝑏3+ 1 cent

3 𝑏3 𝑏4+ 1 cent

4 𝑏4 𝑏5+ 1 cent

5 𝑏5 Assume out of space

Page 7: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Actual Scheme: Incorporate a Quality Score

• The quality score (aka, AdRank) that depends on relevance, past click through rate, landing page, etc.

• Purpose: integrating web page quality, user experience, user satisfaction

• Prevent: bad, irrelevant ads goes to top positions by paying more (customer satisfaction)

8/8/2012 7

Page 8: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

An Example • Bidding with quality scores (rank according to 𝑏𝑗𝑞𝑗)

• Assume: 𝑏1𝑞1 > 𝑏2𝑞2 > ⋯ > 𝑏𝑁𝑞𝑁 • Note: the order of advertisers may change from the

previous example

8/8/2012 8

Position

Bid price

Quaity score

Multiply Actual price (i.e., CPC)

1 𝑏1 𝑞1 𝑏1𝑞1 𝑏2𝑞2/𝑞1+ 1 cent

2 𝑏2 𝑞2 𝑏2𝑞2 𝑏3𝑞3/𝑞2+ 1 cent

3 𝑏3 𝑞3 𝑏3𝑞3 𝑏4𝑞4/𝑞3+ 1 cent

4 𝑏4 𝑞4 𝑏4𝑞4 𝑏5𝑞5/𝑞4+ 1 cent

5 𝑏5 𝑞5 𝑏5𝑞5 Assume out of space

Page 9: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Advertiser 1

Advertiser 2

Advertiser 3

Advertiser 4

Advertiser 5

Advertiser 6

Web server 1.com

Web server 2.com

Web server 3.com

Broker Broker web site.com

Advertisers Brokers’ Clients Broker

9

Listings

Listings

Listings

Listings

Listings

Listings

Listings

Listings

Listings

Listings

Problem Description

8/8/2012

AdWords

Page 10: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Bidding

Process

Ad Position

10

Search

Leads (User Info)

Compensation

Click (Cost)

Broker & Google AdWords

8/8/2012

Page 11: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Review of a Few Terms

8/8/2012 11

Impression Click Conversion

A link showed up Link is clicked Some one filled in necessary information, so that the broker make $$

Page 12: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Review of a Few Terms

8/8/2012 12

Impression Click Conversion

A link showed up Link is clicked Some one filled in necessary information, so that the broker make $$

CTR (Click thru rate)

Page 13: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Review of a Few Terms

8/8/2012 13

Impression Click Conversion

A link showed up Link is clicked Some one filled in necessary information, so that the broker make $$

CTR (Click thru rate)

CR (Conversion rate)

Page 14: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Simple Economics for Broker

• Profit = revenue – cost = leads x $ per lead – clicks x CPC = clicks x CR x $ per lead – clicks x CPC = clicks x (CR x $per lead – CPC) = clicks x (RPC – CPC)

– RPC = revenue per click (= CR x $per lead)

• Objective: maximize Profit • Control variable: maxCPC (maximum amount

willing to pay for CPC) • Assume no budget cap (simplification)

8/8/2012 14

Page 15: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Other Queries Not Covered in This Talk

• Which keyword?

• When to bid?

• How to write the ad?

• How to take advantage of user’s profile?

• How to group keyword?

8/8/2012 15

Page 16: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Maximize Profit

• Large maxCPC (higher bid) – Higher position (always)

– More clicks (assumed)

– Higher CPC (always)

• An example – Same keyword

– Same web site

– RPC = 9 (assumed fixed)

• Optimal maxCPC ∈ [5,7)

• Relates to ICC (incremental CPC) 8/8/2012 16

Position Current bids Clicks Profit

1 $10 100 (9-9)100=0

2 $9 90 (9-7)90=180

3 $7 70 (9-5)70=280

4 $5 50 (9-3)50= 300

5 $3 30 (9-2)30=210

Page 17: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Outline

I. Problem Description

II. Game theoretical aspect of the bidding problem that we will consider

III. Statistical Implementation

IV. Conclusion

8/8/2012 17

Page 18: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

II. Gaming Aspect in AdWords

• Advertisers (bidders): 1,⋯ ,𝑁

• Slots in AdWords: 1,⋯ , 𝐾, 𝐾 < 𝑁

• 𝑖-th bidder, with RPC (aka expected return) 𝑣𝑖

• Descending current bids: 𝑏1 > 𝑏2 > ⋯ > 𝑏𝐾

– 𝑏𝑖 = bid amount by bidder at position (slot) 𝑖

• Clicks for the 𝑖th bidder: WLOG, 𝑐1

𝑖 ≥ 𝑐2𝑖 ≥ ⋯ ≥ 𝑐𝐾

𝑖

See justification next page.

8/8/2012 18

Page 19: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Continue with Games

• Utility of bidder 𝑖: if bidder 𝑖 bids 𝑏𝑘(i.e., he/she is the 𝑘th highest bid), then his/her utility (i.e., profit) is

𝑣𝑖 − 𝑏𝑘+1 𝑐𝑘𝑖

• Bidders want to maximize utilities

• Justification of non-increasing 𝑐𝑘𝑖

– If ∃𝛼, 𝑐𝛼𝑖 < 𝑐𝛼+1

𝑖,

– then 𝑣𝑖 − 𝑏𝛼+1 𝑐𝛼𝑖 < 𝑣𝑖 − 𝑏𝛼+2 𝑐𝛼+1

𝑖.

– Having 𝑐𝛼𝑖 = 𝑐𝛼+1

𝑖 preserves the above inequality, won’t change the outcome of the maximization problem.

8/8/2012 19

Page 20: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Illustration: utility versus maxCPC

8/8/2012 20

𝑏2 𝑏1 𝑏3 𝑏4

Clicks

𝑐1𝑖

𝑐2𝑖

𝑐3𝑖

𝑐4𝑖

max (𝑐1𝑖 𝑣𝑖 − 𝑏1 , 0)

𝑐2𝑖(𝑣𝑖 − 𝑏2)

𝑐3𝑖(𝑣𝑖 − 𝑏3)

𝑐4𝑖(𝑣𝑖 − 𝑏4)

Bid amount (i.e., maxCPC) by the 𝑖th advertiser

Profit

𝑣𝑖 0

Piecewise constant utility/click function

Page 21: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Recap of the Game

• Every bidder knows

– current bids: 𝑏1 > 𝑏2 > ⋯ > 𝑏𝐾

– clicks for all: 𝑐1𝑖 ≥ 𝑐2

𝑖 ≥ ⋯ ≥ 𝑐𝐾𝑖

• Every bidder choose maxCPC (given 𝑣𝑖), so that she can achieves 𝑘∗ that maximizes utility

𝑣𝑖 − 𝑏𝑘+1 𝑐𝑘𝑖 as a function of 𝑘

• Q: does equilibrium achievable?

8/8/2012 21

Page 22: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Nash Equilibriums

• Notations – 𝒃 = 𝑏1, 𝑏2, … , 𝑏𝑁 ; note the difference betwn 𝑏𝑖

and 𝑏𝑖

– 𝒃−𝑖 = 𝑏1, … , 𝑏𝑖−1, 𝑏𝑖+1, … , 𝑏𝑁 ; exclude 𝑏𝑖

• Best response of bidder 𝑖:

–𝑀𝑖 𝒃−𝑖 = given 𝒃−𝑖, the set of values of 𝑏𝑖 such that the utility of bidder 𝑖 is maximized

• Nash equilibrium: a strategy profile 𝒃 such that ∀𝑖, 𝑏𝑖 ∈ 𝑀𝑖 𝒃−𝑖 .

8/8/2012 22

Page 23: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Property of Equilibriums

• Does it exist?

– Yes. Can give examples…

• Is it reasonable?

– Need to define reasonableness

8/8/2012 23

Page 24: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Vulnerability of Nash Equilibriums

• 𝑂𝑖(𝒃) bidder 𝑖's position in the descending bid queue

• Output truthful (OT) property of a position auction:

– ∀ equilibrium set 𝒆, and ∀𝑖, 𝑂𝑖 𝒆 = 𝑂𝑖(𝑣1, … , 𝑣𝑁), the auction is output truthful

• Counterexample in Bu, Deng, and Qi (2008)

8/8/2012 24

Page 25: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Designing Objective of a Bidding Strategy

• A strategy that is available to all bidders

• Those who follow maximize their utilities

• Those who don’t will not negatively affect others

• Violators don’t maximize their utilities

• Equilibrium exists and unique

8/8/2012 25

Page 26: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

“Forward Looking” Strategy

• The higher bidder 𝑖 bids, the higher a slot she can get in the next step

• Bid as high as possible in the set 𝑀𝑖 𝒃−𝑖 --

best response

• Control the risks of decreasing their own payoffs by the affected bidders’ next optimal moves (kind of technical)

8/8/2012 26

Page 27: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

A Derived “Forward Looking” Strategy

• [Bu et al, 2008] for bidder 𝑖, given 𝒃−𝑖, suppose 𝑘 is the optimal position that maximizes her utility, this bidder’s next bid is

𝐹𝑖 𝒃−𝑖 = 𝑣𝑖 −

𝑐𝑘𝑐𝑘−1

𝑣𝑖 − 𝑏𝑘+1 , 2 ≤ 𝑘 ≤ 𝐾,

𝑣𝑖 , 𝑘 = 1 or 𝑘 > 𝐾.

• Here 𝑐𝑘 and 𝑐𝑘−1are the clicks of the bidder who occupies slot 𝑘 − 1

8/8/2012 27

Page 28: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Forward Looking Equilibrium

• A forward looking response function based equilibrium is a strategy profile 𝒃 such that ∀𝑖, 1 ≤ 𝑖 ≤ 𝑁, 𝑏𝑖 = 𝐹𝑖 𝒃−𝑖

• That is, every bidder follows the forward looking scheme

• The equilibriums exist • The position auction is output truthful under the

forward looking best response scheme; i.e., the corresponding equilibrium is always output truthful

8/8/2012 28

Page 29: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Proof of the “output truthfulness”

• Using contradiction, if OT does not hold, (in an equilibrium,) there must exist a pair of adjacent slots 𝑘, 𝑘 + 1 and the bidder 𝑖 on slot 𝑘 and the bidder 𝑗 on slot 𝑘 + 1 such that 𝑣𝑗 > 𝑣𝑖

• Let 𝑢𝑘𝑖 denote the utility of bidder 𝑖 at slot 𝑘,

and 𝑢𝑘+1𝑖 the utility at slot 𝑘 + 1, the

inequalities on the next page establishes a contradiction: bidder would prefer slot 𝑘 + 1

8/8/2012 29

Page 30: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Inequality of the OTness

• 𝑢𝑘𝑖 = (𝑣𝑖 − 𝑏𝑘+1)𝑐𝑘

= 𝑣𝑖 − 𝑣𝑗 −𝑐𝑘+1

𝑐𝑘𝑣𝑗 − 𝑏𝑘+2 𝑐𝑘

= 𝑣𝑖 − 𝑏𝑘+2 𝑐𝑘+1 + (𝑐𝑘 − 𝑐𝑘+1)(𝑣𝑖 − 𝑣𝑗)

< (𝑣𝑖 − 𝑏𝑘+2)𝑐𝑘+1

= 𝑢𝑘+1𝑖

• The above contradicts to the equilibrium

8/8/2012 30

Page 31: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Uniqueness of FL Equilibrium

• The position auction has a unique forward looking Nash equilibrium

• Sketch of the proof:

– Output Truthfulness

– The Forward Looking best response formula

8/8/2012 31

Page 32: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Convergence of Forward Looking Strategy

• Does it converge? Yes, hopefully…

• If at every time, one bidder bids, and this bidder is randomly chosen, then the forward looking strategy will eventually converge to its equilibrium.

8/8/2012 32

Page 33: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

More on Forward Looking Equilibrium

• FL schemes maximizes bidders who follow it;

• Follower won't be punished by actions from those non-followers;

• non-followers will not maximize their utilities.

8/8/2012 33

Page 34: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Outline

I. Problem Description

II. Game theoretical aspect of the bidding problem that we will consider

III. Statistical Implementation

IV. Conclusion

8/8/2012 34

Page 35: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

III. Implementation Issues

• Recall the forward looking strategy – Find the best response slot 𝑘, then do the following

𝐹𝑖 𝒃−𝑖 = 𝑣𝑖 −

𝑐𝑘𝑐𝑘−1

𝑣𝑖 − 𝑏𝑘+1 , 2 ≤ 𝑘 ≤ 𝐾,

𝑣𝑖 , 𝑘 = 1 or 𝑘 > 𝐾.

• Need to know: – 𝑐𝑘 and 𝑐𝑘−1are the clicks of the bidder 𝑗 who

occupies slot 𝑘 − 1 – 𝑏𝑘+1, the immediate lower bid; This is the current

CPC!

• Possible solution: use AdWords traffic estimator

8/8/2012 35

Page 36: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

AdWords: Traffic Estimator • Given a key word, Traffic Estimator tells how it

could perform

8/8/2012 36

Page 37: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

8/8/2012 37

Page 38: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Use Adwords Traffic Estimator for Inference

• Estimating 𝑐𝑘 and 𝑐𝑘−1: – ATE gives average positions and a range of clicks – Need statistical model to estimate 𝑐𝑘’s

• Getting 𝑏𝑘+1: – Current CPC paid by this bidder – Time varying

• Big question: can we really trust ATE to perform the above tasks? (do not know…)

• If there is a statistically consistent way to estimate 𝑐𝑘, forward looking converge to equilibrium with high probability

8/8/2012 38

Page 39: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

Other Considerations

• We assumed known RPC; however in reality, the conversion rate (CR) is highly stochastic

• One may infer 𝑐𝑘 through knowledge of the bidders (their web sites are observable) and its own experience; for example, similar web sites likely have similar 𝑐𝑘’s

• In fact, many online testimonies say that you can learn by trying AdWords – see @ youtube

8/8/2012 39

Page 40: Considerations of Modeling in Keyword Bidding (Google:AdWords) · A Simplified Version of AdWords Bidding •Sorted (descending) bids , =1,2,⋯, , of potential advertisers: 1> 2>

IV. Conclusion

• We study the keyword bidding problem at AdWords

• A strategy named “forward looking best response” is a promising way to bid: – It can be made available publicly

– Maximize utility

– Immune to adversary bids

• There remain some statistical estimation problems unsolved

• Haven’t been tested in reality

• Stochasticity can be another issue

8/8/2012 40