Derivation of VCG of general separable ad auction for Michal Arnoldus at ISSUU Peter Bro Miltersen, CFEM September 27, 2011 Model of a separable add auction There are k slots available. To slot j is associated a quality parameter βj . There are n > k advertisers, each with an ad. To ad i is associated a quality parameter qi and a valuation vi , with vi being the value of a click-through (so the “unit” of vi is DKK/click-through). If ad i is given an impression in slot j, the probability that the user clicks on the ad is qi βj (so the “unit” of qi βj is click-through/impression). Comment: A more general model is a non-separable model where we have a parameter pij for each ad i and each slot j, where pij is the probability that ad i is clicked on when shown in slot j. The sepaerable model is the special case where pij = qi βj . It is still possible to compute VCG prices efficiently for this even more general model, but it requires linear programming to determine the prices rather than the relatively simple sums for the separable case below.
Derivation of VCG prices When all parameters are known, the social optimum is to sort ads according to qi vi (from now on, let us reorder ads so that q1 v1 ≥ q2 v2 ≥ · · · ≥ qn vn ) and serve ad i in the i’th best slot (from now on, let us reorder slots so that β1 ≥ β2 ≥ · · · ≥ βk ). The social surplus of this optimal allocation is: s=
k X
q i βi vi .
(1)
i=1
Note that the “unit” of this quantity is DKK/impression. If advertiser j ≤ k was not around, the optimal social surplus would be sj =
j−1 X
qi βi vi +
i=1
k+1 X
qi βi−1 vi .
(2)
i=j+1
The VCG mechanism charges each bidder his externality (the damage he does on the welfare of the others due to his presence). In particular, advertiser 1
j ≤ k should be charged sj − (s − qj βj vj ). Note, however, that the “unit” of sj − (s − qj βj vj ) is “DKK/impression”), and we want to charge per clickthrough rather than per impression. Fortunately, we can convert the price to unit “DKK/click-through” simply by dividing by qj βj . Therefore, the price that j ≤ k should be charged for a clickthrough is (sj − (s − qj βj vj ))/(qj βj ), simplifying to (qk+1 βk vk+1 +
k X
qi (βi−1 − βi )vi )/(qj βj )
i=j+1
Comments Apart from truthfulness, we would also like (ex post) individual rationality or (ex post) voluntary participation: That no one pays more than their bid (even if the assumptions of the model, in particular the probabilities, turn out to be wrong..)! It can be checked algebraically that this is indeed the case. Truthfulness, on the other hand, we have by the general VCG construction, but of course only if the model is correct. And as we all know, models are never quite correct, in particular in this case where the parameters of the model are probabilities concerning user behavior! I think this is the main reason why people in real life shy away from using auctions with very complicated rules, even if the analysis shows that they would have good properties, such as truthfulness. It is judged safer to use auctions that in addition to the theoretical properties also have rules with some “common sense” quality. Then, if the model turns out not to be quite correct, we still have some sense of what will happen. And the pricing rule above doesn’t really have a very good common sense story, apart from the “pay your externality” one.
2