Bands show position percentiles; axis labels show current rolling values.
Dashed outline: average defenseman in the fixed reference. Outside = above average; inside = below average. All axes point outward for stronger results.
Player value: 2.33 Peer range: 2.11 – 3.69 xGF/60
MeanJoel Hanley
Lower Higher (better)
Player 2.33 · mean 2.54. Higher raw values rank higher.
Rolling profile against a fixed reference group
Fixed rolling-profile reference · 239 players. Values use the same history and smoothing as the radar.
History, sample sizes & calculation
Higher radar percentiles mean stronger recorded results against the fixed reference, including older seasons. These are separate from this season’s league percentile. Each player has a different amount of covered history. Weighted minutes and attempts give recent games more influence. “Prior” is the share contributed by a frozen league baseline: it is higher when a player has less evidence, and differs by metric because each uses its own smoothing strength. It is not a confidence score.
On-ice offense · xGF/60
899.8 weighted minutes · 31% prior
On-ice defense · xGA/60
899.8 weighted minutes · 31% prior
Chance generation · ixG/60
899.8 weighted minutes · 18% prior
Shot quality · ixG/attempt
73.7 weighted attempts · 40% prior
Finishing · goals above expected/60
73.7 weighted attempts · 35% prior
History through Oct 3, 2026. Recent games count more than older games. History carries across seasons and stays unchanged while inactive. On-ice results are shared; finishing describes results rather than established talent.
Joel Hanley
1 attempts0.03 xG0 G
Goal0Shot on goal0Missed shot1Blocked shot0Larger dot = higher xG
Shooting by zone
Zone
Shots
xG
Goals
S%
Point
1
0.0
0
0.0%
Hover or focus a row to light up those attempts on the rink.
Finishing evidence. Scoring 0.0% on chances vs 2.6% expected (−2.6 points).
Shot types1 attempt
Slap100%
Recent form
Loading recent games…
Season vs reference
Loading season comparison…
Loading playoff games…
Loading game log…
Loading career ledger…
Every metric name opens its definition; the full list lives in Metrics.
Traditional statistics cover all situations. Supporting five-on-five analyses use completed games, raw adjustment and exposure from xG model v4. The two samples can differ.
An em dash means unavailable, not zero. A partial season remains partial. Where a panel reports evidence coverage, its rates use only the covered games. History never substitutes a different model, and a missing appearance interrupts a rolling model window.
Shot maps use the same shot model as Game Center and show which model version scored recent shots beside the rink. Older seasons can use earlier model versions. High danger means a model scoring probability of at least 0.20 on an unblocked attempt; for goalies, medium danger is 0.08 to 0.20 and low is below 0.08.
Special-team buckets include the wider recorded man-advantage and man-down states, read from the player’s own team; for a goalie, penalty kill means facing a power play. Their ranks need 100 recorded minutes and at least 30 qualified peers; below 100 minutes, penalty-kill percentiles are provisional. Playoff values have no ranks or percentiles. Team share is player ice time divided by team ice time in that situation, over the games the player dressed. Zone starts describe faceoff-started five-on-five shifts and exclude on-the-fly starts.
Penalties count events, including one for a double minor; bench and served-by roles are excluded, and victimless infractions have no drawn role. EPV added sums changes in the probability that the possessing team scores next; it is not standings points or an isolated player grade. Rolling windows never cross seasons or season types, and a missed game is not a zero-performance appearance. Career rates use summed counts and exposure, never an average of season rates; a missing contributing season withholds its career metric, and Performance begins in 2023–24.
Needs 2 more covered appearances. Needs 43.2 more rated minutes.
Provisional comparisons · Small sample.
vs 199 qualified defensemen
Percentiles appear once this player qualifies for season standings. The score breakdown is under How this is calculated.
How this is calculated
Score breakdown
Component
Weight
Scaled
Contribution
Offense
25%
−1.228
−0.307
Defense
25%
−1.438
−0.359
Chance creation
20%
−0.388
−0.078
Finishing
10%
−0.108
−0.011
Assisting
20%
−0.378
−0.076
Performance rate
−0.830
Per 60 rated minutes, over the scored appearances. Each component is scaled separately, then weighted; the contributions add to the performance rate at full precision, so rounded figures may differ.
Scoring
Season grade is the qualified peer percentile on the same letter bands as Game Grade — A+ ≥88, A ≥78, A− ≥68, B+ ≥58, B ≥50, B− ≥42, C+ ≥35, C ≥28, C− ≥22, D ≥15, F below 15 — and needs qualification plus at least 30 eligible peers. The letter describes this season’s performance, not permanent ability.
Comparisons
Rank and component percentiles compare this season’s qualified defensemen on unrounded rates over every checked appearance; Game Grade compares one appearance with frozen historical games.
Component percentiles are never averaged into the score. Recent history is optional, from up to three completed prior seasons; small samples are provisional.
Coverage
Qualification: 3 covered appearances, 59.5 rated minutes, and 90% appearance and workload coverage. Minimums advance with league progress; valid low-sample results stay visible.
Rated minutes exclude play with a goalie pulled: 0.0 min excluded; official TOI 16.3 min.
Coverage: complete. Updated .
Method
Five weighted components add to the performance rate. Five-on-five offense and defense account for recorded teammates, opponents and game state, so shared on-ice results are not isolated individual ability. Finishing is scored against the shot model’s historical-shooter expectation and assisting counts primary assists plus half of secondary assists; both use the strength baseline, chance creation its positional baseline.
Legacy rating
Legacy season score: 4.7 / 100. The fixed exposure baseline is 50; this is separate from the season peer grade.
17.7% on-ice expected goal share at five-on-five
17.7% on-ice expected goal share at five-on-five
5.87 on-ice expected goals against per 60
5.87 on-ice expected goals against per 60
Defensive metrics
Five-on-five on-ice suppression; individual events in all situations.
Suppression & events
Player
Percentile
Rank
95.11
—
—
4.76
—
—
0.088
—
—
11.04
—
—
3.68
—
—
0.00
—
—
7.36
—
—
0.00
—
—
Player value: 95.11 Peer range: 33.50 – 95.11 / 60
MeanJoel Hanley
Lower (better)Higher
Player 95.11 · mean 55.40. Lower raw values are better. Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300).
On-ice attempts against per 60, including blocks.
Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300).
Discipline & puck management
Recorded season event counts · all situations
Penaltiesnet 0
Taken 0Drawn 0
Puck eventsnet -2
Giveaways 2Takeaways 0
Blocks
3
all situations
Hits
1
all situations
2.11 expected goals against per 60 on the penalty kill
2.11 expected goals against per 60 on the penalty kill
Power play
0:00 recorded ice time · peers need 100 minutes
Share of team PP
0.0%
in games dressed
PP points
0
goals + assists
Unit xGF / 60
—
team without: 4.07
Power play rates
Player
Percentile
Rank
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Complete recorded inputs are unavailable.
Penalty kill
3:02 recorded ice time · peers need 100 minutes
Share of team PK
30.3%
in games dressed
SH points
0
goals + assists
Unit xGA / 60
2.11
team without: 3.44
Penalty kill rates
Player
Percentile
Rank
2.11
—
—
0.00
—
—
19.78
—
—
0.00
—
—
0.00
—
—
Player value: 2.11 Peer distribution not published for this axis.
Joel Hanley
Lower (better)Higher
Player 2.11 · mean —. Lower raw values are better. Fewer than 30 qualified peers.
Raw on-ice expected goals against per 60; the Season metrics sample.
Fewer than 30 qualified peers.
16:18 TOI per game (12:37 at five-on-five · 3:02 PK)
16:18 TOI per game (12:37 at five-on-five · 3:02 PK)
0.12 individual expected goals per 60
0.12 individual expected goals per 60
Results vs expected
Five-on-five · what happened beside the chances created and allowed
On-ice results
Player
Percentile
Rank
0.00
—
—
1.27
—
—
4.76
—
—
5.87
—
—
0.0
—
—
17.7
—
—
0.0
—
—
88.9
—
—
88.89
—
—
Player value: 0.00 Peer range: 0.00 – 7.44 / 60
MeanJoel Hanley
Lower Higher (better)
Player 0.00 · mean 2.51. Higher raw values rank higher. Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300).
On-ice goals for per 60 in this scope; excludes shootouts. Covered games only; withheld below 90% of exposure games.
Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300).
5v5 goals
0–1
for–against
5v5 expected
0.3–1.2
xG for–against
EPV added
—
Attribution unavailable
On ice vs off ice
Calgary's share with Joel Hanley on the ice against the same team without him.
Share
On ice and off ice
On-minus-off gap in percentage points
xGF%
On ice 17.7%; off ice 63.9%.
63.917.7
-46.1
CF%
On ice 33.3%; off ice 64.0%.
64.033.3
-30.7
GF%
On ice 0.0%; off ice 0.0%.
0.00.0
0.0
On iceOff ice
Scale 0–65% · marker at 50% · right column is the on-minus-off gap in points
0 points over the last 1 game
0 points over the last 1 game
1 game · most recent at VAN, L 1–4: 0 G, 0 A
1 game · most recent at VAN, L 1–4: 0 G, 0 A
Official totals; expected-goal columns are five-on-five.
Shading: peer percentile that season. Bold: career high.
Season metrics
2026–27 · five-on-five · against qualified peers
Production
Player
Percentile
Rank
0.00
—
—
0.00
—
—
0.00
—
—
Shooting & finishing
Player
Percentile
Rank
0.12
—
—
0.00
—
—
4.76
—
—
0.026
—
—
-0.12
—
—
Above averageNear averageBelow averageBars and shaded cells show peer percentile, so more is always better · tick at the 50th
Player value: 0.00 Peer range: 0.00 – 5.09 / 60
MeanJoel Hanley
Lower Higher (better)
Player 0.00 · mean 0.90. Higher raw values rank higher. Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300); shot quality and finishing also need 9 unblocked attempts.
Recorded five-on-five goals plus assists per 60 minutes.
Needs 6 appearances and 90 five-on-five minutes (full season: 20 and 300); shot quality and finishing also need 9 unblocked attempts.
How to read these comparisons
Player values are recorded season results. Peer averages are arithmetic means of qualified players in the selected group; each row uses the same peers for its average and rank. Ranks use unrounded values, with tied players sharing a rank and the next rank skipped. Lower xG against ranks better. Green/red differences show favorable/unfavorable values versus average, not isolated player impact. Brass marks top-ten ranks.
Goals above expected is the raw goals-minus-xG rate, without the shrinkage used in the older finishing comparison. On-ice measures include teammates, opponents and deployment. These recorded metrics describe different quantities from the adjusted Season score components beside them.
Skaters need 20 appearances and 300 five-on-five minutes; quality and finishing also need 75 unblocked attempts. Early in a season these minimums scale down with games played so far. At least 30 peers must qualify. Playoff ranks are withheld. A reviewed axis whose own evidence fails is withheld and shown with its reason rather than ranked. These workload rules do not express statistical confidence.
Position uses the NHL listed primary position available now; it does not establish historical position or actual deployment. Broad groups are forwards, defence and goalies. This version uses the current model’s covered games only.
Recent form
Trailing ten appearances. Shaded games have fewer than ten in the window.
Trailing 10 games · Points / gamePoints in each gameSeason points / game
0.00 P / GP
Oct 3, 2026@ VAN
Trailing 1 · Points / game
0.00
Points in this game
0
Season points / game
0.00
1 appearance in window · partial window1 with five-on-five model coverage