← Models / SOG Model

How the Shots on Goal Model Works

What it does

For every player Hard Rock Bet posts a shots-on-goal line for, the model simulates the game 10,000 times and counts how often the player goes over. That gives a probability for every shot count (0, 1, 2 … 10+) — the bars under each pick — and the probability of going over Hard Rock's line.

Model vs Sim: the probability the picks use (Model) blends the simulation with Hard Rock's own de-vigged price, weighted 35% simulation / 65% market. In a two-season backtest the simulation alone was about as accurate as the closing line, but the blend was measurably more accurate than either — each knows things the other doesn't. The weight is re-fitted every week on graded results. Sim (in each row's detail) is the raw simulation.

How a simulation works

  • Game script — each simulated game draws how many power plays each team gets, how the score unfolds (from Hard Rock's moneyline and total), whether a trailing team pulls its goalie late, and whether it goes to 3-on-3 overtime. Every player on a team shares the same script, so a power-play-heavy night lifts the whole PP unit together.
  • Ice time — the player's share of his team's even-strength, power-play, penalty-kill, 6-on-5 and overtime minutes, from his recent deployment, plus a realistic random swing drawn from real games (including nights cut short by injury).
  • Shot rate — shots per 60 minutes in each situation, estimated from his history and pulled toward forward/defenseman norms when the sample is small. Adjusted for the opponent's shot suppression, the arena's scorekeeper tendencies, home ice, back-to-backs, and score state (trailing teams shoot more).

Reading the board

  • Book — Hard Rock's probability for the over with the vig removed.
  • Model — the model's probability for the over (simulation blended with the market, see above).
  • Proj — average simulated shots; TOI — expected minutes (power-play minutes in brackets).
  • EV — expected profit per 1 unit bet at Hard Rock's price on the model's side.
  • Fair — the price at which the bet would break even by the model.

Best bets & leans

Best bet: EV of at least 5% and the model at least 4 percentage points away from the de-vigged line. Lean: EV of at least 2%. Only lines with both an over and an under price can be picks. Stake is 0.25× Kelly as a share of bankroll — a sizing guide, not a promise.

Settlement & timing

Graded like the sportsbooks grade it: overtime counts, shootouts don't, and a player who doesn't take a shift is a void. Predictions refresh every 30 minutes on game days as lines move and lock at puck drop; the locked prediction is what gets graded. Every pick is tracked on Pick history and Performance, including how the line moved after the pick (CLV).

Honest expectations

Shots on goal are noisy — a 3-shot-per-game player still goes under 2.5 often. The model aims to be well calibrated, not to call every game. Results before live tracking come from a walk-forward backtest priced at Hard Rock's closing lines, using only information available before each game.

Informational only. Not betting advice.

Games
9
Lines priced
117
Best bets
3
Leans
12
Updated
Oct 19, 6:03 AM CT
backtest · priced at close

Best Bets

Ben Kindel
PIT @ STL · 8:30 PM CT · F
UNDER 1.5
Price+140
Model45.2%
Book39.1%
EV+8.4%
Fair+121
Stake1.5%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.57 SOG · 13.2 min (1.3 PP) W 1 SOG · +1.40u
Noah Cates
PHI vs MTL · 6:00 PM CT · F
UNDER 1.5
Price+125
Model47.5%
Book41.7%
EV+6.9%
Fair+111
Stake1.4%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.51 SOG · 15.0 min (2.2 PP) L 2 SOG · -1.00u
Shayne Gostisbehere
CAR @ NYI · 6:00 PM CT · D
UNDER 2.5
Price-125
Model59.3%
Book52.0%
EV+6.7%
Fair-146
Stake2.1%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.94 SOG · 19.1 min (2.6 PP) role change W 0 SOG · +0.80u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
NJD @ BOS 6:00 PM CT 1.5 -160 +120 57.5% 57.3% 1.96 18.8 (1.4) — -6.8% 2 SOG
NJD @ BOS 6:00 PM CT 1.5 -155 +115 56.7% 56.3% 1.93 19.7 (2.6) — -7.4% 1 SOG
BOS vs NJD 6:00 PM CT 1.5 -145 +110 55.4% 55.2% 1.88 25.0 (2.7) — -6.7% 0 SOG
NJD @ BOS 6:00 PM CT 3.5 -155 +115 56.7% 55.0% 3.87 22.2 (3.1) — -9.6% 2 SOG
BOS vs NJD 6:00 PM CT 1.5 -140 +105 54.5% 54.6% 1.88 17.9 (2.4) — -6.5% 0 SOG
BOS vs NJD 6:00 PM CT 1.5 -120 -110 51.0% 50.7% 1.74 16.9 (2.6) — -7.0% 0 SOG
NJD @ BOS 6:00 PM CT 1.5 -125 -110 51.5% 49.0% 1.55 20.8 (1.6) — -11.7% 0 SOG
NJD @ BOS 6:00 PM CT 2.5 -110 -120 49.0% 47.4% 2.52 20.4 (3.0) — -9.4% 0 SOG
NJD @ BOS 6:00 PM CT 2.5 -115 -115 50.0% 46.5% 2.36 20.7 (2.0) — -13.1% 3 SOG
BOS vs NJD 6:00 PM CT 2.5 -105 -125 48.0% 45.3% 2.36 14.9 (1.9) — -11.6% 1 SOG
NJD @ BOS 6:00 PM CT 3.5 +100 -130 46.9% 43.4% 3.14 18.5 (1.8) — -13.2% 0 SOG
BOS vs NJD 6:00 PM CT 3.5 +125 -165 41.7% 41.3% 3.29 20.4 (3.2) — -7.0% 3 SOG
NJD @ BOS 6:00 PM CT 2.5 +135 -185 39.6% 40.9% 2.44 18.7 (2.8) — -4.0% 0 SOG
BOS vs NJD 6:00 PM CT 2.5 +135 -180 39.8% 38.0% 2.10 17.6 (2.6) — -10.8% 2 SOG
NYI vs CAR 6:00 PM CT 1.5 -155 +115 56.7% 56.4% 1.96 15.1 (1.8) — -7.2% 3 SOG
NYI vs CAR 6:00 PM CT 1.5 -150 +115 56.3% 54.9% 1.81 20.3 (1.5) — -8.5% 1 SOG
NYI vs CAR 6:00 PM CT 2.5 -140 +105 54.5% 53.0% 2.78 19.7 (3.2) — -9.1% 2 SOG
CAR @ NYI 6:00 PM CT 1.5 -155 +115 56.7% 51.9% 1.55 19.9 (1.8) UNDER lean +3.3% W 0 SOG · +1.15u
NYI vs CAR 6:00 PM CT 2.5 -120 -110 51.0% 48.3% 2.52 26.3 (3.4) — -11.4% 5 SOG
CAR @ NYI 6:00 PM CT 1.5 -105 -125 48.0% 45.2% 1.45 15.3 (0.1) — -11.7% 1 SOG
CAR @ NYI 6:00 PM CT 2.5 +100 -130 46.9% 43.4% 2.20 16.7 (1.7) — -13.3% 2 SOG
CAR @ NYI 6:00 PM CT 2.5 -105 -130 47.5% 43.0% 2.18 17.1 (1.8) — -16.0% 4 SOG
CAR @ NYI 6:00 PM CT 2.5 -105 -125 48.0% 40.7% 1.94 19.1 (2.6) UNDER best +6.7% W 0 SOG · +0.80u
NYI vs CAR 6:00 PM CT 2.5 +130 -175 40.6% 39.9% 2.27 19.9 (3.4) — -8.3% 3 SOG
MTL @ PHI 6:00 PM CT 2.5 -165 +120 57.8% 53.5% 2.62 17.4 (3.3) UNDER lean +2.3% L 10 SOG · -1.00u
PHI vs MTL 6:00 PM CT 1.5 -165 +125 58.4% 52.5% 1.51 15.0 (2.2) UNDER best +6.9% L 2 SOG · -1.00u
MTL @ PHI 6:00 PM CT 1.5 -135 +100 53.5% 49.8% 1.52 15.0 (3.1) — -13.4% 1 SOG
PHI vs MTL 6:00 PM CT 2.5 -125 -105 52.0% 48.0% 2.40 17.0 (2.7) — -13.6% 5 SOG
MTL @ PHI 6:00 PM CT 1.5 +135 -180 39.8% 41.2% 1.50 23.9 (3.4) — -3.2% 0 SOG
MTL @ PHI 6:00 PM CT 2.5 +105 -140 45.5% 40.3% 2.05 18.8 (3.3) UNDER lean +2.3% W 2 SOG · +0.71u
PHI vs MTL 6:00 PM CT 2.5 +125 -165 41.7% 38.1% 2.03 17.1 (2.5) — -14.3% 2 SOG
MTL @ PHI 6:00 PM CT 2.5 +140 -185 39.1% 36.5% 2.03 19.6 (3.4) — -12.4% 1 SOG
PHI vs MTL 6:00 PM CT 2.5 +145 -195 38.2% 36.3% 2.02 14.7 (2.6) — -11.2% 8 SOG
WSH @ CBJ 6:00 PM CT 1.5 -190 +140 61.1% 59.9% 2.02 18.9 (2.3) — -8.5% 2 SOG
WSH @ CBJ 6:00 PM CT 1.5 -195 +145 61.8% 59.7% 1.94 14.6 (1.9) — -9.8% 2 SOG
CBJ vs WSH 6:00 PM CT 1.5 -175 +130 59.4% 59.2% 2.06 17.3 (3.2) — -6.9% 3 SOG
WSH @ CBJ 6:00 PM CT 1.5 -160 +120 57.5% 57.1% 1.92 17.4 (0.4) — -7.2% 2 SOG
CBJ vs WSH 6:00 PM CT 1.5 -150 +110 55.8% 56.0% 1.93 16.3 (0.5) — -6.7% 4 SOG
WSH @ CBJ 6:00 PM CT 1.5 -140 +105 54.5% 55.1% 1.95 16.4 (2.8) — -5.6% 1 SOG
CBJ vs WSH 6:00 PM CT 1.5 -135 +100 53.5% 54.6% 1.93 18.7 (3.1) — -5.0% 2 SOG
CBJ vs WSH 6:00 PM CT 1.5 -140 +105 54.5% 53.4% 1.77 24.8 (1.2) — -8.5% 4 SOG
CBJ vs WSH 6:00 PM CT 2.5 -135 +100 53.5% 52.0% 2.74 18.9 (3.4) — -9.6% 4 SOG
WSH @ CBJ 6:00 PM CT 1.5 -125 -110 51.5% 51.7% 1.79 17.2 (2.5) — -6.9% 2 SOG
WSH @ CBJ 6:00 PM CT 1.5 -110 -120 49.0% 50.8% 1.82 16.5 (1.4) — -3.0% 0 SOG
WSH @ CBJ 6:00 PM CT 1.5 -135 +100 53.5% 50.1% 1.56 17.9 (2.2) — -12.8% 1 SOG
CBJ vs WSH 6:00 PM CT 2.5 -115 -115 50.0% 49.4% 2.67 19.0 (3.0) — -7.6% 0 SOG
CBJ vs WSH 6:00 PM CT 3.5 +100 -130 46.9% 47.1% 3.62 27.7 (3.6) — -5.8% 3 SOG
WSH @ CBJ 6:00 PM CT 2.5 +115 -155 43.4% 41.8% 2.29 22.1 (2.4) — -10.2% 1 SOG
WSH @ CBJ 6:00 PM CT 3.5 +115 -155 43.4% 39.2% 2.93 16.6 (4.0) — -15.7% 4 SOG
ANA @ MIN 7:00 PM CT 1.5 -195 +145 61.8% 62.8% 2.29 24.2 (2.6) — -5.1% 1 SOG
ANA @ MIN 7:00 PM CT 1.5 -165 +120 57.8% 58.5% 2.07 19.8 (2.8) — -6.0% 3 SOG
ANA @ MIN 7:00 PM CT 1.5 -160 +120 57.5% 55.9% 1.84 23.4 (0.5) — -9.2% 2 SOG
ANA @ MIN 7:00 PM CT 1.5 -110 -120 49.0% 51.7% 1.92 17.4 (1.5) — -1.2% 2 SOG
ANA @ MIN 7:00 PM CT 1.5 -125 -105 52.0% 50.3% 1.63 12.5 (1.6) — -9.5% 5 SOG
MIN vs ANA 7:00 PM CT 1.5 -135 +105 54.1% 49.8% 1.50 14.8 (1.5) UNDER lean +3.0% L 3 SOG · -1.00u
ANA @ MIN 7:00 PM CT 2.5 -115 -115 50.0% 49.1% 2.63 18.5 (2.9) — -8.3% 2 SOG
ANA @ MIN 7:00 PM CT 2.5 -115 -115 50.0% 49.0% 2.58 17.8 (2.5) — -8.5% 2 SOG
MIN vs ANA 7:00 PM CT 1.5 -130 -105 52.5% 48.8% 1.48 14.5 (1.9) — -13.7% 2 SOG
ANA @ MIN 7:00 PM CT 2.5 -110 -120 49.0% 47.2% 2.49 18.4 (3.0) — -9.9% 6 SOG
ANA @ MIN 7:00 PM CT 1.5 +130 -175 40.6% 44.7% 1.76 23.9 (2.3) OVER lean +2.8% W 3 SOG · +1.30u
MIN vs ANA 7:00 PM CT 2.5 +100 -135 46.5% 40.4% 1.94 15.0 (2.0) UNDER lean +3.8% W 0 SOG · +0.74u
ANA @ MIN 7:00 PM CT 3.5 +115 -155 43.4% 37.2% 2.70 14.2 (2.6) UNDER lean +3.3% L 4 SOG · -1.00u
WPG @ UTA 8:00 PM CT 1.5 -185 +135 60.4% 62.1% 2.27 21.4 (3.3) — -4.3% 2 SOG
WPG @ UTA 8:00 PM CT 1.5 -190 +140 61.1% 60.6% 2.07 24.7 (3.2) — -7.6% 2 SOG
WPG @ UTA 8:00 PM CT 2.5 -165 +125 58.4% 58.4% 3.13 21.2 (3.2) — -6.2% 6 SOG
UTA vs WPG 8:00 PM CT 1.5 -165 +125 58.4% 58.3% 2.05 17.3 (2.8) — -6.4% 3 SOG
UTA vs WPG 8:00 PM CT 1.5 -155 +115 56.7% 56.4% 1.94 23.8 (3.0) — -7.3% 6 SOG
UTA vs WPG 8:00 PM CT 1.5 -165 +125 58.4% 56.0% 1.82 16.9 (1.1) — -10.0% 1 SOG
WPG @ UTA 8:00 PM CT 1.5 -130 +100 53.1% 55.2% 2.02 16.3 (2.4) — -2.3% 1 SOG
UTA vs WPG 8:00 PM CT 1.5 -135 +105 54.1% 53.6% 1.83 14.8 (1.5) — -6.8% 4 SOG
UTA vs WPG 8:00 PM CT 1.5 -135 +100 53.5% 52.8% 1.80 21.0 (1.3) — -8.1% 0 SOG
UTA vs WPG 8:00 PM CT 2.5 -130 -105 52.5% 52.3% 2.83 19.0 (3.3) — -7.4% 2 SOG
UTA vs WPG 8:00 PM CT 1.5 -130 -105 52.5% 52.0% 1.74 13.6 (1.2) — -8.1% 0 SOG
WPG @ UTA 8:00 PM CT 1.5 -110 -120 49.0% 52.0% 1.94 18.4 (3.1) — -0.8% 1 SOG
UTA vs WPG 8:00 PM CT 2.5 +100 -135 46.5% 44.6% 2.38 19.2 (3.2) — -10.9% 8 SOG
UTA vs WPG 8:00 PM CT 1.5 +130 -175 40.6% 38.3% 1.26 17.8 (0.7) — -11.8% 1 SOG
UTA vs WPG 8:00 PM CT 3.5 +120 -165 42.2% 38.2% 2.86 17.5 (3.1) — -16.0% 1 SOG
CGY vs COL 8:00 PM CT 1.5 -180 +135 60.2% 61.0% 2.16 18.3 (1.3) — -5.1% 2 SOG
CGY vs COL 8:00 PM CT 1.5 -175 +130 59.4% 59.9% 2.13 17.4 (2.5) — -5.9% 2 SOG
COL @ CGY 8:00 PM CT 3.5 -170 +130 59.2% 58.4% 4.16 22.1 (4.0) — -7.3% 4 SOG
COL @ CGY 8:00 PM CT 2.5 -150 +115 56.3% 55.7% 2.94 22.1 (3.8) — -7.3% 5 SOG
COL @ CGY 8:00 PM CT 1.5 -170 +130 59.2% 54.5% 1.65 11.5 (0.5) UNDER lean +4.6% W 0 SOG · +1.30u
COL @ CGY 8:00 PM CT 2.5 -165 +125 58.4% 54.2% 2.64 23.6 (3.5) UNDER lean +3.1% L 4 SOG · -1.00u
CGY vs COL 8:00 PM CT 1.5 -130 +100 53.1% 53.9% 1.91 16.7 (2.7) — -4.6% 2 SOG
CGY vs COL 8:00 PM CT 1.5 -120 -110 51.0% 50.5% 1.71 14.2 (1.8) — -7.5% 3 SOG
CGY vs COL 8:00 PM CT 1.5 -135 +100 53.5% 50.2% 1.57 19.9 (2.8) — -12.6% 2 SOG
CGY vs COL 8:00 PM CT 2.5 -120 -110 51.0% 49.2% 2.56 18.6 (2.3) — -9.8% 4 SOG
CGY vs COL 8:00 PM CT 1.5 -105 -125 48.0% 47.2% 1.58 15.1 (1.2) — -7.8% 3 SOG
COL @ CGY 8:00 PM CT 2.5 +100 -130 46.9% 44.4% 2.35 16.9 (2.7) — -11.1% 5 SOG
COL @ CGY 8:00 PM CT 2.5 -110 -120 49.0% 43.0% 2.09 20.5 (0.5) UNDER lean +4.6% W 2 SOG · +0.83u
COL @ CGY 8:00 PM CT 2.5 +140 -185 39.1% 37.8% 2.15 16.3 (1.1) — -9.4% 1 SOG
COL @ CGY 8:00 PM CT 2.5 +120 -155 42.8% 37.4% 1.91 18.6 (0.7) UNDER lean +3.0% W 0 SOG · +0.65u
PIT @ STL 8:30 PM CT 1.5 -180 +135 60.2% 56.6% 1.73 15.0 (1.3) — -11.9% 2 SOG
PIT @ STL 8:30 PM CT 1.5 -170 +125 58.6% 56.3% 1.81 15.1 (2.3) — -10.5% 3 SOG
PIT @ STL 8:30 PM CT 1.5 -185 +140 60.9% 54.8% 1.57 13.2 (1.3) UNDER best +8.4% W 1 SOG · +1.40u
STL vs PIT 8:30 PM CT 1.5 -130 +100 53.1% 54.5% 1.92 19.7 (3.0) — -3.5% 1 SOG
STL vs PIT 8:30 PM CT 2.5 -130 -105 52.5% 50.4% 2.62 18.8 (2.9) — -10.8% 5 SOG
STL vs PIT 8:30 PM CT 1.5 -110 -120 49.0% 49.4% 1.73 17.1 (2.5) — -5.6% 2 SOG
STL vs PIT 8:30 PM CT 2.5 -120 -110 51.0% 47.3% 2.40 17.7 (2.9) — -13.3% 3 SOG
PIT @ STL 8:30 PM CT 1.5 -120 -110 51.0% 46.8% 1.41 12.0 (0.9) — -14.3% 2 SOG
PIT @ STL 8:30 PM CT 1.5 -110 -120 49.0% 43.8% 1.30 11.8 (0.7) UNDER lean +3.1% W 1 SOG · +0.83u
PIT @ STL 8:30 PM CT 1.5 +105 -140 45.5% 41.2% 1.23 11.9 (0.4) — -15.6% 1 SOG
STL vs PIT 8:30 PM CT 2.5 +125 -170 41.4% 39.7% 2.20 15.1 (2.1) — -10.7% 2 SOG
VAN vs LAK 9:00 PM CT 1.5 -160 +120 57.5% 57.2% 1.94 18.3 (3.0) — -7.1% 1 SOG
VAN vs LAK 9:00 PM CT 1.5 -165 +125 58.4% 56.6% 1.85 16.1 (1.0) — -9.2% 2 SOG
LAK @ VAN 9:00 PM CT 2.5 -170 +130 59.2% 56.4% 2.84 20.5 (2.4) — -10.4% 3 SOG
LAK @ VAN 9:00 PM CT 1.5 -135 +100 53.5% 53.8% 1.88 19.8 (2.5) — -6.4% 3 SOG
LAK @ VAN 9:00 PM CT 2.5 -140 +105 54.5% 52.0% 2.68 19.4 (3.2) — -10.9% 1 SOG
LAK @ VAN 9:00 PM CT 2.5 -135 +100 53.5% 51.6% 2.70 18.3 (2.7) — -10.2% 5 SOG
LAK @ VAN 9:00 PM CT 1.5 -110 -120 49.0% 50.1% 1.75 19.4 (2.6) — -4.4% 1 SOG
LAK @ VAN 9:00 PM CT 1.5 -105 -125 48.0% 47.4% 1.58 15.7 (0.8) — -7.5% 3 SOG
VAN vs LAK 9:00 PM CT 2.5 -115 -115 50.0% 46.1% 2.34 16.9 (2.9) — -13.9% 6 SOG
VAN vs LAK 9:00 PM CT 1.5 +120 -155 42.8% 45.2% 1.67 17.0 (2.9) — -0.5% 1 SOG
LAK @ VAN 9:00 PM CT 2.5 +115 -155 43.4% 43.7% 2.47 18.3 (1.0) — -6.1% 2 SOG
LAK @ VAN 9:00 PM CT 2.5 +125 -170 41.4% 40.3% 2.25 20.0 (1.4) — -9.3% 3 SOG
VAN vs LAK 9:00 PM CT 2.5 +130 -175 40.6% 39.9% 2.26 19.2 (3.2) — -8.2% 2 SOG
VAN vs LAK 9:00 PM CT 2.5 +135 -185 39.6% 35.5% 1.90 26.1 (2.7) — -16.7% 1 SOG

Click a row for the shot distribution and model inputs. Hard Rock lines only. Model fitted through 2026-10-18.