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

Best Bets

Jason Zucker
BUF vs CAR · 6:00 PM CT · F
OVER 1.5
Price-105
Model54.8%
Book48.0%
EV+6.9%
Fair-121
Stake1.8%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.18 SOG · 15.6 min (3.3 PP) L 1 SOG · -1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
BUF vs CAR 6:00 PM CT 1.5 -185 +140 60.9% 65.9% 2.62 18.4 (3.3) — +1.5% 2 SOG
BUF vs CAR 6:00 PM CT 1.5 -190 +140 61.1% 65.8% 2.60 23.0 (3.5) — +0.4% 0 SOG
BUF vs CAR 6:00 PM CT 1.5 -180 +135 60.2% 64.6% 2.48 18.1 (3.0) — +0.5% 2 SOG
CAR @ BUF 6:00 PM CT 1.5 -200 +150 62.5% 61.5% 2.07 15.7 (2.6) — -7.8% 1 SOG
BUF vs CAR 6:00 PM CT 2.5 -160 +120 57.5% 60.1% 3.37 19.1 (3.2) — -2.4% 2 SOG
BUF vs CAR 6:00 PM CT 1.5 -145 +110 55.4% 58.6% 2.20 15.6 (1.6) — -1.0% 0 SOG
CAR @ BUF 6:00 PM CT 1.5 -160 +120 57.5% 57.4% 1.96 20.4 (1.8) — -6.7% 0 SOG
CAR @ BUF 6:00 PM CT 1.5 -155 +115 56.7% 56.4% 1.93 16.0 (2.6) — -7.2% 0 SOG
CAR @ BUF 6:00 PM CT 1.5 -135 +100 53.5% 54.9% 1.97 14.3 (2.1) — -4.4% 1 SOG
BUF vs CAR 6:00 PM CT 1.5 -105 -125 48.0% 54.8% 2.18 15.6 (3.3) OVER best +6.9% L 1 SOG · -1.00u
CAR @ BUF 6:00 PM CT 1.5 -120 -110 51.0% 50.4% 1.69 14.5 (1.6) — -7.6% 1 SOG
CAR @ BUF 6:00 PM CT 1.5 -120 -110 51.0% 49.5% 1.65 18.0 (1.0) — -9.2% 3 SOG
CAR @ BUF 6:00 PM CT 1.5 +100 -130 46.9% 47.4% 1.63 19.1 (3.1) — -5.1% 3 SOG
CAR @ BUF 6:00 PM CT 2.5 -105 -125 48.0% 45.5% 2.39 18.3 (3.1) — -11.2% 5 SOG
CAR @ BUF 6:00 PM CT 2.5 +110 -145 44.6% 42.9% 2.37 18.7 (3.2) — -9.9% 5 SOG
CAR @ BUF 6:00 PM CT 2.5 +130 -175 40.6% 40.0% 2.28 15.6 (1.6) — -7.9% 2 SOG
MTL vs DET 6:00 PM CT 1.5 -160 +120 57.5% 60.7% 2.27 18.9 (3.6) — -1.4% 1 SOG
MTL vs DET 6:00 PM CT 1.5 -185 +140 60.9% 60.5% 2.12 14.8 (3.6) — -6.8% 0 SOG
MTL vs DET 6:00 PM CT 2.5 -155 +115 56.7% 58.6% 3.27 18.8 (3.6) — -3.7% 2 SOG
MTL vs DET 6:00 PM CT 1.5 -145 +110 55.4% 56.4% 2.02 14.7 (1.3) — -4.7% 2 SOG
DET @ MTL 6:00 PM CT 2.5 -145 +110 55.4% 55.4% 2.95 18.3 (3.0) — -6.4% 6 SOG
MTL vs DET 6:00 PM CT 1.5 -140 +105 54.5% 55.4% 1.93 24.8 (1.5) — -5.1% 4 SOG
DET @ MTL 6:00 PM CT 1.5 -135 +100 53.5% 54.5% 1.92 25.1 (3.1) — -5.2% 1 SOG
DET @ MTL 6:00 PM CT 1.5 -120 -110 51.0% 51.6% 1.79 16.0 (1.4) — -5.5% 1 SOG
DET @ MTL 6:00 PM CT 2.5 -110 -125 48.5% 50.4% 2.85 20.6 (3.1) — -3.9% 3 SOG
DET @ MTL 6:00 PM CT 2.5 +105 -140 45.5% 46.5% 2.66 18.8 (3.1) — -4.6% 2 SOG
MTL vs DET 6:00 PM CT 1.5 +110 -145 44.6% 44.8% 1.55 17.0 (0.4) — -5.9% 0 SOG
MTL vs DET 6:00 PM CT 2.5 +120 -160 42.5% 44.0% 2.53 21.4 (4.2) — -3.3% 1 SOG
DET @ MTL 6:00 PM CT 2.5 +125 -170 41.4% 42.3% 2.44 19.4 (3.0) — -4.8% 4 SOG
FLA vs TOR 6:00 PM CT 1.5 -195 +145 61.8% 63.4% 2.31 25.2 (3.5) — -4.1% 2 SOG
TOR @ FLA 6:00 PM CT 1.5 -175 +130 59.4% 62.0% 2.27 15.4 (1.3) — -2.6% 1 SOG
FLA vs TOR 6:00 PM CT 1.5 -180 +135 60.2% 61.9% 2.23 23.5 (0.6) — -3.7% 8 SOG
TOR @ FLA 6:00 PM CT 1.5 -150 +115 56.3% 61.1% 2.35 20.8 (3.4) — +1.9% 0 SOG
TOR @ FLA 6:00 PM CT 1.5 -125 -105 52.0% 58.0% 2.26 18.8 (3.1) OVER lean +4.4% W 3 SOG · +0.80u
FLA vs TOR 6:00 PM CT 1.5 -165 +125 58.4% 56.7% 1.88 14.2 (1.4) — -9.0% 0 SOG
FLA vs TOR 6:00 PM CT 2.5 -155 +115 56.7% 55.5% 2.93 21.3 (3.7) — -8.6% 3 SOG
TOR @ FLA 6:00 PM CT 2.5 -105 -125 48.0% 52.5% 3.12 19.0 (3.3) OVER lean +2.5% L 0 SOG · -1.00u
FLA vs TOR 6:00 PM CT 2.5 -135 +100 53.5% 52.3% 2.75 16.6 (1.8) — -9.0% 2 SOG
TOR @ FLA 6:00 PM CT 3.5 +100 -135 46.5% 48.0% 3.74 20.1 (3.4) — -3.9% 1 SOG
TOR @ FLA 6:00 PM CT 2.5 +125 -165 41.7% 44.3% 2.62 18.1 (3.1) — -0.3% 2 SOG
FLA vs TOR 6:00 PM CT 2.5 +125 -165 41.7% 42.5% 2.46 17.8 (2.9) — -4.4% 4 SOG
FLA vs TOR 6:00 PM CT 2.5 +135 -180 39.8% 41.6% 2.46 20.6 (3.5) — -2.2% 2 SOG
FLA vs TOR 6:00 PM CT 2.5 +120 -160 42.5% 38.7% 2.07 17.1 (1.5) — -15.0% 6 SOG
FLA vs TOR 6:00 PM CT 2.5 +135 -185 39.6% 37.7% 2.11 15.8 (3.1) — -11.3% 1 SOG
BOS @ NJD 6:00 PM CT 1.5 -150 +115 56.3% 58.6% 2.12 18.5 (2.5) — -2.4% 3 SOG
NJD vs BOS 6:00 PM CT 1.5 -140 +105 54.5% 55.9% 1.98 16.7 (2.1) — -4.3% 3 SOG
NJD vs BOS 6:00 PM CT 1.5 -160 +120 57.5% 55.1% 1.80 22.8 (3.2) — -10.5% 3 SOG
BOS @ NJD 6:00 PM CT 1.5 -135 +100 53.5% 54.9% 1.96 17.7 (2.6) — -4.5% 1 SOG
NJD vs BOS 6:00 PM CT 1.5 -150 +110 55.8% 54.8% 1.81 17.7 (2.8) — -8.8% 3 SOG
BOS @ NJD 6:00 PM CT 3.5 -105 -130 47.5% 47.5% 3.59 19.7 (3.3) — -7.2% 1 SOG
NJD vs BOS 6:00 PM CT 1.5 -110 -120 49.0% 47.3% 1.57 15.3 (0.5) — -9.7% 1 SOG
BOS @ NJD 6:00 PM CT 1.5 -105 -125 48.0% 47.1% 1.61 14.2 (1.4) — -8.0% 2 SOG
NJD vs BOS 6:00 PM CT 2.5 +110 -150 44.3% 44.5% 2.52 21.0 (3.5) — -6.5% 0 SOG
NJD vs BOS 6:00 PM CT 2.5 +130 -175 40.6% 42.8% 2.52 19.8 (3.5) — -1.6% 1 SOG
NJD vs BOS 6:00 PM CT 3.5 +130 -175 40.6% 38.6% 3.06 18.7 (3.1) — -11.3% 2 SOG
CBJ vs OTT 6:00 PM CT 1.5 -180 +135 60.2% 64.0% 2.44 19.0 (3.3) — -0.4% 3 SOG
OTT @ CBJ 6:00 PM CT 1.5 -170 +130 59.2% 60.5% 2.12 23.1 (1.9) — -3.9% 3 SOG
OTT @ CBJ 6:00 PM CT 1.5 -175 +130 59.4% 58.8% 2.00 15.4 (1.8) — -7.7% 6 SOG
OTT @ CBJ 6:00 PM CT 1.5 -150 +110 55.8% 58.6% 2.17 19.4 (3.0) — -2.3% 1 SOG
CBJ vs OTT 6:00 PM CT 1.5 -140 +105 54.5% 57.8% 2.16 15.8 (2.2) — -1.0% 1 SOG
CBJ vs OTT 6:00 PM CT 1.5 -125 -105 52.0% 55.5% 2.04 18.4 (3.5) — -0.1% 5 SOG
OTT @ CBJ 6:00 PM CT 1.5 -140 +105 54.5% 53.2% 1.76 17.2 (0.7) — -8.8% 1 SOG
OTT @ CBJ 6:00 PM CT 1.5 -130 +100 53.1% 51.7% 1.73 14.7 (2.0) — -8.6% 4 SOG
OTT @ CBJ 6:00 PM CT 1.5 -125 -105 52.0% 50.9% 1.67 17.9 (1.9) — -8.5% 2 SOG
CBJ vs OTT 6:00 PM CT 2.5 +100 -135 46.5% 48.2% 2.71 19.6 (2.9) — -3.6% 2 SOG
CBJ vs OTT 6:00 PM CT 2.5 +105 -140 45.5% 47.0% 2.67 18.3 (3.5) — -3.7% 2 SOG
CBJ vs OTT 6:00 PM CT 3.5 +115 -150 43.7% 45.2% 3.62 27.4 (3.6) — -2.8% 3 SOG
CBJ vs OTT 6:00 PM CT 2.5 +135 -180 39.8% 40.8% 2.38 17.6 (2.1) — -4.2% 4 SOG
OTT @ CBJ 6:00 PM CT 2.5 +145 -195 38.2% 38.6% 2.27 17.2 (2.3) — -5.6% 1 SOG
OTT @ CBJ 6:00 PM CT 2.5 +130 -175 40.6% 38.4% 2.14 24.1 (2.8) — -11.8% 7 SOG
OTT @ CBJ 6:00 PM CT 2.5 +140 -190 38.9% 38.0% 2.16 17.1 (2.5) — -8.8% 5 SOG
PIT vs CHI 6:00 PM CT 1.5 -180 +135 60.2% 60.5% 2.12 24.2 (1.8) — -5.9% 2 SOG
PIT vs CHI 6:00 PM CT 1.5 -155 +115 56.7% 58.2% 2.06 17.6 (2.2) — -4.3% 0 SOG
PIT vs CHI 6:00 PM CT 2.5 -135 +100 53.5% 54.7% 3.00 20.4 (3.2) — -4.8% 3 SOG
CHI @ PIT 6:00 PM CT 1.5 -135 +105 54.1% 54.5% 1.89 16.1 (1.8) — -5.2% 1 SOG
PIT vs CHI 6:00 PM CT 2.5 -125 -110 51.5% 53.6% 2.99 20.5 (3.6) — -3.5% 6 SOG
CHI @ PIT 6:00 PM CT 1.5 -120 -110 51.0% 53.6% 1.95 16.8 (0.7) — -1.8% 0 SOG
PIT vs CHI 6:00 PM CT 1.5 -140 +105 54.5% 52.1% 1.69 15.7 (0.8) — -10.8% 1 SOG
CHI @ PIT 6:00 PM CT 1.5 +105 -140 45.5% 49.7% 1.88 16.2 (2.8) — +1.9% 1 SOG
PIT vs CHI 6:00 PM CT 2.5 +100 -135 46.5% 47.8% 2.71 19.4 (3.1) — -4.4% 0 SOG
CHI @ PIT 6:00 PM CT 2.5 +110 -145 44.6% 45.8% 2.60 20.3 (3.3) — -3.9% 3 SOG
CHI @ PIT 6:00 PM CT 2.5 +135 -180 39.8% 43.6% 2.65 19.0 (3.0) OVER lean +2.5% L 2 SOG · -1.00u
PIT vs CHI 6:00 PM CT 2.5 +140 -190 38.9% 41.0% 2.45 18.5 (3.3) — -1.6% 4 SOG
PIT vs CHI 6:00 PM CT 2.5 +140 -190 38.9% 38.0% 2.19 21.9 (2.2) — -8.9% 1 SOG
NSH vs NYI 7:00 PM CT 1.5 -200 +150 62.5% 63.5% 2.32 18.6 (3.3) — -4.8% 3 SOG
NYI @ NSH 7:00 PM CT 1.5 -200 +150 62.5% 61.9% 2.09 21.0 (3.2) — -7.1% 1 SOG
NYI @ NSH 7:00 PM CT 1.5 -180 +135 60.2% 61.8% 2.22 22.6 (2.8) — -3.9% 1 SOG
NSH vs NYI 7:00 PM CT 1.5 -190 +140 61.1% 60.6% 2.10 17.0 (1.9) — -7.5% 3 SOG
NSH vs NYI 7:00 PM CT 1.5 -155 +115 56.7% 59.7% 2.23 16.3 (2.0) — -1.8% 5 SOG
NSH vs NYI 7:00 PM CT 1.5 -140 +105 54.5% 57.2% 2.09 22.7 (1.9) — -1.9% 2 SOG
NSH vs NYI 7:00 PM CT 1.5 -125 -105 52.0% 55.8% 2.11 19.4 (3.1) — +0.4% 2 SOG
NYI @ NSH 7:00 PM CT 2.5 -115 -115 50.0% 50.8% 2.79 19.5 (3.0) — -5.0% 2 SOG
NYI @ NSH 7:00 PM CT 1.5 +100 -130 46.9% 45.7% 1.54 13.6 (0.4) — -8.6% 1 SOG
NYI @ NSH 7:00 PM CT 2.5 -105 -125 48.0% 45.5% 2.40 16.1 (2.5) — -11.2% 1 SOG
NSH vs NYI 7:00 PM CT 2.5 +125 -170 41.4% 44.8% 2.67 17.6 (3.4) — +0.9% 3 SOG
NSH vs NYI 7:00 PM CT 3.5 +110 -150 44.3% 44.6% 3.45 19.0 (3.3) — -6.3% 3 SOG
NYI @ NSH 7:00 PM CT 1.5 +125 -165 41.7% 44.0% 1.64 17.3 (1.5) — -1.1% 2 SOG
NYI @ NSH 7:00 PM CT 2.5 +140 -185 39.1% 39.0% 2.25 18.4 (2.7) — -6.5% 1 SOG
DAL vs VAN 7:00 PM CT 1.5 -200 +145 62.0% 65.2% 2.47 18.9 (2.9) — -2.2% 1 SOG
DAL vs VAN 7:00 PM CT 1.5 -195 +145 61.8% 62.8% 2.22 24.2 (3.7) — -5.1% 1 SOG
VAN @ DAL 7:00 PM CT 1.5 -170 +125 58.6% 59.3% 2.07 16.6 (2.9) — -5.8% 4 SOG
DAL vs VAN 7:00 PM CT 1.5 -150 +115 56.3% 57.4% 2.03 17.1 (2.9) — -4.3% 1 SOG
DAL vs VAN 7:00 PM CT 1.5 -150 +115 56.3% 56.1% 1.90 14.8 (1.8) — -6.6% 5 SOG
DAL vs VAN 7:00 PM CT 1.5 -140 +105 54.5% 55.5% 1.97 16.5 (2.3) — -4.9% 3 SOG
VAN @ DAL 7:00 PM CT 1.5 -140 +105 54.5% 54.5% 1.87 19.3 (2.3) — -6.5% 5 SOG
VAN @ DAL 7:00 PM CT 1.5 -140 +105 54.5% 52.9% 1.76 15.5 (1.1) — -9.3% 2 SOG
DAL vs VAN 7:00 PM CT 1.5 +105 -140 45.5% 48.2% 1.77 17.0 (2.2) — -1.1% 2 SOG
VAN @ DAL 7:00 PM CT 2.5 +100 -130 46.9% 47.6% 2.62 25.9 (4.1) — -4.8% 2 SOG
DAL vs VAN 7:00 PM CT 2.5 +120 -165 42.2% 44.9% 2.63 19.9 (3.4) — -1.2% 2 SOG
DAL vs VAN 7:00 PM CT 2.5 +120 -165 42.2% 43.7% 2.56 18.5 (3.3) — -3.9% 1 SOG
VAN @ DAL 7:00 PM CT 2.5 +140 -190 38.9% 39.2% 2.24 18.9 (3.3) — -5.9% 0 SOG
VAN @ DAL 7:00 PM CT 2.5 +135 -180 39.8% 38.8% 2.18 17.5 (2.6) — -8.8% 2 SOG
UTA vs SEA 8:00 PM CT 1.5 -200 +145 62.0% 63.1% 2.25 17.7 (3.7) — -5.4% 3 SOG
SEA @ UTA 8:00 PM CT 1.5 -190 +140 61.1% 62.4% 2.24 16.3 (2.1) — -4.7% 1 SOG
UTA vs SEA 8:00 PM CT 1.5 -165 +120 57.8% 61.7% 2.34 19.0 (2.6) — -0.9% 4 SOG
SEA @ UTA 8:00 PM CT 1.5 -165 +125 58.4% 59.0% 2.08 21.8 (2.5) — -5.3% 3 SOG
UTA vs SEA 8:00 PM CT 1.5 -165 +120 57.8% 57.7% 1.97 15.8 (2.4) — -7.4% 4 SOG
UTA vs SEA 8:00 PM CT 2.5 -170 +130 59.2% 56.4% 2.90 18.0 (3.8) — -10.4% 5 SOG
SEA @ UTA 8:00 PM CT 1.5 -130 -105 52.5% 55.4% 2.03 19.2 (2.3) — -2.0% 0 SOG
UTA vs SEA 8:00 PM CT 1.5 -125 -105 52.0% 53.0% 1.85 24.0 (3.5) — -4.5% 2 SOG
SEA @ UTA 8:00 PM CT 1.5 +100 -130 46.9% 52.4% 2.03 17.3 (2.2) OVER lean +4.8% W 2 SOG · +1.00u
SEA @ UTA 8:00 PM CT 1.5 -140 +105 54.5% 52.2% 1.67 15.2 (0.4) — -10.5% 0 SOG
UTA vs SEA 8:00 PM CT 2.5 -105 -130 47.5% 50.5% 2.89 19.0 (3.8) — -1.4% 4 SOG
SEA @ UTA 8:00 PM CT 1.5 -110 -120 49.0% 48.6% 1.65 15.6 (2.0) — -7.2% 2 SOG
SEA @ UTA 8:00 PM CT 2.5 +105 -140 45.5% 45.2% 2.50 21.8 (2.3) — -7.3% 2 SOG
UTA vs SEA 8:00 PM CT 1.5 +105 -135 45.9% 45.1% 1.53 21.2 (1.7) — -7.5% 0 SOG
SEA @ UTA 8:00 PM CT 2.5 +115 -155 43.4% 41.7% 2.30 16.3 (2.4) — -10.3% 2 SOG
COL vs VGK 8:30 PM CT 1.5 -160 +120 57.5% 61.6% 2.33 18.2 (2.6) — +0.1% 5 SOG
VGK @ COL 8:30 PM CT 1.5 -185 +135 60.4% 60.3% 2.08 16.7 (2.3) — -7.1% 2 SOG
VGK @ COL 8:30 PM CT 1.5 -165 +120 57.8% 60.0% 2.17 18.8 (3.2) — -3.6% 0 SOG
COL vs VGK 8:30 PM CT 1.5 -145 +110 55.4% 58.6% 2.19 19.4 (1.9) — -1.0% 6 SOG
COL vs VGK 8:30 PM CT 2.5 -175 +130 59.4% 57.2% 2.93 25.4 (3.7) — -10.1% 1 SOG
VGK @ COL 8:30 PM CT 1.5 -130 +100 53.1% 55.0% 1.98 21.2 (3.0) — -2.6% 2 SOG
COL vs VGK 8:30 PM CT 2.5 -130 +100 53.1% 54.6% 2.98 20.9 (3.5) — -3.5% 4 SOG
COL vs VGK 8:30 PM CT 3.5 -130 +100 53.1% 54.5% 4.07 22.1 (3.9) — -3.7% 6 SOG
COL vs VGK 8:30 PM CT 1.5 -125 -105 52.0% 52.9% 1.84 24.0 (1.4) — -4.7% 0 SOG
VGK @ COL 8:30 PM CT 2.5 -130 -105 52.5% 52.2% 2.80 16.9 (2.9) — -7.6% 3 SOG
VGK @ COL 8:30 PM CT 1.5 +105 -140 45.5% 47.3% 1.73 21.3 (2.5) — -3.0% 3 SOG

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