Title odds
Chance to reach each round, from every possible path through the bracket
Bracket
Any two tournament teams, head to head
Pick teams from any field since 2008, even from different seasons. The model compares their pre-tournament profiles and returns the expected margin and the chance each one wins.
What tilts it
How much the win chance moves if the two teams were even on that one stat. Stats overlap (offense feeds efficiency margin, for example), so read these as rough pushes, not a breakdown that sums to the total.
Profiles
How the forecast works
The picks on this site come from a linear model trained on point margin. It predicts how many points team A should win by, and turns that into a win chance using how much real games vary around such a prediction (about 11 points). A 25-point win teaches it more than a 1-point win, which is why it beat a neural network trained on wins and losses.
For each team, the pipeline rebuilds a season profile from raw box scores. It adjusts offense, defense and tempo for opponent strength and for home court, including the extra edge altitude programs get at home. Then it adds the four factors (shooting, turnovers, rebounding, free throws), shot mix, schedule strength, recent form and volatility. Profiles are frozen on Selection Sunday, and the model never sees seeds.
Nine kinds of model were tested the same way: each season predicted using only what was known before its tournament, with nothing from that tournament or any later one. The adopted model is the simplest one whose results are within one standard error of the best.
Every season predicted before its tournament, using only earlier seasons. Lower log loss and Brier score are better.
Gaps under about 0.003 log loss are within season-to-season noise. Calibration error is how far, on average, stated chances sat from how often favorites actually won, in percentage points.
Sure things and coin flips
What decided the games
What the data says
- Simpler beats bigger. Larger neural networks fit their training games better and did worse on new seasons. Boosted trees were the best model in some years and the worst in others. Averaging several different simple models helped most.
- Altitude is real. Home teams at high elevation (BYU, Utah St., Colorado, New Mexico) win by more at home than other teams do, which used to inflate their ratings. The ratings now account for it.
- Size travels. Effective height is the input that most often earns a place beyond the base ratings.
- Most situational factors don't show up. Rest days, travel, tip-off time on a team's body clock, crowd, home uniforms, earlier meetings, coach experience and pace all came out within noise across 937 games.
- Facts outweigh opinions. Inputs counted from games and ratings built on them carry nearly all the weight. The one opinion that earns a small place is the AP preseason poll.
- Seeds are the weakest signal. Every rating-based model beats the committee's seed list in every resampling of the seasons.
The neural network, tested on every tournament game 2008–2026
The network trained only on regular-season games, so every tournament game is a fair test. Lower log loss and Brier score are better. Accuracy counts the favorite's wins.
Accuracy by tournament
The share of games each method called correctly. A 2-in-3 hit rate is typical: single-elimination basketball is noisy.
Calibration
When the model gave the favorite 75%, did favorites win about 75% of the time? Dots on the diagonal mean yes. Dot size shows how many games fall in each band.
What the network leans on
How much worse the tournament log loss gets when one stat is scrambled across games. Strength of schedule and efficiency margin dominate; style stats add a little.
Training curve
Log loss per pass over the data for one network. Training stopped at epochs, chosen on held-out regular-season games only.
Architecture
Each network is a small multilayer perceptron with tanh units. It scores the matchup from A's side, g(x), and from B's side, g(−x). The win probability is σ(g(x) − g(−x)), so P(A beats B) and P(B beats A) always add to exactly 100%. Five networks with different random starts are averaged.
What it doesn't know
- Injuries announced after Selection Sunday. A box-score signal (whether a team's top players played their usual minutes in its last three games) was tested and didn't clear the bar.
- How hot a team will shoot. Three-point luck decides a large share of upsets, and no pregame number predicts it.
- Anything about the specific day: tested factors such as rest, travel and tip-off time added nothing measurable.
About 30% of tournament games go against any sensible favorite. The goal is to rate each game's risk correctly, which the table of sure things and coin flips checks.
Data
- Box scores for every Division I game, 2008–2026 (2020 had no tournament): Barttorvik season files.
- Brackets, seeds, and results: Wikipedia's tournament pages, cross-checked game by game against the box scores.
- Ratings are computed here from those box scores, not copied from any ratings site.
- Tested alongside them: KenPom, Barttorvik, EvanMiya, Heat Check and AP poll data (Kaggle, CC0), ESPN player box scores, venue and tip-off details, Sports-Reference coach records, and Open-Meteo elevation and weather.
- Betting lines and public pick percentages are never used.
The 2027 field is announced on Selection Sunday in March 2027. Re-running the three build scripts adds it.