Scoreholio is Not Coming for Your Blind Draw

Look, I totally get it…it’s hard to trust computers. Terminator is one of my favorite movies, and just like John Connor we should all be wary of AI’s like Skynet becoming self-aware and taking everything over.

But I want you to know two things:

  1. Our only goals are to make it easy for tournament directors to run fast, fair tournaments, and for everybody to have fun…I swear!
  2. Nick says Scoreholio won’t become sentient until late next year, and he’s like 80% sure she will be a benevolent dictator. I for one welcome our new AI overlord!

What is Random?

Random means: “a process of selection in which each item of a set has an equal probability of being chosen.”

It means something is determined or selected in a way that isn’t directed or potentially affected by any desire or mechanism that leads to a desired result, and doesn’t follow a pattern so it can’t be predicted. In the world of running tournaments randomization is a hot topic because of the popularity of blind draws — tournaments in which each player is assigned a partner at random for a given game or the entire event.

Why People Worry About Randomization

One of the few complaints we get is that people don’t trust that random is really random, because Billy keeps getting paired with Betty, or Jack always gets the worst partners, while Jill get ringers for every game. Turns out the problem with random is that it’s…random. If you flip a coin 10 times, you won’t usually get 5 heads and 5 tails. Sometimes you’ll get 4 or 5 heads in a row. Clearly the system is rigged, right? Obviously not, that’s just the nature of randomness…it doesn’t always seem random.

In the interest of transparency we published our randomization algorithm (called a random number generator or RNG) a while ago, and as we said at the time we are open to any ideas for improving it.

Honestly I myself don’t speak whatever language that is, I just trust Nick and the other big brains who’ve sworn to (and at) me that the result of our randomization process is as random as random can be.

I’m a real-world results guy though, so I decided to put our RNG to the test against the tried and true method of pulling playing cards. Here is our controlled experiment in the world of randomness.

The Method to my Madness

I spent 2.5 hours simulating two dozen blind draws with the same 12 players in each tournament. For Scoreholio I put every player (1-12) in the B pool and hit randomize, and for the playing cards I shuffled the deck after every round.
It was a battle of old school versus new, digital versus physical, game on!


So what did my randomization experiment reveal? Here’s the data. The first table shows the pairings for the 24 blind draws I ran with Scoreholio, and the second table shows the two dozen I randomized pairings by pulling cards. The numbers in the cells indicate in which of the 24 blind draws those two players were paired up…for example in the first table, you can see that Adam was paired with Betty in the 2nd, 5th and 10th blind draws, paired with Chuck in the 21st and never got to play with Donna. The dark gray angled reflects the fact that a player can’t be paired with him or herself, and the blank area below it is blank because there’s no need to show that Adam was paired with Betty in 2-5-10 and show that Betty was paired with Adam in 2-5-10.

Conclusions (from the data)

  1. Random means random — not even distribution, and not a guarantee that a given pair of players won’t get paired up over and over again. Have you ever played craps and roll a 7 6 times in a row? Same can happen with a random generator. You are not guaranteed to get different partners when things are random.
  2. Cards are no more random than programmatic randomization. Even with cards, a bunch of players got the same partner numerous times. In fact two of them got the same partner six times out of the 24 rounds, while with Scoreholio that didn’t happen once. I wont’ brag too much about that because it doesn’t mean our system is MORE random than pulling cards. Even the fact that it happened with cards and not with our app is…you guessed it…random!
  3. It would take a very long time to play with all 12 players 1 time. Think of playing the lottery and trying to guess the mega ball. In our sim neither the random number generator or playing cards had players all play with each other once. Coincidentally only 2 players from both Scoreholio and the cards got to play with all the other players. Running the simulation longer would eventually get all players to play with each other, but it would take more time than even I’m willing to spend.

As a fun side note, check out Hannah in the playing cards scenario. She got paired with Betty four times…in tournaments 7, 9, 10 and 11. Kevin got paired Chuck in tournaments 19, 20 and 21. With our randomization there weren’t any instances of any team getting paired up 3 times together in a row like that.

Conclusion (of the blog post)

In conclusion, I get that it’s hard to trust computers/applications because it’s a bit of black magic behind the screen, and sometimes real-world randomization results in repeated pairings that just can’t be random. But remember the mind discards things that happen as expected and notices/remembers the small number of situations that seem “No way is that random!” which means there’s always going to be anecdotal evidence that Billy always gets paired with Betty.

We get to talk about randomization a lot because in Switcholio tournaments every player gets partnered up 5 times in a night, vs. of just once a week in a old-fashioned single pull blind draw. In a 32-player tournament that’s the difference between 16 pairing processes and 80. So many more opportunities for people to pick up on things that seem non random.

But whether you choose to believe it or not, our randomization flat-out is as “random” as pulling names out of a hat or drawing cards. if you want to prevent players from playing two weeks in a row with each other, separate the players into A-B-C pools. But pulling out a deck of cards is going to produce the same results as hitting the randomize button.