AdwordsThesis : best bidding strategy

download AdwordsThesis : best bidding strategy

of 39

Transcript of AdwordsThesis : best bidding strategy

  • 8/12/2019 AdwordsThesis : best bidding strategy

    1/39

    Advertising in Google SearchDeriving a bidding strategy

    in the biggest auction on earth.

    Anne Buijsrogge

    Anton Dijkstra

    Luuk Frankena

    Inge Tensen

    Bachelor ThesisStochastic Operations Research

    Applied Mathematics

    University of Twente

    June 18, 2012

  • 8/12/2019 AdwordsThesis : best bidding strategy

    2/39

    Contents

    1 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    2.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 33 Analytical Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    3.1 Notations and Assumptions . . . . . . . . . . . . . . . . . 43.2 Framework of the Model . . . . . . . . . . . . . . . . . . . 43.3 Optimal Position . . . . . . . . . . . . . . . . . . . . . . . 63.4 Optimal Bid . . . . . . . . . . . . . . . . . . . . . . . . . 6

    4 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.1 CTR versus Average Position . . . . . . . . . . . . . . . . 84.2 Average CPC versus Average Position . . . . . . . . . . . 9

    5 Model Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.1 Uniform Distribution . . . . . . . . . . . . . . . . . . . . . 115.2 Exponential Distribution . . . . . . . . . . . . . . . . . . 15

    5.3 Normal Distribution . . . . . . . . . . . . . . . . . . . . . 196 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    6.1 Uniform Distribution . . . . . . . . . . . . . . . . . . . . . 226.2 Exponential Distribution . . . . . . . . . . . . . . . . . . 246.3 Normal Distribution . . . . . . . . . . . . . . . . . . . . . 25

    7 An Algorithm to Determine the AdRanks . . . . . . . . . . . . . 277.1 The algorithm . . . . . . . . . . . . . . . . . . . . . . . . 277.2 Optimal Bidding . . . . . . . . . . . . . . . . . . . . . . . 287.3 Practicability . . . . . . . . . . . . . . . . . . . . . . . . . 287.4 Vindictive Bidding . . . . . . . . . . . . . . . . . . . . . . 28

    8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3010 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3211 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

  • 8/12/2019 AdwordsThesis : best bidding strategy

    3/39

    Abstract

    This research aims to derive an optimal bidding strategy for keyword auctionsin Google Search from the perspective of the advertiser. It presents a modelfor the expected profit per view, depending on either the bid or the obtainedposition of the advertiser. In a subsequent analysis, the position and bid areoptimized to reach the maximum profit per view. In the model the AdRanks areassumed to be distributed by a general probability distribution. The analysisis restricted to the uniform, exponential and normal distributions. In additionan approximation of the expected profit per view is derived and subsequentlytested by Monte Carlo simulation for different distributions and parameters.Finally, this research presents an algorithm to determine the AdRanks of theother advertisers, which may be used for vindictive bidding.

  • 8/12/2019 AdwordsThesis : best bidding strategy

    4/39

    1 Preface

    We have conducted this research on Google auctions for our bachelor thesis ofApplied Mathematics at the University of Twente. The project was commis-sioned by Dennis Doubovski, owner of Social Mining, a company that specializesin optimization of online advertising campaigns. Social Mining is searching forbetter ways of advertising in Google AdWords. Our internal supervisors wereNelly Litvak and Judith Timmer of the chair Stochastic Operations Research.This cooperation has resulted in this report.

    2 Introduction

    The market of online advertising is huge and still growing. Google has the

    biggest market share in online advertising. When using Google Search, adver-tisements are shown. The order in which they are displayed is determined by anonline auction. In figure (1) a heat map of Google Search is shown, displayingwhere users look and click when their search results are shown. This heat mapdemonstrates that most people look and click at the advertisements at the topof the page.

    Figure 1: Heat Map. The crosses are clicks and the red area is the region mostlooked at.

    1

  • 8/12/2019 AdwordsThesis : best bidding strategy

    5/39

  • 8/12/2019 AdwordsThesis : best bidding strategy

    6/39

    2.2 Related Work

    Generalized Second Price auctions have been studied by Easley and Kleinberg in[1]. In [1, Ch.9] Easley and Kleinberg explain which auction types are commonand how they work. In [1, Ch.15] Easley and Kleinberg explain how sponsoredsearch markets work and discuss the principle of truthful bidding. This princi-ple shows that the best bidding strategy is to make a bid that equals the priceone is willing to pay, bidding higher or lower than this bid may have a negativeeffect on the profit.The principle of GSP auctions is further examined in [2] by Pin and Key. Theyhave proposed a model to predict the number of clicks received by the adver-tisers. In [3] Zhou and Lukose describe a strategy called vindictive bidding, inwhich advertisers bid just below the bid of the advertiser above them, to makethe price for the other advertiser as high as possible. This will be discussed in

    section 7.In [4] Feldman, Muthukrishnan, Pal and Stein describe how to distribute theadvertisers budget among the search queries. In [5] Kitts and Leblanc describea bidding strategy for Overture, a programme like AdWords for Yahoo. In[6] Feldman, Meir and Tennenholtz propose a slight modification to the GSPmechanism. This leads to a higher revenue for the seller of the auction, whichin this case is Google. In [7] Aggarwal, Feldman and Muthukrishman studyprefix position auctions where advertiser i can specify that he is interested onlyin the top i positions. This is a variation to the GSP mechanism. In [8] Gargand Narahari describe a new mechanism to model the sponsored search auction.They compare it to the GSP and the Vickrey-Clarke-Groves mechanism, whichis based on truthfull bidding, by computing the expected revenue for the searchengine.The majority of the research in online auctions is from the perspective of Google.The aim of this report is to look at the problem from the advertisers prospec-tive and consider the problem of optimal bidding in a simple auction so thatthe profit resulting from this auction is maximized.

    3

  • 8/12/2019 AdwordsThesis : best bidding strategy

    7/39

  • 8/12/2019 AdwordsThesis : best bidding strategy

    8/39

    If the AdRanks are known, it is possible to determine the place of the com-

    pany amongst the other advertisers. To do so, the sorted vector r

    has to becompared with Rcomp, resulting in the following:

    Y =

    1 ifRcomp> r(1)

    2 ifr(1)> Rcomp> r(2)

    ...s ifr(s1)> Rcomp > r(s)...

    a+ 1 if r(a)> Rcomp

    .

    Once the position Y is known the cost per click, CP Ccomp, can be calculated.

    This is the AdRank of the advertiser just beneath the company divided by thequality of the company. Since the number of slots never exceeds the number ofadvertisers,Ycan vary between 1 and a+ 1. Of course the company does nothave to pay anything when their position is lower than s, because they do notget a slot. In the model this implies that ifa > s (j), the probability a userclicks on the slot, is defined to be zero for j > s. If the number of advertisersis equal to the number of slots, it is possible that the company gets the lowestslot. In this case the company has to pay the minimum price m. In formula:

    CP Ccomp =

    r(Y)qcomp

    ifY < s

    m ifY =s0 ifY > s

    . (3.1)

    The goal is to maximize the profit per view, P P Vcomp. When a user clicks on theadvertisement of the company, the company pays CP Ccomp. If the visit of theuser results in a purchase, they get revenue. The average revenue gained by thecompany when people click on the advertisement is called the revenue per click:RP Ccomp. The difference betweenRP Ccompand C P Ccompis the profit realizedby the company when a user clicks on the advertisement. On the other hand, incase the user does not click on the advertisement, the company does not pay orreceive any money. The profit in case the user clicks on the advertisement hasto be multiplied by the click through rate: CTR. So the formula forP P Vcompis as follows:

    P P Vcomp= (RP CcompCP Ccomp)CTR.

    In order to calculate the maximum profit, the expectation ofP P Vcomp has tobe calculated. In the next subsection an equation for the position is derived atwhich the maximum profit per view occurs, this is called the optimal position.After that another look will be taken at the maximum E[P P Vcomp] by writingdown E[P P Vcomp] as a function of Bcomp and calculating the bid where themaximum profit per view occurs, the optimal bid.

    5

  • 8/12/2019 AdwordsThesis : best bidding strategy

    9/39

    3.3 Optimal Position

    First, the expected profit per view is conditioned on the position Y =i.

    E [P P Vcomp|Y =i] = E [(RP CcompCP Ccomp)CT R|Y =i]

    = (RP Ccomp E [CP Ccomp|Y =i])(i) (3.2)

    The last equation follows because the expectation of the CTR given Y = iresults in the vector (i). To calculate E [CP Ccomp|Y =i] formula (3.1) is used.For the first line, a distribution ofr(i) is needed. r(i) is theith order statisticofr.

    E [CP Ccomp|Y =i] =

    E[r(i)]qcomp

    ifi < s

    m ifi = s

    0 ifi > s

    (3.3)

    In section 5 this formula will be used to calculate the maximum profit per view.Bare in mind that when RP Ccomp < E[CP Ccomp|Y = i] the expected profitbecomes negative, so the company should not participate in the auction.

    3.4 Optimal Bid

    In this part the expected profit will be conditioned on the bid Bcomp.

    E [P P Vcomp|Bcomp= bcomp] =

    E [(RP CcompCP Ccomp)CT R|Bcomp= bcomp] (3.4)

    To get more insight in the values of the AdRanks, several distributions are ex-amined. First a general distribution of the AdRanks is implemented.

    The probability for the company of getting position i can be determined asa function of the AdRank Rcomp.

    P(r(i) Rcomp r(i1)|Bcomp) =P(r

    (i) Rcomp, r(i1) Rcomp|Bcomp)

    Ifr(i1) Rcomp there are i1 advertisers with an AdRank greater thanRcomp. Similarly, ifr

    (i) Rcomp the remaining ai+ 1 advertisers have anAdRank between 0 and Rcomp. If the distribution of the AdRanks is known,the probabilities of these events can be calculated. These probabilities have tobe muliplied by the number of ways the i1 advertisers can be chosen. Thisresults in the following:

    P(r(i) Rcomp, r(i1) Rcomp|Bcomp) =

    a

    i1

    (p(Bcomp))

    i1 (1p(Bcomp))ai+1 , (3.5)

    with p(Bcomp) =P(r(i) Rcomp|Bcomp).

    Of course the exactp(Bcomp) depends on the distribution of the AdRanks.To calculate the expected profit per view, the full expectation formula, condi-tioning onY =i is used. Thus from (3.4) and (3.5) the following formula gives

    6

  • 8/12/2019 AdwordsThesis : best bidding strategy

    10/39

  • 8/12/2019 AdwordsThesis : best bidding strategy

    11/39

    4 Data Analysis

    In order to evaluate the parameters of the analytical model, real world data hasto be used. In this section the real world data is being examined.

    4.1 CTR versus Average Position

    Since an advertisement with a higher position receives on average more clicksthan one with a lower position, the CTR depends on the position. Recall thatthe CTR is the Click Through Rate, equal to the number of clicks on theadvertisement divided by the number of views. This dependency between theCTR and the position is examined in this subsection. Comparable data oftenfollow Zipfs law. The probability mass function of Zipfs law is:

    f(k; s, N) =1ksN

    n=11ns

    , (4.1)

    where f(k; s, N) is in this case the CTR, k = 1,..,N is the position, s > 0is a parameter to characterize the distribution and N > 0 is the number ofpositions. The Zipfs law is observed by plotting the data on the log-log scale,because the plot then becomes close to a straight line. In order to test whetherthe data really follow the Zipfs law, two plots are made. Figure (2) is a plotof the average position against f(k; 1, 8), so s = 1 and N= 8 in formula (4.1).Only the first eight positions have been taken into account, because for lowerpositions the CTR is zero most of the time. Figure (3) is the log-log plot offigure (2).

    Figure 2: Zipfs law

    8

  • 8/12/2019 AdwordsThesis : best bidding strategy

    12/39

    Figure 3: Zipfs law log-log

    The figures show that the data approximately follows the Zipfs law. Whentaking s = 2 the average position differs more from the Zipfs law. Also forhigher values ofs the data do not fit better with Zipfs law. The conclusion isthat Zipfs law with s= 1 is in this case the best approximation for the CTR,that is for .

    4.2 Average CPC versus Average Position

    To analyse the dependency of the average CPC and the average position, severalsamples were taken from international campaigns. These samples have been ex-amined per day and per month. The results are shown in the following figures.Each of the four keywords shirtjes kinder, legging, babymutsjes and polokorte mouw are examined in the same period of time.

    (a) Shirtjes kinder per day (b) Shirtjes kinder per month

    Figure 4: Shirtjes kinder

    9

  • 8/12/2019 AdwordsThesis : best bidding strategy

    13/39

    (a) Legging per day (b) Legging per month

    Figure 5: Legging

    (a) Babymutsjes p er day (b) Babymutsjes p er month

    Figure 6: Babymutsjes

    (a) Polo korte mouw per day (b) Polo korte mouw per month

    Figure 7: Polo korte mouw

    Figures (4a) and (4b) seem to show that for this keyword the average positionis more or less equal no matter what the average CPC is. Some of the figures,like figures (5a) and (5b), seem to show that there is no influence of CPC onthe position at all. Other samples seem to have a slightly upward or downwardtrend.According to formula (3.1), if the CPC increases, the number of the position isdecreasing, assuming that the quality stays the same. If the position number is

    10

  • 8/12/2019 AdwordsThesis : best bidding strategy

    14/39

    decreasing, the position is increasing. After all, the highest position is defined

    as position number one.Why does this pattern not occur in our samples? The first explanation is thatthe sample size is too small. For all samples, 10 data points were used. However,creating a bigger sample size is not solving the problem completely. Secondly,in the samples the CPC does not vary sufficiently. The CPC changes at themost e0.30, that is why the position does barely vary and the results can beregarded as noise. The third and most important reason why this does notoccur is because the argumentation above is based on the assumption that thebids of the other advertisers stay the same. In that case the conclusion that thecompany gets a higher position when they pay more is legitimate. Otherwise,when the other advertisers bid differently, the company might get a differentposition. Since it is not very realistic to assume that over a period of 10 monthsthe bids of the other advertisers will not change, it is very likely that this also

    has influence on these results.

    5 Model Analysis

    In this section the model of section 3 is analysed, assuming that the AdRanksof the advertisers 1,..,a follow a specific probability distribution. To simplifythe model, the assumption is made that the number of slots s equals a+ 1.The analysis in this report is restricted to the uniform, exponential en normaldistribution of the AdRanks.

    5.1 Uniform Distribution

    The assumption is made that the AdRanks of the other advertisers are uniformlydistributed betweenand, with > >0. At first the maximum ofP P Vcompis calculated for the optimal position. Secondly the optimal bid is examined.

    Optimal Position

    The probability for the company of getting a position i can be determined as afunction of the AdRankRcomp. To calculate E[CP Ccomp|Y =i] the order statis-tics r of the uniform distribution are needed. The expectation ofCP Ccomp isshown in the formula below.

    E[CP Ccomp|Y =i] = i1

    a ()

    qcomp(5.1)

    In the special case when the company is in the last slot a +1, E[CP Ccomp|Y =i]is equal to m. If i = a + 1 is substituted in formula (5.1), E[CP Ccomp|Y = i]becomes

    qcomp. Now from formula (3.2) for E[P P Vcomp|Y =i] it follows that:

    E[P P Vcomp|Y =i] =

    RP Ccomp

    i1a

    ()

    qcomp

    (i). (5.2)

    11

  • 8/12/2019 AdwordsThesis : best bidding strategy

    15/39

    If the assumption is made that (i) follows Zipfs law, formula (5.2) can be

    completed.

    E[P P Vcomp|Y =i]

    =

    RP Ccomp

    i1a

    ()

    qcomp

    1

    ia+1n=1

    1n

    = 1

    qcomp

    1a+1n=1

    1n

    RP Ccompqcomp

    a

    i +

    a

    This formula is decreasing in i and, since i is positive, the maximum valuefor E[P P Vcomp|Y =i] occurs for small values ofi. Hence, in this case the beststrategy is to obtain the highest position under the assumption that RP Ccomp

    i1a ()

    qcomp , which is equal to E[CP Ccomp|Y =i].

    Optimal Bid

    Now the optimal bid that maximizes P P Vcomp is computed. Since p(Bcomp) isneeded to substitute in formula (3.7) it has to be specified.

    p(Bcomp) =

    Bcompqcomp

    if Bcompqcomp

    0 otherwise

    The following formula is used to give more insight in the behaviour ofE[P P Vcomp|Bcomp =bcomp]. If the assumption is made that (i) follows Zipfslaw, formula (3.8) becomes as follows:

    E[P P Vcomp|Bcomp= bcomp]

    = E

    1X+1a+1n=1

    1n

    (RP Ccompbcomp)

    = 1a+1n=1

    1n

    E

    1

    X+ 1(RP Ccompbcomp)

    , (5.3)

    with XB(a, p(bcomp)).Unfortunately, no conclusions can be drawn from this formula. This is why theanalysis continues with formula (3.7).Taking the derivative of the following formula equal to zero, the optimal bid is

    obtained.

    E[P P Vcomp|Bcomp= bcomp] =

    a+1i=1

    a

    i1

    bcompqcomp

    i1 bcompqcomp

    ai+1if bcompqcomp

    (RP Ccompbcomp)1ia+1

    n=11n

    0 otherwise

    (5.4)

    12

  • 8/12/2019 AdwordsThesis : best bidding strategy

    16/39

    The derivative of the previous formula for bcompqcomp is as follows:

    E[P P Vcomp|Bcomp= bcomp]

    bcomp=

    a+1i=1

    1

    ia+1n=1

    1n

    a

    i1

    qcomp(i1)

    bcompqcomp

    i21

    bcompqcomp

    ai+1

    (RP Ccompbcomp) +qcomp(ai+ 1)

    bcompqcomp

    i11

    bcompqcomp

    ai

    (RP Ccompbcomp)

    bcompqcomp

    i11

    bcompqcomp

    ai+1,

    otherwise it is zero.

    The roots of this derivative cannot be found analytically, that is why the max-imum E[P P Vcomp|Bcomp = bcomp] in formula (5.4) is determined numerically.The following parameters are used:

    a = 10,

    RP Ccomp = 4,

    qcomp = 1,

    = 0.05,

    = 3.5.

    In each of the following figures one of the parameters varies.

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    a = 1

    a = 2

    a = 3

    a = 4

    a = 5

    a = 6

    a = 7

    a = 8

    a = 9

    a = 10

    (a) Number of other advertisers a

    0 1 2 3 4 51

    0.5

    0

    0.5

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    RPCcomp

    = 1

    RPCcomp

    = 1.5

    RPCcomp

    = 2

    RPCcomp

    = 2.5

    RPCcomp

    = 3

    RPCcomp

    = 3.5

    RPCcomp

    = 4

    RPCcomp

    = 4.5

    RPCcomp

    = 5

    (b) Revenue per click RP Ccomp

    13

  • 8/12/2019 AdwordsThesis : best bidding strategy

    17/39

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    q

    comp

    = 1

    qcomp

    = 2

    qcomp

    = 3

    qcomp

    = 4

    qcomp

    = 5

    qcomp

    = 6

    qcomp

    = 7

    qcomp

    = 8

    qcomp

    = 9

    qcomp

    = 10

    (c) Quality qcomp

    0 1 2 3 4 50.4

    0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    = 1

    = 1.5

    = 2

    = 2.5

    = 3

    = 3.5

    = 4

    = 4.5

    = 5

    (d) Right boundary of uniform distribution

    Figure 8: Variation of the parameters for uniformly distributed AdRanks

    These figures show that E[P P Vcomp|Bcomp = bcomp] = 0 if bcomp qcomp

    ,

    sincep(bcomp) = 0 in this case.Figure (8a) shows that with an increasing number of advertisers, the expectedprofit per view decreases. The explanation for this could be that if less adver-tisers participate in an auction, it is more likely that the company obtains ahigher position, resulting in a higher click through rate. If there is only oneother advertiser, the company is already certain that they will get either slot1 or 2, so it is not necessary to place a high bid. If the number of advertisers

    increases, there are more competitors for the top position and the company hasto make a higher bid in order to maximize their profit.Figure (8b) displays that varying RP Ccompmakes a big difference. IfRP Ccompis lower then CP Ccomp, which is equal to bcomp, the expected profit per viewbecomes negative. For example, ifRP Ccomp is 3 the expected profit per viewstays positive for bids lower than 3 and becomes negative for higher bids. Sothe best strategy is to bid as high is possible ifRP Ccomp is bigger than bcomp,otherwise it is optimal to bid the minimum bid.In figure (8c)qcompis varied. Because the expected profit per view is zero in case

    thatbcomp

    qcomp, the value ofbcomp for which E[P P V

    comp|Bcomp= bcomp] be-

    comes zero depends on qcomp. Ifqcomp increases, the company can make a lowerbid to receive a high position, so the optimal bid will be lower.

    Also in figure (8d) the expected profit per view becomes zero ifbcomp

    qcomp

    and in this case this depends on . For values ofhigher than 4, the expectedprofit per view becomes negative because RP Ccomp is equal to 4. For values of lower than RP Ccomp the conclusion can be drawn that the optimal bid is ,so it is best to bid as high as possible in this case. If this is not the case thenit is optimal to bid the minimum bid.Recall that the conclusion from the optimal position was that it is optimal to get

    the first position, so to bid as high as possible when RP Ccomp

    i1a ()

    qcomp.

    This follows the conclusion for the optimal bid.

    14

  • 8/12/2019 AdwordsThesis : best bidding strategy

    18/39

    5.2 Exponential Distribution

    Now the AdRanks of the other advertisers are assumed to be exponentially dis-tributed with mean . Like in the case of the uniform distribution a distinctionis made between the optimal position and the optimal bid.

    Optimal Position

    To determine the optimal position, the expected profit per view will be condi-tioned on the position Y = i with formula (3.2). To do so E[CP Ccomp|Y = i]of an exponential distribution has to be computed. This can be done with (3.3)and the expected order statistics of the exponential distribution from [9]. Thisresults in:

    E [CP Ccomp|Y =i] =

    ai+1k=1 ak+1

    qcompifi < a+ 1

    m ifi = a+ 1. (5.5)

    Because the summation is too difficult to substitute, boundaries of the sum of(5.5) can be derived. The sum is bounded by two integrals:

    ai+21

    1

    at+ 2dt

    ai+1k=1

    1

    ak+ 1

    ai+21

    1

    at+ 1dt. (5.6)

    The integrals of the previous equation can be easily computed.

    ai+21

    1at+ 2

    dt = ln(a+ 1)ln(i)

    ai+21

    1

    at+ 1dt = ln(a)ln(i1)

    First the boundaries are substituted in (5.5) and then the resulting expressionis substituted in (3.2). The lower boundary is substituted in formula (3.2) firstand results in the following formula.

    E[P P Vcomp|Y =i] =

    RP Ccomp

    (ln(a+ 1)ln(i))

    qcomp

    1ia+1

    n=11n

    (5.7)

    In this formula the Zipfs law for (i) is also substituted. Note that, since thelower boundary is subtracted from the RP Ccomp, it now becomes an upperboundary for E[P P Vcomp|Y = i] . To find the optimum of this formula, thederivative is computed and set equal to zero:

    E[P P Vcomp|Y =i]

    i =

    RP Ccompqcomp+ln(a+ 1)ln(i)

    qcompi2a+1

    n=11n

    = 0. (5.8)

    Thus the optimal position is the solution for i of the following equation:

    RP Ccompqcomp+ln(a+ 1)ln(i) = 0. (5.9)

    15

  • 8/12/2019 AdwordsThesis : best bidding strategy

    19/39

    Note that the denominater of formula (5.8) is never equal to zero. Solving (5.9)

    fori this becomes:

    i= e1RPCcompqcomp

    +ln(a1).

    This is the optimal position for the upper boundary ofE[P P Vcomp|Y =i]. Thisdoes not always has to be an integer, but then iand ihave to be calculatedto see which of the two has the highest E[P P Vcomp|Y =i]. This is probably agood approximation for the optimal position.

    Secondly, the upper b oundary from formula (5.5) is substituted. Also thisboundary is substituted in formula (3.2) and the derivative is set equal to zero.Note that this will result in a lower boundary for E[P P Vcomp|Y =i].

    E[P P Vcomp|Y =i] =

    RP Ccomp (ln(a)ln(i1))qcomp

    1ia+1

    n=11n

    The derivative is as follows:

    E[P P Vcomp|Y =i]

    i =

    qcompa+1

    n=11n

    RPCcomp

    qcomp+ln(a)ln(i1)

    (i1) +i

    i2(i1) .

    So the optimal position is the solution of the following formula:

    RP Ccompqcomp +ln(a)ln(i1)

    (i1) +i= 0.

    This equation is not solvable analytically, so the boundaries as well as the orig-inal formula are implemented numerically. In the following figure these param-eters are used:

    a = 10,

    RP Ccomp = 4,

    qcomp = 1,

    = 1.75.

    16

  • 8/12/2019 AdwordsThesis : best bidding strategy

    20/39

    1 2 3 4 5 6 7 8 9 10 110.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    i

    E[PPV|Y=i]

    Upper boundary

    Lower boundary

    Original

    .

    Figure 9: E[P P Vcomp|Y =i] with the boundaries

    The figure shows that the upper and lower boundaries result in a goodapproximation for the original problem and it shows that with these parametersthe first position is the best one. Next, the optimal bid will be analysed andlater on it will be compared to the optimal position.

    Optimal Bid

    Now the maximum P P Vcomp is calculated for the optimal bid. For the expo-nential distribution the probability p(Bcomp) in formula (3.7) becomes:

    p(Bcomp) = e

    1Bcompqcomp .

    With this probability the maximum P P Vcomp can be calculated in the sameway as in the previous subsection. Again a binomial distribution can be rec-ognized, the only difference is p(bcomp). So (5.3) holds true for the exponentialdistribution as well. The derivative ofP P Vcomp is also taken in this case.

    E[P P V

    comp|Bcomp= bcomp]bcomp

    =

    a+1i=1

    1

    ia+1n=1

    1n

    a

    i1

    (i1)e

    bcompqcomp

    qcomp

    e

    bcompqcomp

    i2

    1ebcompqcomp

    ai+1(RP Ccompbcomp) + (ai+ 1)e

    bcompqcomp

    qcomp

    ebcompqcomp

    i1 1e

    bcompqcomp

    ai(RP Ccompbcomp)

    e

    bcompqcomp

    i1

    1ebcompqcomp

    ai+1

    17

  • 8/12/2019 AdwordsThesis : best bidding strategy

    21/39

    Since the roots of this formula cannot be found analytically, formula (3.7) is

    implemented numerically. The parameters are varied to determine the influenceof each parameter. The standard parameters are as follows:

    a = 10,

    RP Ccomp = 4,

    qcomp = 1,

    = 1.75.

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.5

    1

    1.5

    bcomp

    E[PPV|B

    comp

    =b

    comp]

    a = 1

    a = 2

    a = 3

    a = 4

    a = 5

    a = 6

    a = 7

    a = 8

    a = 9

    a = 10

    (a) Number of other advertisers a

    0 0.5 1 1.5 2 2.5 3 3.5 40.8

    0.6

    0.4

    0.2

    0

    0.2

    0.4

    0.6

    bcomp

    E[PPV|B

    comp

    =b

    comp]

    RPCcomp

    = 1

    RPCcomp

    = 1.5

    RPCcomp

    = 2

    RPCcomp

    = 2.5

    RPCcomp

    = 3

    RPCcomp

    = 3.5

    RPCcomp

    = 4

    RPCcomp

    = 4.5

    RPCcomp

    = 5

    (b) Revenue per click RP Ccomp

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    qcomp

    = 1

    qcomp= 2

    qcomp

    = 3

    qcomp

    = 4

    qcomp

    = 5

    qcomp

    = 6

    qcomp

    = 7

    qcomp

    = 8

    qcomp

    = 9

    qcomp

    = 10

    (c) Quality qcomp

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    = 0.5

    = 1= 1.5

    = 2

    = 2.5

    = 3

    = 3.5

    = 4

    = 4.5

    = 5

    (d) Mean of exponential distribution

    Figure 10: Variation of the parameters for exponentially distributed AdRanks

    In figures (10a), (10c) and (10d) RP Ccomp is equal to 4. Remember thatCP Ccomp is chosen to be equal to bcomp. That is why all lines in these figuresintersect at bid 4, where the expected profit per view equals zero.Similar as for the uniform distribution, figure (10a) shows that with a lowernumber of advertisers, the company can make a lower bid.From figure (10b) it can be concluded that a higherRP Ccompresults in a higherexpected profit per view and the optimal bid becomes higher.

    18

  • 8/12/2019 AdwordsThesis : best bidding strategy

    22/39

    As for the uniform distribution, figure (10c) shows that a higher quality results

    in a higher expected profit per view and a lower optimal bid.If the mean of the AdRanks of the other advertisers becomes higher in figure(10d), the company has to make a higher bid to reach the same position.

    Recall that it still has to be discussed whether the conclusion of the positionfollows the conclusion of the bid. With the standard parameters the optimalposition is the first position, so to bid as high as possible. With the same pa-rameters the optimal bid is between 2 and 2.5. The difference between theseresults may occur because for the optimal bid E[P P Vcomp|Bcomp = bcomp] isused.

    5.3 Normal Distribution

    Next, the assumption is made that the AdRanks of the a advertisers are nor-mally N(, 2) distributed. For the normal distribution only the optimal bidis determined and the optimal position is skipped, since the order statistics arenot known analytically.

    Optimal Bid

    Because the optimal bid is difficult to determine analytically, this is done nu-merically. To do so, p(Bcomp) is taken as:

    p(Bcomp) = 1

    qcompBcomp

    .

    This is substituted in formula (3.7). As done for the uniform and exponentialdistribution, the outcomes for different values of the parameters are comparedto each other. The standard parameters are chosen as follows:

    a = 10,

    RP Ccomp = 4,

    qcomp = 1,

    = 1.75,

    = 0.6.

    19

  • 8/12/2019 AdwordsThesis : best bidding strategy

    23/39

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    a = 1

    a = 2

    a = 3

    a = 4

    a = 5

    a = 6

    a = 7

    a = 8

    a = 9

    a = 10

    (a) Number of other advertisers a

    0 1 2 3 4 51.5

    1

    0.5

    0

    0.5

    1

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    RPCcomp

    = 1

    RPCcomp

    = 1.5

    RPCcomp

    = 2

    RPCcomp

    = 2.5

    RPCcomp

    = 3

    RPCcomp

    = 3.5

    RPCcomp

    = 4

    RPCcomp

    = 4.5

    RPCcomp

    = 5

    (b) Revenue per click RP Ccomp

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    qcomp

    = 1

    qcomp

    = 2

    qcomp

    = 3

    qcomp

    = 4

    qcomp

    = 5

    qcomp

    = 6

    qcomp

    = 7

    qcomp

    = 8

    qcomp

    = 9

    qcomp

    = 10

    (c) Quality qcomp

    0 1 2 3 4 50.4

    0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    = 0.5

    = 1

    = 1.5

    = 2

    = 2.5

    = 3

    = 3.5

    = 4

    = 4.5

    = 5

    (d) Mean of normal distribution

    0 1 2 3 4 50.4

    0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    bcomp

    E[PPV|B

    comp

    =b

    comp

    ]

    = 0.1

    = 0.2

    = 0.3

    = 0.4

    = 0.5

    = 0.6

    = 0.7

    = 0.8

    = 0.9

    = 1

    = 1.1

    = 1.2

    (e) Standard deviation of normal distribution

    Figure 11: Variation of the parameters for normally distributed AdRanks

    Just as with the exponential distribution, RP Ccomp is equal to 4 in figures(11a), (11c), (11d) and (11e). Remember that CP Ccomp is chosen to be equalto bcomp. That is why all curves in these figures have a root at bid 4.

    20

  • 8/12/2019 AdwordsThesis : best bidding strategy

    24/39

    Since the AdRanks of the advertisers are normally distributed in this case,only 2.5% of the other advertisers have an AdRank higher than + 2 = 2.95in expectation. Figure (11a) shows that when a increases, the optimal bid ap-proaches approximately 2.95. This makes sense because the probability that anarbitrary advertiser has an AdRank higher than this value is only 2.5%. Theoptimal bid increases when more advertisers are participating, because it be-comes more likely that an advertiser has a high AdRank. There are only a fewadvertisers with a low AdRank, so it is not worthy to bid below approximately1. The curves are decreasing in this part of the graph, since CP Ccomp is equalto bcomp. Because RP Ccomp stays the same, the cost increases with the samerevenue, resulting in a lower profit per view.

    The first prominent aspect in figure (11b) is that a higher RP Ccomp gives a

    higher expected profit per view. Furthermore, the optimal bid for high revenueslies at approximately 2.95 like in the figure before. The first part of the graphis slightly decreasing since for low positions the click through rate is approx-imately the same, so it does not make a big difference in expected profit perview to bid a little higher. If theRP Ccomp is too low, the graph is monotonedecreasing, so the company should bid the minimum bid in this case.

    In figure (11c) the optimal bid is decreasing for a higher quality, because alower bid results in the same AdRank. After a certain optimal bid, the curvesare decreasing since bidding higher results in a higher cost per click and thesame revenue.

    By varying , figure (11d) was created. With a lower the company canbid less to get the same slot, because the other advertisers also have a lowerAdRank on average. This is why the optimal bid decreases for lower . Whengets higher thanRP Ccomp, the curves are monotone decreasing because biddinghigher than RP Ccomp does not give a positive profit and bidding lower than is also not worthy for the same reasons as before.

    When increases in figure (11e), the optimal bid increases. This could beexplained because when increases the probability that other advertisers havea high AdRank also increases. The maximum expected profit per view also de-creases when increases, since the company has to bid more in order to get thesame revenue. The curves belonging to low are decreasing in the beginningbecause there are hardly any advertisers in this interval. Bidding more resultsonly in a higher CP Ccomp, while the probability of getting the last positionstays really high.

    21

  • 8/12/2019 AdwordsThesis : best bidding strategy

    25/39

    6 Simulation

    In C++ a simulation program is written, that simulates auctions and deter-mines the expected profit per view by the Monte Carlo method. The code ofthis program can be found in appendix A. In this simulation program AdRanksof the other advertisers are uniformly, exponentially or normally distributed.These distributions are input parameters of the program. The number of otheradvertisers, which is equal to the number of slots minus one, is also an inputvalue, as are the click-through-probabilities, the revenue per click of the com-pany and the quality of the advertisement.For several input parameters this simulation is compared to formula (3.7). Thisformula was used as an estimation for the profit per view for given input param-eters. For each distribution, figures are shown for several standard parametersand for a few variations of the parameters. The standard parameters are as

    follows:

    a = 10,

    RP Ccomp = 4,

    qcomp = 1.

    6.1 Uniform Distribution

    The AdRanks of the other advertisers are Uniform[, ] distributed, with is0.05 and is 3.5.

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    bcomp

    E[PPV]

    E[PPV

    |Bcomp=bcomp]Outcome of simulation

    (a) Standard parameters

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    0.4

    0.45

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (b) Number of other advertisers a = 5

    22

  • 8/12/2019 AdwordsThesis : best bidding strategy

    26/39

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (c) Right boundary of uniform distribution = 2

    0 0.5 1 1.5 2 2.5 3 3.5 40.5

    0.4

    0.3

    0.2

    0.1

    0

    0.1

    0.2

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (d) Revenue per click RP Ccomp= 2

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (e) Quality qcomp= 2

    Figure 12: Comparison of simulation to E[P P Vcomp|Bcomp = bcomp] with Ad-Ranks uniformly distributed

    These figures show that E[P P Vcomp|Bcomp = bcomp] = 0 if bcomp

    qcomp,

    sincep(bcomp) = 0 in this case. As the figures show, E[P P V

    comp|Bcomp= bcomp]is a pretty good estimate of the expected profit per view except for figure(12b). By the definition of E[P P Vcomp|Bcomp = bcomp] it is always lowerthan the expected profit per view. For higher bids the approximation gets

    less accurate. The reason for this is that in the simulation, when bcomp is in-creasing, the company pays the AdRank of the company beneath divided bytheir own quality, which is bounded. On the contrary, the cost bcomp used inE[P P Vcomp|Bcomp= bcomp] keeps increasing.

    23

  • 8/12/2019 AdwordsThesis : best bidding strategy

    27/39

    6.2 Exponential Distribution

    Next, the AdRanks of the other advertisers are exponentially distributed withmean = 1.75.

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.05

    0.1

    0.15

    0.2

    0.25

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (a) Standard parameters

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (b) Number of other advertisers a = 5

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (c) Mean of exponential distribution = 0.9

    24

  • 8/12/2019 AdwordsThesis : best bidding strategy

    28/39

    0 0.5 1 1.5 2 2.5 3 3.5 40.5

    0.4

    0.3

    0.2

    0.1

    0

    0.1

    0.2

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (d) Revenue per click RP Ccomp= 2

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (e) Quality qcomp= 2

    Figure 13: Comparison of simulation to E[P P Vcomp|Bcomp = bcomp] with Ad-Ranks exponentially distributed

    For the exponential distribution the figures show that for small values ofbcomp, E[P P V

    comp|Bcomp = bcomp] is an accurate lower boundary for the ex-pected profit per view. For the same reason as for the uniform distribution, theapproximation gets less accurate when bcomp increases.

    6.3 Normal Distribution

    Next, the AdRanks of the other advertisers are N(,

    2

    ), with = 1.75 and= 0.6.

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    0.4

    0.45

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (a) Standard parameters

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (b) Number of other advertisers a = 5

    25

  • 8/12/2019 AdwordsThesis : best bidding strategy

    29/39

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (c) Mean of normal distribution = 0.9

    0 0.5 1 1.5 2 2.5 3 3.5 40.7

    0.6

    0.5

    0.4

    0.3

    0.2

    0.1

    0

    0.1

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (d) Revenue per click RP Ccomp= 2

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (e) Quality qcomp= 2

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    bcomp

    E[PPV]

    E[PPV|B

    comp=b

    comp]

    Outcome of simulation

    (f) Standard deviation of normal distribution =1.2

    Figure 14: Comparison of simulation to E[P P Vcomp|Bcomp = bcomp] with Ad-Ranks normally distributed

    In figure (14a), (14c) and (14f) there is a spike in the graph of the simu-lated P P Vcomp at bcomp = 0.05. The reason for this is that normal randomvariates lower than 0.05 are adjusted to 0.05 by the simulation program. Ifdecreases or increases the probability that an AdRank is smaller than 0.05

    increases which results in a bigger spike at bcomp = 0.05. As was the case forthe uniform and exponential distribution, E[P P Vcomp|Bcomp = bcomp] gives agood approximation for the expected profit per view for low values ofbcomp.

    26

  • 8/12/2019 AdwordsThesis : best bidding strategy

    30/39

    7 An Algorithm to Determine the AdRanks

    The profit of an advertiser depends greatly on the position of the other adver-tisers. In this section will be discussed how the AdRanks of other advertiserscan be emperically discovered.It is possible to calculate the AdRanks of the other advertisers by an algorithm,after making a few assumptions. Only the AdRanks of the advertisers who re-ceived a slot can be calculated with this algorithm. This algorithm terminatesin s steps or less, where s is the number of slots. At each step an auction isheld. The reason why the algorithm may terminate in less than ssteps will beexplained later.

    The main assumption is that the vector of AdRanks of the other advertisersr is constant in time, so they do not change in the s steps. Furthermore,

    the company knows their quality qcomp and can vary their bid bk in step k(k = 1, 2,..,s). So the company knows their AdRank in each step, which isqcompbk. The bid in each stepk results in a cost per click C P Ccomp(bk) for thecompany.

    7.1 The algorithm

    In the first step, or initialization step, choose the bid b1 very high, such thatthe AdRankb1qcomp is higher than the AdRanks of all other advertisers. Math-ematically this means that

    b1qcomp> r(1),

    wherer is the sorted descending vector r. The resulting cost per click after thefirst bid, CP Ccomp(b1), is known. Because of formula (3.1)CP Ccomp(b1)qcompequals the highest AdRank among all other advertisers, so

    CP Ccomp(b1)qcomp= r(1).

    The next step is to calculater(2) with information obtained by choosing a newbidb2smartly. The idea is to choose the bid b2 such that the resulting AdRankb2qcomp is lower than r

    (1) and higher than r(2), because then r(2) can becalculated via the CPC formula and the obtained CP Ccomp(b2). Because youdo not know the value of r(2) you want to bid as high as possible, but stilllower than r(1), this means that you have to bid

    b2= (CP Ccomp(b1)0.01).

    Biddingb2 does not guarantee that the calculated AdRank isr(2), it could be

    r(j), j > 2. But this is only the case ifr(1)r(2) < 0.01qcomp. Then theAdRanksr(1),..,r(j) are very close to each other and they are in the interval[r(1), r(1)0.01qcomp).

    The next steps are similar to the second step. So in general for step k = 2,..,sthe bid is:

    bk = (CP Ccomp(bk1)0.01).

    27

  • 8/12/2019 AdwordsThesis : best bidding strategy

    31/39

    This results in CP Ccomp(bk) and the next calculation is:

    CP Ccomp(bk1)qcomp = r(k) ifr(j1)r(j)> 0.01qcomp j = 2,..,k.

    If the difference between two AdRanks is smaller than 0.01qcomp, the algorithmskips one or more advertisers who have AdRanks in this interval. Then thealgorithm will be finished in fewer steps than s and you know that some Ad-Ranks are close to each other. Thus in this case you get a good impression ofthe distribution of the AdRanks.

    7.2 Optimal Bidding

    When the company knows the AdRanks of the other advertisers it is possibleto determine an interval for the optimal bid. In this case optimal means thatthe maximal profit per view is gained by bidding in this interval. In this algo-rithm the profit per view P P Vcomp(i) = (RP Ccomp(i)CP Ccomp(i))CT R(i) isdependent of the position i = 1,..,s. So in this case RP Ccomp also depends oni and is not a constant like before.When all these values from the previous formula are known by the company,maxiP P Vcomp(i), the maximum profit per view, can be calculated. Soarg maxiP P Vcomp(i) is the position with the highest profit. This position isacquired by choosing the bid bopt optimal. To acquire the first position thecompany chooses the bid bopt > C P C (1) = r

    (1)/qcomp. For the other posi-tions i >1 choose the bid r(i)/qcomp< bopt < r

    (i1)/qcomp.

    7.3 Practicability

    Outcomes, like the resulting CPC and position, of a single auction are not knownin Google Adwords. The average is taken over the outcomes of all auctions inan hour. The resulting averages such as average position and average cost perclick are not very precise, since all the variables are averaged and the conditionsper auction could differ. This is probably not a problem for the first step but itprobably is for the next steps of the algorithm. One of the reasons is that thenumber of advertisers in an auction may vary because of budget constraints,which leads to a (positive) variance in the average cost per click. Then it isnot possible anymore to determine the other AdRanks precisely. Because of theformer statement constructing a confidence interval is not possible too, becauseof not knowing the outcomes per auction.

    7.4 Vindictive Bidding

    A possible application of the algorithm is the vindictive bidding strategy. Vin-dictive bidding is a bidding strategy used in GSP auctions, according to [3]. Ingeneral, in this strategy the bids are known by the company. The goal of vin-dictive bidding is to let the competitor pay as much as possible without payingextra costs himself. By letting the competitor pay more, the company makessure that the competitor runs out of cash more quickly. If his whole budget isspent, there is one competitor less in the auction.

    28

  • 8/12/2019 AdwordsThesis : best bidding strategy

    32/39

    With vindictive bidding a participant bids as close to the competitor above him

    as possible, but with the restriction that he stays under the competitors bid.This way he will make sure that the competitor pays as much as possible forthe item.But what if other competitors also use this strategy? Then the competitor bidsjust below the participant, since his goal is now to maximize the participantsprice. He reacts by bidding just below the competitors new bid and then thecompetitor reacts, etcetera. This continues until an equilibrium occurs.Vindictive bidding might be a useful strategy when a participant knows the bidsof his competitors. Unfortunately, most auctions use sealed bids to prevent thiskind of strategy.

    The bids in a Google auction are the AdRanks of the participants. Because itis difficult in practice to determine the AdRanks of the other bidders, vindictive

    bidding is not a very useful strategy. An advertiser may end up having hisAdRank a little bit higher than his competition, by a bad estimate. Therebyhis competitors costs are reduced and his own are raised. This is the oppositeof what he wanted to achieve.

    8 Conclusion

    In this report a model has been presented to determine the optimal bid andposition in Google AdWords, resulting in a maximum profit per view. For theAdRanks of the advertisers distributions were chosen to substitute in the model.The uniform, exponential and normal distribution were selected in this reportto examine the different outcomes of these distributions.

    To calculate the optimal bid a lower boundary of the expected profit per viewhas been derived by assuming the cost per click equal to the bid of the company.This lower boundary of the profit per view was compared to a simulation of theauction. It turned out that this lower boundary is a good estimate of the profitper view for low values of the bid. However, when the bid increases, the cost perclick increases at the same rate. Since normally an advertiser pays the AdRankof the advertisement beneath divided by his own quality, the profit per view de-creases when assumed that the cost per click equals the bid. In the simulationwhen the advertiser is on the first position, he still pays the AdRank of the ad-vertiser below him divided by his own quality when his bid is increasing, so theprofit stays constant. Still, the lower boundary of the profit per view and the

    outcome of the simulation show the same behaviour when several parametersare varied.

    When the AdRanks of the advertisers are distributed uniformly, it turns outthat the optimal position is the highest slot and the optimal bid is the highestbid, but only when the revenue per click is high enough. If the revenue per clickis below the cost per click, it is best to bid the mimimum.

    For an exponential distribution of the AdRanks, conclusions are more difficultto draw. A lower and upper boundary have been derived for the profit per viewconditioned on the position. For the upper boundary the optimal position was

    29

  • 8/12/2019 AdwordsThesis : best bidding strategy

    33/39

    calculated in an analytical way, but for the lower boundary this was not possi-

    ble. This is why the optimal position, as well as the optimal bid, is determinednumerically. It turned out that with the same parameters the optimal bid isnot equal to the optimal position. The explanation for this could be that theprofit per view for the optimal bid is a lower boundary of the exact profit perview. The optimal bid and position are dependent of several parameters, butfor fixed parameters, optima can be found.

    In case the AdRanks are normally distributed, only the optimal bid was ex-amined. Again, this had to be done numerically, resulting in different outcomesfor different parameters.

    To fulfill the model resulting in the conclusions above, some data had to beanalysed. Examination of the click through rate versus the average position,

    showed that the click through rate follows the Zipfs law. This is an importantaspect implemented in the model.

    The AdRanks of the other competitors could be calculated by an algorithm,at least in theory. If this would be possible in practice, vindictive bidding mightbe a useful bidding strategy.

    9 Discussion

    In this report several assumptions were made, some more realistic then others.The first important assumption was that the AdRanks of the advertisers arenever equal. Of course in Google Adwords it can happen that two advertisershave the same AdRank. In this case Google determines which advertiser gets ahigher position in a way unknown to the public. This gives the same outcomeas in the case where one advertiser has an AdRank slightly higher than theother advertiser, which is done in the model. So although this assumption isnot realistic, it does not have a significant effect on the model.

    The second assumption made at the start of the model, is that the numberof slots never exceeds the number of advertisers. This is realistic, because thenumber of slots depends on the number of advertisers. Google determines foreach auction how many slots are shown in Google Search and this is never morethen the number of advertisers. Later on in the model, the extra assumptionwas made that the number of slots equals the number of advertisers. In a real

    auction there are more participating advertisers than available slots. If there arenot enough participating advertisers, Google changes the number of slots, likeexplained before. This assumption was made to simplify the model, althoughthis might change the outcome, because if not all advertisers can get a slot theyhave to place a higher bid to get one.

    In the model three different distributions for the AdRanks were examined. Thesethree were chosen because these are common distributions. The uniform distri-bution was chosen to start with because it is relatively easy to analyse and itgives a good impression of the behaviour of the bid and position. The expo-nential and normal distributions were chosen because they are a more truthful

    30

  • 8/12/2019 AdwordsThesis : best bidding strategy

    34/39

    representation of the true behaviour of the AdRanks. The normal distribution

    is the most realistic one of the three, because in most auctions the same type ofcompanies participate and they want to pay approximately the same price for aslot. Thus there are not many advertisers bidding much more or much less thanthe average bid. Of course also the assumption of the normal distribution doesnot exactly hold for the AdRanks in every auction in Google Search, but it is agood approximation to base the model on. Unfortunately the optimal positionwith a normal distribution is not covered in this report, because to do so, theorder statistics of the normal distribution are needed. This is difficult to imple-ment. There are some approximations for this function, but the approximationsfound were not good enough to say something about the optimal position.

    In section 3 the assumption is made that the cost per click is equal to thebid of the company. This is not very realistic, but it gives a good lower bound-

    ary for the profit per view, because the cost per click only be lower than the bidof the company. It becomes more realistic when there are more participants inthe auction, since then the bids are closer to each other.

    In the model the revenue per click does not depend on the position. This isprobably a good approximation of the reality. In reality the revenue per clickdoes depend on the position, since the behaviour of the user of Google Searchchanges during the search. For example, the user clicks on the first advertise-ment to look for information. After clicking on the third advertisement theuser knows enough of the product he is looking for and then decides to buy theproduct at that website. The advertiser on the third position then gets revenuewith only one click. This is why in the algorithm the revenue per click does

    depend on the position.

    In the algorithm the assumption is made that the vector of AdRanks is constantin time. This is a realistic assumption since most companies probably do notchange their bid often.

    Of course not all aspects of bidding in Google Adwords are covered in thisreport. A closer look at other distributions can be taken to further examinethe behaviour of the bid and position. The normal distribution can be solvedanalytically to see if the conclusions of the numerical part can be confirmed.Besides that, if more detailed data is available, the model could be tested moreaccurately. Furthermore, the conclusions drawn are based on the minimal profitper view. If a maximum profit per view can be derived, more conclusions canbe drawn about the optimal position.Also, if more data would be available, the average cost per click versus the aver-age position could be further examined. The hypothesis that a higher cost perclick will give a higher position could then be tested.

    31

  • 8/12/2019 AdwordsThesis : best bidding strategy

    35/39

    10 References

    [1] David Easley and Jon Kleinberg. Networks, Crowds, and Markets: Rea-soning About a Highly Connected World. Cambridge U. Press, New York,2010.

    [2] Furcy Pin and Peter Key. Stochastic variability in sponsored search auc-tions: Observations and models. In EC 11 Proceedings of the 12th ACMconference on Electronic commerce, pages 125, New York, 2011. ACM. doi:10.1145/1993574.1993586.

    [3] Yunhong Zhou and Rajan Lukose. Vindictive bidding in keyword auc-tions. In ICEC 07 Proceedings of the ninth international conferenceon Electronic commerce, pages 141145, New York, 2007. ACM. doi:10.1145/1282100.1282130.

    [4] Jon Feldman, S. Muthukrishnan, Martin Pal, and Cliff Stein. Budget opti-mization in search-based advertising auctions. In EC 07 Proceedings of the8th ACM conference on Electronic commerce, pages 4049, New York, 2007.ACM. doi: 10.1145/1250910.1250917.

    [5] B. Kitts and B. Leblanc. Optimal bidding on keyword auctions. ElectronicMarkets, 14(3):186201, 2004. doi: 10.1080/1019678042000245119.

    [6] Michal Feldman, Reshef Meir, and Moshe Tennenholtz. Revenue enhance-ment in ad auctions. Lecture Notes in Computer Science, 7080:391398,2011. doi: 10.1007/978-3-642-25510-6-34.

    [7] Gagan Aggarwal, Jon Feldman, and S. Muthukrishnan. Bidding to the top:Vcg and equilibria of position-based auctions. In Proceedings of the FourthWorkshop on Approximation and Online Algorithms (WAOA), pages 1528,2006. doi: 10.1007/11970125-2.

    [8] Dinesh Garg and Y. Narahari. An optimal mechanism for sponsored searchauctions on the web and comparison with other mechanisms. IEEE Trans-actions on Automation Science and Engineering, 6(4):641657, 2009. doi:10.1109/TASE.2009.2021975.

    [9] H. N. Nagaraja. Order Statistics from Independent Exponential RandomVariables and the Sum of the Top Order Statistics, pages 173185. BirkhuserBoston, 2006. doi: 10.1007/0-8176-4487-3-11.

    32

  • 8/12/2019 AdwordsThesis : best bidding strategy

    36/39

    11 Appendix

    In this appendix both C++ and Matlab programs can be found, that are usedfor the simulation of our model.

    Appendix A

    The first program is in C++ and is used to simulate the different distributionsof the AdRanks. This program calculates the expected profit for different valuesof the bid.

    #inclu de #inclu de #inclu de #inclu de #inclu de #inclu de #inclu de u s i n g n am e sp a ce s t d ;

    FILE i n f i l e , o u t f i l e ;

    f l o a t e x p ( f l o a t mean, f l o a t r a n d ) ;f l o a t u n i f o r m ( f l o a t min , f l o a t max, f l o a t r a n d ) ;f l o a t l c g r a n d (i nt s t r e a m ) ;f l o a t n o r m a l ( f l o a t mu, f l o a t s igma , f l o a t rand1 , f l o a t r a n d 2 ) ;void z i p f s l a w (i nt Aa , in t Ss , f l o a t s ) ;

    #defi ne NUM OF SIMULATIONS 10 0

    #defi ne S 11#defi ne A 10

    f l o a t r [A+ 1 ];f l o a t r s t a r [ A+ 2 ] ;f l o a t r s t a r a d v [ A+ 2 ] ;f l o a t c p c [A+ 1 ];f l o a t p r o b [ S + 1 ] ;f l o a t e r [ A + 1 ] ;f l o a t a v e r [ 1 0 0 0 0 0 0 0 + 1 ] ;f l o a t a v r s t a r [ 1 0 0 0 00 0 0 + 1] ;f l o a t t o t a v e r [ 1 0 0 0 00 0 0 ] ;in t m ain ( ){

    f l o a t r pc = 4 . 5 0 ;f l o a t q c om p = 1 ;

    in t m a x bo d ma a l1 00 = 5 0 0 ; // c e i l ( rp c 1 0 0 ) + 9 0 ;

    f or ( i nt i = 5; i

  • 8/12/2019 AdwordsThesis : best bidding strategy

    37/39

    n=i ;}

    }i f (n==S ){

    c p c [ j ] = 0 . 0 5 ;

    }i f( nS ){

    c p c [ j ] = 0 ;}

    e r [ m] = ( r p cc pc [ 0 ] ) p r o b [n ] ;

    t o t a v e r [m ] += e r [ m ] ;}

    in t h = 5 ;f or ( i n t j = 5; j e r [ h ] ){

    h=j ;}}f l o a t m ax er = e r [ h ] ;f l o a t o p t b i d = h1 . 0 / 1 0 0 ;

    / / c o u t

  • 8/12/2019 AdwordsThesis : best bidding strategy

    38/39

    / / R an do m G e n e r a t o r

    #defi ne MODLUS 214 748 364 7#defi ne MULT1 2 4 1 1 2#defi ne MULT2 2 6 1 4 3

    s t a t i c l o ng z r n g [ ] ={ 1 ,

    1 9 7 3 2 7 2 9 1 2 , 2 8 1 6 2 9 7 7 0 , 2 0 0 0 6 2 7 0 , 1 2 8 0 6 8 9 8 3 1 , 2 0 9 6 7 3 0 3 2 9 , 1 9 3 3 5 7 6 0 5 0 ,9 1 3 5 6 6 0 9 1 , 2 4 6 7 8 0 5 2 0 , 1 3 6 3 7 7 4 8 7 6 , 6 0 4 9 0 1 9 8 5 , 1 5 1 1 1 9 2 1 4 0 , 1 2 5 9 8 5 1 9 4 4 ,8 2 4 0 6 4 3 6 4 , 1 5 0 4 9 3 2 8 4 , 2 4 2 7 0 8 5 3 1 , 7 5 2 5 3 1 7 1 , 1 9 6 4 4 7 2 9 4 4 , 1 2 0 2 2 9 9 9 7 5 ,2 3 3 2 1 7 3 2 2 , 1 9 1 1 2 1 6 0 0 0 , 7 2 6 3 7 0 5 3 3 , 4 0 3 4 9 8 1 4 5 , 9 9 3 2 3 2 2 2 3 , 1 1 0 3 2 0 5 5 3 1 ,7 6 2 4 3 0 69 6 , 1 9 2 2 8 03 1 7 0 , 1 3 8 5 5 16 9 2 3 , 7 6 2 7 16 6 3 , 4 1 3 6 82 3 9 7 , 7 2 6 4 66 6 0 4 ,3 3 6 1 5 7 0 5 8 , 1 4 3 2 6 5 0 3 8 1 , 1 1 2 0 4 6 3 9 0 4 , 5 9 5 7 7 8 8 1 0 , 8 7 7 7 2 2 8 9 0 , 1 0 4 6 5 7 4 4 4 5 ,

    6 8 9 1 1 9 9 1 , 2 0 8 8 3 6 7 0 1 9 , 7 4 8 5 4 5 4 1 6 , 6 2 2 4 0 1 3 8 6 , 2 1 2 2 3 7 8 8 3 0 , 6 4 0 6 9 0 9 0 3 ,1 7 7 4 8 0 6 5 1 3 , 2 1 3 2 5 4 5 6 9 2 , 2 0 7 9 2 4 9 5 7 9 , 7 8 1 3 0 1 1 0 , 8 5 2 7 7 6 7 3 5 , 1 1 8 7 8 6 7 2 7 2 ,1 3 5 1 4 2 3 5 0 7 , 1 6 4 5 9 7 3 0 8 4 , 1 9 9 7 0 4 9 1 3 9 , 9 2 2 5 1 0 9 4 4 , 2 0 4 5 5 1 2 8 7 0 , 8 9 8 5 8 5 7 7 1 ,

    2 4 3 6 4 9 5 4 5 , 1 0 0 4 8 1 8 7 7 1 , 7 7 3 6 8 6 0 6 2 , 4 0 3 1 8 8 4 7 3 , 3 7 2 2 7 9 8 7 7 , 1 9 0 1 6 3 3 4 6 3 ,4 9 8 0 6 7 4 9 4 , 2 0 8 7 7 5 9 5 5 8 , 4 9 3 1 5 7 9 1 5 , 5 9 7 1 0 4 7 2 7 , 1 5 3 0 9 4 0 7 9 8 , 1 8 1 4 4 9 6 2 7 6 ,5 3 6 4 4 48 8 2 , 1 6 6 3 1 53 6 5 8 , 8 5 5 5 03 7 3 5 , 6 7 7 8 4 35 7 , 1 4 3 2 4 04 4 7 5 , 6 1 9 6 91 0 8 8 ,1 1 9 0 2 5 5 9 5 , 8 8 0 8 0 2 3 1 0 , 1 7 6 1 9 2 6 4 4 , 1 1 1 6 7 8 0 0 7 0 , 2 7 7 8 5 4 6 7 1 , 1 3 6 6 5 8 0 3 5 0 ,

    1 1 4 2 4 8 3 9 7 5 , 2 0 2 6 9 4 8 5 6 1 , 1 0 5 3 9 2 0 7 4 3 , 7 8 6 2 6 2 3 9 1 , 1 7 9 2 2 0 3 8 3 0 , 1 4 9 4 6 6 7 7 7 0 ,1 9 2 3 0 1 1 3 9 2 , 1 4 3 3 7 0 0 0 3 4 , 1 2 4 4 1 8 4 6 1 3 , 1 1 4 7 2 9 7 1 0 5 , 5 3 9 7 1 2 7 8 0 , 1 5 4 5 9 2 9 7 1 9 ,

    1 9 0 6 4 1 7 4 2 , 1 6 4 5 3 9 0 4 2 9 , 2 6 4 9 0 7 6 9 7 , 6 2 0 3 8 9 2 5 3 , 1 5 0 2 0 7 4 8 5 2 , 9 2 7 7 1 1 1 6 0 ,3 6 4 8 4 9 1 9 2 , 2 0 4 9 5 7 6 0 5 0 , 6 3 8 5 8 0 0 8 5 , 5 4 7 0 7 0 2 4 7 } ;

    f l o a t l c g r a n d (i nt s t r e a m )

    { long z i , l o wp r d , h i 3 1 ;

    z i = zr ng [ s tr ea m ] ;l ow p rd = ( z i & 6 5 53 5 ) MULT1 ;h i 3 1 = ( z i >> 16 ) MULT1 + ( lowpr d >> 1 6 ) ;z i = ( ( lo w pr d & 6 55 3 5) MODLUS) +

    ( ( h i 3 1 & 3 2 7 6 7) > 1 5 ) ;i f ( z i < 0) z i += MODLUS;l ow p rd = ( z i & 6 5 53 5 ) MULT2 ;h i 3 1 = ( z i >> 16 ) MULT2 + ( lowpr d >> 1 6 ) ;z i = ( ( lo w pr d & 6 55 3 5) MODLUS) +

    ( ( h i 3 1 & 3 2 7 6 7) > 1 5 ) ;i f ( z i < 0) z i += MODLUS;z r n g [ st r e am ] = z i ;return ( z i >> 7 | 1 ) / 1 6 77 7 2 16 . 0 ;

    }

    void l c g r an d s t ( long z s e t , in t s t r e a m ){

    z r n g [ st r e am ] = z s e t ;}

    Appendix B

    For the exponential distribution, a graph of the optimal position is made withthe following program in Matlab. The expected profit per view is shown togetherwith the lower and upper boundary.

    c l os e a l lc l ea r a l la = 10 ; B = 4; A = 0 . 05 ; RPC = 4 ; r = 0 ; q = 1; L = 1 . 7 5 ;PPV1=0; PPV2=0; PPV3=0;x = [ ] ; v = [ ] ; w = [ ] ; z = [ ] ; y = [ ] ;

    fo r n = 1 :( a + 1 )r = r + ( 1/ n ) ;

    en d

    fo r i =1: a+1f =0;

    PPV1 = (RPC( lo g ( a + 1 )lo g ( i ) ) /(Lq ) ) ( ( 1 / i ) / r ) ;

    PPV2= (RPC( l o g ( a )lo g ( i1)) /(Lq ) ) ( 1 / i ) / r ;i f ( i==a+ 1)f=A;

    e l s e

    f or k = 1 :ai +1f = f + 1 / ( ak + 1 ) ;en d

    en dPPV3 = (RPCf / ( Lq ) ) ( ( 1 / i ) / r ) ;

    v = [ v i ] ; w = [ w PPV1 ] ; z = [ z PPV2 ] ; y = [ y PPV3 ] ;en dh o l d o np l o t ( v , w , r , L i n e w i d t h , 3 ) ;p lo t ( v , z , b , L in e wi d t h , 3 ) ;p l o t ( v , y , g , L i n e w i d t h , 3 ) ;x l a b e l ( i ) ;y la b e l ( E [P P V|Y=i ] ) ;l e g e n d ( U pp e r b o u nd a r y , L o we r b o u nd a r y , O r i g i n a l , L o c a t i o n , B e s t )

    35

  • 8/12/2019 AdwordsThesis : best bidding strategy

    39/39

    Appendix C

    Also for the optimal bid a program in Matlab is made. This program is shownbelow for a uniform distribution of the AdRanks. If the AdRanks are distributedotherwise, only the probabilities change. The RP Ccomp is varying in this case,of course another parameter can be varied by making a few changes to theprogram.

    c l os e a l lc l ea r a l la = 10 ; C = 5; B = 3 . 5 ; A = 0 . 0 5 ; q = 1;c c = hs v ( 1 0 ) ;

    fo r RPC= 1 : 0 .5 :5r = 0; v = [ ] ; w = [ ] ;

    fo r i = 1 :( a + 1 )r = r + ( 1/ i ) ;end

    fo r b=A : 0 . 0 1 : Cy = 0 ;f or i = 1 :( a + 1 )

    x = n c h oo s e k ( a , i 1) ;i f B>bqy = x ( ( ( Bbq ) / ( BA) ) ( i1) ) (( 1(Bbq ) / ( BA) ) (ai + 1 ) ) (RPC b) ( ( 1 /

    i ) / r )+y ;e l s e

    y=y ;en d

    en dv = [ v b ] ;w = [ w y ] ;end

    h o l d o nk=RPC21;p l o t ( v , w , C o l o r , c c ( k , : ) , L i n e w i d t h , 3 )x l a b e l ( b {comp} ) ;y l a b e l ( E [P PV|B {comp}=b {comp} ] ) ;l e g e n d I n f o{k} = [ RPC {comp} = n u m2 s t r ( RPC , 2 ) ] ;en dl e g e n d ( l e g e n d I n f o , L o c a t i o n , B e s t ) ;