CapOrCup measures · 2025-26

Our own numbers, built from the play and checked against the video.

Shot-attempt stats count every attempt as equal and credit the whole line. These measures weight each chance by what it was worth, subtract the team, show who a player skated with and against, credit the player who started a goal even after he changed off, and link every goal to the league's own clip so the eye test and the numbers sit side by side.

Games measured
1,232
Shots scored by the model
108,570
Model accuracy (AUC, unseen season)
0.757
Video reads
regular: 0 of 8129 goals read · preseason: 92 of 174 goals read
Measure

Drive

What it is. Share of expected goals while a player is on the ice, minus his club's share with him off the ice.

Built from. Shift charts (who was on the ice, second by second) and CapOrCup's expected-goals model applied to every unblocked shot.

What it fixes. Corsi counts every shot attempt as equal and credits the whole line. Drive weights each chance by how likely it was to score, and subtracts the team, so a good player on a bad club and a passenger on a good one are told apart.

Where it stops. Linemates and opponents are shown beside it (Company) rather than removed from it. Six hours of ice time minimum. It also splits into Drive-offence (chances created per 60 against the club without him) and Drive-defence (chances suppressed), so suppression is credited on its own.

Measure

Start +/-

What it is. Goals whose sequence began while the player was on the ice, for and against, including the ones scored after he had changed off.

Built from. Play-by-play in order: a sequence starts at the last puck gain (faceoff, takeaway, the other side's giveaway or shot), at most 25 seconds before the goal.

What it fixes. Plus/minus credits whoever was on the ice at the finish. Start +/- credits the defenceman who broke the puck out and changed off, and charges the player whose giveaway began the sequence against.

Where it stops. The puck-gain rule is a fixed convention; a long possession with several gains is credited from the last one.

Measure

Setup

What it is. The chance quality a player's passes produced: the expected-goal value of every goal he set up with a primary assist.

Built from. Assists from the league's scoring summary, matched to the shot that scored and its expected-goal value. An assist is a pass the scorer received with no opponent touching the puck in between, so it is an observed pass, not an inferred one.

What it fixes. An assist is a point whatever it created. Setup counts a pass to a tap-in for more than a pass to a point shot, because it produced more.

Where it stops. Only passes that ended in a goal are visible in the league's data; passes to chances that were saved are not recorded, so Setup understates playmakers whose shooters miss. Secondary assists are counted but not weighted in.

Measure

Company

What it is. Quality of teammates and of opponents: the average Drive of everyone the player shared the ice with, weighted by the seconds they shared.

Built from. Shift charts, pairwise overlap of every shift in every game.

What it fixes. A raw on-ice number cannot say whether it was earned against top lines or sheltered. Company says which.

Where it stops. Descriptive, not a correction: Drive is not adjusted by it, it is read alongside it.

Measure

Finish

What it is. Goals scored above or below what the shots were worth.

Built from. CapOrCup's expected-goals model (trained on two seasons, tested on an unseen third).

What it fixes. Shooting percentage treats a tap-in and a point shot the same. Finish compares each goal with the chance it came from.

Where it stops. Shot location and type only; no puck or player tracking. The top decile of chances is over-predicted by about 15%.

Measure

GSAx

What it is. Goals a goalie saved above what the shots he faced were worth.

Built from. The same expected-goals model, applied to shots against.

What it fixes. Save percentage rewards goalies behind good defences. GSAx rewards stopping hard shots.

Where it stops. Goalie results repeat weakly from year to year even on this measure; the system changes the shots faced.

Measure

Read

What it is. What the video shows: shot origin, screen, tip, rebound, rush or cycle, and the breakdown behind a goal.

Built from. The NHL's own highlight clip for each goal, sampled to frames and read twice by a vision model at different windows. Only fields both reads agree on are kept.

What it fixes. Nothing in the play-by-play says whether the goalie was screened or the slot was left open. Read adds the eye test, and links every goal to the league's clip so anyone can check it.

Where it stops. A model judgement of stills, never a measurement, and labelled that way everywhere. Confidence comes from agreement between the two reads, not from how sure either sounded.

Drive · forwards

Forwards who most improve their club's chance share

Chance share on the ice minus the club's share with him off the ice. Company is shown so a number built on strong linemates or soft opponents reads that way.

Jason Robertson (DAL)+22.3 pts65% share · linemates strong, opponents average
Connor McDavid (EDM)+20.1 pts62% share · linemates strong, opponents average
Nikita Kucherov (TBL)+19.8 pts64% share · linemates strong, opponents average
Alex DeBrincat (DET)+18.8 pts62% share · linemates average, opponents average
Josh Norris (BUF)+18.4 pts65% share · linemates strong, opponents average
Zach Hyman (EDM)+18.3 pts64% share · linemates strong, opponents average
Drive · defence

Defencemen who most improve their club's chance share

The measure points understate. Compared only with defencemen.

Adam Fox (NYR)+21.2 pts59% share · 52% offensive-zone starts
Quinn Hughes (MIN)+16.0 pts58% share · 55% offensive-zone starts
Evan Bouchard (EDM)+15.4 pts60% share · 45% offensive-zone starts
Moritz Seider (DET)+15.3 pts59% share · 52% offensive-zone starts
Darren Raddysh (TOR)+13.1 pts61% share · 46% offensive-zone starts
Lane Hutson (MTL)+13.1 pts57% share · 59% offensive-zone starts
Drive, defence

Defencemen who suppress the most chances

Expected goals allowed per 60 with him on the ice, against his club without him. This is the half of the game points never show; positive means fewer chances allowed.

Nick DeSimone (UTA)+0.61offence -0.29 · opponents average
Damon Severson (CBJ)+0.52offence +1.02 · opponents average
Lane Hutson (MTL)+0.40offence +1.44 · opponents average
Adam Fox (NYR)+0.34offence +2.33 · opponents average
Hunter Brzustewicz (CGY)+0.30offence +0.16 · opponents average
Jayden Struble (MTL)+0.30offence -0.39 · opponents average
Start +/-

Goals credited after the player had changed off

Sequences that began on his shift and ended in a goal after he was gone. Plus/minus gives these players nothing.

Owen Power (BUF, D)1982 goals began on his shift in all; on the ice for 158
Adam Pelech (NYI, D)1758 goals began on his shift in all; on the ice for 106
Artturi Lehkonen (COL, L)1778 goals began on his shift in all; on the ice for 123
Brent Burns (COL, D)1674 goals began on his shift in all; on the ice for 130
Jared Spurgeon (MIN, D)1661 goals began on his shift in all; on the ice for 110
Noah Hanifin (VGK, D)1569 goals began on his shift in all; on the ice for 122

How to read them together

Drive says whether the ice tilted the right way with him on it. Company says who he did that with and against. Start +/- says whether the goals that followed began on his shift. Finish and GSAx say whether the shooting or the goaltending beat the chances. Read says what the clip shows for each goal. None of them is a verdict on its own; together they are the case a general manager would want before paying for a player, and every goal links to the league's clip so the case can be checked.

Player pages carry all of these under What happens while he plays; the player rankings can be ordered by Drive and by Start +/-; every team page has a Goals tab with the video.