PuckCast Edge
Betting edges, stake sizing, props priced against the line, fantasy tiers and the graded ledger. $14.99 a month in season, or $99 for the year.
2025-26 stats Shown until 2026-27 has enough games. Updates automatically. See 2026-27 projections →

Joel Hanley is a 35-year-old defenseman for the Calgary Flames. Born in Keswick, CAN. A veteran presence at 35 years old.
On the blue line this season, Joel has recorded 0 goals and 7 assists for 7 points across 68 games. He averages 0.10 points per game on 14:40 of ice time.
2025-26 · Regular season
2026-27 projection
Projected September 8, 2026 — 80% range on points. All 2026-27 player projections
80% range: 1–13 pts
2025-26 · Regular season
Full statistical breakdown for the 2025-26 regular season.
League percentile
Vs. all NHL skaters, 10+ games played. 99 = best, 1 = lowest.
5v5
What happened while Joel was on the ice at 5v5, and who he was sent out against. 2025-26.
5v5 only (situationCode 1551), unblocked attempts, shift-chart attribution. 68 games, 1,172 unblocked attempts on the ice.
Quality of competition
50.0 vs 54.8 lg
5th percentile
Quality of teammates
46.9 vs 53.2 lg
15th percentile
Deployment
soft-comp
by competition faced
Competition and teammate quality are the average on-ice strength of the players he shared the ice with at 5v5, on the same 0–100 scale as the league averages beside them.
Shot Selection
Where Joel takes his shots, and how each zone converts.
Unblocked attempts
72
Goals vs expected
0 vs 1.3 xG
5v5 scoring-chance share
1%
2025-26
PuckCast Player Intelligence, and the skill radar and on-ice impact behind it.
Skill radar & on-ice impact vs. NHL defensemen
11
Offense
40
Defense
Percentile ranks across 6 skill dimensions. Larger shape = more complete player.
Scouting Take
Areas for improvement: limited offensive impact.
On-ice impact mirrored side by side. Equal bars = balanced. Asymmetry = one-dimensional.
The Gap
29-pt spreadThe 29-point spread between offensive (11th) and defensive (40th) percentiles is significant for a defenseman. Defensive anchor but limited offensive upside.
Percentile ranks across 6 skill dimensions.
Scouting Take
Areas for improvement: limited offensive impact.
On-ice impact mirrored side by side.
The Gap
29-pt spreadThe 29-point spread between offensive (11th) and defensive (40th) percentiles is significant for a defenseman. Defensive anchor but limited offensive upside.
Career
Season-by-season NHL regular season statistics throughout Joel Hanley's career.
| Season | Team | GP | G | A | P | +/- | S | S% | PIM | PPG | TOI/G |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 25-262025-26 | CGY | 68 | 0 | 7 | 7 | -5 | 43 | — | |||
| 24-252024-25 | CGY | 53 | 2 | 7 | 9 | +12 | 42 | 4.8% | |||
| 23-242023-24 | CGY | 10 | 1 | 1 | 2 | 0 | 7 | 14.3% |
Form
Joel's last five games played — playoff games included if his team advanced, since the NHL does not separate them here.
| Date | Opp | G | A | P | +/- | S | TOI |
|---|---|---|---|---|---|---|---|
| Mar 26 | vs ANA | 0 | 0 | 0 | 0 | 0 | 15:28 |
| Mar 24 | vs LAK | 0 | 0 | 0 | 0 | 0 | 14:15 |
| Mar 22 | vs TBL | 0 | 0 | 0 | -2 | 3 | 15:36 |
| Mar 20 | vs FLA | 0 | 0 | 0 | 0 | 1 | 14:35 |
| Mar 18 | vs STL | 0 | 0 | 0 | 0 | 2 | 16:07 |
Roster
Top teammates by points on the Calgary Flames this season.
Bars are share of unblocked attempts — where he chooses to shoot, over a full season, which is the stable part. xG/100 compares his shot quality from a zone against the league rate for a defenceman. GAx is goals above expected there, a single season and noisy — zones marked * are flagged small-sample by the generator and are shown muted rather than hidden.
| 23-242023-24 | DAL | 32 | 0 | 3 | 3 | +3 | 12 | — |
| 22-232022-23 | DAL | 26 | 0 | 2 | 2 | +5 | 14 | — |
| 21-222021-22 | DAL | 44 | 2 | 4 | 6 | -13 | 18 | 11.1% |
| 20-212020-21 | DAL | 35 | 0 | 8 | 8 | +6 | 27 | — |
| 19-202019-20 | DAL | 8 | 0 | 2 | 2 | 0 | 4 | — |
| 18-192018-19 | DAL | 16 | 0 | 0 | 0 | 0 | 9 | — |
| 17-182017-18 | ARI | 5 | 0 | 0 | 0 | 0 | 2 | — |
| 16-172016-17 | MTL | 7 | 0 | 0 | 0 | -3 | 5 | — |
| 15-162015-16 | MTL | 10 | 0 | 6 | 6 | 0 | 10 | — |
| Career | — | 314 | 5 | 40 | 45 | +5 | 193 | 2.6% |

Jonathan Huberdeau
LW · 25 pts