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

Best Bets

Dylan Guenther
UTA @ CBJ · 6:00 PM CT · F
UNDER 2.5
Price+100
Model53.1%
Book46.5%
EV+6.1%
Fair-113
Stake1.5%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.37 SOG · 16.7 min (2.9 PP) L 6 SOG · -1.00u
Dougie Hamilton
NJD vs VGK · 6:00 PM CT · D
UNDER 2.5
Price-115
Model56.8%
Book50.0%
EV+6.1%
Fair-131
Stake1.8%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.22 SOG · 19.4 min (2.4 PP) W 1 SOG · +0.87u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
OTT @ TBL 6:00 PM CT 1.5 -200 +145 62.0% 65.1% 2.38 20.5 (3.0) — -2.4% 0 SOG
OTT @ TBL 6:00 PM CT 1.5 -165 +125 58.4% 60.1% 2.11 22.9 (2.0) — -3.5% 7 SOG
OTT @ TBL 6:00 PM CT 1.5 -175 +130 59.4% 58.4% 1.98 23.5 (2.9) — -8.2% 1 SOG
OTT @ TBL 6:00 PM CT 1.5 -155 +120 57.2% 57.2% 1.96 18.3 (2.5) — -6.0% 2 SOG
TBL vs OTT 6:00 PM CT 1.5 -155 +115 56.7% 52.5% 1.68 20.4 (2.4) UNDER lean +2.1% L 2 SOG · -1.00u
TBL vs OTT 6:00 PM CT 1.5 -145 +110 55.4% 52.4% 1.70 14.8 (1.4) — -11.4% 3 SOG
OTT @ TBL 6:00 PM CT 1.5 -135 +100 53.5% 51.7% 1.70 13.4 (1.8) — -10.1% 1 SOG
TBL vs OTT 6:00 PM CT 2.5 -115 -115 50.0% 51.3% 2.83 19.6 (3.4) — -4.1% 1 SOG
OTT @ TBL 6:00 PM CT 3.5 -140 +105 54.5% 50.5% 3.59 18.6 (2.9) — -13.5% 5 SOG
TBL vs OTT 6:00 PM CT 2.5 -105 -125 48.0% 49.7% 2.74 21.6 (2.6) — -3.0% 2 SOG
TBL vs OTT 6:00 PM CT 2.5 -110 -120 49.0% 48.0% 2.62 19.6 (3.5) — -8.3% 5 SOG
TBL vs OTT 6:00 PM CT 3.5 +110 -145 44.6% 44.4% 3.46 22.7 (4.4) — -6.8% 4 SOG
OTT @ TBL 6:00 PM CT 2.5 +140 -185 39.1% 40.1% 2.32 18.9 (2.7) — -3.8% 4 SOG
TBL vs OTT 6:00 PM CT 2.5 +140 -185 39.1% 38.9% 2.24 23.7 (2.8) — -6.6% 0 SOG
VGK @ NJD 6:00 PM CT 2.5 -155 +115 56.7% 56.6% 3.03 21.7 (3.0) — -6.9% 6 SOG
VGK @ NJD 6:00 PM CT 1.5 -140 +105 54.5% 56.6% 2.00 20.2 (2.9) — -3.0% 3 SOG
VGK @ NJD 6:00 PM CT 1.5 -165 +120 57.8% 56.5% 1.91 22.4 (2.9) — -9.2% 3 SOG
NJD vs VGK 6:00 PM CT 1.5 -150 +115 56.3% 52.8% 1.71 15.9 (2.0) — -12.1% 1 SOG
VGK @ NJD 6:00 PM CT 1.5 -110 -120 49.0% 48.5% 1.64 22.4 (1.1) — -7.5% 1 SOG
NJD vs VGK 6:00 PM CT 2.5 -135 +100 53.5% 48.3% 2.50 17.7 (1.6) UNDER lean +3.3% W 0 SOG · +1.00u
NJD vs VGK 6:00 PM CT 1.5 -105 -125 48.0% 46.7% 1.57 17.2 (1.6) — -8.8% 2 SOG
VGK @ NJD 6:00 PM CT 1.5 -115 -115 50.0% 46.6% 1.53 14.6 (1.0) — -12.8% 1 SOG
NJD vs VGK 6:00 PM CT 1.5 -115 -115 50.0% 46.4% 1.52 21.5 (1.6) — -13.3% 0 SOG
NJD vs VGK 6:00 PM CT 3.5 -120 -110 51.0% 45.6% 3.27 20.2 (2.5) UNDER lean +3.8% W 1 SOG · +0.91u
NJD vs VGK 6:00 PM CT 2.5 -115 -115 50.0% 43.3% 2.22 19.4 (2.4) UNDER best +6.1% W 1 SOG · +0.87u
VGK @ NJD 6:00 PM CT 2.5 +105 -140 45.5% 41.6% 2.23 16.4 (2.4) — -14.6% 4 SOG
NJD vs VGK 6:00 PM CT 2.5 +130 -170 40.9% 39.5% 2.24 18.3 (2.3) — -9.2% 1 SOG
VGK @ NJD 6:00 PM CT 2.5 +130 -175 40.6% 36.8% 2.05 17.6 (3.0) — -15.4% 3 SOG
WSH @ PHI 6:00 PM CT 1.5 -190 +140 61.1% 58.9% 1.96 18.4 (2.4) — -10.1% 2 SOG
WSH @ PHI 6:00 PM CT 1.5 -170 +130 59.2% 58.4% 2.00 21.1 (2.6) — -7.3% 2 SOG
PHI vs WSH 6:00 PM CT 1.5 -150 +115 56.3% 55.2% 1.89 18.2 (1.9) — -8.1% 2 SOG
WSH @ PHI 6:00 PM CT 1.5 -145 +110 55.4% 54.9% 1.87 23.5 (2.7) — -7.2% 1 SOG
PHI vs WSH 6:00 PM CT 1.5 -165 +120 57.8% 54.6% 1.76 15.6 (0.9) — -12.3% 1 SOG
PHI vs WSH 6:00 PM CT 1.5 -145 +110 55.4% 53.2% 1.76 14.1 (2.5) — -10.0% 6 SOG
PHI vs WSH 6:00 PM CT 1.5 -140 +105 54.5% 51.5% 1.70 17.8 (1.5) — -11.7% 0 SOG
WSH @ PHI 6:00 PM CT 1.5 -125 -110 51.5% 51.2% 1.73 16.2 (1.7) — -7.8% 1 SOG
WSH @ PHI 6:00 PM CT 1.5 -125 -105 52.0% 51.0% 1.73 17.0 (2.7) — -8.2% 3 SOG
WSH @ PHI 6:00 PM CT 1.5 -125 -105 52.0% 50.2% 1.68 17.0 (0.5) — -9.6% 1 SOG
PHI vs WSH 6:00 PM CT 1.5 -120 -110 51.0% 49.6% 1.66 16.3 (2.3) — -9.1% 1 SOG
WSH @ PHI 6:00 PM CT 1.5 -120 -110 51.0% 49.0% 1.64 16.7 (1.5) — -10.2% 0 SOG
PHI vs WSH 6:00 PM CT 2.5 +125 -165 41.7% 42.7% 2.46 20.5 (2.8) — -4.0% 1 SOG
WSH @ PHI 6:00 PM CT 3.5 +130 -175 40.6% 34.8% 2.74 17.2 (3.9) UNDER lean +2.5% W 2 SOG · +0.57u
CBJ vs UTA 6:00 PM CT 1.5 -190 +140 61.1% 61.5% 2.13 17.6 (1.5) — -6.1% 1 SOG
CBJ vs UTA 6:00 PM CT 1.5 -145 +110 55.4% 56.0% 1.94 16.9 (2.6) — -5.3% 2 SOG
UTA @ CBJ 6:00 PM CT 1.5 -140 +105 54.5% 53.7% 1.83 24.4 (2.9) — -7.9% 5 SOG
UTA @ CBJ 6:00 PM CT 2.5 -130 -105 52.5% 52.0% 2.80 19.7 (3.0) — -8.0% 5 SOG
UTA @ CBJ 6:00 PM CT 1.5 -135 +105 54.1% 51.9% 1.72 19.0 (1.5) — -9.7% 1 SOG
UTA @ CBJ 6:00 PM CT 2.5 -135 +100 53.5% 46.9% 2.37 16.7 (2.9) UNDER best +6.1% L 6 SOG · -1.00u
CBJ vs UTA 6:00 PM CT 2.5 +100 -130 46.9% 46.1% 2.51 19.7 (2.2) — -7.8% 3 SOG
CBJ vs UTA 6:00 PM CT 2.5 +120 -160 42.5% 42.9% 2.42 18.9 (2.5) — -5.7% 5 SOG
CBJ vs UTA 6:00 PM CT 3.5 +135 -180 39.8% 39.8% 3.21 26.6 (2.6) — -6.5% 1 SOG
UTA @ CBJ 6:00 PM CT 2.5 +150 -200 37.5% 37.9% 2.21 18.8 (2.9) — -5.2% 2 SOG
UTA @ CBJ 6:00 PM CT 2.5 +150 -210 37.1% 31.5% 1.82 15.6 (1.8) — -21.4% 3 SOG
CAR @ MIN 6:30 PM CT 1.5 -210 +155 63.3% 61.0% 2.01 20.8 (1.6) — -10.0% 8 SOG
MIN vs CAR 6:30 PM CT 2.5 -165 +125 58.4% 56.9% 2.99 20.3 (3.2) — -8.6% 1 SOG
CAR @ MIN 6:30 PM CT 1.5 -155 +115 56.7% 55.4% 1.86 17.2 (1.6) — -8.8% 3 SOG
CAR @ MIN 6:30 PM CT 2.5 -135 +100 53.5% 52.6% 2.83 20.9 (3.3) — -8.5% 3 SOG
MIN vs CAR 6:30 PM CT 2.5 -125 -110 51.5% 51.4% 2.76 20.6 (3.0) — -7.4% 5 SOG
MIN vs CAR 6:30 PM CT 1.5 -105 -125 48.0% 50.2% 1.82 18.0 (2.8) — -1.9% 0 SOG
CAR @ MIN 6:30 PM CT 2.5 -115 -115 50.0% 49.0% 2.64 21.0 (2.9) — -8.3% 3 SOG
CAR @ MIN 6:30 PM CT 2.5 +100 -135 46.5% 46.4% 2.59 17.8 (2.8) — -7.3% 4 SOG
CAR @ MIN 6:30 PM CT 2.5 +115 -150 43.7% 43.6% 2.44 19.9 (2.9) — -6.3% 1 SOG
MIN vs CAR 6:30 PM CT 2.5 +145 -200 38.0% 38.9% 2.31 20.9 (3.4) — -4.6% 1 SOG
STL vs FLA 7:00 PM CT 1.5 -195 +145 61.8% 60.5% 2.06 19.5 (2.7) — -8.5% 1 SOG
STL vs FLA 7:00 PM CT 1.5 -180 +135 60.2% 60.1% 2.11 17.6 (1.9) — -6.5% 2 SOG
FLA @ STL 7:00 PM CT 1.5 -180 +135 60.2% 59.3% 2.02 22.0 (0.3) — -7.8% 2 SOG
STL vs FLA 7:00 PM CT 1.5 -160 +120 57.5% 57.3% 1.99 19.2 (2.6) — -6.9% 2 SOG
FLA @ STL 7:00 PM CT 1.5 -180 +135 60.2% 55.7% 1.78 23.0 (2.5) UNDER lean +4.1% L 3 SOG · -1.00u
FLA @ STL 7:00 PM CT 1.5 -130 +100 53.1% 53.2% 1.83 14.5 (1.6) — -6.0% 2 SOG
FLA @ STL 7:00 PM CT 1.5 -130 -105 52.5% 52.0% 1.76 15.9 (1.4) — -8.1% 2 SOG
FLA @ STL 7:00 PM CT 2.5 -140 +105 54.5% 50.4% 2.60 17.8 (2.8) — -13.6% 7 SOG
FLA @ STL 7:00 PM CT 2.5 -130 +100 53.1% 50.4% 2.64 16.8 (1.7) — -10.8% 3 SOG
FLA @ STL 7:00 PM CT 2.5 -130 +100 53.1% 50.0% 2.61 17.4 (2.6) — -11.5% 4 SOG
STL vs FLA 7:00 PM CT 1.5 -120 -110 51.0% 49.8% 1.67 23.2 (0.8) — -8.7% 2 SOG
STL vs FLA 7:00 PM CT 2.5 -110 -120 49.0% 47.3% 2.57 18.1 (2.4) — -9.6% 0 SOG
STL vs FLA 7:00 PM CT 1.5 +105 -140 45.5% 47.3% 1.68 17.6 (1.9) — -3.0% 2 SOG
FLA @ STL 7:00 PM CT 2.5 +110 -145 44.6% 43.9% 2.44 19.4 (2.6) — -7.9% 1 SOG
FLA @ STL 7:00 PM CT 2.5 +115 -150 43.7% 41.7% 2.29 19.5 (2.7) — -10.3% 0 SOG
COL @ CGY 8:00 PM CT 1.5 -210 +150 62.9% 63.6% 2.25 19.9 (3.0) — -6.2% 5 SOG
CGY vs COL 8:00 PM CT 1.5 -195 +145 61.8% 63.3% 2.25 24.5 (2.8) — -4.3% 3 SOG
CGY vs COL 8:00 PM CT 1.5 -175 +130 59.4% 62.1% 2.27 19.2 (1.6) — -2.4% 0 SOG
CGY vs COL 8:00 PM CT 2.5 -175 +130 59.4% 60.8% 3.30 19.9 (2.9) — -4.4% 4 SOG
COL @ CGY 8:00 PM CT 1.5 -180 +135 60.2% 60.2% 2.06 25.6 (1.4) — -6.4% 0 SOG
CGY vs COL 8:00 PM CT 1.5 -140 +105 54.5% 57.7% 2.06 19.5 (2.9) — -1.1% 5 SOG
COL @ CGY 8:00 PM CT 3.5 -150 +110 55.8% 55.4% 3.99 22.0 (3.7) — -7.7% 2 SOG
CGY vs COL 8:00 PM CT 1.5 -130 +100 53.1% 54.3% 1.89 15.8 (2.4) — -3.9% 1 SOG
CGY vs COL 8:00 PM CT 1.5 -135 +100 53.5% 54.2% 1.86 16.9 (2.2) — -5.7% 0 SOG
COL @ CGY 8:00 PM CT 2.5 -150 +110 55.8% 53.5% 2.80 20.5 (3.4) — -10.8% 8 SOG
COL @ CGY 8:00 PM CT 2.5 -135 +100 53.5% 52.2% 2.71 25.8 (3.4) — -9.2% 8 SOG
CGY vs COL 8:00 PM CT 1.5 -130 +100 53.1% 50.8% 1.68 22.4 (1.6) — -10.2% 2 SOG
COL @ CGY 8:00 PM CT 1.5 -110 -120 49.0% 49.6% 1.70 14.0 (1.4) — -5.2% 2 SOG
CGY vs COL 8:00 PM CT 2.5 +110 -145 44.6% 42.5% 2.32 17.6 (2.7) — -10.7% 1 SOG
CGY vs COL 8:00 PM CT 2.5 +115 -155 43.4% 40.4% 2.30 18.1 (1.5) — -13.2% 3 SOG
TOR @ SEA 9:00 PM CT 1.5 -195 +145 61.8% 66.1% 2.50 16.3 (1.5) — 0.0% 3 SOG
TOR @ SEA 9:00 PM CT 2.5 -175 +130 59.4% 62.4% 3.46 20.6 (3.0) — -1.9% 2 SOG
SEA vs TOR 9:00 PM CT 1.5 -230 +165 64.9% 62.3% 2.10 16.0 (2.1) — -10.6% 1 SOG
SEA vs TOR 9:00 PM CT 1.5 -165 +125 58.4% 60.2% 2.15 20.4 (2.5) — -3.3% 2 SOG
SEA vs TOR 9:00 PM CT 1.5 -135 +100 53.5% 56.1% 2.00 15.1 (2.4) — -2.3% 1 SOG
TOR @ SEA 9:00 PM CT 1.5 -120 -110 51.0% 53.6% 1.88 22.4 (1.9) — -1.8% 3 SOG
TOR @ SEA 9:00 PM CT 3.5 -145 +110 55.4% 52.9% 3.78 20.5 (2.8) — -10.6% 6 SOG
SEA vs TOR 9:00 PM CT 1.5 -120 -110 51.0% 52.7% 1.86 18.0 (1.6) — -3.4% 0 SOG
TOR @ SEA 9:00 PM CT 2.5 -105 -125 48.0% 46.6% 2.55 18.2 (2.5) — -9.0% 0 SOG
SEA vs TOR 9:00 PM CT 2.5 -110 -120 49.0% 46.2% 2.46 23.4 (2.0) — -11.8% 6 SOG
TOR @ SEA 9:00 PM CT 2.5 +130 -175 40.6% 41.6% 2.40 21.7 (2.7) — -4.3% 1 SOG
SEA vs TOR 9:00 PM CT 2.5 +135 -180 39.8% 41.0% 2.39 19.0 (2.5) — -3.7% 0 SOG
SEA vs TOR 9:00 PM CT 2.5 +130 -175 40.6% 38.2% 2.15 23.2 (2.6) — -12.1% 4 SOG
VAN @ SJS 9:30 PM CT 1.5 -195 +145 61.8% 62.3% 2.20 17.4 (2.4) — -5.7% 0 SOG
VAN @ SJS 9:30 PM CT 1.5 -190 +140 61.1% 61.3% 2.14 18.2 (3.1) — -6.5% 0 SOG
SJS vs VAN 9:30 PM CT 1.5 -150 +115 56.3% 56.7% 1.93 15.9 (1.7) — -5.6% 4 SOG
SJS vs VAN 9:30 PM CT 1.5 -130 +100 53.1% 53.3% 1.82 19.7 (2.9) — -5.7% 3 SOG
VAN @ SJS 9:30 PM CT 1.5 -145 +110 55.4% 51.5% 1.64 23.5 (1.8) — -13.0% 2 SOG
VAN @ SJS 9:30 PM CT 1.5 -130 +100 53.1% 51.2% 1.70 13.8 (1.0) — -9.3% 0 SOG
VAN @ SJS 9:30 PM CT 1.5 -135 +100 53.5% 50.8% 1.65 14.7 (0.5) — -11.6% 6 SOG
VAN @ SJS 9:30 PM CT 2.5 -125 -105 52.0% 48.4% 2.52 16.4 (1.6) — -13.0% 1 SOG
SJS vs VAN 9:30 PM CT 2.5 -110 -120 49.0% 48.2% 2.62 17.0 (3.2) — -7.9% 7 SOG
SJS vs VAN 9:30 PM CT 1.5 +115 -155 43.4% 43.3% 1.50 15.8 (1.9) — -6.9% 4 SOG
VAN @ SJS 9:30 PM CT 2.5 +115 -155 43.4% 42.2% 2.36 18.3 (3.1) — -9.2% 2 SOG
VAN @ SJS 9:30 PM CT 2.5 +145 -195 38.2% 40.8% 2.45 17.8 (2.5) — 0.0% 0 SOG
SJS vs VAN 9:30 PM CT 2.5 +125 -170 41.4% 36.7% 2.06 22.5 (3.0) — -17.5% 1 SOG
SJS vs VAN 9:30 PM CT 3.5 +130 -170 40.9% 35.7% 2.83 19.8 (3.3) UNDER lean +2.1% W 2 SOG · +0.59u

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