Tonight: 10 games
puckmodel

Net Goals 101 · component 5 of 11

Finishing

Finishing is goals scored minus the expected goals of the shots he took: the part of scoring the shot-pricing engine deliberately leaves out. This page works one real season through from the raw events to the number on the card. Every figure is recomputed from the model’s own data and checked against the published value.

Worked exampleMorgan GeekieC · 2025-26 · 81 GP
Finishing+7.5net goals per 84 games
01Price every shotexpected goals of each shot on goal he took
02Goals minus xGwhat he scored above the price
03Into goalsstandings value of a goal above expected
04Share ithalf of every shot’s result goes to the teammates on the ice
05Per 84centre by position and scale

Step 01 · Every shot

180 shots on goal, each with a price

Finishing is the one place in net goals where the puck going in counts. The on-ice components price chances and never look at the result; Finishing books the difference. Each of Geekie’s 180 shots on goal and goals in 2025-26 was priced by the same expected-goals model (location, shot type, rebound and rush flags, side of the ice, season and period calibration; empty-net shots excluded). Missed shots are left out here: they never test the goalie, so the shots-on-goal version of the model predicts held-out goals best.

SituationSOGGoalsxGG − xG
Even strength1222515.06+9.94
Power play55127.80+4.20
Short-handed / extra attacker310.45+0.55
All1803823.32+14.68

Step 02 · Where it came from

Beating the price shot by shot

Sorted by how dangerous the shot was, his conversion against the league’s on the same kind of shot:

Shot xGSOGGoalsxGHis rateLeague rate
under 0.032200.440.0%1.3%
0.03 to 0.061920.8710.5%4.1%
0.06 to 0.103472.8120.6%7.6%
0.10 to 0.2067219.9431.3%15.4%
0.20 and up3889.2521.1%23.4%

His five least likely goals each added almost a full goal over its price; his best chances that did not go in each cost their price:

Lowest-xG goalsGameTypeSitxGG − xG
P2 8:522025020826wristev0.0433+0.957
P1 3:062025020149wristev0.0535+0.947
P3 8:012025020334slapev0.0704+0.930
P3 14:072025020812slappp0.0718+0.928
P2 11:352025020040wristev0.0741+0.926
Best chances missedGameTypeSitxGG − xG
P2 17:242025020205snappp0.3069−0.307
P2 4:562025020069snapev0.3022−0.302
P3 5:502025021292snapev0.2939−0.294

Step 03 · Goals above expected

GAx

GAx = goals − Σ xG = 38 − 23.316 = +14.68

That ranked 2 of 933 shooters in 2025-26. League-wide the 72,554 shots on goal produced 7,578 goals on 7,582.6 expected: the model is calibrated so the two match every season, which is what lets a positive number mean better than an average shooter on the same shots.

Step 04 · Into goals

Pricing a goal above expected

One adjustment first. A goal in regular-season overtime ends the game, so it is worth what the shooter’s team gains in the standings, not a regulation goal’s third of a point: each overtime shot’s goals above expected is weighted by that value (about 1.5 regulation goals at 3-on-3). Geekie had 4 overtime shots on goal:

Overtime shotGameTypeResultxGWeightWeighted G − xG
OT 1:462025020334pokesaved0.1291.55−0.201
OT 2:272025020334snapgoal0.0881.55+1.417
OT 0:172025020555wristsaved0.1331.45−0.192
OT 0:282025020555snapsaved0.2321.45−0.336
weighted GAx = +14.95 (unweighted +14.68)

The same standings regression that prices on-ice play gives 25.33 points per goal above expected per game; divided by 27.33 points per goal per game, that is 0.9265, essentially face value. A goal above expected is a goal, and only the shooter gets it here.

+14.95 × 0.9265 = +13.8519 goals

Step 05 · The assist share

Half of it belongs to the passers

A goal is rarely the shooter’s alone. Half of every even-strength and power-play shot’s goals above expected is handed to the teammates on the ice for it (weighted 4 : 2 : 1 for the primary assist, the secondary and everyone else), and half of its expected-goal cost is shared the same way. That credit lands in their Playmaking; the shooter pays it out of Finishing. On Geekie’s 177 EV and PP shots on goal (37 goals, 22.86 xG):

debit = −0.9265 × ½ × (37 − 22.861) = −6.6752

The file’s debit is −6.6752. Like every reallocated column it is then re-centred on the league (−0.000282 per game):

season total = +13.8519 − 6.6752 − (−0.000282 × 81) = +7.1995 goals

Step 06 · Position

Measured against the average forward

After every other step, each component is re-centred once more, separately for forwards and for defencemen, so the average forward in 2025-26 is exactly zero in every column. The games-weighted mean finishing of all forwards that season was −0.00059 net goals per game, so 81 games of it come off:

per game = season total ÷ GP − position mean = +7.1995 ÷ 81 − (−0.000585) = +0.08947 net goals per game

Step 07 · Result

Per 84 games

Ratings are quoted per 84 games, one full schedule, so a part season and a full one sit on the same scale.

+0.08947 × 84 = +7.52 net goals per 84 games

Recomputed +7.52; his 2025-26 row on the player card and the Players table shows +7.5. They match.

Step 08 · Context

How unusual is this?

Percentile5th25thMedian75th95thBest
Finishing NG/84−3.2−1.3−0.1+1.1+4.1+7.6

Skaters with 40 or more games in 2025-26 (612 players). Morgan Geekie ranks 2 of 612.

How much of a season like this is skill? The model estimates, from how much players’ own rates bounce between seasons versus how much players differ, that a career rate of finishing is half signal and half noise after 616 shots on goal. Season rows like this one are shown exactly as they happened; careers and the card’s Regressed view are pulled toward average by that amount.

For Finishing the half-signal point is counted in shots on goal rather than games: several seasons for most shooters. Shooting luck is loud.

The numbers on this page were rebuilt on 2026-10-08 from the same files the cards are built from. The model behind every step is described on Net Goals 101; definitions are in the Reference.