On Fair Allocation of Scarce Resources
There’s a common problem that arises when there are many more customers than available products. Examples include:
- Event Tickets: Taylor Swift, Comic-con, the Superbowl, etc.
- Government programs: low interest mortgages, below market rate housing, visas, etc.
- Medical care: vaccine appointments
- Limited goods: Furby, Tickle-me Elmo, the latest game console
In practice these goods are all very inefficiently allocated with badly designed systems that frustrate customers and waste people’s time with no benefit to anyone. People constantly refresh websites waiting to get into a queue. Football fans waited overnight in the cold when the Denver Broncos made Superbowl XII in 1977. And vaccines go first (or maybe second) to young, relatively well-to-do, tech-savvy people who have the skills and time to join Facebook groups and use special software to track down vaccine appointments.
For event tickets, there is an obvious solution in standard economics: raise the price to what the market will bear. Artists don’t always like this since they often prefer to have diehard fans in the crowd instead of one-percenter senior citizens who talk over the music instead of dancing, but it does work.
However, for more important goods like visas and medical care, it’s not OK to allocate first to the people most able to pay. (A few Chicago school economists and libertarians will claim that’s exactly what should happen, but they’re bad people and should feel bad.)
Sometimes it is reasonably possible to choose who’s most deserving or needy of the limited good and assign it to them. Artists sometimes allocate tickets to their fan club first. During Covid, vaccines went first to medical professionals, then to nursing home residents who were at much higher risk of catching the virus and dying from it, and then to people in different age and risk brackets.
However, that last step didn’t work. Once the vaccines started being administered to the general public, the system broke down. Shots went first to people who could navigate complicated online systems and had a PCP who could quickly write a letter attesting to a pre-existing condition that made them eligible. Or who were young enough, healthy enough, and uninfected enough to wait in line for hours to take the place of people with appointments who didn’t show up. Techies wrote Python scripts that pinged their phones when new appointments became available. Younger, healthier, and richer people dominated the vaccine clinics in the early weeks.
The same pattern repeated a couple of years later with monkeypox. Rich, mostly white, gay men got the vast majority of the early shots, while poorer gay men of color waited weeks for appointments. And that rollout worked as well as it did only because it was almost exclusively gay men who were seeking the vaccine. If the vaccine had been more popular with the general population, the allocation would have been far worse.
Another common solution is first come, first serve. Gen Xers still remember lining up outside Mushroom Records (or the local equivalent) for concert tickets. While most event tickets have migrated online these days, it’s still not uncommon to encounter a line of people camped out in front of a Gamestop or sneaker store to score the latest drop. Shakespeare in the Park still doles out tickets like this. Needless to say, this strategy highly prioritizes young, healthy people who can camp out for many hours or even overnight.
Is there a fair solution that gives everyone equal access regardless of wealth, health, or youth? And doesn’t waste many people’s time on economically unproductive activities like sleeping on the sidewalk or constantly clicking the refresh button in Firefox like a mouse waiting for a food pellet to drop? Yes, and surprisingly it’s one that is sometimes used by government programs and almost no one else, though in many cases bureaucracies do it wrong.
That solution is a lottery.
The mechanics are simple. Don’t make people wait in line, either online or on the sidewalk. Let everyone who wants the ticket, or shot, or game console, register to express their interest. Then, after a suitably long period to allow folks to register, randomly select people to receive the good at the advertised price.
That’s it. That’s all you have to do. Everyone saves time. No one gets to cut to the front of the line because they’re richer or more tech savvy than others. If you do want to prioritize certain groups like fan club members for concert tickets or nursing home residents for vaccines, then you can build that into the algorithm for assigning appointments.
For extremely high demand items like Taylor Swift tickets or Covid vaccines, the vendor does need a first class system that can handle the load. This isn’t difficult to build on top of modern cloud providers like GCP, AWS, or Azure, though it does tax older systems like Ticketmaster’s or New York State’s. Still, this isn’t rocket science. Systems at this scale can be and have been built many times before. Indeed, it is much easier to build and scale a lottery than a first-come/first-served service that needs to handle a massive influx of users as soon as registration opens.
One key point that is sometimes missed is that you really do need to limit each person to one (virtual) lottery ticket. For a few years in the late 1980s, certain US visas were assigned by lottery, but a single applicant could submit an unlimited number of applications. Families in Ireland would hold Donnelly visa parties, where partygoers filled out, by hand, dozens to hundreds of applications to increase their chances. Almost 40% of slots ended up going to applicants from the relatively small country of Ireland, freezing out applicants from much larger countries that weren’t doing this. After a few years of this, applications were limited to one per person, and then Ireland only got about 1% of the available visas, much closer to the percentage of Irish people in the applicant pool.
And of course this was before widespread use of genAI and computer automation. The problem would only be worse today. Indeed it is in concert tickets, where scalpers rapidly scoop up the best seats with automated software that bypasses Ticketmaster’s feckless efforts to block it.
For goods that are being paid for, a credit card number will do. For free goods like vaccine appointments, personally identifying information or maybe an email address needs to be tied to each item. That’s not completely ungameable — some people have multiple credit cards in multiple names, and a few of us have effectively unlimited email addresses — but it would dramatically reduce the amount of double dipping.
Bottom line: do not allocate limited goods based on the ability to expend energy navigating and participating in a complex and time consuming registration or purchasing process. Make registration of interest quick, easy, and efficient. Randomly choose who gets the service or good on offer, and then make more as soon as you can.