| Rank | Team | Class | Region | Record | Rating | Attack | Defense | MaxPreps | PSR |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
| Team | Class | Region · Seed | Bracket | R16 | QF | SF | Final | Champion |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Each team is assigned an attack rate α and defense rate β. For a matchup home team h vs. away team a:
λ = α_h · β_a · γ · (duration/80) (expected home goals)
μ = α_a · β_h · (duration/80) (expected away goals)
A low-score correction ρ adjusts the probability of 0–0, 0–1, 1–0, and 1–1 scorelines to account for the negative correlation between goals. Scores are drawn from a joint Poisson distribution with this correction.
The Massey warm-start uses f(d) = sign(d) · log(1 + |d|)
(FiveThirtyEight convention). This preserves ordering over all margins while
compressing extreme blowouts — consistent with GHSA's own 3-goal cap in region
seeding tiebreakers.
GHSA adopts the NFHS mercy rule: a 7+ goal halftime deficit shortens the
second half to 20 minutes; a 10+ goal halftime deficit terminates the game.
Goal rates λ and μ are per-80-minute rates; each game scales them by
duration_used / 80. Duration is observed from MaxPreps
halftime scores when available; otherwise imputed from final margin
via a lookup table (design §7.4).
GHSA rules require adding a phantom goal to the PK winner's final score. MaxPreps reports the true pre-shootout regulation score. The model likelihood uses regulation scores only, removing phantom-goal contamination. When MaxPreps is unavailable, the GHSA reported score is used as fallback.
Games are weighted w = exp(−ξ · Δt) with ξ = 0.015/day
(half-life ≈ 46 days). Earlier games count less than recent form.
Games against non-GHSA opponents (out-of-state teams, private opponents not in the GHSA database) are excluded from model fitting — their results do not affect attack/defense ratings — but included in displayed records. Opponents receive stable synthetic IDs so results are counted in W/L/T totals.
Within each class + region group, teams are seeded using the official GHSA tiebreaker sequence:
PK wins count as a one-goal win for the winner; the loser receives no additional goal penalty. If all tiebreakers are exhausted, PSR rank then DC rating serve as a final fallback.
200,000 Monte Carlo simulations per bracket, fully vectorized — all outcomes for a given matchup are sampled in a single NumPy call rather than a per-simulation loop.
Win probability is computed analytically for each matchup:
20/80 of full-game ratesHome advantage: the higher-rated team hosts rounds 1–4; the championship is on a neutral site. Home advantage applies γ to the home team's expected goal rate.
Each game on a team's schedule shows an impact score in the range [−10, +10]:
Impact = (outcome − P(win)) × 10
where outcome is 1 (win), 0.5 (draw), or 0 (loss), and P(win) is the model's pre-game win probability. A positive score means the team outperformed expectations; negative means they underperformed. A dominant win against a strong opponent scores near +10; a loss to a weak opponent scores near −10.
GHSA Soccer Handbook — official rules, mercy rule, and region tiebreaker procedures.
Dixon & Coles (1997) — "Modelling Association Football Scores and Inefficiencies in the Football Betting Market," Applied Statistics 46(2).