Hey guys. This is a tad long, but I think it revealed some interesting stuff to use on your brackets this week. I hope you'll take a few minutes to read through!
Since I'm a sucker for Cinderella, my brackets usually have WAY too many upsets. With this in mind I wanted to gather some data, present it in a digestible way, and use it to write a computer program that will pick statistically non-absurd brackets and see how the computer does against my friends.
I needed to figure out, on average, which seeds tend to be upset the most, and how often. So I used bracket information from 2000-2011 and counted the number of upsets in each game (1/16, 2/15, … 8/9). Since there are 4 regions over 12 years that gave me 48 total games at each seeding.
Taking the total number of upsets in each game over 48 gave me the average likelihood of an upset in that particular match up.
The upsets in 12 years with some useful averages:
So pause here and consider this: On average there will be maybe one 4/13 upset. Also, on average you should predict AT LEAST one upset in the 5/12, 6/11, 7/10 and 8/9 games
In order to use this data to pick my bracket unemotionally, I needed to fit the data to create a usable model for the likelihood of an upset. Cue Excel and some neato graphs.
Here's a graph showing the percentages from above with a linear fit. As you can see, it isn't terrible for 6, 7 and 8, but it predicts far too many upsets in games for the 2 and 3 seeds.
So, I thought this data looked kind of like an erf function. I used excel to fit the erf function to the data and the result was MUCH better.
I shoved the formula for this fit into MatLab and used a fairly simple algorithm to simulate upsets and output results. Think of this like the pre-tourney "Eye Tests" we love so much: No names, no brands, no emotion. Just numbers.
I'll let you guys know how my brackets do and if anyone is interested I'll share the MatLab code.
Since I'm a sucker for Cinderella, my brackets usually have WAY too many upsets. With this in mind I wanted to gather some data, present it in a digestible way, and use it to write a computer program that will pick statistically non-absurd brackets and see how the computer does against my friends.
I needed to figure out, on average, which seeds tend to be upset the most, and how often. So I used bracket information from 2000-2011 and counted the number of upsets in each game (1/16, 2/15, … 8/9). Since there are 4 regions over 12 years that gave me 48 total games at each seeding.
Taking the total number of upsets in each game over 48 gave me the average likelihood of an upset in that particular match up.
The upsets in 12 years with some useful averages:
So pause here and consider this: On average there will be maybe one 4/13 upset. Also, on average you should predict AT LEAST one upset in the 5/12, 6/11, 7/10 and 8/9 games
In order to use this data to pick my bracket unemotionally, I needed to fit the data to create a usable model for the likelihood of an upset. Cue Excel and some neato graphs.
Here's a graph showing the percentages from above with a linear fit. As you can see, it isn't terrible for 6, 7 and 8, but it predicts far too many upsets in games for the 2 and 3 seeds.
So, I thought this data looked kind of like an erf function. I used excel to fit the erf function to the data and the result was MUCH better.
I shoved the formula for this fit into MatLab and used a fairly simple algorithm to simulate upsets and output results. Think of this like the pre-tourney "Eye Tests" we love so much: No names, no brands, no emotion. Just numbers.
I'll let you guys know how my brackets do and if anyone is interested I'll share the MatLab code.
Last edited: