The numbers behind the rankings.
One consistent, reproducible model. No subjective adjustments.
01 / Start with the goal margin
Only independently verified FINAL games enter the model. For each game, the team’s full goal margin is used. There is no cap.
A 14–0 score contributes +14 to the winner and −14 to the opponent. A 1–9 score contributes −8. A 2–2 tie contributes zero to both. Actual goals for and against remain unchanged.
02 / Account for opponents
AGD is the average of those margins. Schedule strength is the average rating of all opponents played. Repeat opponents count once for each game, not once per team.
These equations are solved simultaneously, because each opponent’s rating also depends on their opponents.
03 / Solve and normalize
Start all ratings at zero. At every iteration, use a half-step towards the equation result, then subtract the unweighted team mean separately in each connected component.
Why no cap? Hiding each of the 79 games and predicting it from the other 78, the uncapped version missed by about 2.7 goals on average versus 2.9 with a 7-goal cap, so it was the most predictive option tested. Stop when the maximum change is below 10⁻¹²; fail after 100,000 iterations. Independently verify an equation residual below 10⁻⁹. Double-precision values determine rank; two decimals are shown.
Overall score out of 100
Every team’s rating is shifted by the same amount so the top team in the network reads 99.99. Because every team moves equally, ranks are unchanged and the difference between two scores is still the expected goal differential: 98.50 vs 96.00 means about a 2.5-goal edge.
What zero means
Zero is the average team rating in this connected network, not a national benchmark. Negative ratings are valid. Ratings are in modelled goal units, not percentages. Disconnected components have separate normalization and ranks and cannot be numerically compared.
Same rules for every team
- Every accepted game has equal weight.
- No home-ice adjustment: source-order teams are not verified home / away.
- No recency weighting, win/loss bonus, shrinkage or coaching adjustments.
- League points are a separate measure: 2 per win plus 1 per tie.
- Teams with no final games stay unranked.
Coverage & limitations
The November 15, 2026 snapshot contains 79 FINAL games, 25 teams and one connected component, through November 14. The earlier game-level extraction was reused and all 150 GP/W/L/T/GF/GA fields reconciled to current official standings. It was not a fresh full game-card recrawl; offsetting game-level corrections cannot be ruled out by aggregate agreement alone.
All early-season ratings are sensitive to small samples. Fewer than five games is marked provisional, but five games does not establish statistical confidence. No predictions, probabilities or movement history are invented.
Independent implementation
Based on public opponent-adjusted rating principles, not an exact clone of MYHockeyRankings’ production system or an official national rating.