← 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
10
Lines priced
139
Best bets
0
Leans
4
Updated
Oct 19, 6:03 AM CT
backtest · priced at close

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
NSH @ BOS 6:00 PM CT 1.5 -185 +135 60.4% 62.7% 2.27 18.2 (3.2) — -3.4% 4 SOG
NSH @ BOS 6:00 PM CT 1.5 -150 +110 55.8% 59.1% 2.15 19.3 (2.8) — -1.6% 2 SOG
BOS vs NSH 6:00 PM CT 1.5 -135 +105 54.1% 56.4% 2.03 20.0 (2.5) — -1.9% 0 SOG
NSH @ BOS 6:00 PM CT 1.5 -145 +110 55.4% 56.1% 1.92 21.1 (1.9) — -5.1% 1 SOG
BOS vs NSH 6:00 PM CT 1.5 -110 -120 49.0% 51.3% 1.82 18.3 (1.7) — -2.0% 2 SOG
NSH @ BOS 6:00 PM CT 2.5 -105 -125 48.0% 50.9% 2.89 18.7 (3.3) — -0.6% 1 SOG
BOS vs NSH 6:00 PM CT 1.5 -120 -110 51.0% 48.5% 1.57 21.5 (3.1) — -11.1% 2 SOG
NSH @ BOS 6:00 PM CT 3.5 +105 -140 45.5% 46.4% 3.58 19.7 (3.4) — -4.9% 2 SOG
BOS vs NSH 6:00 PM CT 4.5 +115 -155 43.4% 44.3% 4.47 22.5 (3.9) — -4.7% 4 SOG
BOS vs NSH 6:00 PM CT 2.5 +115 -150 43.7% 42.6% 2.37 18.7 (2.5) — -8.4% 1 SOG
BOS vs NSH 6:00 PM CT 2.5 +140 -185 39.1% 39.8% 2.32 19.6 (3.1) — -4.5% 3 SOG
BUF vs SJS 6:00 PM CT 1.5 -195 +145 61.8% 61.7% 2.16 15.8 (3.0) — -6.7% 0 SOG
BUF vs SJS 6:00 PM CT 1.5 -175 +130 59.4% 59.3% 2.06 14.6 (1.5) — -6.8% 2 SOG
SJS @ BUF 6:00 PM CT 1.5 -145 +110 55.4% 57.2% 2.02 15.6 (1.5) — -3.3% 1 SOG
SJS @ BUF 6:00 PM CT 2.5 -170 +125 58.6% 56.4% 2.95 20.1 (2.9) — -10.4% 3 SOG
BUF vs SJS 6:00 PM CT 1.5 -155 +115 56.7% 55.3% 1.83 21.5 (1.8) — -9.0% 0 SOG
BUF vs SJS 6:00 PM CT 2.5 -125 -105 52.0% 53.4% 2.90 18.9 (3.0) — -3.8% 2 SOG
SJS @ BUF 6:00 PM CT 1.5 -115 -115 50.0% 52.8% 1.88 19.5 (2.7) — -1.3% 3 SOG
SJS @ BUF 6:00 PM CT 1.5 -130 +100 53.1% 52.4% 1.80 16.2 (2.2) — -7.2% 2 SOG
BUF vs SJS 6:00 PM CT 2.5 -115 -115 50.0% 50.2% 2.73 19.0 (2.6) — -6.1% 2 SOG
BUF vs SJS 6:00 PM CT 2.5 -105 -125 48.0% 49.7% 2.75 24.4 (3.0) — -2.9% 2 SOG
SJS @ BUF 6:00 PM CT 2.5 -105 -130 47.5% 47.8% 2.60 16.5 (2.8) — -6.7% 4 SOG
BUF vs SJS 6:00 PM CT 3.5 +115 -150 43.7% 42.4% 3.28 17.9 (2.8) — -9.0% 2 SOG
SJS @ BUF 6:00 PM CT 2.5 +125 -170 41.4% 40.6% 2.29 23.8 (2.8) — -8.7% 1 SOG
BUF vs SJS 6:00 PM CT 2.5 +140 -190 38.9% 40.4% 2.38 17.1 (1.9) — -3.0% 5 SOG
DET vs CAR 6:00 PM CT 1.5 -125 -105 52.0% 55.0% 1.94 25.7 (3.3) — -1.1% 2 SOG
DET vs CAR 6:00 PM CT 2.5 -140 +105 54.5% 53.8% 2.86 20.0 (3.3) — -7.8% 3 SOG
CAR @ DET 6:00 PM CT 1.5 -130 +100 53.1% 53.4% 1.83 14.9 (1.2) — -5.6% 4 SOG
DET vs CAR 6:00 PM CT 1.5 -120 -110 51.0% 51.5% 1.75 14.6 (1.8) — -5.6% 2 SOG
DET vs CAR 6:00 PM CT 2.5 -130 -105 52.5% 51.1% 2.71 18.6 (3.3) — -9.7% 1 SOG
DET vs CAR 6:00 PM CT 1.5 -110 -120 49.0% 49.1% 1.70 16.3 (1.1) — -6.2% 3 SOG
CAR @ DET 6:00 PM CT 2.5 -115 -115 50.0% 48.5% 2.62 19.3 (2.8) — -9.3% 2 SOG
CAR @ DET 6:00 PM CT 2.5 -110 -120 49.0% 48.0% 2.63 20.1 (2.6) — -8.3% 2 SOG
CAR @ DET 6:00 PM CT 1.5 -120 -110 51.0% 46.9% 1.52 16.9 (2.2) — -13.9% 3 SOG
CAR @ DET 6:00 PM CT 2.5 +115 -155 43.4% 44.4% 2.50 17.6 (2.3) — -4.5% 2 SOG
DET vs CAR 6:00 PM CT 2.5 +125 -170 41.4% 42.4% 2.44 18.7 (3.2) — -4.6% 1 SOG
CAR @ DET 6:00 PM CT 2.5 +115 -155 43.4% 40.9% 2.28 18.7 (2.5) — -12.2% 2 SOG
DET vs CAR 6:00 PM CT 2.5 +145 -200 38.0% 38.6% 2.28 19.3 (3.2) — -5.5% 2 SOG
CAR @ DET 6:00 PM CT 2.5 +140 -185 39.1% 35.7% 2.03 20.3 (1.7) — -14.3% 1 SOG
CBJ @ TBL 6:00 PM CT 1.5 -185 +135 60.4% 64.9% 2.44 18.5 (1.7) — -0.1% 3 SOG
CBJ @ TBL 6:00 PM CT 1.5 -160 +120 57.5% 63.0% 2.38 18.4 (2.2) OVER lean +2.3% W 2 SOG · +0.63u
TBL vs CBJ 6:00 PM CT 1.5 -170 +130 59.2% 58.8% 2.02 18.6 (1.5) — -6.6% 1 SOG
CBJ @ TBL 6:00 PM CT 2.5 -130 -105 52.5% 58.2% 3.32 27.1 (2.4) OVER lean +3.0% W 4 SOG · +0.77u
TBL vs CBJ 6:00 PM CT 1.5 -120 -110 51.0% 54.7% 1.99 16.4 (1.3) — +0.3% 1 SOG
TBL vs CBJ 6:00 PM CT 2.5 -135 +105 54.1% 54.4% 2.92 20.7 (2.3) — -5.3% 2 SOG
CBJ @ TBL 6:00 PM CT 1.5 -110 -120 49.0% 54.2% 2.00 17.2 (2.2) OVER lean +3.4% W 3 SOG · +0.91u
TBL vs CBJ 6:00 PM CT 2.5 -125 -105 52.0% 52.7% 2.86 19.7 (3.2) — -5.1% 2 SOG
TBL vs CBJ 6:00 PM CT 2.5 -110 -120 49.0% 51.7% 2.92 19.7 (3.2) — -1.2% 7 SOG
CBJ @ TBL 6:00 PM CT 2.5 -105 -125 48.0% 48.3% 2.66 18.9 (2.1) — -5.7% 1 SOG
TBL vs CBJ 6:00 PM CT 3.5 +110 -150 44.3% 45.0% 3.51 22.1 (3.9) — -5.5% 7 SOG
CBJ @ TBL 6:00 PM CT 2.5 +115 -155 43.4% 44.9% 2.53 19.4 (2.0) — -3.6% 3 SOG
TBL vs CBJ 6:00 PM CT 2.5 +120 -160 42.5% 41.9% 2.37 23.4 (2.6) — -7.9% 4 SOG
CBJ @ TBL 6:00 PM CT 2.5 +140 -185 39.1% 37.8% 2.19 15.8 (1.5) — -9.2% 2 SOG
CGY @ PHI 6:00 PM CT 1.5 -190 +145 61.6% 63.1% 2.23 17.5 (2.4) — -3.7% 1 SOG
CGY @ PHI 6:00 PM CT 1.5 -195 +145 61.8% 62.7% 2.22 24.8 (2.6) — -5.2% 4 SOG
CGY @ PHI 6:00 PM CT 1.5 -175 +130 59.4% 59.7% 2.07 17.4 (1.5) — -6.2% 5 SOG
PHI vs CGY 6:00 PM CT 1.5 -160 +120 57.5% 58.5% 2.02 17.0 (1.7) — -5.0% 1 SOG
CGY @ PHI 6:00 PM CT 1.5 -140 +105 54.5% 57.6% 2.06 18.2 (1.3) — -1.2% 0 SOG
CGY @ PHI 6:00 PM CT 2.5 -145 +110 55.4% 56.5% 3.08 18.8 (2.4) — -4.5% 3 SOG
PHI vs CGY 6:00 PM CT 1.5 -125 -105 52.0% 55.1% 1.98 18.0 (1.8) — -0.8% 2 SOG
CGY @ PHI 6:00 PM CT 1.5 -125 -105 52.0% 53.7% 1.88 18.4 (2.4) — -3.4% 0 SOG
PHI vs CGY 6:00 PM CT 1.5 -115 -115 50.0% 52.1% 1.86 17.6 (1.4) — -2.7% 3 SOG
PHI vs CGY 6:00 PM CT 1.5 -105 -125 48.0% 48.9% 1.69 15.7 (2.4) — -4.5% 2 SOG
PHI vs CGY 6:00 PM CT 2.5 +100 -135 46.5% 48.1% 2.70 19.9 (2.9) — -3.8% 2 SOG
PHI vs CGY 6:00 PM CT 1.5 +100 -130 46.9% 46.3% 1.57 20.0 (2.3) — -7.5% 4 SOG
PHI vs CGY 6:00 PM CT 2.5 +100 -130 46.9% 45.8% 2.54 14.6 (1.9) — -8.4% 1 SOG
PHI vs CGY 6:00 PM CT 2.5 +115 -155 43.4% 42.4% 2.36 15.8 (2.8) — -9.0% 6 SOG
WPG @ NYI 6:30 PM CT 1.5 -185 +135 60.4% 60.8% 2.13 20.3 (2.4) — -6.4% 0 SOG
NYI vs WPG 6:30 PM CT 1.5 -170 +130 59.2% 59.8% 2.06 18.0 (1.6) — -5.0% 2 SOG
WPG @ NYI 6:30 PM CT 2.5 -180 +135 60.2% 58.1% 3.02 20.5 (2.4) — -9.6% 4 SOG
WPG @ NYI 6:30 PM CT 1.5 -155 +115 56.7% 57.6% 2.01 18.3 (2.4) — -5.2% 1 SOG
NYI vs WPG 6:30 PM CT 1.5 -130 -105 52.5% 56.5% 2.08 21.9 (2.1) — -0.1% 3 SOG
WPG @ NYI 6:30 PM CT 1.5 -140 +105 54.5% 52.3% 1.72 22.3 (1.4) — -10.3% 1 SOG
NYI vs WPG 6:30 PM CT 2.5 -120 -110 51.0% 50.8% 2.79 19.8 (2.5) — -6.9% 2 SOG
WPG @ NYI 6:30 PM CT 1.5 +100 -135 46.5% 50.6% 1.83 14.6 (1.3) — +1.2% 0 SOG
NYI vs WPG 6:30 PM CT 2.5 +100 -130 46.9% 47.8% 2.67 19.8 (2.1) — -4.5% 1 SOG
NYI vs WPG 6:30 PM CT 2.5 +110 -145 44.6% 45.2% 2.53 17.5 (2.3) — -5.1% 1 SOG
WPG @ NYI 6:30 PM CT 2.5 +100 -130 46.9% 45.1% 2.46 16.1 (2.2) — -9.7% 7 SOG
NYI vs WPG 6:30 PM CT 2.5 +120 -155 42.8% 41.2% 2.31 22.6 (2.3) — -9.5% 3 SOG
WPG @ NYI 6:30 PM CT 2.5 +135 -180 39.8% 38.4% 2.21 24.0 (2.4) — -9.7% 4 SOG
NJD @ DAL 7:00 PM CT 1.5 -185 +140 60.9% 62.8% 2.24 17.9 (2.4) — -3.3% 2 SOG
DAL vs NJD 7:00 PM CT 1.5 -175 +130 59.4% 59.2% 2.05 25.1 (2.8) — -7.0% 2 SOG
DAL vs NJD 7:00 PM CT 1.5 -175 +130 59.4% 57.8% 1.95 16.2 (2.6) — -9.1% 4 SOG
DAL vs NJD 7:00 PM CT 1.5 -145 +110 55.4% 56.7% 1.98 15.7 (1.8) — -4.3% 3 SOG
DAL vs NJD 7:00 PM CT 1.5 -150 +115 56.3% 56.2% 1.94 17.2 (2.8) — -6.4% 0 SOG
DAL vs NJD 7:00 PM CT 1.5 -135 +100 53.5% 55.6% 1.96 13.6 (1.3) — -3.3% 0 SOG
NJD @ DAL 7:00 PM CT 2.5 -155 +115 56.7% 52.6% 2.71 17.6 (1.7) — -13.4% 3 SOG
DAL vs NJD 7:00 PM CT 1.5 +100 -130 46.9% 51.5% 1.91 18.5 (2.5) OVER lean +3.0% L 0 SOG · -1.00u
NJD @ DAL 7:00 PM CT 1.5 -115 -115 50.0% 50.9% 1.75 15.0 (2.2) — -4.9% 5 SOG
NJD @ DAL 7:00 PM CT 2.5 -130 +100 53.1% 50.1% 2.64 21.3 (2.4) — -11.4% 0 SOG
NJD @ DAL 7:00 PM CT 1.5 -105 -125 48.0% 48.8% 1.68 22.2 (1.7) — -4.7% 1 SOG
DAL vs NJD 7:00 PM CT 1.5 +100 -130 46.9% 48.2% 1.67 14.6 (2.0) — -3.5% 1 SOG
DAL vs NJD 7:00 PM CT 2.5 -110 -125 48.5% 46.9% 2.50 17.2 (3.2) — -10.4% 3 SOG
DAL vs NJD 7:00 PM CT 2.5 -110 -120 49.0% 46.7% 2.48 18.3 (3.0) — -10.9% 2 SOG
NJD @ DAL 7:00 PM CT 2.5 +120 -160 42.5% 43.6% 2.49 20.3 (2.6) — -4.0% 2 SOG
COL vs PIT 8:00 PM CT 1.5 -195 +145 61.8% 66.6% 2.51 20.8 (2.8) — +0.8% 5 SOG
COL vs PIT 8:00 PM CT 2.5 -180 +135 60.2% 57.7% 2.95 26.0 (3.5) — -10.2% 2 SOG
COL vs PIT 8:00 PM CT 1.5 -140 +105 54.5% 57.6% 2.06 25.3 (1.2) — -1.3% 2 SOG
PIT @ COL 8:00 PM CT 1.5 -145 +110 55.4% 57.1% 2.02 23.8 (1.7) — -3.5% 2 SOG
COL vs PIT 8:00 PM CT 3.5 -150 +110 55.8% 56.7% 4.11 21.4 (3.6) — -5.6% 2 SOG
COL vs PIT 8:00 PM CT 2.5 -145 +105 54.8% 55.6% 3.02 21.0 (3.4) — -6.0% 2 SOG
PIT @ COL 8:00 PM CT 1.5 -120 -110 51.0% 51.0% 1.74 13.7 (2.1) — -6.6% 2 SOG
PIT @ COL 8:00 PM CT 1.5 -120 -110 51.0% 50.9% 1.75 14.8 (0.4) — -6.7% 5 SOG
COL vs PIT 8:00 PM CT 2.5 -125 -105 52.0% 50.6% 2.72 19.0 (2.9) — -8.9% 2 SOG
PIT @ COL 8:00 PM CT 2.5 -115 -115 50.0% 50.0% 2.75 20.4 (2.8) — -6.6% 2 SOG
COL vs PIT 8:00 PM CT 1.5 -115 -120 49.5% 48.1% 1.60 12.6 (1.3) — -10.2% 0 SOG
PIT @ COL 8:00 PM CT 1.5 +110 -145 44.6% 47.2% 1.69 16.0 (1.8) — -0.9% 2 SOG
PIT @ COL 8:00 PM CT 2.5 +110 -150 44.3% 46.6% 2.66 20.0 (2.5) — -2.2% 2 SOG
PIT @ COL 8:00 PM CT 2.5 +135 -180 39.8% 43.2% 2.57 19.8 (2.5) — +1.6% 3 SOG
PIT @ COL 8:00 PM CT 2.5 +130 -175 40.6% 41.8% 2.39 24.9 (2.4) — -4.0% 3 SOG
EDM vs ANA 8:00 PM CT 2.5 -175 +130 59.4% 63.9% 3.62 23.2 (3.6) — +0.4% 5 SOG
ANA @ EDM 8:00 PM CT 1.5 -180 +135 60.2% 63.1% 2.28 18.7 (2.3) — -1.9% 2 SOG
EDM vs ANA 8:00 PM CT 1.5 -180 +135 60.2% 62.5% 2.27 19.0 (3.5) — -2.7% 2 SOG
ANA @ EDM 8:00 PM CT 1.5 -160 +120 57.5% 61.2% 2.23 17.4 (2.2) — -0.6% 1 SOG
ANA @ EDM 8:00 PM CT 1.5 -175 +130 59.4% 61.1% 2.17 17.5 (2.0) — -4.1% 2 SOG
EDM vs ANA 8:00 PM CT 1.5 -175 +130 59.4% 60.5% 2.13 21.9 (1.1) — -4.9% 3 SOG
EDM vs ANA 8:00 PM CT 2.5 -150 +115 56.3% 59.9% 3.33 19.9 (3.5) — -0.3% 1 SOG
EDM vs ANA 8:00 PM CT 2.5 -140 +105 54.5% 57.2% 3.17 24.4 (3.7) — -1.9% 3 SOG
ANA @ EDM 8:00 PM CT 1.5 -135 +100 53.5% 56.0% 2.00 17.7 (2.2) — -2.5% 1 SOG
ANA @ EDM 8:00 PM CT 1.5 -140 +105 54.5% 53.3% 1.76 23.1 (2.0) — -8.6% 1 SOG
ANA @ EDM 8:00 PM CT 2.5 -120 -110 51.0% 51.9% 2.85 17.5 (2.3) — -4.9% 4 SOG
ANA @ EDM 8:00 PM CT 1.5 -120 -110 51.0% 51.3% 1.76 13.0 (1.2) — -5.9% 3 SOG
ANA @ EDM 8:00 PM CT 1.5 +100 -135 46.5% 49.0% 1.74 17.4 (1.4) — -1.9% 3 SOG
EDM vs ANA 8:00 PM CT 3.5 +120 -160 42.5% 42.3% 3.33 21.9 (3.7) — -7.0% 3 SOG
EDM vs ANA 8:00 PM CT 2.5 +145 -195 38.2% 40.6% 2.41 21.5 (1.2) — -0.4% 1 SOG
EDM vs ANA 8:00 PM CT 2.5 +135 -180 39.8% 40.6% 2.35 14.3 (0.8) — -4.6% 1 SOG
SEA vs MIN 9:00 PM CT 1.5 -200 +150 62.5% 65.9% 2.46 18.2 (2.2) — -1.1% 0 SOG
MIN @ SEA 9:00 PM CT 1.5 -195 +145 61.8% 63.2% 2.28 19.0 (2.6) — -4.3% 2 SOG
SEA vs MIN 9:00 PM CT 1.5 -160 +120 57.5% 62.0% 2.29 22.9 (2.4) — +0.7% 3 SOG
SEA vs MIN 9:00 PM CT 1.5 -150 +115 56.3% 60.5% 2.22 19.6 (2.3) — +0.8% 2 SOG
SEA vs MIN 9:00 PM CT 1.5 -160 +120 57.5% 58.2% 2.02 17.7 (1.8) — -5.4% 1 SOG
SEA vs MIN 9:00 PM CT 1.5 -140 +105 54.5% 57.5% 2.10 15.3 (2.1) — -1.4% 1 SOG
MIN @ SEA 9:00 PM CT 1.5 -130 +100 53.1% 54.3% 1.92 13.5 (1.2) — -4.0% 4 SOG
MIN @ SEA 9:00 PM CT 1.5 -110 -120 49.0% 53.2% 1.95 18.9 (2.2) — +1.6% 1 SOG
MIN @ SEA 9:00 PM CT 1.5 -120 -110 51.0% 47.1% 1.49 13.1 (1.1) — -13.6% 1 SOG
MIN @ SEA 9:00 PM CT 1.5 +110 -145 44.6% 46.4% 1.64 15.8 (1.0) — -2.6% 1 SOG
SEA vs MIN 9:00 PM CT 2.5 +100 -130 46.9% 44.6% 2.41 21.0 (2.1) — -10.8% 7 SOG
MIN @ SEA 9:00 PM CT 3.5 +105 -135 45.9% 42.5% 3.25 20.1 (2.6) — -13.0% 1 SOG
SEA vs MIN 9:00 PM CT 2.5 +130 -175 40.6% 39.5% 2.22 15.9 (2.1) — -9.2% 4 SOG

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