How predictions work
Roost forecasts use an Elo rating for every team, in the spirit of FiveThirtyEight’s models. Each team starts near 1500. After every regular-season game, the winner takes rating points from the loser; upsets move ratings more than expected results, and larger margins count more (capped so one blowout can’t dominate). Baseball ignores margin.
Ratings carry over between seasons but regress 25% toward the mean, because rosters change. The model trains on the last three seasons. Home teams get a league-specific advantage (NBA 65, NFL 48, college football 55, MLB 24 Elo points).
Game win probability is 1 / (1 + 10^((away − home − home advantage) / 400)). Point spreads divide the Elo gap by 28 (NBA) or 25 (football).
Season odds come from simulating the rest of the schedule 10,000 times, then playing out an approximate playoff bracket in each simulation: NBA play-in and best-of-seven rounds, the 14-team NFL field, MLB’s 12-team format, and a 12-team College Football Playoff selected by a transparent proxy (wins, Elo and schedule strength). Postseason series already in progress start from their real score.
What the model doesn’t know: injuries, starting pitchers, quarterbacks, transfers, trades and lineups. Official tiebreakers are approximated with random tiebreaks.
Every forecast page reports how the model has done this season: pick accuracy and Brier score, compared with a home-field-only baseline.