Methodology

How the number is built

Nothing here is a black box. Every 2026 starting rating comes from the 2025 season, and every win probability is a single logistic function of two ratings plus named adjustments.

1. Elo from results

Every team starts 2025 at 1500. After each game the winner takes rating points from the loser: K × MOV × (actual − expected), where expected comes from the rating gap and the home-field adjustment, and the margin-of-victory multiplier is ln(|margin| + 1) × 2.2 / (0.001 × Δelo + 2.2) — the dampener stops good teams from farming blowouts.

2. Real strength inputs

Wins and losses alone treat a team that won six one-score games the same as one that dominated. So the 2026 starting rating is a weighted blend of four measured terms, all computed from the same 2025 game data:

Elo from results80%Who you beat, where, and by how much.
Scoring strength5%Pythagorean expectation, PF^2.37 / (PF^2.37 + PA^2.37), converted to a rating with 1500 + 400 × log10(p / (1 − p)). Catches records that over- or under-sold the team.
Late-season form15%The same Elo replay with the closing 6 weeks counted 2×, so a team that fixed itself in December is not averaged back down.
Offense / defense split0%Points per game scored and allowed against the league average, each priced at 25 rating points per point of margin. Fitting the blend on 2025 drove this weight to zero — Elo already prices margin, so this term only repeated it. It is still computed and shown on every team page.

The blend is then regressed 25% toward 1500 for the offseason. Finally an optional roster/QB adjustment — a hand-set number for moves Elo cannot see, capped at ±40 points and always shown with its reason — is added on top. It is applied after regression because it is a 2026 judgment, not a 2025 measurement. Each measured term is clamped so no single input can run away from the field.

3. Turning ratings into a prediction

Δ = home rating + home field + rest + analyst override − away rating, then P(home) = 1 / (1 + 10^(−Δ / 400)). The model spread is Δ / 25, rounded to the nearest half point.

K-factor26How fast ratings move per game.
Home field35 ptsZero at neutral sites.
Rest5 pts/day, ±25 capWeek 1 has no rest edge — every team is coming off the offseason.
Points per spread point25Converts a rating gap into a point spread.

These are not textbook defaults. Every constant was swept against the 272 stored 2025 games — fit on Weeks 1-13, validated on Weeks 14-18 — with log loss as the objective. The K-factor moved from 20 to 26 and home field from 55 to 35 points, because 2025 home teams only went 142-123. Changes worth less than 0.002 log loss were rejected in favour of the round number. The full before/after is on the accuracy page.

4. Confidence and honesty

Labels are fixed bands on the favorite's probability: under 55% is a coin flip, under 65% a lean, under 75% confident, above that strong. The accuracy page backtests every 2025 game using only the ratings that existed before kickoff — no hindsight — and tracks 2026 results as they land.

Data comes from ESPN's public scoreboard API, fetched server-side and cached. The model never sees betting markets.