HighDanger

How HighDanger works

Hockey answers backed by real NHL data.

Every number on HighDanger comes from NHL data and HighDanger's own models. No scraped third-party stats. No mystery formulas. No numbers invented to fill gaps.

When the AI Scout answers a question, it is reading the same data that powers the player pages, comparisons, projections, and analytics tools across the site.

Turn NHL data into answers you can actually use.
Where the data comes from Expected Goals GSAx Projections Floor and ceiling Player similarity What the AI Scout reads Model limitations

Where the data comes from

One source: the NHL.

HighDanger uses the NHL's public API for:

The advantage of using one source is consistency. The xG on a player page, the GSAx on a goalie profile, and the numbers used by the AI Scout all come from the same underlying data.

There is no second set of numbers.

Two things come from outside that feed, and both are named rather than folded in quietly. Contract and cap figures are compiled from public reporting, because the NHL does not publish salary data. NHLe conversion factors incorporate published research on how scoring translates between leagues.

Expected Goals (xG)

What was the quality of the shot?

Expected goals answers one question:

How often does a shot like this usually become a goal?

A shot from the crease and a shot from the blue line are not equal chances. xG gives each shot a value based on thousands of similar NHL attempts.

The current model reads seven things about every shot:

Shot types include wrist shots, snap shots, slap shots, backhands, deflections, tips and wraparounds.

The calculation is straightforward:

xG = goals scored ÷ shots taken in similar situations

If historical NHL shots from a certain location and situation score 20% of the time, that shot is worth 0.20 xG. There is no black box to take on faith. If you want to know why a shot was worth 0.20, the answer is that shots like it go in one time in five.

What it is trained on

Shots462,281 NHL attempts (314,867 on goal)
SeasonsThree seasons of play-by-play, 2023-24 through 2025-26
Situations covered14,803 distinct shot profiles
UpdatedRetrained daily during the season, as new games are played

Rare shot profiles get pooled with similar ones rather than trusted on their own, so a cell with a handful of shots never produces a confident-looking number it has not earned.

What xG does not include yet

Every model has limits. HighDanger xG currently does not include:

Those are important future improvements. The current model is designed to answer one question well: was this a dangerous chance?

Goals Saved Above Expected (GSAx)

Separating the goalie from the defence.

Save percentage alone does not tell the whole story. A goalie facing 30 shots from the slot has a different job than a goalie facing 30 shots from the outside.

GSAx compares the goals a goalie was expected to allow with the goals they actually allowed.

GSAx = Expected Goals Against − Goals Allowed

Because GSAx uses HighDanger's xG model, the goalie evaluation matches the rest of the site.

Player projections

Where is a player heading?

HighDanger projections combine three things.

1. Recent production

Recent seasons matter more, because they better represent a player's current ability. What a player did last year tells you more than what he did four years ago.

2. Age curve

Players develop and decline differently. Production rises through the early twenties, peaks in the mid-twenties, and declines from there. A 22-year-old and a 34-year-old with the same recent production should not receive the same projection.

3. Finishing adjustment

Goals are influenced by both skill and randomness. If a player scores far above their expected goals, the model asks: was this repeatable finishing talent, or a hot shooting season? If a player creates excellent chances but does not finish them, the model recognizes that too.

This is usually the answer to "why is this projection lower than last year's total?" A player who buried 17 goals on 12 expected gets pulled toward the chances he actually created. One who scored 12 on 21 expected gets pushed up, because the chances were real even though the puck did not go in.

Floor and ceiling

How confident is the projection?

A single projection does not tell the whole story. A player projected for 70 points could be:

Those are very different forecasts. So every projection carries a range, built from how much the player's own production has moved around in recent seasons. Steady producer, narrow band. Up-and-down career, wide band. The range comes from the player's actual history, not a league-wide assumption.

Young players receive more upside, because their career paths are still developing. Steady early production is usually the setup for a leap, not evidence of a locked-in ceiling, so the range is deliberately skewed upward for players still in their development years.

Player similarity

Who does this player resemble?

Comparables are based on production, not scouting opinions. Skaters are compared with players at the same position, because a defenceman and a winger scoring at the same rate are not the same player. Goalies use goalie-specific measures.

Similarity does not know:

It answers one question:

Which players produced at a similar level?

What the AI Scout reads

It looks the numbers up before it answers.

The AI Scout does not answer hockey questions from memory alone. It reads HighDanger's data before responding.

QuestionData
Player performanceStats, xG, trends
Projections2026-27 forecasts
ContractsCap hits and value
TradesPlayers, picks, values
ProspectsDraft and development data
MatchupsGoalie weaknesses and shooter profiles

That means the Scout can answer questions like:

The numbers come from HighDanger. The interpretation comes from the Scout. It is still a language model, so treat the numbers as reliable and the read on them as an opinion worth arguing with.

Model limitations

HighDanger models are built to improve.

LimitationWhat it means
No 5v5-only projections Measurement is situation-aware: xG is split by 5v5, power play and penalty kill, and on-ice xGF% is 5v5 only. Projections are not. Every projected total is all-situations, with power-play points as a category rather than a split.
xG cannot see the whole play The model knows where a shot came from, whether it was a rebound, the score, and how fast the sequence developed. It does not know about the pass that set it up, the screen in front, or which goalie is in net.
Similarity is production-based Style and role are not included.
Small samples stay noisy xG, GSAx and finishing all need volume before they mean much. A 12-game sample is a hint, not a verdict.
Projections cannot predict the future Trades, injuries, and role changes can change outcomes.
Goalies remain volatile Goaltending is difficult to project year to year, so goalies run on their own track.

A model is only useful if you understand what it can and cannot tell you. That is why HighDanger publishes the details.

Looking for what a specific stat means rather than how it is built? The glossary explains every number on the site in plain English.