29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
# Bracket Generation Script
|
|
#### Generating the perfect bracket using science
|
|
###### (actually, just standing on other peoples' shoulders)
|
|
|
|
Before I get started, I want to specify that this is not a production-ready application. This is a
|
|
script. That I wrote in about an hour of work. If you want to change anything, just change it in
|
|
`main.py`. Maybe one day I'll clean it up.
|
|
|
|
Anyway, this tool is based on the [Massey Composite Basketball Rankings
|
|
site](https://www.masseyratings.com/cb/compare.htm). It compiles a massive list of basketball
|
|
rankings by various methods. `rankings.csv` is sourced from there. The principle is, just choose the
|
|
ranking systems that you'd like included inside of `main.py` and it will filter out all the rest. I
|
|
recommend using the [Moog Analysis](https://www.markmoog.com/ranking_analysis) to find the most
|
|
predictive systems in recent months.
|
|
|
|
The script will then average these rankings and use them to compare teams and build up a bracket.
|
|
The only thing it does other than directly compare the rankings is that it attempts to account for
|
|
upsets. Basically, I figure an upset is more likely to occur when a team's "actual ranking" (by the
|
|
composite of the ranking systems) is higher than their "expected ranking" (generally the seed of the
|
|
team that should be expected to be at that point in the tournament times four). In that case, they
|
|
realize at some point in the game that they might actually have a shot and play harder. Idk, upsets
|
|
are hard to predict, but I had to do something or these brackets would be very boring.
|
|
|
|
There aren't any requirements (other than python3) so running is as simple as:
|
|
|
|
```bash
|
|
python main.py
|
|
```
|