Shot Prop Lab
Shots on Goal Projections for Friday, October 16, 2026
Expected shots on goal for every skater on tonight's slate, and the chance he clears 1.5, 2.5 and 3.5. Each number starts from the shooter's own attempt rate and accuracy, times the ice time we expect him to get at 5-on-5 and on the power play, then adjusts for the defenders he is likely to face and how well the opponent kills penalties.
2 games, 72 skaters · updated Oct 16, 5:50 PM ET · model shotprops-1.1.0. Projections, not picks. Book lines from 5 US sportsbooks (via The Odds API) are in the table as context, not as picks. Live since Oct 12 (1,094 graded lines): about even on shots on goal. Even with the books is not an edge once the margin is paid.
Final: 68 skaters played. Projected 105 shots in total, actual 103. Of the 5 skaters we gave a 50%+ chance of 3+ shots, 3 got there (60%; projected 57%).
Most likely to get 3+ shots
- Nathan MacKinnonCOL vs PIT66% · 3.54
- Beckett SenneckeANA vs BOS60% · 3.20
- Leo CarlssonANA vs BOS55% · 2.96
- David PastrnakBOS @ ANA53% · 2.84
- Nazem KadriCOL vs PIT51% · 2.74
- Martin NecasCOL vs PIT44% · 2.44
Softest 5v5 matchups
- Beckett SenneckeANA vs BOS+5% (+0.10) · 3.20
- Leo CarlssonANA vs BOS+5% (+0.10) · 2.96
- Nathan MacKinnonCOL vs PIT+1% (+0.03) · 3.54
- Martin NecasCOL vs PIT+1% (+0.02) · 2.44
Toughest 5v5 matchups
- Egor ChinakhovPIT @ COL−3% (−0.05) · 1.98
- Rickard RakellPIT @ COL−3% (−0.04) · 2.37
- Brent BurnsCOL vs PIT−2% (−0.03) · 1.75
- T.J. HughesCOL vs PIT−2% (−0.02) · 1.65
- David PastrnakBOS @ ANA−1% (−0.01) · 2.84
- JJ PeterkaBOS @ ANA−1% (−0.01) · 1.77
Every skater, Oct 16
Games: PIT @ COL 9:00 PM ET · BOS @ ANA 10:00 PM ET. Matchup is the 5-on-5 adjustment for the defenders he is expected to face and home ice (+5% = 5% more shots than his usual rate).
- Nathan MacKinnonF · COL vs PIT3.54Exp SOG
- Over 3.5
- 46%
- Best over
- −155
- Books
- 58%
- Actual
- 9
Ice time, SOG/60 and matchup
- TOI
- 21:01
- PP TOI
- 3:13
- SOG/60 5v5
- 9.4
- Matchup
- +1%
- 2+ / 3+ / 4+
- 85% / 66% / 46%
- Book line
- 3.5 · o −155 / u +130
- Beckett SenneckeF · ANA vs BOS3.20Exp SOG
- Over 2.5
- 60%
- Best over
- −137
- Books
- 55%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 21:59
- PP TOI
- 4:05
- SOG/60 5v5
- 7.4
- Matchup
- +5%
- 2+ / 3+ / 4+
- 81% / 60% / 39%
- Book line
- 2.5 · o −137 / u +115
- Leo CarlssonF · ANA vs BOS2.96Exp SOG
- Over 2.5
- 55%
- Best over
- +110
- Books
- 46%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 20:57
- PP TOI
- 4:00
- SOG/60 5v5
- 7.8
- Matchup
- +5%
- 2+ / 3+ / 4+
- 77% / 55% / 34%
- Book line
- 2.5 · o +110 / u −125
- David PastrnakF · BOS @ ANA2.84Exp SOG
- Over 3.5
- 32%
- Best over
- +115
- Books
- 44%
- Actual
- 4
Ice time, SOG/60 and matchup
- TOI
- 18:53
- PP TOI
- 2:51
- SOG/60 5v5
- 8.5
- Matchup
- −1%
- 2+ / 3+ / 4+
- 76% / 53% / 32%
- Book line
- 3.5 · o +115 / u −130
- Nazem KadriF · COL vs PIT2.74Exp SOG
- Over 2.5
- 51%
- Best over
- −120
- Books
- 52%
- Actual
- 4
Ice time, SOG/60 and matchup
- TOI
- 20:15
- PP TOI
- 3:03
- SOG/60 5v5
- 7.8
- Matchup
- −0%
- 2+ / 3+ / 4+
- 74% / 51% / 30%
- Book line
- 2.5 · o −120 / u +100
- Martin NecasF · COL vs PIT2.44Exp SOG
- Over 2.5
- 44%
- Best over
- +100
- Books
- 48%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 20:56
- PP TOI
- 3:20
- SOG/60 5v5
- 5.9
- Matchup
- +1%
- 2+ / 3+ / 4+
- 68% / 44% / 24%
- Book line
- 2.5 · o +100 / u −115
- Rickard RakellF · PIT @ COL2.37Exp SOG
- Over 2.5
- 42%
- Best over
- +136
- Books
- 42%
- Actual
- 5
Ice time, SOG/60 and matchup
- TOI
- 18:44
- PP TOI
- 3:18
- SOG/60 5v5
- 7.2
- Matchup
- −3%
- 2+ / 3+ / 4+
- 67% / 42% / 22%
- Book line
- 2.5 · o +136 / u −145
- Cale MakarD · COL vs PIT2.29Exp SOG
- Over 2.5
- 40%
- Best over
- −105
- Books
- 49%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 22:54
- PP TOI
- 3:21
- SOG/60 5v5
- 5.9
- Matchup
- +1%
- 2+ / 3+ / 4+
- 65% / 40% / 21%
- Book line
- 2.5 · o −105 / u −110
- Sidney CrosbyF · PIT @ COL2.26Exp SOG
- Over 2.5
- 39%
- Best over
- +142
- Books
- 41%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 18:42
- PP TOI
- 3:21
- SOG/60 5v5
- 6.6
- Matchup
- −3%
- 2+ / 3+ / 4+
- 64% / 39% / 20%
- Book line
- 2.5 · o +142 / u −165
- Bryan RustF · PIT @ COL2.10Exp SOG
- Over 2.5
- 35%
- Best over
- +154
- Books
- 41%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 18:16
- PP TOI
- 1:56
- SOG/60 5v5
- 6.7
- Matchup
- −3%
- 2+ / 3+ / 4+
- 61% / 35% / 17%
- Book line
- 2.5 · o +154 / u −165
- Erik KarlssonD · PIT @ COL2.10Exp SOG
- Over 1.5
- 61%
- Best over
- −170
- Books
- 61%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 22:33
- PP TOI
- 3:24
- SOG/60 5v5
- 5.1
- Matchup
- −2%
- 2+ / 3+ / 4+
- 61% / 35% / 17%
- Book line
- 1.5 · o −170 / u +138
- Evgeni MalkinF · PIT @ COL2.10Exp SOG
- Over 1.5
- 61%
- Best over
- −152
- Books
- 57%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 17:22
- PP TOI
- 2:56
- SOG/60 5v5
- 6.6
- Matchup
- −3%
- 2+ / 3+ / 4+
- 61% / 35% / 17%
- Book line
- 1.5 · o −152 / u +120
- Brock NelsonF · COL vs PIT2.09Exp SOG
- Over 1.5
- 60%
- Best over
- −150
- Books
- 57%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 19:40
- PP TOI
- 1:10
- SOG/60 5v5
- 6.6
- Matchup
- +0%
- 2+ / 3+ / 4+
- 60% / 35% / 17%
- Book line
- 1.5 · o −150 / u +130
- Gabriel LandeskogF · COL vs PIT2.08Exp SOG
- Over 1.5
- 60%
- Best over
- −175
- Books
- 60%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 16:24
- PP TOI
- 1:43
- SOG/60 5v5
- 7.4
- Matchup
- +0%
- 2+ / 3+ / 4+
- 60% / 34% / 17%
- Book line
- 1.5 · o −175 / u +139
- Artturi LehkonenF · COL vs PIT2.06Exp SOG
- Over 1.5
- 60%
- Best over
- −132
- Books
- 55%
- Actual
- 3
Ice time, SOG/60 and matchup
- TOI
- 20:16
- PP TOI
- 1:13
- SOG/60 5v5
- 6.2
- Matchup
- +1%
- 2+ / 3+ / 4+
- 60% / 34% / 16%
- Book line
- 1.5 · o −132 / u +110
- Jackson LaCombeD · ANA vs BOS2.00Exp SOG
- Over 1.5
- 58%
- Best over
- −125
- Books
- 53%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 26:41
- PP TOI
- 3:59
- SOG/60 5v5
- 3.9
- Matchup
- +5%
- 2+ / 3+ / 4+
- 58% / 32% / 15%
- Book line
- 1.5 · o −125 / u +110
- Egor ChinakhovF · PIT @ COL1.98Exp SOG
- Over 1.5
- 58%
- Best over
- −185
- Books
- 61%
- Actual
- DNP
Ice time, SOG/60 and matchup
- TOI
- 14:59
- PP TOI
- 1:43
- SOG/60 5v5
- 8.0
- Matchup
- −3%
- 2+ / 3+ / 4+
- 58% / 32% / 15%
- Book line
- 1.5 · o −185 / u +140
- Ben KindelF · PIT @ COL1.95Exp SOG
- Over 1.5
- 57%
- Best over
- −130
- Books
- 54%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 16:14
- PP TOI
- 2:57
- SOG/60 5v5
- 6.7
- Matchup
- −3%
- 2+ / 3+ / 4+
- 57% / 31% / 14%
- Book line
- 1.5 · o −130 / u +113
- Alex KillornF · ANA vs BOS1.91Exp SOG
- Over 1.5
- 56%
- Best over
- −154
- Books
- 57%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 17:02
- PP TOI
- 1:03
- SOG/60 5v5
- 6.6
- Matchup
- +5%
- 2+ / 3+ / 4+
- 56% / 30% / 14%
- Book line
- 1.5 · o −154 / u +130
- Morgan GeekieF · BOS @ ANA1.88Exp SOG
- Over 1.5
- 55%
- Best over
- −149
- Books
- 58%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 16:53
- PP TOI
- 2:28
- SOG/60 5v5
- 5.8
- Matchup
- −1%
- 2+ / 3+ / 4+
- 55% / 29% / 13%
- Book line
- 1.5 · o −149 / u +126
- Sam MalinskiD · COL vs PIT1.82Exp SOG
- Over 1.5
- 53%
- Best over
- −125
- Books
- 52%
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 17:27
- PP TOI
- 0:15
- SOG/60 5v5
- 6.4
- Matchup
- +0%
- 2+ / 3+ / 4+
- 53% / 28% / 12%
- Book line
- 1.5 · o −125 / u −105
- Pavel ZachaF · BOS @ ANA1.79Exp SOG
- Over 1.5
- 53%
- Best over
- −114
- Books
- 51%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 17:56
- PP TOI
- 2:19
- SOG/60 5v5
- 5.5
- Matchup
- −0%
- 2+ / 3+ / 4+
- 53% / 27% / 12%
- Book line
- 1.5 · o −114 / u −105
- JJ PeterkaF · BOS @ ANA1.77Exp SOG
- Over 1.5
- 52%
- Best over
- −137
- Books
- 56%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 15:28
- PP TOI
- 1:52
- SOG/60 5v5
- 6.7
- Matchup
- −1%
- 2+ / 3+ / 4+
- 52% / 27% / 11%
- Book line
- 1.5 · o −137 / u +116
- Brent BurnsD · COL vs PIT1.75Exp SOG
- Over 1.5
- 51%
- Best over
- −106
- Books
- 49%
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 17:38
- PP TOI
- 0:07
- SOG/60 5v5
- 6.6
- Matchup
- −2%
- 2+ / 3+ / 4+
- 51% / 26% / 11%
- Book line
- 1.5 · o −106 / u −115
- Charlie McAvoyD · BOS @ ANA1.68Exp SOG
- Over 1.5
- 49%
- Best over
- −110
- Books
- 51%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 23:52
- PP TOI
- 2:29
- SOG/60 5v5
- 4.1
- Matchup
- −0%
- 2+ / 3+ / 4+
- 49% / 24% / 10%
- Book line
- 1.5 · o −110 / u −105
- T.J. HughesF · COL vs PIT1.65Exp SOG
- Over 1.5
- 48%
- Best over
- −130
- Books
- 53%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 13:32
- PP TOI
- 3:05
- SOG/60 5v5
- 6.8
- Matchup
- −2%
- 2+ / 3+ / 4+
- 48% / 23% / 9%
- Book line
- 1.5 · o −130 / u +103
- Tommy NovakF · PIT @ COL1.57Exp SOG
- Over 1.5
- 46%
- Best over
- +107
- Books
- 46%
- Actual
- 4
Ice time, SOG/60 and matchup
- TOI
- 14:50
- PP TOI
- 1:55
- SOG/60 5v5
- 5.9
- Matchup
- −3%
- 2+ / 3+ / 4+
- 46% / 21% / 8%
- Book line
- 1.5 · o +107 / u −125
- Fraser MintenF · BOS @ ANA1.54Exp SOG
- Over 1.5
- 45%
- Best over
- −123
- Books
- 52%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 15:21
- PP TOI
- 1:12
- SOG/60 5v5
- 5.9
- Matchup
- −1%
- 2+ / 3+ / 4+
- 45% / 21% / 8%
- Book line
- 1.5 · o −123 / u +100
- Devon ToewsD · COL vs PIT1.53Exp SOG
- Over 1.5
- 45%
- Best over
- +107
- Books
- 46%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 22:43
- PP TOI
- 1:44
- SOG/60 5v5
- 4.2
- Matchup
- +1%
- 2+ / 3+ / 4+
- 45% / 20% / 8%
- Book line
- 1.5 · o +107 / u −130
- Elias LindholmF · BOS @ ANA1.52Exp SOG
- Over 1.5
- 44%
- Best over
- −111
- Books
- 50%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 15:46
- PP TOI
- 1:59
- SOG/60 5v5
- 5.5
- Matchup
- −1%
- 2+ / 3+ / 4+
- 44% / 20% / 8%
- Book line
- 1.5 · o −111 / u −105
- Judd CaulfieldF · ANA vs BOS1.51Exp SOG
- Over 1.5
- 44%
- Best over
- −114
- Books
- 50%
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 13:38
- PP TOI
- 1:51
- SOG/60 5v5
- 5.7
- Matchup
- +6%
- 2+ / 3+ / 4+
- 44% / 20% / 7%
- Book line
- 1.5 · o −114 / u −110
- A.J. GreerF · ANA vs BOS1.47Exp SOG
- Over 2.5
- 19%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 12:33
- PP TOI
- 0:16
- SOG/60 5v5
- 6.7
- Matchup
- +5%
- 2+ / 3+ / 4+
- 43% / 19% / 7%
- Frank VatranoF · ANA vs BOS1.41Exp SOG
- Over 2.5
- 18%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 11:10
- PP TOI
- 0:50
- SOG/60 5v5
- 7.1
- Matchup
- +5%
- 2+ / 3+ / 4+
- 41% / 18% / 6%
- Sam ColangeloF · ANA vs BOS1.41Exp SOG
- Over 2.5
- 17%
- Best over
- –
- Books
- –
- Actual
- DNP
Ice time, SOG/60 and matchup
- TOI
- 13:24
- PP TOI
- 0:47
- SOG/60 5v5
- 5.9
- Matchup
- +5%
- 2+ / 3+ / 4+
- 41% / 17% / 6%
- Kris LetangD · PIT @ COL1.36Exp SOG
- Over 2.5
- 16%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 19:50
- PP TOI
- 1:34
- SOG/60 5v5
- 4.0
- Matchup
- −3%
- 2+ / 3+ / 4+
- 39% / 16% / 6%
- Jaden SchwartzF · COL vs PIT1.35Exp SOG
- Over 1.5
- 39%
- Best over
- −120
- Books
- 51%
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 12:42
- PP TOI
- 1:17
- SOG/60 5v5
- 6.2
- Matchup
- −1%
- 2+ / 3+ / 4+
- 39% / 16% / 5%
- Book line
- 1.5 · o −120 / u −106
- Nick RobertsonF · PIT @ COL1.34Exp SOG
- Over 2.5
- 16%
- Best over
- –
- Books
- –
- Actual
- 3
Ice time, SOG/60 and matchup
- TOI
- 11:29
- PP TOI
- 0:00
- SOG/60 5v5
- 7.4
- Matchup
- −3%
- 2+ / 3+ / 4+
- 38% / 16% / 5%
- James HagensF · BOS @ ANA1.34Exp SOG
- Over 1.5
- 38%
- Best over
- −114
- Books
- 51%
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 12:12
- PP TOI
- 1:25
- SOG/60 5v5
- 6.1
- Matchup
- −0%
- 2+ / 3+ / 4+
- 38% / 16% / 5%
- Book line
- 1.5 · o −114 / u −105
- Josh MansonD · COL vs PIT1.33Exp SOG
- Over 2.5
- 15%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 17:19
- PP TOI
- 0:00
- SOG/60 5v5
- 5.4
- Matchup
- −2%
- 2+ / 3+ / 4+
- 38% / 15% / 5%
- Tristan LuneauD · ANA vs BOS1.32Exp SOG
- Over 2.5
- 15%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 20:41
- PP TOI
- 0:44
- SOG/60 5v5
- 3.6
- Matchup
- +5%
- 2+ / 3+ / 4+
- 38% / 15% / 5%
- Connor DewarF · PIT @ COL1.32Exp SOG
- Over 2.5
- 15%
- Best over
- –
- Books
- –
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 13:06
- PP TOI
- 0:00
- SOG/60 5v5
- 6.8
- Matchup
- −3%
- 2+ / 3+ / 4+
- 38% / 15% / 5%
- Over 2.5
- 14%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 15:35
- PP TOI
- 0:04
- SOG/60 5v5
- 5.1
- Matchup
- +5%
- 2+ / 3+ / 4+
- 36% / 14% / 5%
- Nikita NesterenkoF · ANA vs BOS1.28Exp SOG
- Over 2.5
- 14%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 12:40
- PP TOI
- 0:01
- SOG/60 5v5
- 5.8
- Matchup
- +6%
- 2+ / 3+ / 4+
- 36% / 14% / 5%
- Casey MittelstadtF · BOS @ ANA1.25Exp SOG
- Over 2.5
- 14%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 13:28
- PP TOI
- 1:17
- SOG/60 5v5
- 5.3
- Matchup
- −1%
- 2+ / 3+ / 4+
- 35% / 14% / 4%
- Pavel MintyukovD · ANA vs BOS1.24Exp SOG
- Over 2.5
- 14%
- Best over
- –
- Books
- –
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 19:04
- PP TOI
- 0:28
- SOG/60 5v5
- 3.9
- Matchup
- +5%
- 2+ / 3+ / 4+
- 35% / 14% / 4%
- Matthew PoitrasF · BOS @ ANA1.24Exp SOG
- Over 2.5
- 13%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 10:34
- PP TOI
- 0:10
- SOG/60 5v5
- 7.2
- Matchup
- −0%
- 2+ / 3+ / 4+
- 35% / 13% / 4%
- Nikita ZadorovD · BOS @ ANA1.22Exp SOG
- Over 1.5
- 34%
- Best over
- +132
- Books
- 43%
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 19:28
- PP TOI
- 0:08
- SOG/60 5v5
- 4.1
- Matchup
- −1%
- 2+ / 3+ / 4+
- 34% / 13% / 4%
- Book line
- 1.5 · o +132 / u −145
- Jeff MalottF · ANA vs BOS1.20Exp SOG
- Over 2.5
- 13%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 10:34
- PP TOI
- 0:03
- SOG/60 5v5
- 6.4
- Matchup
- +6%
- 2+ / 3+ / 4+
- 34% / 13% / 4%
- Parker KellyF · COL vs PIT1.19Exp SOG
- Over 2.5
- 12%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 12:37
- PP TOI
- 0:01
- SOG/60 5v5
- 6.3
- Matchup
- −1%
- 2+ / 3+ / 4+
- 33% / 12% / 4%
- 1.19Exp SOG
- Over 2.5
- 12%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 16:59
- PP TOI
- 2:13
- SOG/60 5v5
- 3.7
- Matchup
- −0%
- 2+ / 3+ / 4+
- 33% / 12% / 4%
- Hampus LindholmD · BOS @ ANA1.18Exp SOG
- Over 1.5
- 33%
- Best over
- +136
- Books
- 42%
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 19:41
- PP TOI
- 0:58
- SOG/60 5v5
- 3.7
- Matchup
- −0%
- 2+ / 3+ / 4+
- 33% / 12% / 4%
- Book line
- 1.5 · o +136 / u −155
- Fedor SvechkovF · COL vs PIT1.15Exp SOG
- Over 2.5
- 11%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 13:40
- PP TOI
- 0:00
- SOG/60 5v5
- 5.1
- Matchup
- −1%
- 2+ / 3+ / 4+
- 32% / 11% / 3%
- Andrei KuzmenkoF · PIT @ COL1.13Exp SOG
- Over 2.5
- 11%
- Best over
- –
- Books
- –
- Actual
- 2
Ice time, SOG/60 and matchup
- TOI
- 11:36
- PP TOI
- 1:44
- SOG/60 5v5
- 5.4
- Matchup
- −3%
- 2+ / 3+ / 4+
- 31% / 11% / 3%
- Mark KastelicF · BOS @ ANA1.12Exp SOG
- Over 2.5
- 11%
- Best over
- –
- Books
- –
- Actual
- 0
Ice time, SOG/60 and matchup
- TOI
- 11:07
- PP TOI
- 0:03
- SOG/60 5v5
- 6.2
- Matchup
- −0%
- 2+ / 3+ / 4+
- 31% / 11% / 3%
- Tyson HindsD · ANA vs BOS1.12Exp SOG
- Over 2.5
- 11%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 14:43
- PP TOI
- 0:00
- SOG/60 5v5
- 4.4
- Matchup
- +6%
- 2+ / 3+ / 4+
- 31% / 11% / 3%
- Ville KoivunenF · PIT @ COL1.09Exp SOG
- Over 2.5
- 10%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 13:00
- PP TOI
- 1:10
- SOG/60 5v5
- 4.8
- Matchup
- −3%
- 2+ / 3+ / 4+
- 30% / 10% / 3%
- Brett KulakD · COL vs PIT1.04Exp SOG
- Over 2.5
- 9%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 19:01
- PP TOI
- 0:04
- SOG/60 5v5
- 3.5
- Matchup
- +0%
- 2+ / 3+ / 4+
- 28% / 9% / 3%
- Declan CarlileD · PIT @ COL1.04Exp SOG
- Over 2.5
- 9%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 18:32
- PP TOI
- 0:00
- SOG/60 5v5
- 3.9
- Matchup
- −3%
- 2+ / 3+ / 4+
- 28% / 9% / 3%
- Noah WarrenD · ANA vs BOS1.02Exp SOG
- Over 2.5
- 9%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 18:50
- PP TOI
- 0:01
- SOG/60 5v5
- 3.3
- Matchup
- +5%
- 2+ / 3+ / 4+
- 27% / 9% / 2%
- Blake LizotteF · PIT @ COL0.98Exp SOG
- Over 2.5
- 8%
- Best over
- –
- Books
- –
- Actual
- 1
Ice time, SOG/60 and matchup
- TOI
- 12:55
- PP TOI
- 0:00
- SOG/60 5v5
- 5.0
- Matchup
- −3%
- 2+ / 3+ / 4+
- 26% / 8% / 2%
| Book line | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Nathan MacKinnonF · COL vs PIT | 3.54 | 85% | 66% | 46% | 21:01PP 3:13 | 9.4 | +1% | 3.5 · o −155 / u +130 | 9 |
| Beckett SenneckeF · ANA vs BOS | 3.20 | 81% | 60% | 39% | 21:59PP 4:05 | 7.4 | +5% | 2.5 · o −137 / u +115 | 1 |
| Leo CarlssonF · ANA vs BOS | 2.96 | 77% | 55% | 34% | 20:57PP 4:00 | 7.8 | +5% | 2.5 · o +110 / u −125 | 1 |
| David PastrnakF · BOS @ ANA | 2.84 | 76% | 53% | 32% | 18:53PP 2:51 | 8.5 | −1% | 3.5 · o +115 / u −130 | 4 |
| Nazem KadriF · COL vs PIT | 2.74 | 74% | 51% | 30% | 20:15PP 3:03 | 7.8 | −0% | 2.5 · o −120 / u +100 | 4 |
| Martin NecasF · COL vs PIT | 2.44 | 68% | 44% | 24% | 20:56PP 3:20 | 5.9 | +1% | 2.5 · o +100 / u −115 | 1 |
| Rickard RakellF · PIT @ COL | 2.37 | 67% | 42% | 22% | 18:44PP 3:18 | 7.2 | −3% | 2.5 · o +136 / u −145 | 5 |
| Cale MakarD · COL vs PIT | 2.29 | 65% | 40% | 21% | 22:54PP 3:21 | 5.9 | +1% | 2.5 · o −105 / u −110 | 2 |
| Sidney CrosbyF · PIT @ COL | 2.26 | 64% | 39% | 20% | 18:42PP 3:21 | 6.6 | −3% | 2.5 · o +142 / u −165 | 2 |
| Bryan RustF · PIT @ COL | 2.10 | 61% | 35% | 17% | 18:16PP 1:56 | 6.7 | −3% | 2.5 · o +154 / u −165 | 2 |
| Erik KarlssonD · PIT @ COL | 2.10 | 61% | 35% | 17% | 22:33PP 3:24 | 5.1 | −2% | 1.5 · o −170 / u +138 | 2 |
| Evgeni MalkinF · PIT @ COL | 2.10 | 61% | 35% | 17% | 17:22PP 2:56 | 6.6 | −3% | 1.5 · o −152 / u +120 | 2 |
| Brock NelsonF · COL vs PIT | 2.09 | 60% | 35% | 17% | 19:40PP 1:10 | 6.6 | +0% | 1.5 · o −150 / u +130 | 1 |
| Gabriel LandeskogF · COL vs PIT | 2.08 | 60% | 34% | 17% | 16:24PP 1:43 | 7.4 | +0% | 1.5 · o −175 / u +139 | 1 |
| Artturi LehkonenF · COL vs PIT | 2.06 | 60% | 34% | 16% | 20:16PP 1:13 | 6.2 | +1% | 1.5 · o −132 / u +110 | 3 |
| Jackson LaCombeD · ANA vs BOS | 2.00 | 58% | 32% | 15% | 26:41PP 3:59 | 3.9 | +5% | 1.5 · o −125 / u +110 | 1 |
| Egor ChinakhovF · PIT @ COL | 1.98 | 58% | 32% | 15% | 14:59PP 1:43 | 8.0 | −3% | 1.5 · o −185 / u +140 | DNP |
| Ben KindelF · PIT @ COL | 1.95 | 57% | 31% | 14% | 16:14PP 2:57 | 6.7 | −3% | 1.5 · o −130 / u +113 | 1 |
| Alex KillornF · ANA vs BOS | 1.91 | 56% | 30% | 14% | 17:02PP 1:03 | 6.6 | +5% | 1.5 · o −154 / u +130 | 2 |
| Morgan GeekieF · BOS @ ANA | 1.88 | 55% | 29% | 13% | 16:53PP 2:28 | 5.8 | −1% | 1.5 · o −149 / u +126 | 1 |
| Sam MalinskiD · COL vs PIT | 1.82 | 53% | 28% | 12% | 17:27 | 6.4 | +0% | 1.5 · o −125 / u −105 | 0 |
| Pavel ZachaF · BOS @ ANA | 1.79 | 53% | 27% | 12% | 17:56PP 2:19 | 5.5 | −0% | 1.5 · o −114 / u −105 | 1 |
| JJ PeterkaF · BOS @ ANA | 1.77 | 52% | 27% | 11% | 15:28PP 1:52 | 6.7 | −1% | 1.5 · o −137 / u +116 | 2 |
| Brent BurnsD · COL vs PIT | 1.75 | 51% | 26% | 11% | 17:38 | 6.6 | −2% | 1.5 · o −106 / u −115 | 0 |
| Charlie McAvoyD · BOS @ ANA | 1.68 | 49% | 24% | 10% | 23:52PP 2:29 | 4.1 | −0% | 1.5 · o −110 / u −105 | 2 |
| T.J. HughesF · COL vs PIT | 1.65 | 48% | 23% | 9% | 13:32PP 3:05 | 6.8 | −2% | 1.5 · o −130 / u +103 | 2 |
| Tommy NovakF · PIT @ COL | 1.57 | 46% | 21% | 8% | 14:50PP 1:55 | 5.9 | −3% | 1.5 · o +107 / u −125 | 4 |
| Fraser MintenF · BOS @ ANA | 1.54 | 45% | 21% | 8% | 15:21PP 1:12 | 5.9 | −1% | 1.5 · o −123 / u +100 | 2 |
| Devon ToewsD · COL vs PIT | 1.53 | 45% | 20% | 8% | 22:43PP 1:44 | 4.2 | +1% | 1.5 · o +107 / u −130 | 2 |
| Elias LindholmF · BOS @ ANA | 1.52 | 44% | 20% | 8% | 15:46PP 1:59 | 5.5 | −1% | 1.5 · o −111 / u −105 | 1 |
| Judd CaulfieldF · ANA vs BOS | 1.51 | 44% | 20% | 7% | 13:38PP 1:51 | 5.7 | +6% | 1.5 · o −114 / u −110 | 0 |
| A.J. GreerF · ANA vs BOS | 1.47 | 43% | 19% | 7% | 12:33 | 6.7 | +5% | – | 2 |
| Frank VatranoF · ANA vs BOS | 1.41 | 41% | 18% | 6% | 11:10 | 7.1 | +5% | – | 1 |
| Sam ColangeloF · ANA vs BOS | 1.41 | 41% | 17% | 6% | 13:24 | 5.9 | +5% | – | DNP |
| Kris LetangD · PIT @ COL | 1.36 | 39% | 16% | 6% | 19:50PP 1:34 | 4.0 | −3% | – | 1 |
| Jaden SchwartzF · COL vs PIT | 1.35 | 39% | 16% | 5% | 12:42PP 1:17 | 6.2 | −1% | 1.5 · o −120 / u −106 | 1 |
| Nick RobertsonF · PIT @ COL | 1.34 | 38% | 16% | 5% | 11:29 | 7.4 | −3% | – | 3 |
| James HagensF · BOS @ ANA | 1.34 | 38% | 16% | 5% | 12:12PP 1:25 | 6.1 | −0% | 1.5 · o −114 / u −105 | 2 |
| Josh MansonD · COL vs PIT | 1.33 | 38% | 15% | 5% | 17:19 | 5.4 | −2% | – | 1 |
| Tristan LuneauD · ANA vs BOS | 1.32 | 38% | 15% | 5% | 20:41 | 3.6 | +5% | – | 1 |
| Connor DewarF · PIT @ COL | 1.32 | 38% | 15% | 5% | 13:06 | 6.8 | −3% | – | 0 |
| Tim WasheF · ANA vs BOS | 1.28 | 36% | 14% | 5% | 15:35 | 5.1 | +5% | – | 1 |
| Nikita NesterenkoF · ANA vs BOS | 1.28 | 36% | 14% | 5% | 12:40 | 5.8 | +6% | – | 2 |
| Casey MittelstadtF · BOS @ ANA | 1.25 | 35% | 14% | 4% | 13:28PP 1:17 | 5.3 | −1% | – | 1 |
| Pavel MintyukovD · ANA vs BOS | 1.24 | 35% | 14% | 4% | 19:04 | 3.9 | +5% | – | 0 |
| Matthew PoitrasF · BOS @ ANA | 1.24 | 35% | 13% | 4% | 10:34 | 7.2 | −0% | – | 2 |
| Nikita ZadorovD · BOS @ ANA | 1.22 | 34% | 13% | 4% | 19:28 | 4.1 | −1% | 1.5 · o +132 / u −145 | 0 |
| Jeff MalottF · ANA vs BOS | 1.20 | 34% | 13% | 4% | 10:34 | 6.4 | +6% | – | 2 |
| Parker KellyF · COL vs PIT | 1.19 | 33% | 12% | 4% | 12:37 | 6.3 | −1% | – | 1 |
| Frederic BrunetD · BOS @ ANAthin | 1.19 | 33% | 12% | 4% | 16:59PP 2:13 | 3.7 | −0% | – | 2 |
| Hampus LindholmD · BOS @ ANA | 1.18 | 33% | 12% | 4% | 19:41 | 3.7 | −0% | 1.5 · o +136 / u −155 | 0 |
| Fedor SvechkovF · COL vs PIT | 1.15 | 32% | 11% | 3% | 13:40 | 5.1 | −1% | – | 1 |
| Andrei KuzmenkoF · PIT @ COL | 1.13 | 31% | 11% | 3% | 11:36PP 1:44 | 5.4 | −3% | – | 2 |
| Mark KastelicF · BOS @ ANA | 1.12 | 31% | 11% | 3% | 11:07 | 6.2 | −0% | – | 0 |
| Tyson HindsD · ANA vs BOS | 1.12 | 31% | 11% | 3% | 14:43 | 4.4 | +6% | – | 1 |
| Ville KoivunenF · PIT @ COL | 1.09 | 30% | 10% | 3% | 13:00PP 1:10 | 4.8 | −3% | – | 1 |
| Brett KulakD · COL vs PIT | 1.04 | 28% | 9% | 3% | 19:01 | 3.5 | +0% | – | 1 |
| Declan CarlileD · PIT @ COL | 1.04 | 28% | 9% | 3% | 18:32 | 3.9 | −3% | – | 1 |
| Noah WarrenD · ANA vs BOS | 1.02 | 27% | 9% | 2% | 18:50 | 3.3 | +5% | – | 1 |
| Blake LizotteF · PIT @ COL | 0.98 | 26% | 8% | 2% | 12:55 | 5.0 | −3% | – | 1 |
How the projections work
- 1. How often he shoots
- For each strength state (5-on-5, power play, shorthanded, other), we take the shooter's unblocked attempts per 60 minutes and the share of them that hit the net, from every game in roughly the last 14 months. Recent games count more (the weight halves every 8 months), and both numbers are shrunk toward the forward or defenseman average, so a hot week or a short history barely moves them. Missed shots recorded in a rink whose scorers log more misses than the league are scaled down using our arena scorer factors.
- 2. How much he will play
- Projected 5-on-5 time is a weighted average of his last 10 games, with the latest counting most. Power-play time is his share of his team's recent PP minutes times the PP time we expect tonight: the average of his team's recent PP time and the opponent's recent shorthanded time. The lineup is whoever dressed in the team's last game, or the forecast lineup when our matchup forecast has one.
- 3. Who he will face
- Every skater gets a 5-on-5 shot-suppression rating from a ridge regression on line changes (RAPM-style): unblocked attempts against while he is on the ice, adjusted for his teammates, the opponents and home ice, with every rating pulled toward zero. A shooter's matchup factor averages the opposing skaters' ratings, weighted by the minutes he is expected to share with each. Those minutes come from the matchup forecast (which knows the home coach has last change) when it is available; otherwise from each opponent's projected 5-on-5 time.
- 4. Power play and venue
- Power-play shots are scaled by the opponent's shots allowed per 60 while shorthanded, shrunk toward the league rate. Home teams shoot a little more at 5-on-5; the home and road split comes from the same regression.
- 5. From an average to a probability
- Shots in one game spread out more than a simple Poisson count, because ice time and role move from night to night. We use a negative binomial distribution whose extra spread was fit on last season's out-of-sample projections, then read off P(2+), P(3+) and P(4+) shots.
Last fit Oct 20: 1,534 games, 998 skaters rated.
How accurate is it?
Held-out test: Oct 7, 2025 – Apr 16, 2026
Every game in the test season was projected using only data from before that day, the way the live model works. Lineups were the players who dressed; ice time was projected, not known. Shots on goal are the official count (shootout attempts excluded), arena scorer factors came from the previous season, and the spread of the distribution was fit on the previous season. Lower log-loss is better. The live model scored 1.5332 against 1.5441 for a shots-per-game baseline given the same distribution (mean squared error 1.723 vs 1.757). Defender matchup ratings improved on the team-level adjustment by +0.00026 nats per projection (95% interval +0.00001 to +0.00053, resampling whole games); mean squared error 1.724 → 1.723. The gain also showed up in the tuning season. It is a real but very small effect. Even with perfect knowledge of who played against whom, the gain would be 0.0000: ice time and the shooter's own volume dominate.
| Model | Projections | Log-loss | Mean sq. error | Correlation |
|---|---|---|---|---|
| Shots per game, last 12 months | 47,230 | 1.5441 | 1.757 | 0.441 |
| Shooter rate × projected ice time | 47,230 | 1.5352 | 1.730 | 0.455 |
| + opponent team 5v5 and penalty kill | 47,230 | 1.5335 | 1.724 | 0.458 |
| + defender ratings by expected matchup (live model) | 47,230 | 1.5332 | 1.723 | 0.458 |
| Hindsight: actual matchups (upper bound, not usable) | 47,230 | 1.5332 | 1.723 | 0.458 |
Show as a table
| Line | Bin | n | Projected | Observed |
|---|---|---|---|---|
| 2+ SOG | 0–10% | 169 | 7.7% | 9.5% |
| 2+ SOG | 10–20% | 3,633 | 16.6% | 16.2% |
| 2+ SOG | 20–30% | 8,907 | 25.3% | 22.9% |
| 2+ SOG | 30–40% | 9,632 | 34.9% | 32.8% |
| 2+ SOG | 40–50% | 8,016 | 44.8% | 43.5% |
| 2+ SOG | 50–60% | 6,692 | 55.0% | 54.5% |
| 2+ SOG | 60–70% | 5,722 | 64.6% | 64.7% |
| 2+ SOG | 70–80% | 3,375 | 74.5% | 74.8% |
| 2+ SOG | 80–90% | 1,067 | 83.0% | 84.7% |
| 2+ SOG | 90–100% | 17 | 90.9% | 100.0% |
| 3+ SOG | 0–10% | 11,961 | 6.5% | 5.9% |
| 3+ SOG | 10–20% | 13,994 | 14.6% | 13.7% |
| 3+ SOG | 20–30% | 8,264 | 24.6% | 23.8% |
| 3+ SOG | 30–40% | 6,282 | 34.8% | 35.5% |
| 3+ SOG | 40–50% | 3,719 | 44.6% | 44.1% |
| 3+ SOG | 50–60% | 2,071 | 54.7% | 56.7% |
| 3+ SOG | 60–70% | 826 | 63.6% | 66.7% |
| 3+ SOG | 70–80% | 112 | 73.1% | 72.3% |
| 3+ SOG | 80–90% | 1 | 80.2% | 0.0% |
| 4+ SOG | 0–10% | 30,086 | 4.1% | 3.8% |
| 4+ SOG | 10–20% | 9,863 | 14.5% | 14.8% |
| 4+ SOG | 20–30% | 4,442 | 24.3% | 24.4% |
| 4+ SOG | 30–40% | 2,020 | 34.6% | 34.6% |
| 4+ SOG | 40–50% | 695 | 43.7% | 44.7% |
| 4+ SOG | 50–60% | 116 | 53.6% | 57.8% |
| 4+ SOG | 60–70% | 8 | 61.8% | 75.0% |
This season so far
3,616 projections across 106 games through Oct 20: 1.54 expected SOG per skater against 1.54 actual.
Show as a table
| Line | Bin | n | Projected | Observed |
|---|---|---|---|---|
| 2+ SOG | 0–10% | 22 | 8.7% | 0.0% |
| 2+ SOG | 10–20% | 246 | 16.4% | 17.5% |
| 2+ SOG | 20–30% | 677 | 25.3% | 21.7% |
| 2+ SOG | 30–40% | 825 | 34.7% | 35.9% |
| 2+ SOG | 40–50% | 641 | 44.8% | 48.0% |
| 2+ SOG | 50–60% | 523 | 54.7% | 50.9% |
| 2+ SOG | 60–70% | 397 | 65.0% | 63.7% |
| 2+ SOG | 70–80% | 223 | 74.1% | 78.0% |
| 2+ SOG | 80–90% | 62 | 82.2% | 79.0% |
| 3+ SOG | 0–10% | 868 | 6.5% | 6.8% |
| 3+ SOG | 10–20% | 1,181 | 14.3% | 14.2% |
| 3+ SOG | 20–30% | 683 | 24.6% | 24.7% |
| 3+ SOG | 30–40% | 422 | 34.7% | 31.8% |
| 3+ SOG | 40–50% | 290 | 44.5% | 46.9% |
| 3+ SOG | 50–60% | 120 | 54.8% | 55.8% |
| 3+ SOG | 60–70% | 51 | 63.0% | 72.5% |
| 3+ SOG | 70–80% | 1 | 71.1% | 0.0% |
| 4+ SOG | 0–10% | 2,390 | 4.1% | 4.4% |
| 4+ SOG | 10–20% | 709 | 14.1% | 12.7% |
| 4+ SOG | 20–30% | 365 | 24.2% | 23.6% |
| 4+ SOG | 30–40% | 108 | 35.3% | 41.7% |
| 4+ SOG | 40–50% | 43 | 43.1% | 51.2% |
| 4+ SOG | 50–60% | 1 | 51.9% | 0.0% |
FAQ
How are NHL shots on goal projections calculated?
Expected SOG = projected ice time at each strength × the shooter's shrunk shots-per-60 at that strength × a matchup factor. The matchup factor comes from the shot-suppression ratings of the opposing skaters he is expected to face at 5-on-5, and from the opponent's penalty kill on the power play. The probabilities come from a negative binomial distribution fit on last season.
Are these betting picks?
No. These are model projections, not bets. The table shows the sportsbook shots line and best prices from up to five US books for context. Since we started logging our projections against those lines before each game (October 2026), the books have been about as accurate as the model on shots on goal, which is not an edge once the bookmaker margin is paid. A 60% projection still misses four times in ten, and the calibration section shows how the probabilities have held up.
How accurate are the projections?
We test the model the way it is used: for every game of a full held-out season, it only sees data from before that day. The methodology section on this page shows the log-loss against a simple shots-per-game baseline and a calibration chart. When we say 40%, it should happen about 40% of the time.
Is this the same SOG number as the daily projections table?
Yes. Tonight's shots on goal and time on ice in the daily fantasy projections table come from this model, so a skater shows the same expected SOG on both pages. On the first graded nights of the season it beat the provider projection it replaced on squared error, log-loss and correlation with actual shots.
Does the opposing defense pair really matter?
Somewhat, and less than ice time and the shooter's own volume. The page reports how much the matchup factor improves accuracy over a team-level adjustment, and how repeatable the defender ratings are from one half of the games to the other. Most matchup factors land between 0.9 and 1.1.
When do the projections update?
Overnight, after the previous night's games, and again during the day as lineups settle. Players who did not dress in their team's last game are left out until they do, so check confirmed lines before puck drop.
Why is a player I expected missing?
The lineup comes from the team's most recent game (or the matchup forecast when it has one). A player returning from injury or a healthy scratch is not projected until he dresses again.