Monday, November 24, 2014

Foo Fighters Frenzy

This weekend, Edmontonians got the chance to stand in line for the Foo Fighters ticket pre-sale. The way the line-up system worked, though, left a few people upset - instead of a good old-fashioned first come first served system, Northlands used a lottery system where customers were given a number when they arrived, and then at a fixed time people were stopped from getting in line and a random number was chosen.

The person holding that number became the new front of the line, and everyone ahead of him was moved to the back in their original order. People were supposed to be given numbered tickets randomly, but instead they were given tickets in the same order that they arrived in.

It was billed as a process to avoid making people camp out early, as there was no benefit to being first in line, but sadly not everyone read the rules. This resulted in a system where some people had waited for hours to be at the front, only to find out they were likely going to be moved to the back of the line once tickets actually went on sale, and would have to wait even longer for less selection.

So this sounds like something that could be fun to analyze! Based on the information in the Journal article, and from a friend who was in line, I've come up with the following parameters for this problem:

  • 600 people join the line
  • They join the line at approximately a steady flow between 6:30 am and 9:30 am
  • My friend waited ~4 hours once the sale actually started, and had 490 people ahead of him at that point, so people spend an extra approximately 30 seconds in line for every person ahead of them after the lottery draw
  • There's some benefit to being the first person to pick a ticket, and people get less happy as less selection becomes available

Based on this, I came up with a utility function for every spot in line starting out. The utility function is 1.0 (perfectly happy) for someone who shows up right when the doors close, and by luck gets the first choice (so no waiting at all), and is 0.0 (unhappy) if they have to wait 8 hours and get last choice out of the lineup (for instance, the first person in line if the drawn number was #2). Whether this is realistic or not is up to you.

So what's the expected utility for any given position in line?

As a base case, here's the results for a first come, first served set-up:

Pretty straightforward - in the hypothetical scenario I've invented, showing up 3 hours early to guarantee first selection is much better than showing up right at the cut-off, waiting 5 hours while 599 people buy their tickets first, and then getting last selection out of anyone else in line. Your best bet here is to show up first and get your tickets as soon as possible, hands down.

But what actually happened for Foo Fighters was this:

In this system, the average wait time for anyone still ends up being the same, but there's a much wider variance depending on where the ticket is drawn. The variance in utility in this case is WAY smaller. On average, though, the person who shows up last is better off than the person who shows up first - showing up last is the only position that guarantees you'll move up in line once the lottery starts, an your average time spent in line would only be about two and a half hours. The poor fella who came three hours early is likely to be moved fairly far back, and on average will have to wait in line twice as long as the person who showed up last. Brutal.

So if everyone had paid attention to how the system was going to work, they should have all showed up as close to the lottery draw as possible. Of course that wasn't what happened.

But what if you knew that wasn't what was going to happen? What if, say, you had a friend in line too, and the two of you wanted to know the best positions combined to be to maximize the utility of you two as a team? A bit more of a complicated analysis, but the results look something like this:

The absolutely optimal place to have two people in line is to have one show up somewhat early and try to get in position 300, and one show up right at the end and end up with position 600. By spreading out this much, no matter which ticket is called to be the new front of the line, both members are likely to have no more than an hour and a half of waiting time, with one partner not having had to wait at all beforehand. Splitting it up like this is probably also nicer for the other people in line, because whoever was furthest from the front after the lottery draw could leave the line too!

What's really quite interesting is that the optimal positions aren't always off by 300 - in fact, so long as one member of the pair is in the first 210 positions, it's optimal to have the second to be precisely 390 positions behind. Yay math.

So sure - if you had a really good idea of how the lottery system for ticket pre-sales was going to work, you could game it and do just as well as showing up early to a first come, first served system. This is completely ignoring the fact that, when it comes to lining up for tickets for a show, first come first served is actually a much better idea. I get that Northlands wants people to have an even chance at decent tickets, but people are going to line up early anyway, and they're just penalizing them by being inconsistent with their lottery systems. Keep it simple, and let people decide for themselves how long they want to wait in line.