Bands show position percentiles; axis labels show current rolling values.
Dashed outline: peer average 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.
Recent scoring against his own season
Recent scoring against his own season
Loading recent games…
Loading splits…
Loading linemates…
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.
Most often with Joel Farabee: 237 five-on-five minutes, 54.0% xG share together
Most often with Joel Farabee: 237 five-on-five minutes, 54.0% xG share together
Five-on-five · time together from shift charts (900:26 of his 5v5 ice time) · xG share together and apart
Teammate
Pos
TOI together
xG share together
GF–GA
CF%
Him without
Teammate without
Joel Farabee
L
236:45
54.0%
8–11
57.0%
49.5%
46.7%
Nazem Kadri
C
233:08
59.7%
6–11
58.8%
47.4%
46.2%
Morgan Frost
C
231:55
55.8%
10–5
55.0%
49.0%
47.0%
Adam Klapka
R
223:12
43.2%
4–3
47.8%
52.9%
43.8%
Connor Zary
C
210:02
51.4%
5–6
53.3%
50.7%
46.0%
Yegor Sharangovich
C
206:46
54.4%
5–7
61.5%
49.7%
43.3%
Brayden Pachal
D
201:07
54.9%
6–6
55.6%
49.6%
45.7%
Hunter Brzustewicz
D
196:10
51.7%
6–9
54.3%
50.5%
46.1%
Matt Coronato
R
192:51
51.3%
10–8
54.5%
50.6%
44.6%
Zayne Parekh
D
192:15
44.9%
7–5
52.3%
52.2%
42.1%
MacKenzie Weegar
D
188:01
54.9%
3–9
58.7%
49.7%
45.3%
Mikael Backlund
C
183:45
46.4%
5–11
56.2%
52.0%
46.2%
Without columns are five-on-five xG share apart: him on the ice without that teammate, and the teammate without him (with this club). Bars are centred on an even 50%.
Expected goals against while the player is on the ice (fewer is better)
Chance creation
Expected goals from the player’s own shots
Finishing
Goals minus expected goals on the player’s own shots
Assisting
Primary assists plus half of secondary assists
Each is measured against expectation, per 60 rated minutes: plus is above, minus below.
How this is calculated
Score breakdown
Component
Weight
Scaled
Contribution
Offense
25%
−0.118
−0.030
Defense
25%
0.039
+0.010
Chance creation
20%
−0.378
−0.076
Finishing
10%
−0.120
−0.012
Assisting
20%
−0.193
−0.039
Performance rate
−0.146
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: 29 covered appearances, 574.0 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: 8.9 min excluded; official TOI 997.5 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: 18.5 / 100. The fixed exposure baseline is 50; this is separate from the season peer grade.
Weak 0.10 individual expected goals per 60 (213th of 236)
Weak 0.10 individual expected goals per 60 (213th of 236)
50.8%88th of 236
Average 50.8% on-ice expected goal share at five-on-five (88th of 236)
Average 50.8% on-ice expected goal share at five-on-five (88th of 236)
Strong 2.23 on-ice expected goals against per 60 (37th of 236)
Strong 2.23 on-ice expected goals against per 60 (37th of 236)
Defensive metrics
Five-on-five on-ice suppression; individual events in all situations.
Suppression
Player
Percentile
Rank
50.67
18 / 23693rd
1.27
54 / 21876th
0.063
164 / 23631st
Puck management
Player
Percentile
Rank
0.60
178 / 23625th
3.19
132 / 23644th
-0.54
186 / 23621st
Physical style
Player
Percentile
Rank
5.41
46 / 23681st
2.53
119 / 23650th
Context · not graded
Player value: 50.67 Peer range: 44.41 – 72.03 / 60
MeanJoel Hanley
Lower (better)Higher
Player 50.67 · mean 56.97. Lower raw values are better.
On-ice attempts against per 60, including blocks.
Evidence coverage: high danger 67 of 68 games.
Discipline & puck management
Recorded season event counts · all situations
Penaltiesnet -9
Taken 14Drawn 5
Puck eventsnet -43
Giveaways 53Takeaways 10
Blocks
90
all situations
Hits
42
all situations
0.00 power-play points per 60
0.00 power-play points per 60
Power play
1:52 recorded ice time · peers need 100 minutes
Share of team PP
0.6%
in games dressed
PP points
0
goals + assists
Unit xGF / 60
0.00
team without: 7.05
Power play rates
Player
Percentile
Rank
0.00
—
0.00
—
0.00
—
0.00
—
0.00
—
0.00
—
No rank yet
Player value: 0.00 Peer range: 0.00 – 7.96 / 60
MeanJoel Hanley
Lower Higher (better)
Player 0.00 · mean 4.55. Higher raw values rank higher. Needs 100 minutes in this special-teams scope.
Recorded goals plus assists per 60 in this scope; widened power-play and penalty-kill scopes.
Needs 100 minutes in this special-teams scope.
Penalty kill
64:45 recorded ice time · peers need 100 minutes
Share of team PK
20.3%
in games dressed
SH points
0
goals + assists
Unit xGA / 60
9.36
team without: 8.74
Penalty kill rates
Player
Percentile
Rank
9.36
—
10.19
—
113.05
—
9.27
—
1.71
—
No rank yet
Player value: 9.36 Peer range: 5.36 – 11.97 / 60
MeanJoel Hanley
Lower (better)Higher
Player 9.36 · mean 8.57. Lower raw values are better. Provisional PK percentile: under 100 recorded minutes. Smaller samples are less reliable; official ranks need 100 minutes.
Raw on-ice expected goals against per 60; the Season metrics sample.
Provisional PK percentile: under 100 recorded minutes. Smaller samples are less reliable; official ranks need 100 minutes.
14:40 TOI per game (13:22 at five-on-five · 0:02 PP · 0:57 PK)
14:40 TOI per game (13:22 at five-on-five · 0:02 PP · 0:57 PK)
Struggles with chance creation, playmaking, and finishing — 0.10 individual expected goals per 60 (213th of 236).
Results vs expected
Five-on-five · what happened beside the chances created and allowed
Chances
Player
Percentile
Rank
2.30
169 / 23629th
2.23
37 / 23685th
50.8
88 / 23663rd
Goals
Player
Percentile
Rank
1.66
176 / 1855th
2.21
42 / 18578th
42.9
T-151 / 18518th
Luck & variance
Player
Percentile
Rank
5.8
181 / 1852nd
91.0
61 / 18567th
96.85
164 / 18511th
Context · not graded
Player value: 2.30 Peer range: 1.74 – 3.48 / 60
MeanJoel Hanley
Lower Higher (better)
Player 2.30 · mean 2.46. Higher raw values rank higher.
Raw on-ice expected goals for per 60; the Season metrics sample.
5v5 goals
24–32
65 of 68 games
5v5 expected
34.8–33.7
xG for–against
EPV added
+0.77
67 attributed games · all situations
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 50.8%; off ice 46.4%.
46.450.8
+4.4
CF%
On ice 54.6%; off ice 48.6%.
48.654.6
+6.0
GF%
On ice 42.9%; off ice 44.7%.
44.742.9
-1.9
On iceOff ice
Scale 40–65% · marker at 50% · right column is the on-minus-off gap in points
Cooling 0 points in the last 10 games (0.00 per game vs 0.10 this season)
Cooling 0 points in the last 10 games (0.00 per game vs 0.10 this season)
0.18 points per game at home · 0.03 away
0.18 points per game at home · 0.03 away
68 games · most recent vs ANA, L 2–3: 0 G, 0 A
68 games · most recent vs ANA, L 2–3: 0 G, 0 A
Joel Hanley
76 attempts2.05 xG0 G
Goal0Shot on goal43Missed shot33Blocked shot0Larger dot = higher xG
Shooting by zone
Zone
Att
G
xG
Goal rate / exp.
G−xG
Outer slot
1
0
0.0
0.0% / 1.1%
0.0
Right circle
2
0
0.1
0.0% / 4.2%
−0.1
Inner slot
1
0
0.2
0.0% / 20.0%
−0.2
High slot
3
0
0.2
0.0% / 7.9%
−0.2
Left circle
18
0
0.4
0.0% / 2.1%
−0.4
Point
51
0
1.1
0.0% / 2.2%
−1.1
All zones
76
0
2.0
0.0% / 2.7%
−2.0
Sorted by goals minus expected goals. Goal rate is goals per unblocked attempt against the expected rate. Hover a row to light up those attempts on the rink.
Finishing evidence. Scoring 0.0% on chances vs 2.7% expected (−2.7 points), with the largest shortfall in the point.
Shot types76 attempts
Type
Share
Sh%
G−xG
Wrist
50.0%
0.0%
−1.3
Slap
35.5%
0.0%
−0.5
Snap
14.5%
0.0%
−0.2
Share is context, not a grade. Sh% counts shots on goal only.
High-danger chancesmodel probability ≥ 0.20
Attempts1.3% of the selected attempts
1
Goals
0
Expected goals
0.5
Conversion
0.0%46.4% expected
Shot profilecontext · not graded
On-net rate43 of 76 attempts on goal
56.6%
Slot share4 of 76 from the inner or high slot
5.3%
Average distancefrom the centre of the net
52.9 ft
Rebound attempts / 606 this season · all situations
0.36
Usage by situation
Ice time, share of team ice time, scoring and scoring rate, with where shifts start.
Scope
TOI/GP
Team share
G
A
P
P/60
Rank (D)
Five-on-five
13:22
27.7%
0
7
7
0.46
210 / 236
Power play
0:02
0.6%
0
0
0
0.00
—
Penalty kill
0:57
20.3%
0
0
0
0.00
—
Other
0:19
—
0
0
0
0.00
158 / 236
All situations
14:40
24.2%
0
7
7
0.42
221 / 236
Where the 7 points come from · All situations
Goals0 · 0.00/60
Primary assists1 · 0.06/60
Secondary assists6 · 0.36/60
85.7% of points are secondary assists. Peer average 42.4%. Primary points per 60 (0.06) rank 232 of 235 among defensemen.
Zone starts 51.8% offensive of OZ + DZ · 75th percentile
Offensive 30.4%Neutral 41.3%Defensive 28.3%
Shifts
22.4 a game · 0:39 average
Zone starts: five-on-five · Shifts: all situations
12 NHL seasons: 315 games, 45 points
12 NHL seasons: 315 games, 45 points
Totals cover all situations; rates are five-on-five.
Elite90+Strong70–89Average30–69Weak10–29Poor<10Bar length is the peer percentile, so longer is always better · tick at the 50th
Player value: 0.46 Peer range: 0.15 – 1.89 / 60
MeanJoel Hanley
Lower Higher (better)
Player 0.46 · mean 0.87. Higher raw values rank higher.
Recorded five-on-five goals plus assists per 60 minutes.
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. Bar colours are the five performance tiers; context rows are blue and not graded. Differences from the average describe the season, not isolated player impact.
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.
Season vs reference
Per game · all situations
Metric2025–26ReferenceDiff
0.000.04-0.04
0.100.13-0.03
0.100.17-0.07
0.630.79-0.16
Reference: 2024–25 · 53 games.
Each game against his own season
Points in each game, coloured by how good the game wasTrailing 10 games, per gameSeason 0.10