Hopefully the title won’t scare anyone off . . . I think this could be considered a “game theory” type of problem, but you certainly don’t have to have a formal knowledge of game theory to answer it (although I’m sure it wouldn’t hurt).
Basically, I’m running an auction. Only in this auction, instead of the winner paying whatever he bid, he only has to pay 1 cent more than the next highest bid. Call it a “fair price” auction, or something.
That sounds sensible enough, but here’s the problem: The first bidder can say “I bid $1,000,000.00” The second bidder knows he can’t afford to pay the “$1,000,000.01” he’d need to win it, so he says “Screw it, I’m not going to bid.” Then because there’s no second highest bid, the first bidder only has to pay 1 cent.
Of course, the first bidder couldn’t pay $1,000,000 either, but he knows that his high bid will drive away all the other bids and let him win the auction at the lowest possible cost. Essentially he’s gaming the system and I’m getting screwed.
One solution would be to abandon my “fair price” concept and just do a conventional auction where you pay whatever you bid. But I don’t want to do that. My question is: With as little modification to my “fair price” rule as possible, how can I change the rules of my auction to prevent people from gaming the system and driving out competition?
One possibility I’m considering is saying “You can only bid $X more than the current highest bid”, (or possibly X% more) but it’s difficult to know what would be an appropriate value of X. If X is too high, I still have people driving out competition. If X is too low, I may cause the ultimate winning bid to not be as high as it otherwise would be . . . I want to maximize my profits, so I want the second highest bid (which determines how much the winner pays) to be as high as possible.
I don’t see a simple way to fix your problem. Maybe you can explain what you are trying to accomplish with this ‘fair price’ rule. Why allow someone to bid more than they expect to pay?
The non-sequential bidding of second-price sealed-bid auctions also discourages the kind of outlandish bidding you worry about. Yes, you might bid ten million dollars while your opponent only bids ten dollars, leaving a final price of $10.01. On the other hand your opponent might just bid $9.9 million dollars (simultaneously and with neither party aware of the other’s bid, recall), hoping to get for himself a similar deal. Thus each bidder’s incentive is to bid his true value.
This is a second-price non-sealed-bid auction. The easiest thing to do would be to turn it into a second-price sealed-bid auction; i.e., a Vickrey auction. In this system, people have an incentive to bid precisely the maximum amount they are willing to pay. The actual money you receive, assuming the bids follow that incentive, will be the second-highest amount anyone was willing to pay, per your fair price scheme.
You could fix the problem by keeping the bids secret until the end of the auction. That means you need to add one more rule: if two bids are equal, then the earlier bid wins. That means that you can’t rationally bid $1,000,000: it won’t drive away other bids, and someone else may bid an amount large enough to make the price tat you pay unacceptable.
Secret bids are quite fair to all concerned, and they remove other issues like sniping. But you have to keep the bids secret from everyone, including the vendor, as otherwise they could invite shill bids.
ETA: And another name for this is a “sealed-bid” auction, as described by Kimmy_Gibbler and Indistinguishable.
Thanks for the answers . . . I haven’t had time to read the Vickrey auction wiki yet, so maybe it answers this, but wouldn’t a sealed bid approach prevent the competition that drives up the bid? I mean, in an unsealed auction people will go higher than their initial bid when they see someone else out bid them, but it seems like with a sealed auction people would bid once and then never again. I think I want to maximize the competition to be the top bidder as much as I can (while still keeping the second-price rule if possible). Of course, maybe there’s no perfect way to do this.
The only reason you would make an initial bid that’s lower than you’d be willing to go to is to strategically try to win without having to pay as much as you’d be willing to. But in a second-price auction, this strategy is pointless, since the amount you bid doesn’t determine how much you pay anyway; just whether you win or not. Accordingly, the incentive is always to bid the amount which ensures that you’ll win whenever the second-price is lower than you’d be willing to pay, but that ensures you won’t win when the second-price is higher than you’d be willing to pay; i.e., the incentive is to bid the maximum amount you’d be willing to pay. This presumably never changes, and thus there’s never any reason you would rebid a higher amount. But it doesn’t matter, since your first bid was already the maximum you would be willing to pay anyway.
But with an unsealed auction, people will lowball their bid. Because of price-sniping applications, it becomes a contest for whose network latency is lowest. With a Vickrey auction, it’s to every bidder’s advantage to bid exactly what the item is worth to them. Then the price the winner pays will be the minimum of what they needed to have bid to outbid the second-place bid.
The sealed auctions are the way to go but I’ll add this: I dunno how likely it is for someone to bid $1m to scare everybody else away. A second party could bid $999,999.99 without fear of repercussions and then the bidder is on the hook for big money. Would the first bidder risk that?
That’s true. So all the OP needs to do is make sure they announce the current bid (not the bidder) and announce the 2nd bid + 1c as the “price bid”
eg.
Person A bids $100 - you say “Person A has bid $0.01”
Person B bids $10 - you say “Person B has bid $10 and Person A has bid $10.01”
Person C bids $110 - you say “Person C has bid $100.01”
…etc
You would have to be pretty well organized behind the scenes to keep track of everybody’s excess. How many people are likely to be participating in this auction?
To keep it unsealed, you’re going to have to resort to some conceptual ugliness.
How about this: If the highest bid is more than 10% above the second highest, the highest bid will win and pay their full bid price. If the highest bid is less than 10% above the second highest, the highest bid will win and pay the second bid price plus one cent.
The point is you’re not preventing people from bidding in big increments, merely ensuring that any attempt to game the system by bidding outlandishly will immediately and obviously backfire and zing the gamer.
Obviously my choice of 10% is arbitrary. 50% would work too. Too low a percentage will squash some of the counter-bidding competitiveness which causes auctions to be good at raising extra money above the purely rational price. Too high and the penalty for gaming isn’t strong enough to stamp it out. So which value to choose depends on what your goals as an auctioneer are: To maximize revenue or maximize fairness.
Another problem with any auction scheme other than the typical “highest bid wins, period” is that unless the bidders are pros familiar with the particular rules, you get a lot of confused behavior. Auctions bring out a lot of confused psychology anyhow, and people playing a game they barely understand will really bring that out.
So keep it simple, real simple. My one extra rule and a nice round easy-to-calculate-in-head percentage meets the simple test.
Thanks for all the answers . . . it seems like sealed bidding is the best way to do a second-price auction, but how would this work for a situation with repeated auctions? Even if the bids are sealed, you can get a pretty good idea of how high people are bidding by seeing the results of previous auctions.
E.g., suppose I wanted to auction off space for an ad banner on my website every day. If everybody bids what they consider a reasonable price, except one guy who bids 100 times as much (which he can do without too much penalty provided no one else starts bidding an excessive amount), then everyone will eventually give up because they keep losing no matter what bid they place (within the realm of what they’d reasonably consider paying).
I’m particularly perplexed because I understand that Google uses a second-price system for their ads, and yet apparently they don’t have this problem (or maybe they have such a steady stream of advertisers that they don’t worry about them being scared off by overbidders – although you’d think it’d still be a problem for bidding on keywords that don’t attract much interest).
As far as Google is concerned, they show multiple bidders on a given page. The best bidder gets the top spot, the next best bidder gets the next highest spot, etc. As you go down, bidders get put onto the second page of the search, etc. And “best” is not necessarily the highest bidder. Google only gets paid on clicks. If a given bidder isn’t getting clicks over a long period of time, they’ll start going down in the rankings.
As far as the hypothetical banner ad auction; remember, it’s optimal for people to bid the maximum that they’d be willing to pay. If they don’t win the auction, then they know that they wouldn’t be willing to pay what it would cost. And it’s not like it’s costing them much money to bid, so if they’re bidding right, either the high bidder will eventually run out of money, or the ad spot isn’t very valuable to the other bidders. Also, typically bidders in these web auctions aren’t told what the clearing price was for the auction unless they win the auction.
Yeah, I see your point. Rational bidders would always bid only as much as they’re willing to pay, and if they get beat it wouldn’t matter if it’s by a ridiculous over bid or just by a few cents, nor would they even know.
Still, I could see bidders eventually losing interest in bidding if one guy with deep pockets always wins . . . this is bad because with no competition the “second price” ends up being super cheap. I get that it costs nothing to place a losing bid, but still, I could see people eventually saying “Why bother?”
Maybe something like introducing a small percentage chance that the second highest bidder wins would help keep people interested even if they can’t beat the big spender.
If that’s what you’re doing, then the answer is a reserve price. The seller is entitled to state what his/her minimum is, and the buyer(s) are entitled to state what their maximum is. Equilibrium ensues.
As the seller, you’re free to set a negligible reserve at first and raise it only if you see signs of auction failure. You are not obligated (logically, legally, or morally) to set one policy and stick with it forever regardless of how poorly it’s working for you.
Well, for those sorts of cases, the website can ensure that ad starvation doesn’t occur by sometimes leaving out certain bidders from an auction for a given impression. Also, a very common case where expensive ads are served is that every ad has a per-user frequency cap. If given ad is shown to a particular user over and over, then stop showing them that ad at some point for a given amount of time.