The Case for Vickrey Auctions
This is an idea I had nine years ago, wrote up three different times (seven, five, and two years ago), lost the first two versions, and am publishing just now.
Let’s get right into it. Here’s why I think using a Vickrey auction would make for better fantasy football drafts.
Types of fantasy football drafts
There are two main types of drafts: snake and auction (aka salary cap).
A snake draft has each team take turns selecting players. At the end of each round, the order reverses (aka snakes).
An auction draft has one player up for selection at a time, where all teams are free to submit bids. Usually teams will take turns nominating which player is up for bid, and keep going until all teams have drafted enough players.
Snakes are far simpler to run, and are usually the fairer choice if you have people who don’t know what they’re doing – sites usually have a list with default rankings that people can reference (usually overly so).
However, we see every year that your position in the snake draft (usually randomly assigned) has a big impact on who wins the league. Usually you want to pick at the top of the draft. And if you don’t get one of the first few picks, you may have already lost before you even get to select a player.
The concept of resource allocation is boring in snake drafts, too. Each team has one pick in each round, so a lot of teams are built in similar ways.
What if instead of one first-rounder, one seconder-rounder, and one third-rounder, you could get the top two players in the draft? That’s not happening in a snake draft, but could in an auction. With auctions, a lot more is possible because you have much more flexibility in how to allocate your resources. If you don’t like any of the players in the fourth round, you don’t have to take any (whereas in a snake you just pick one anyway). Most fantasy football players would say an auction is better in a vacuum, but many have the same two complaints.
- The draft as a whole takes too long.
- New bids reset the countdown timer, so the bidding on one player might extend on for minutes and result in inflated prices (as opposed to something like eBay, where the auction is over no matter what when the timer hits zero).
We’ve talked about auctions so far as a monolith, when in fact we’re referring to English auctions, the most common type. What if another type would be a better fit for this situation?
Introducing Vickrey auctions
English auctions are open, ascending auctions. Bids start low and parties know who else has bid and at what amount. The auction ends when the winner has named a price that nobody else will top, and they pay that price.
Let’s introduce an alternative: the Vickrey auction, which is a sealed, second-price auction. Everyone bids once, privately, and the highest bidder wins but pays the amount from the second-highest bidder. To illustrate, we’ll go through an example. I’m selling a book through Facebook Marketplace, but there’s a few people who expressed interest, so I’ve explained the concept of a Vickrey auction to them. Here’s the responses I get.
- Person A bids $20
- Person B bids $16
- Person C bids $10
- Person D decides they don’t want to bid
One bid from each, and that’s it — we’re done quickly. Person A wins, and they pay the second-highest bid of $16. No more haggling.
Here’s the beauty of this structure. Every participant is rewarded for following the strategy of bidding their maximum willingness to pay. Person A valued the book the most, so they get the book. And they paid only what the next-highest bidder was willing to pay, and keep the surplus value for themself. Person B wanted the book but didn’t succumb to overpaying for it. And so on. You don’t have to play games, you don’t have to psych people out, you just make one bid and find out if you won.
You might ask, why don’t we see more of these auctions in the real world? Well, they may depress prices and are prone to collusion, which means sellers are likely better off with a different model. However, in fantasy football, where “The House” has no concept of profit, we’re fine to optimize towards the bidders.
Do Vickrey fantasy football drafts work in practice?
For a few years, I tried convincing my fantasy football league with high school friends to adopt a Vickrey draft. In 2018, we finally eked out a small majority to try it.
One the reasons you don’t see more people doing this is because there are no web apps for running Vickrey drafts. Maybe it’s something easier to do in person, but our league was distributed across the country.
I tried to build a low-code version in Google Sheets. The idea was each person would have their own area of a Google Sheet where they would enter in their bids on a current player, and I wrote up some Google App Scripts (JavaScript) to manage the auctioneering duties.
I made two glaring errors before the draft even started:
- I didn’t end-to-end test it with enough users. One of the assumptions behind my setup was that each player had a darkened spreadsheet cell to enter in their bids privately. What I didn’t realize was that when a person entered their bid, the cell flashed white for a moment and exposed the bid amount. I came up with an impromptu fix about an hour before the draft and it worked okay but not great.
- I underestimated the change management with my friends. In order to show everyone how the draft tool worked, I scheduled a training for 45 minutes before the draft. Most people were late, and a few skipped it entirely. The latter needed to catch up and severely slowed down the draft, frustrating everyone.
Within the draft itself, I came away with three big learnings to iterate on for the next time:
- I was doing a bad job as the auctioneer. I was too verbose, too slow, and too focused on drafting my own team. This led to the draft taking too long overall. Easy ways to address this would be to have someone else run it or replace more of the host duties with scripts.
- I didn’t think through the tiebreaker system enough. Sometimes two players would bid the same amount. The two options I considered were a runoff and randomly assigning the player to one team. I went with the runoff, but I didn’t communicate well how this would work and so it got pretty unorganized. Better and clearer rules and operating procedures would’ve helped.
- The guys in the league liked doing the Vickrey auction for the top players but with time already running long, didn’t like continuing the auction for reserve players. Better technology and auctioneering to speed up the draft might solve this by itself, otherwise you could move to a snake draft after 100ish players.
We didn’t get a chance to try Vickrey a second time in that league. Having well-designed web apps to run snake drafts is a pretty nice convenience compared to hacked-together multiplayer spreadsheets. I appreciate them giving it a shot, though.
Conclusion
While my first-try implementation of a Vickrey auction for a fantasy football draft was rocky, we saw some signs that the concept resonated. I still think there’s something here. Maybe someday we’ll see it catch on.