I’m just okay at picking basketball brackets. I usually finish somewhere in the upper third of the pack, IIRC.
However, it’s interesting to enter a bracket and watch the results come in (I almost never watch the games), so I usually make a bracket.
This year, I decided to use Coder’s Bracket to create my bracket.
If you haven’t already seen Coder’s Bracket, you should take a look. Basically, you algorithmically generate your bracket using JavaScript. However, setting that up manually is a lot of work. Fortunately, Coder’s Bracket has already done that for you. You provide a function taking three object parameters (game
, team1
, team2
) that will call team1.winsGame()
or team2.winsGame()
depending on what you determine. You start with a simple seed-rules algorithm and work from there.
My algorithm runs basically like this:
- If it’s round 1 and the seed is greater than 5, it wins.
- If it’s round 2 and the seed is greater than 2, it wins.
- Otherwise, compute my extremely not scientific score for each team and the higher score wins.
My scoring algorithm takes into account strength of schedule (RPI), Field Goal %, Free Throw %, 3’s %, and Missed 3’s. I weight the values to make my bracket interesting (probably at the cost of correctness…).
There are probably a million and a half (exactly) problems with this algorithm, but it was fun to create.
You can see my bracket on Coder’s Bracket’s website.
I’ve included my algorithm below.