Methodology
How our hockey stats are calculated
Every stat on Edgehalla has a page here: the formula, a worked example with real numbers, how reliable it is, and what it can't tell you. Most of the numbers come from a study of 200 games from the 2025-26 season; we update them as the full archive is processed.
To see every stat applied to all 32 teams, with league ranks, use the NHL team stats hub.
Shot models
How we value a shot attempt.
- Expected goals (xG)The probability that an unblocked shot becomes a goal, from distance, angle, shot type and the play before the shot, trained on our own play-by-play data (1.01 million attempts from 2017-18 to 2025-26, weighted toward recent seasons).2.8%goal rate on shots within 5 s of an offensive-zone draw, against 4.9% predicted by our first test model
- Scoring chancesAttempts scored 1–3 points by location, +1 for a rush or rebound and −1 if blocked; 2+ is a scoring chance and 3+ is high danger.3 ptsfor any attempt from the net-front slot, before bonuses
Signature stats
Metrics you will not find on other public sites, with their tests.
- Sequence xG (sxG)xG with rebound flurries discounted: each shot only counts for the chance that earlier shots in the same play had not already scored.−5.5%change in league total xG when flurries are adjusted
- Transition attemptsAn attempt within 10 s of a turnover, recovery, hit-forced recovery or faceoff win in the neutral or defensive zone, in the same play.1.7% → 8.1%share of 5v5 attempts flagged: NST rush rule vs our transition rule
- Draw EquityFaceoff results converted to goals: each win or loss scored against a coin flip and weighted by what a win in that zone is worth.+0.019net xG from a 5v5 offensive- or defensive-zone faceoff win
- Turnover LedgerTakeaways credited and giveaways charged at the league xG value of the zone where possession changed, per 60 minutes.14.6 → 29.4league giveaways per game, before and after the 2024-25 recording change
- Gas Tank and Schedule EdgeFatigue measured with the icing rule as a natural experiment, penalty rates by shift age, and win rates by rest and travel.+29%xG allowed in the 20 s after a defensive-zone draw that follows your own icing
- Pressure IndexA decayed running score of each team's shots, offensive-zone wins and forecheck events, from −1 to +1; descriptive only.51–52%how often the team with more pressure scored the next goal (1,188 goals)
- Rebound Control and Shot DietGoalie rebounds allowed per save, and a shooter's average xG per attempt: both carry over from one half-season to the next.r 0.68split-half reliability of a shooter's xG per attempt
- Penalty ValueMinor penalties drawn minus minors taken, times the net xG of a two-minute power play (about 0.20).0.20net expected goals from one two-minute minor
- Goal anatomyDerived numbers from the tracking clip the NHL publishes for every goal since 2023-24: shot speed, passes, entry type, odd-man rushes and play type.87%primary assists correctly identified from tracking on 77 test goals
Deployment and context
Who plays with whom, and when.
- Line detectionLines, pairs and power-play units found by clustering who actually shared the ice, from the NHL shift charts, with a confidence score for each unit.99.7%of shots where our on-ice counts match the NHL's own strength code
- AscensionA 0–100 score of how much a skater's role and underlying production changed over his last few games versus his previous 20, with the reasons in plain English.+0.08 P/GPnext-10-game change for Surging players vs their previous 20 (2025-26 holdout)
Data
Where the numbers come from and how we check them.
Stat glossary
All 48 stats, definedCF, FF, xGF, sxG, SC, HDCF, PDO, Rel, QoT, TOI and power-play shares, GSAx and our signature stats, each in a sentence or two.What we tested and don't publish
A stat is only useful if it measures something that persists. These all sounded promising and failed the test, so they don't appear as player or team ratings on the site.
| Measure | Split-half r | Sample | Verdict |
|---|---|---|---|
| Post-faceoff "execution" (xG after a centre's wins) | 0.00 | Split-half, 200 games | Noise |
| Shooter rebound creation | ≈ 0 | Split-half, 200 games | Noise |
| xG after each individual takeaway | ≈ 0.1 | Split-half, 200 games | Noise |
| Goalie freeze % | ≈ −0.06 | Split-half, 200 games | Noise |
| Momentum as a predictor of the next goal | — | 1,188 goals: 51–52% vs 50% by chance | Noise |
| Raw shot attempts against by shift length | — | Confounded by game state | Noise |
One more myth we checked: teams don't "respond" after conceding. In the two minutes after a goal, the conceding team generated 0.087 xG and the scoring team 0.084.