Hockey Terminal
Be a GM

← All players

Photo of Joel Hofer

Joel Hofer

#30 · Goalie · St. Louis Blues

Born Jul 30, 2000 in Winnipeg, Manitoba, CAN (age 26) · 6'5", 197 lb · Catches left · Drafted 107th overall in 2018 by STL (round 4)

Compare with a similar player

The goalies closest to him in games played in 2021-22. Pick one to see the two side by side, or choose someone else.

Alex Lyon CAR · 2 GP, 0.908 Garret Sparks LAK · 2 GP, 0.936 Jack LaFontaine CAR · 2 GP, 0.780 Josef Korenar ARI · 2 GP, 0.914 Justus Annunen COL · 2 GP, 0.863

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

0102030402021-22: 2 games221-222022-23: 6 games622-232023-24: 30 games3023-242024-25: 31 games3124-252025-26: 46 games4625-262026-27: 3 games326-27

Games played by season. The darker bar is the season shown below.

Season Team GP WLOTLSO Shots against Saves Goals against GAA Save % Cap hit
2021-22 STL 2 1100 50 44 6 3.07 0.880 $795K
2022-23 STL 6 3110 179 162 17 3.22 0.905 $795K
2023-24 STL 30 151211 830 759 72 2.65 0.914 $775K
2024-25 STL 31 16831 767 693 74 2.64 0.904 $775K
2025-26 STL 46 241356 1250 1137 114 2.61 0.910 $3.4M
2026-27 STL 3 1111 71 66 5 1.68 0.930 $3.4M
6 seasons Career 118 6036119 3147 2861 288 2.64 0.909

2021-22 season totals

GP Starts WLOTLSO Shots against Saves Goals against GAA Save %
2 2 1100 50 44 6 3.07 0.880

Contract

$795KCap hitends in 2023, then RFA

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. He rated at or below a spare-part player, so there is no cost per goal to show.

The contract

Signed by the St. Louis Blues on Mar 21, 2019, as an entry-level contract: 3 years and $2.825M, beginning in 2020-21. It runs through 2022-23, with 1 season left after this one, and he is then a restricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2020-21 $795K $700K $93K $133K $793K
2021-22 $795K $750K $93K $133K $843K
2022-23 $795K $750K $0 $83K $750K

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jun 28, 2025 St. Louis Blues Extension 2025-26 to 2026-27 2 $6.8M $3.4M
Jan 2, 2023 St. Louis Blues Extension 2023-24 to 2024-25 2 $1.55M $775K
Mar 21, 2019 St. Louis Blues Entry-level 2020-21 to 2022-23 signed for 2019-20, slid 3 $2.825M $795K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2021-22 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2021-22 analytics

Rating

-0.2Goals above replacementsix goals are worth about one win
0.0Wins above replacementgoals above replacement divided by six
-0.7Goals above averagehis goals saved above expected

The goals he saved for his team, compared with a spare-part goalie facing the same shots. A goalie's season is about one-third the goalie and two-thirds chance, so read one year lightly. He has played fewer than 20 games, too few to be ranked. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-1001020302021-222022-232023-242024-252025-262026-27Goals above replacementGoals above replacement, by season

Shots faced

Expected goals adds up how likely each shot he faced was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. A goalie who lets in fewer than that has saved goals above expected. Only shots taken while he was in net count, and the league's goalies as a whole come out at zero. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones. What these numbers mean

-0.7Goals saved above expectedexpected goals minus goals against
5.3Expected goals againstfrom 78 unblocked attempts
6Goals againstwhile he was in net
0.880Save %0.895 expected from his shots
Goals saved -0.38 above expected per 60 minutes12th
Shot difficulty 6.8% chance per attempt faced48thA higher bar means his team gives up more dangerous shots.

Each bar shows the share of goalies he is ahead of, among the 65 who played at least a quarter as much as the busiest this season.

0246Allowed 6Expected 5.3

The goals he was expected to let in and the goals he did, as the season went on. When the allowed line runs below the expected line, he is saving more than his shots were worth.

Where he was shot at

Every unblocked attempt he faced this season, with his net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result Decision Shots against Saves Goals against Save % TOI
Nov 13, 2021 @ CAR L 2-3 L 24 21 3 0.875 57:09
Nov 4, 2021 @ SJS W 5-3 W 26 23 3 0.885 60:00