Attack–defense Poisson model on every completed match, xG from ESPN match data. Slide between pure xG and pure scorelines — every stop is a separate fit with its own cross-validated shrinkage.
Rating target is α·goals + (1−α)·xG. Cross-validation picks α=0.3, but the curve is flat: anything in 0.1–0.5 is within ~1 nat of held-out log-likelihood over 102 games — statistically a tie. What is decisive: both endpoints are worse, and the optimizer shrinks scorelines harder than xG (τ falls from 1.0 to 0.5 as α→1).
Columns: xGF/90 = μ·eatt, expected goals scored vs an average team; xGA/90 = μ·e−def, expected goals conceded vs an average team. Their gap vs μ is the attack/defense breakdown in goal units. Extra-time games are normalized to 90′; shootout goals are excluded (decided games use the 120′ scoreline). Click any team for its match log with model retrodictions.
| Team | GP | Rating | Total | Att | Def | xGF/90 | xGA/90 | Δ vs α=0.3 |
|---|