2 min read

Picking the 2021 NCAA tournament with three GLMs

We fit logistic, Poisson, and multinomial models to twenty seasons of college basketball and scored them on the 2021 tournament. All three beat a coin flip. The sample was too small to rank them.

Which generalized linear model picks more winners in the NCAA men’s basketball tournament: logistic, Poisson, or multinomial? A coauthor and I fit all three and scored them on the 2021 tournament, which is a natural way to compare them.

Data and features

We trained on about 35,000 regular-season games from 2001 to 2020, using Kaggle’s March Machine Learning Mania data. We joined NCAA team statistics to each game: field goal percentage, free throw percentage, three-pointers made, rebounds, steals, turnovers, and blocks, each for both teams. We added features one at a time with likelihood ratio tests. When two were collinear, we kept the one with the larger test statistic.

Three ways to call a winner

All three models used the same predictors. Only the response changed.

The logistic model predicts win or loss. It’s the natural fit, since college games can’t end in a tie. The Poisson model predicts points scored: predict each team’s score and pick the higher one. Scores are overdispersed for a Poisson (the winners’ mean was 77 and their variance 113), but we tried it anyway. The multinomial model predicts the score margin, cut into five bins: lose by more than 12, lose by 4 to 12, within 4, win by 4 to 12, and win by more than 12. The team with more probability on the winning side is the pick.

The logistic coefficients came out nearly symmetric. A team’s rebounds and its opponent’s rebounds had almost the same size with opposite signs, which makes sense for a zero-sum game. The Poisson coefficients weren’t symmetric, since they model points scored and not who wins.

To score the models, we predicted all 2,016 possible pairings of the 64 teams with tidyr and purrr. We scraped the real results and counted how many of the games actually played each model got right. The code and paper are on GitHub.

Model Correct Wrong Accuracy
Poisson 37 20 65%
Logistic 36 21 63%
Multinomial 34 23 60%

What 57 games can tell you

With 57 games, a 95% interval around 65% is about ±12 points, and the best and worst models differ by three games. “All three beat 50%” holds up. “Poisson is best” doesn’t.

A coin flip is also the wrong baseline. The obvious one is picking the better seed, which the seeding committee builds from much of the same information. Betting lines are the harder baseline. Beating a coin is easy, and beating the seeds is the question that matters.

The 2021 season was unusual. Teams played shortened, often conference-only schedules because of the pandemic. Season totals from a 15-game schedule don’t compare well with a 30-game one, and season totals weren’t a great feature anyway. Per-possession stats and opponent adjustments would be a better starting point.

We noticed that coefficients differed across regions and conferences and suggested a random effect for conference. A mixed model is the natural next step.