Tonight: 10 games
puckmodel

Net Goals 101 · component 1 of 11

EV offense

EV offense measures how much more dangerous his team’s shots were, while he was on the ice at even strength (5-on-5, 4-on-4, 3-on-3), than an average lineup would have produced in exactly the same game situations. 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 exampleConnor McDavidC · 2025-26 · 82 GP
EV offense+4.7net goals per 84 games
01One shotexpected goals × what a goal would have been worth
02One shiftHis team’s shots minus an average lineup in the same situations
03Games → seasonevery shift, every game, added up
04Into goalsre-centre on the league, convert win probability to goals
05Per 84pay back the reallocated share, centre by position, scale

Step 01 · One shot

Pricing a single shot

Start with a single shot: a missed shot by Jack Roslovic at P3 16:45 of game 2025020747, NYI at EDM. Net goals never asks whether a shot went in. It asks two questions: how likely was this shot to score, and how much would a goal have mattered at that moment?

How likely was it to score?

snap, 26 ft from the net
snap, 26 ft from the net
PieceReadingValue
Locationx 63, y 2 ft (net at x 89): 26.1 ft out, 4° off the centre line
Shot type, strengthsnap, even strength
League rate in that 2 ft cellthe cell x 62–64, y 0.0 to 2.0 ft held 32 snap even-strength attempts in 2025-26; smoothed with the cells around it and pooled with other seasons0.1494
… as oddsp ÷ (1 − p)0.1757
Pre-shot flagnone (not a rebound or rush)0.1757
Side of the iceforward, from the middle lane (odds × 1.083)0.1903
Season × period calibrationodds × 0.9851, so 2025-26 third-period totals equal goals
Expected goalsodds ÷ (1 + odds)0.1579

The expected-goals model is the same one the whole site uses; the full method is on Net Goals 101. Recomputed here from the stored tables: 0.15787, against 0.15787 in the model’s shot ledger.

How much would a goal have mattered?

At P3 16:45 McDavid’s team was down 1, at even strength. The win-probability table says a goal right then would have raised his team’s chance of winning by 40.72 percentage points. The shot is worth its chance of scoring times that swing:

shot value = xG × goal swing = 0.1579 × 40.72 = +6.428 WP points to his team

One hundred WP points is one whole win. The same shot in a 5-1 game would have been worth almost nothing, which is why padding numbers in garbage time does not work.

Step 02 · One shift

Actual minus expected, second by second

Now widen to the whole shift the shot came from: P3 13:42 to P3 16:56, 194 seconds on the ice, 194 of them at even strength. Every even-strength shot taken while he was out there is priced the same way:

ClockShooterForTypexGSwingPriced
P3 14:49Evan Bouchardhis teamsnap0.073537.5+2.754
P3 16:03Jack Roslovichis teamwrist0.066339.5+2.616
P3 16:05Jack Roslovichis teambackhand0.069739.5+2.755
P3 16:45Jack Roslovichis teamsnap0.157940.7+6.428

That is the actual side. The expected side is what an average lineup would have produced in the same seconds. Every second is filed into a context cell by score, clock, skaters on each side and whether a faceoff just happened, and the league’s expected-goal rate in that cell (all sixteen seasons, both teams) is priced with the same win-probability swing as a shot:

SideContext cellSecondsLeague xG/60Avg swingExpected
creatingP3 15–20′, down 1, 5-on-5, open play1142.6539.4+3.307
creatingP3 10–15′, down 1, 5-on-5, open play602.6236.8+1.605
creatingP3 10–15′, down 1, 5-on-5, neutral-zone draw100.4336.0+0.043
creatingP3 10–15′, down 1, 5-on-5, offensive-zone draw83.4137.6+0.285
creatingP3 15–20′, down 1, 5-on-5, offensive-zone draw23.8837.8+0.082
allowingP3 15–20′, down 1, 5-on-5, open play1142.1310.4−0.702
allowingP3 10–15′, down 1, 5-on-5, open play602.2612.4−0.469
allowingP3 10–15′, down 1, 5-on-5, neutral-zone draw100.3713.0−0.013
allowingP3 10–15′, down 1, 5-on-5, offensive-zone draw80.2911.8−0.008
allowingP3 15–20′, down 1, 5-on-5, offensive-zone draw20.4111.7−0.003
actual (his team’s shots) +14.553 expected (average lineup, same cells) +5.321 credit +9.232 WP points

