
Joel Hanley
01/Where he scores from
Hanley scored 0 regular season goals on 72 unblocked attempts from the offensive zone, 2025-26. No single patch of ice holds an unusual share of them.
Doorstep. 0 of his 0 goals came from here, on 1 of his 72 attempts.
Slot. 0 of his 0 goals came from here, on 3 of his 72 attempts.
Perimeter. 0 of his 0 goals came from here, on 33 of his 72 attempts.
Point. 0 of his 0 goals came from here, on 35 of his 72 attempts.
Under 150 located attempts, so the counts are raw. A share of 72 shots moves by more than a point on one bounce, and printing it would give the sample an authority it has not earned.
Unblocked attempts — shots on goal, goals and misses — taken in the offensive zone, 2025-26. Clubs change ends each period, so every attempt is rotated into one zone; the shooter’s left is the left of the frame. Blocked attempts are not plotted, and neither is anything taken from the neutral or defensive zone. This is a record of what happened, not a forecast: nothing here is claimed to repeat.
Hanley scored 3 regular season goals on 182 unblocked attempts from the offensive zone, 2023-24 to 2025-26. No single patch of ice holds an unusual share of them.
Doorstep. 0/3 · 0% of his goals came from here, on 3/182 · 2% of his attempts — 0/3 · 0% of what he sent from there went in.
Slot. 1/3 · 33% of his goals came from here, on 11/182 · 6% of his attempts — 1/11 · 9% of what he sent from there went in.
Perimeter. 2/3 · 67% of his goals came from here, on 70/182 · 38% of his attempts — 2/70 · 3% of what he sent from there went in.
Point. 0/3 · 0% of his goals came from here, on 98/182 · 54% of his attempts — 0/98 · 0% of what he sent from there went in.
Unblocked attempts — shots on goal, goals and misses — taken in the offensive zone, 2023-24 to 2025-26. Clubs change ends each period, so every attempt is rotated into one zone; the shooter’s left is the left of the frame. Blocked attempts are not plotted, and neither is anything taken from the neutral or defensive zone. This is a record of what happened, not a forecast: nothing here is claimed to repeat.
Hanley scored 5 regular season goals on 321 unblocked attempts from the offensive zone, 2015-16 to 2025-26. No single patch of ice holds an unusual share of them.
Doorstep. 0/5 · 0% of his goals came from here, on 6/321 · 2% of his attempts — 0/6 · 0% of what he sent from there went in.
Slot. 2/5 · 40% of his goals came from here, on 22/321 · 7% of his attempts — 2/22 · 9% of what he sent from there went in.
Perimeter. 2/5 · 40% of his goals came from here, on 110/321 · 34% of his attempts — 2/110 · 2% of what he sent from there went in.
Point. 1/5 · 20% of his goals came from here, on 183/321 · 57% of his attempts — 1/183 · 1% of what he sent from there went in.
Unblocked attempts — shots on goal, goals and misses — taken in the offensive zone, 2015-16 to 2025-26. Clubs change ends each period, so every attempt is rotated into one zone; the shooter’s left is the left of the frame. Blocked attempts are not plotted, and neither is anything taken from the neutral or defensive zone. This is a record of what happened, not a forecast: nothing here is claimed to repeat.
02/When his goals came
03/Game log
| Date | Opp | Result | G | A | P | S | H | +/- | PIM | TOI |
|---|---|---|---|---|---|---|---|---|---|---|
| Mar 27 | ANA | OTL 2-3 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 15:28 |
| Mar 25 | LAK | W 3-2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 14:15 |
| Mar 23 | TBL | W 4-3 | 0 | 0 | 0 | 3 | 0 | -2 | 0 | 15:36 |
| Mar 21 | FLA | W 4-1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 14:35 |
| Mar 19 | STL | W 2-1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 16:07 |
| Mar 16 | @DET | L 2-5 | 0 | 0 | 0 | 0 | 0 | +2 | 0 | 17:01 |
| Mar 14 | @NYI | L 2-3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13:58 |
| Mar 12 | @NJD | W 5-4 | 0 | 0 | 0 | 2 | 0 | +1 | 6 | 16:41 |
| Mar 10 | @NYR | L 0-4 | 0 | 0 | 0 | 1 | 0 | -2 | 0 | 17:49 |
| Mar 9 | @WSH | L 3-7 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 18:44 |
| Mar 6 | OTT | L 1-4 | 0 | 0 | 0 | 1 | 0 | +1 | 0 | 16:22 |
| Mar 4 | DAL | L 1-6 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 16:03 |
| Mar 2 | @ANA | OTL 2-3 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 14:02 |
| Mar 1 | @LAK | L 0-2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 13:57 |
| Feb 27 | @SJS | W 4-1 | 0 | 0 | 0 | 0 | 1 | +1 | 0 | 11:09 |
| Feb 5 | EDM | W 4-3 | 0 | 0 | 0 | 0 | 0 | -1 | 7 | 9:04 |
| Feb 3 | TOR | L 2-4 | 0 | 1 | 1 | 0 | 0 | +1 | 0 | 16:36 |
| Jan 31 | SJS | W 3-2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 11:41 |
| Jan 30 | @MIN | L 1-4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 12:20 |
| Jan 26 | ANA | OTL 3-4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 15:25 |
| Jan 24 | WSH | L 1-3 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 13:08 |
| Jan 22 | PIT | L 1-4 | 0 | 0 | 0 | 0 | 2 | -1 | 0 | 15:16 |
| Jan 20 | NJD | OTL 1-2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 12:52 |
| Jan 17 | NYI | W 4-2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 13:58 |
| Jan 16 | @CHI | W 3-1 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 13:02 |
Showing the 25 most recent of 68 regular season games. Playoff games are kept out of this table and totalled separately in the career record.
04/Splits
Home / Road
In wins / In losses
Every split prints its own denominator. Any split under eight games is greyed rather than hidden, so the edge of the sample is visible instead of guessed at.
05/Career
| Season | Team | GP | G | A | P | +/- | PIM | S | S% | H | BLK | TOI/G |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2015-16 | MTL | 10 | 0 | 6 | 6 | -1 | 0 | 10 | 0.0 | 6 | 19 | 11:37 |
| 2016-17 | MTL | 7 | 0 | 0 | 0 | -3 | 4 | 5 | 0.0 | 8 | 4 | 10:09 |
| 2017-18 | ARI | 5 | 0 | 0 | 0 | -1 | 0 | 2 | 0.0 | 1 | 4 | 6:41 |
| 2018-19 | DAL | 16 | 0 | 0 | 0 | 0 | 2 | 9 | 0.0 | 16 | 16 | 8:47 |
| 2019-20 | DAL | 8 | 0 | 2 | 2 | +1 | 6 | 4 | 0.0 | 3 | 8 | 9:56 |
| 2020-21 | DAL | 35 | 0 | 8 | 8 | +6 | 2 | 27 | 0.0 | 40 | 30 | 11:53 |
| 2021-22 | DAL | 44 | 2 | 4 | 6 | -7 | 4 | 18 | 11.1 | 60 | 43 | 10:45 |
| 2022-23 | DAL | 26 | 0 | 2 | 2 | +5 | 15 | 14 | 0.0 | 24 | 28 | 11:38 |
| 2023-24 | CGY/DAL | 42 | 1 | 4 | 5 | +3 | 30 | 19 | 5.3 | 48 | 47 | 12:16 |
| 2024-25 | CGY | 53 | 2 | 7 | 9 | +14 | 21 | 42 | 4.8 | 55 | 91 | 17:07 |
| 2025-26 | CGY | 68 | 0 | 7 | 7 | -7 | 44 | 43 | 0.0 | 42 | 92 | 12:49 |
| Career | 314 | 5 | 40 | 45 | +10 | 128 | 193 | 2.6 | 303 | 382 | 12:30 |
Playoffs
| Season | Team | GP | G | A | P | +/- | PIM | S | S% | H | BLK | TOI/G |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2018-19 | DAL | 1 | 0 | 0 | 0 | — | 0 | 0 | – | 0 | 1 | – |
| 2019-20 | DAL | 12 | 1 | 1 | 2 | — | 4 | 6 | 16.7 | 10 | 13 | – |
| 2021-22 | DAL | 7 | 0 | 0 | 0 | — | 0 | 5 | 0.0 | 8 | 9 | – |
| 2022-23 | DAL | 13 | 0 | 1 | 1 | — | 4 | 5 | 0.0 | 14 | 13 | – |
| Career | 33 | 1 | 2 | 3 | — | 8 | 16 | 6.3 | 32 | 36 | – |
06/Bio
- Position
- Defense
- Jersey
- #44
- Shoots
- L
- Height
- 5'11"
- Weight
- 186 lb
- Born
- Jun 8, 1991 (age 35)
- Birthplace
- Keswick, Ontario, CAN
- Club
- Calgary Flames
No draft selection on file: undrafted or not recorded.