Most bracket models look at numbers. The Scout watches the film.
The Approach
The Scout is a large language model (Claude) given a structured scouting brief for every matchup. For each game, it gets six data points that don't fit neatly into a regression:
- Coaching tenure and tournament experience -- first-year tournament coaches historically underperform their seed
- Roster age -- senior-heavy teams close out tight games; freshman-heavy teams crack
- Injury reports -- pulled from beat reporters and official designations
- Last 10 games and conference tournament results -- recent form matters more than November wins
- Travel distance and rest days -- a 12-seed flying cross-country on two days rest is a different team
- Clutch performance -- record in games decided by five points or fewer
The model gets a structured analyst role, not an open-ended prediction prompt. It returns a scouting report, key factors for each side, an X-factor, and a confidence-weighted pick -- all as structured JSON that feeds directly into the bracket.
Why an LLM?
Efficiency ratings exist. Seed-based models exist. The Scout's bet is on contextual synthesis -- the ability to weigh that a 5-seed's All-American just returned from injury, their coach is 7-2 in close tournament games, and they're playing 40 miles from campus. No regression captures all of that at once.
Honest Limitations
LLMs can hallucinate player stats (mitigated by injecting structured data, not asking the model to recall it). They can also show bias toward brand-name programs -- the prompt explicitly corrects for this. And once picks lock March 19, there's no updating. The Scout's read on the field is frozen in time.
Track how it plays out on the dashboard.