McDavid took none of these shots himself. The on-ice components do not care who shot: everyone on the ice shares the result.

All five skaters on the ice receive the same credit for the shift. Which of them made the play is handled later, by the Playmaking and Suppression components.

Step 03 · One game

Every shift of McDavid’s best game

Add up every shift. This was his biggest even-strength game of the season (NYI at EDM, final NYI 1, EDM 0); the highlighted row is the shift above. Shifts with no even-strength time are left out.

Shift startSecsActualExpectedCorr.Credit
P1 0:4952+0.00+0.47−0.47
P1 3:4086+4.04+0.81+3.23
P1 6:4950+3.60+0.52+3.09
P1 9:3161+2.94+0.70+2.24
P1 12:3168+4.25+0.71+3.54
P1 15:3095+6.81+1.12+5.69
P1 18:0285+0.53+1.07−0.54
P2 0:0061+4.14+0.77+3.37
P2 3:3993+0.77+1.53−0.76
P2 8:2838+0.00+0.64−0.64
P2 10:4353+4.53+0.94+3.59
P2 15:1468+0.00+1.09−1.09
P2 18:411+0.00+0.02−0.02
P3 0:0025+1.97+0.45+1.52
P3 6:5359+1.62+1.21+0.42
P3 10:1068+6.34+1.46+4.88
P3 13:42194+14.55+5.32+9.23
P3 18:0119+0.00+0.61−0.61
Game total+36.67
game EV offense = +36.670 WP points (the model’s per-game file: +36.670)

Step 04 · The season

82 games added up

Do that for all 82 of his games. Each bar below is one game, best to worst: 64 positive, 18 negative. Summed, they are +581.6 WP points over 84,753 even-strength seconds (1,413 minutes).

Step 05 · Re-centring

Removing the league’s tilt

The context table is pooled over sixteen seasons, so in any one season the league as a whole does not net to exactly zero in each column. In 2025-26 every skater’s EV offense, added up, came to +26153.4 WP points over 38,448,250 skater-seconds: a tilt of +0.0006802 points per second. Each player gives back his share of it, in proportion to his own exposure:

adjusted = raw − tilt × his seconds = +581.648 − (+0.0006802 × 84,753) = +581.648 − (+57.651) = +523.997 WP points

After this the league-wide EV offense is exactly zero in 2025-26.

Step 06 · Into goals

From win probability to goals

Win-probability points are converted to goals by asking the standings what they are worth. A regression of actual team points on the summed inputs of each team’s roster gives 34.95 standings points per win of on-ice priced flow per game. One goal per game over an 82-game season is 82 goals, about 27.33 standings points at six goals per win, so:

goals per win = 34.955 ÷ 27.33 = 1.2788 goals = +523.997 WP points ÷ 100 × 1.2788 = +6.7011

That is far below the face value of a win (about six goals) on purpose: every on-ice second is credited to five skaters at once, so a roster’s summed on-ice value counts each event about five times over. The regression learns the marginal value of one player’s share.

Fitted on completed team-seasons each time the chain runs: points = 91.62 + 34.95·on-ice wins + 25.33·finishing + 61.16·penalties + 26.72·GSAx (per game).

Step 07 · Reallocation

Paying back the playmaking share

The on-ice number above treats all five skaters alike. Playmaking then moves the part of the shot quality he and his linemates generated that can be traced to particular players to those players. That credit is moved, not created: every skater on the ice for those attempts pays his share back out of this column. For Connor McDavid the season’s debit was −2.1903 goals; it too is re-centred on the league (−0.003695 per game × 82 games):

debit = −2.1903 − (−0.003695 × 82) = −1.8873 season total = +6.7011 + (−1.8873) = +4.8138 goals

Step 08 · 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 EV offense of all forwards that season was +0.00244 net goals per game, so 82 games of it come off:

per game = season total ÷ GP − position mean = +4.8138 ÷ 82 − (+0.002438) = +0.05627 net goals per game

Step 09 · 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.05627 × 84 = +4.73 net goals per 84 games

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

Step 10 · Context

How unusual is this?

Percentile5th25thMedian75th95thBest
EV offense NG/84−2.1−1.1−0.2+0.9+2.9+4.9

Skaters with 40 or more games in 2025-26 (612 players). Connor McDavid ranks 3 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 EV offense is half signal and half noise after 88 games. 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.

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.