How each model fared
Pre-tournament bracket vs what actually happened, across 67 games.
Accuracy, round by round
The shape of each model's failure: where Vegas bled out, where Greg_v1 held up.
Champion picks
Who each model crowned before the tournament tipped off.
The upsets that defined the tournament
Games won by the higher-numbered seed. The model tags show who had the guts to call it.
Every model's bracket, side by side with what happened
Switch between models. Green checks = model nailed it. Red X = model whiffed.
What actually mattered in 2026
The Hindsight model is a gradient-boosted regressor trained directly on this tournament's 67 games. It fits the data almost perfectly by construction — but its feature importances tell us which variables carried the signal this year.
Reading this honestly
A model trained on its own test set is a caricature of predictive power. The point isn't the accuracy — it's the shape of the importance chart. Features that rank high here are ones whose pre-tournament values cleanly separated this year's winners from losers. Features that rank low were either noisy, correlated with higher-ranked ones, or genuinely irrelevant to how 2026 played out.
Feature importances — fitted on 2026 alone
Ranked by gain in the gradient-boosted margin model. Higher = more predictive of the games that were actually played.
Method & documentation
Everything you'd want to know to reproduce this work or extend it.