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

Best Bets

Tim Stützle
OTT vs NYR · 11:30 AM CT · F
OVER 2.5
Price+145
Model42.9%
Book38.4%
EV+5.1%
Fair+133
Stake0.9%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.58 SOG · 20.6 min (3.7 PP) role change W 3 SOG · +1.45u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
OTT vs NYR 11:30 AM CT 1.5 -160 +120 57.5% 62.5% 2.38 17.2 (2.1) — +1.6% 1 SOG
NYR @ OTT 11:30 AM CT 1.5 -175 +130 59.4% 62.2% 2.30 16.6 (2.9) — -2.3% 1 SOG
NYR @ OTT 11:30 AM CT 1.5 -170 +125 58.6% 60.6% 2.19 18.1 (3.1) — -3.8% 0 SOG
OTT vs NYR 11:30 AM CT 1.5 -195 +145 61.8% 60.3% 2.01 16.3 (1.6) — -8.8% 2 SOG
OTT vs NYR 11:30 AM CT 1.5 -130 +100 53.1% 58.1% 2.20 18.8 (3.3) OVER lean +2.8% L 1 SOG · -1.00u
NYR @ OTT 11:30 AM CT 1.5 -125 -105 52.0% 57.4% 2.16 16.3 (1.6) OVER lean +3.3% W 2 SOG · +0.80u
NYR @ OTT 11:30 AM CT 1.5 -160 +120 57.5% 55.1% 1.83 15.3 (0.9) — -10.4% 0 SOG
OTT vs NYR 11:30 AM CT 3.5 -120 -110 51.0% 53.8% 4.11 19.3 (3.3) — -1.4% 9 SOG
OTT vs NYR 11:30 AM CT 1.5 -115 -115 50.0% 53.5% 1.94 14.8 (2.0) — +0.0% 1 SOG
NYR @ OTT 11:30 AM CT 2.5 +105 -140 45.5% 46.7% 2.62 20.5 (3.0) — -4.2% 1 SOG
OTT vs NYR 11:30 AM CT 2.5 +145 -190 38.4% 42.9% 2.58 20.6 (3.7) OVER best +5.1% W 3 SOG · +1.45u
NYR @ OTT 11:30 AM CT 2.5 +120 -160 42.5% 42.4% 2.41 19.7 (3.1) — -6.7% 2 SOG
OTT vs NYR 11:30 AM CT 2.5 +115 -155 43.4% 42.2% 2.35 24.6 (3.7) — -9.3% 3 SOG
OTT vs NYR 11:30 AM CT 2.5 +150 -200 37.5% 40.1% 2.39 18.5 (3.4) — +0.3% 2 SOG
OTT vs NYR 11:30 AM CT 2.5 +140 -190 38.9% 38.8% 2.25 22.0 (1.9) — -6.9% 2 SOG
NYR @ OTT 11:30 AM CT 3.5 +130 -170 40.9% 38.6% 3.05 19.4 (3.3) — -11.3% 3 SOG
SEA @ PHI 11:30 AM CT 1.5 -145 +110 55.4% 57.3% 2.02 22.5 (2.1) — -3.3% 3 SOG
PHI vs SEA 11:30 AM CT 1.5 -155 +115 56.7% 56.6% 1.98 17.6 (1.5) — -6.8% 2 SOG
PHI vs SEA 11:30 AM CT 1.5 -125 -105 52.0% 53.6% 1.89 15.8 (0.4) — -3.5% 1 SOG
SEA @ PHI 11:30 AM CT 1.5 -120 -110 51.0% 52.2% 1.82 18.6 (2.0) — -4.3% 2 SOG
PHI vs SEA 11:30 AM CT 1.5 -130 -105 52.5% 51.4% 1.75 16.9 (1.1) — -9.1% 4 SOG
PHI vs SEA 11:30 AM CT 1.5 -120 -110 51.0% 51.1% 1.75 16.4 (1.5) — -6.3% 0 SOG
SEA @ PHI 11:30 AM CT 1.5 -110 -120 49.0% 50.3% 1.75 17.2 (1.7) — -4.1% 0 SOG
SEA @ PHI 11:30 AM CT 1.5 -110 -120 49.0% 50.0% 1.72 15.0 (1.9) — -4.5% 2 SOG
PHI vs SEA 11:30 AM CT 1.5 -120 -110 51.0% 49.2% 1.63 20.4 (1.9) — -9.7% 1 SOG
SEA @ PHI 11:30 AM CT 1.5 -125 -105 52.0% 49.0% 1.60 14.6 (0.5) — -11.9% 2 SOG
PHI vs SEA 11:30 AM CT 2.5 -135 +100 53.5% 48.7% 2.51 15.1 (1.4) UNDER lean +2.7% L 4 SOG · -1.00u
PHI vs SEA 11:30 AM CT 2.5 -115 -115 50.0% 45.6% 2.39 16.1 (2.3) — -14.8% 3 SOG
PHI vs SEA 11:30 AM CT 2.5 +115 -155 43.4% 44.8% 2.56 19.5 (2.4) — -3.7% 2 SOG
SEA @ PHI 11:30 AM CT 2.5 +105 -140 45.5% 40.4% 2.18 21.4 (1.9) UNDER lean +2.1% L 5 SOG · -1.00u
SEA @ PHI 11:30 AM CT 2.5 +145 -200 38.0% 37.1% 2.15 17.3 (2.0) — -9.0% 3 SOG
SEA @ PHI 11:30 AM CT 2.5 +130 -175 40.6% 35.7% 1.96 15.7 (1.9) — -18.0% 1 SOG
BOS @ TBL 2:00 PM CT 1.5 -190 +140 61.1% 62.5% 2.22 18.7 (2.4) — -4.7% 2 SOG
TBL vs BOS 2:00 PM CT 2.5 -165 +125 58.4% 58.9% 3.17 20.9 (4.1) — -5.4% 3 SOG
TBL vs BOS 2:00 PM CT 1.5 -130 +100 53.1% 55.0% 1.94 18.4 (1.5) — -2.8% 1 SOG
TBL vs BOS 2:00 PM CT 1.5 -120 -110 51.0% 54.4% 1.96 15.2 (2.3) — -0.3% 2 SOG
BOS @ TBL 2:00 PM CT 1.5 -120 -115 50.5% 54.0% 1.94 19.6 (2.0) — -1.0% 1 SOG
TBL vs BOS 2:00 PM CT 2.5 +100 -135 46.5% 48.5% 2.72 20.6 (2.6) — -3.1% 6 SOG
BOS @ TBL 2:00 PM CT 1.5 -125 -105 52.0% 48.4% 1.55 21.4 (2.5) — -13.0% 1 SOG
TBL vs BOS 2:00 PM CT 2.5 +115 -150 43.7% 48.0% 2.76 19.2 (3.5) OVER lean +3.1% L 2 SOG · -1.00u
TBL vs BOS 2:00 PM CT 2.5 +115 -150 43.7% 46.2% 2.64 18.9 (3.5) — -0.6% 2 SOG
BOS @ TBL 2:00 PM CT 4.5 +115 -155 43.4% 42.2% 4.25 21.1 (3.1) — -9.3% 4 SOG
BOS @ TBL 2:00 PM CT 2.5 +130 -175 40.6% 40.5% 2.31 18.3 (2.0) — -6.9% 0 SOG
FLA vs BUF 5:00 PM CT 1.5 -165 +125 58.4% 61.4% 2.23 22.7 (0.6) — -1.4% 1 SOG
FLA vs BUF 5:00 PM CT 1.5 -175 +130 59.4% 58.6% 2.01 23.3 (3.4) — -7.9% 0 SOG
FLA vs BUF 5:00 PM CT 1.5 -135 +105 54.1% 58.2% 2.13 23.9 (2.8) — +1.2% 4 SOG
FLA vs BUF 5:00 PM CT 2.5 -170 +125 58.6% 57.7% 3.04 17.4 (2.8) — -8.4% 2 SOG
FLA vs BUF 5:00 PM CT 1.5 -190 +140 61.1% 57.5% 1.90 14.3 (2.0) — -12.2% 1 SOG
BUF @ FLA 5:00 PM CT 2.5 -165 +125 58.4% 55.7% 2.89 18.4 (2.7) — -10.6% 1 SOG
FLA vs BUF 5:00 PM CT 1.5 -145 +110 55.4% 54.5% 1.84 15.9 (1.7) — -8.0% 2 SOG
FLA vs BUF 5:00 PM CT 2.5 -130 -105 52.5% 53.9% 2.92 17.6 (2.8) — -4.7% 5 SOG
FLA vs BUF 5:00 PM CT 2.5 -120 -110 51.0% 51.2% 2.74 20.7 (3.5) — -6.1% 3 SOG
BUF @ FLA 5:00 PM CT 2.5 +120 -160 42.5% 44.2% 2.55 19.2 (3.0) — -2.8% 2 SOG
BUF @ FLA 5:00 PM CT 2.5 +125 -165 41.7% 42.9% 2.48 19.4 (2.6) — -3.5% 3 SOG
BUF @ FLA 5:00 PM CT 2.5 +135 -180 39.8% 42.1% 2.46 24.5 (3.0) — -1.0% 2 SOG
FLA vs BUF 5:00 PM CT 2.5 +130 -175 40.6% 41.7% 2.39 20.0 (3.4) — -4.0% 1 SOG
FLA vs BUF 5:00 PM CT 2.5 +135 -180 39.8% 37.1% 2.13 15.6 (1.5) — -12.7% 0 SOG
COL vs TOR 6:00 PM CT 1.5 -180 +135 60.2% 66.2% 2.58 20.8 (3.0) OVER lean +3.0% L 1 SOG · -1.00u
TOR @ COL 6:00 PM CT 1.5 -195 +145 61.8% 62.8% 2.23 21.2 (2.9) — -5.0% 4 SOG
TOR @ COL 6:00 PM CT 2.5 -135 +100 53.5% 55.9% 3.09 20.0 (2.9) — -2.8% 2 SOG
COL vs TOR 6:00 PM CT 2.5 -160 +120 57.5% 55.5% 2.92 25.0 (3.8) — -9.8% 3 SOG
COL vs TOR 6:00 PM CT 3.5 -130 -105 52.5% 55.3% 4.16 21.6 (3.9) — -2.1% 3 SOG
COL vs TOR 6:00 PM CT 1.5 -125 -105 52.0% 55.1% 1.95 24.2 (1.3) — -0.8% 1 SOG
TOR @ COL 6:00 PM CT 1.5 -110 -125 48.5% 53.2% 1.96 14.0 (1.4) — +1.5% 1 SOG
COL vs TOR 6:00 PM CT 2.5 +100 -135 46.5% 50.7% 2.87 20.2 (3.7) — +1.3% 6 SOG
TOR @ COL 6:00 PM CT 3.5 -115 -115 50.0% 49.3% 3.66 20.3 (2.9) — -7.8% 2 SOG
COL vs TOR 6:00 PM CT 2.5 +105 -140 45.5% 47.4% 2.66 18.8 (3.1) — -2.9% 5 SOG
COL vs TOR 6:00 PM CT 2.5 +125 -170 41.4% 46.3% 2.75 19.8 (2.7) OVER lean +4.1% L 0 SOG · -1.00u
TOR @ COL 6:00 PM CT 2.5 +140 -185 39.1% 41.2% 2.42 18.2 (2.6) — -1.1% 3 SOG
CGY vs MTL 6:00 PM CT 1.5 -190 +140 61.1% 62.3% 2.21 17.7 (1.6) — -5.0% 1 SOG
CGY vs MTL 6:00 PM CT 1.5 -155 +115 56.7% 60.2% 2.21 19.1 (3.2) — -1.0% 0 SOG
CGY vs MTL 6:00 PM CT 1.5 -140 +105 54.5% 58.0% 2.08 16.5 (2.9) — -0.6% 2 SOG
MTL @ CGY 6:00 PM CT 1.5 -150 +115 56.3% 57.8% 2.04 25.6 (2.0) — -3.7% 1 SOG
MTL @ CGY 6:00 PM CT 2.5 -150 +115 56.3% 56.9% 3.06 17.7 (2.8) — -5.2% 6 SOG
MTL @ CGY 6:00 PM CT 1.5 -140 +105 54.5% 55.7% 1.95 17.6 (2.8) — -4.5% 1 SOG
CGY vs MTL 6:00 PM CT 1.5 -130 -105 52.5% 54.3% 1.92 17.0 (2.0) — -4.0% 3 SOG
MTL @ CGY 6:00 PM CT 1.5 -125 -105 52.0% 53.9% 1.89 13.7 (1.6) — -2.9% 1 SOG
CGY vs MTL 6:00 PM CT 1.5 -130 -105 52.5% 53.6% 1.87 23.0 (2.0) — -5.2% 1 SOG
MTL @ CGY 6:00 PM CT 1.5 -110 -120 49.0% 48.7% 1.65 14.9 (0.7) — -7.1% 0 SOG
CGY vs MTL 6:00 PM CT 3.5 +120 -160 42.5% 44.2% 3.53 19.4 (3.1) — -2.7% 1 SOG
CGY vs MTL 6:00 PM CT 2.5 +115 -155 43.4% 43.7% 2.50 24.7 (3.2) — -6.1% 2 SOG
CGY vs MTL 6:00 PM CT 2.5 +125 -165 41.7% 43.0% 2.48 17.5 (3.1) — -3.3% 1 SOG
CGY vs MTL 6:00 PM CT 2.5 +135 -180 39.8% 39.7% 2.28 17.0 (1.9) — -6.8% 3 SOG
MTL @ CGY 6:00 PM CT 2.5 +150 -200 37.5% 36.7% 2.19 19.6 (3.0) — -8.2% 3 SOG
NSH vs CHI 7:00 PM CT 1.5 -170 +130 59.2% 61.2% 2.19 21.9 (2.0) — -2.8% 1 SOG
NSH vs CHI 7:00 PM CT 1.5 -165 +125 58.4% 60.3% 2.15 14.4 (1.2) — -3.2% 3 SOG
NSH vs CHI 7:00 PM CT 2.5 -125 -110 51.5% 54.5% 3.04 18.2 (3.3) — -1.9% 2 SOG
CHI @ NSH 7:00 PM CT 1.5 +100 -135 46.5% 52.5% 1.95 17.0 (2.6) OVER lean +4.9% L 0 SOG · -1.00u
NSH vs CHI 7:00 PM CT 3.5 -120 -110 51.0% 49.8% 3.66 19.0 (3.3) — -8.6% 3 SOG
CHI @ NSH 7:00 PM CT 1.5 +105 -135 45.9% 48.6% 1.75 16.5 (1.3) — -0.4% 0 SOG
CHI @ NSH 7:00 PM CT 1.5 +100 -135 46.5% 48.3% 1.69 15.7 (0.3) — -3.4% 1 SOG
CHI @ NSH 7:00 PM CT 2.5 +115 -155 43.4% 44.2% 2.55 21.4 (2.7) — -5.0% 4 SOG
NSH vs CHI 7:00 PM CT 2.5 +115 -155 43.4% 43.0% 2.44 18.5 (3.2) — -7.6% 7 SOG
CHI @ NSH 7:00 PM CT 2.5 +140 -185 39.1% 40.5% 2.37 17.9 (2.4) — -2.9% 2 SOG
NSH vs CHI 7:00 PM CT 2.5 +145 -195 38.2% 39.7% 2.34 19.3 (2.7) — -2.7% 2 SOG
STL @ LAK 7:00 PM CT 1.5 -200 +145 62.0% 59.8% 1.99 17.0 (1.7) — -10.3% 1 SOG
LAK vs STL 7:00 PM CT 1.5 -160 +120 57.5% 58.8% 2.11 18.7 (1.6) — -4.5% 3 SOG
STL @ LAK 7:00 PM CT 1.5 -170 +130 59.2% 58.0% 1.96 19.2 (2.1) — -7.9% 0 SOG
LAK vs STL 7:00 PM CT 2.5 -150 +115 56.3% 56.5% 3.05 19.8 (2.6) — -5.8% 1 SOG
STL @ LAK 7:00 PM CT 1.5 -145 +110 55.4% 56.1% 1.94 18.8 (2.1) — -5.3% 2 SOG
LAK vs STL 7:00 PM CT 2.5 -130 -105 52.5% 53.1% 2.88 19.2 (2.3) — -6.0% 2 SOG
LAK vs STL 7:00 PM CT 2.5 +120 -165 42.2% 42.4% 2.40 16.5 (1.1) — -6.8% 0 SOG
LAK vs STL 7:00 PM CT 2.5 +135 -180 39.8% 41.1% 2.39 17.9 (2.0) — -3.3% 3 SOG
STL @ LAK 7:00 PM CT 2.5 +125 -170 41.4% 39.7% 2.25 16.1 (1.9) — -10.8% 2 SOG
LAK vs STL 7:00 PM CT 2.5 +140 -190 38.9% 37.8% 2.21 16.8 (1.3) — -9.3% 0 SOG
EDM vs DAL 9:00 PM CT 1.5 -200 +145 62.0% 64.5% 2.37 22.4 (1.1) — -3.3% 2 SOG
EDM vs DAL 9:00 PM CT 1.5 -195 +145 61.8% 63.0% 2.26 14.6 (0.7) — -4.7% 5 SOG
EDM vs DAL 9:00 PM CT 1.5 -170 +130 59.2% 62.7% 2.30 23.3 (2.6) — -0.5% 3 SOG
EDM vs DAL 9:00 PM CT 2.5 -155 +115 56.7% 61.2% 3.44 23.4 (3.3) — +0.7% 4 SOG
DAL @ EDM 9:00 PM CT 1.5 -160 +120 57.5% 58.5% 2.09 25.1 (2.6) — -4.9% 5 SOG
EDM vs DAL 9:00 PM CT 2.5 -165 +125 58.4% 58.0% 3.11 21.1 (3.3) — -6.9% 1 SOG
EDM vs DAL 9:00 PM CT 1.5 -145 +110 55.4% 57.8% 2.09 18.8 (3.1) — -2.3% 1 SOG
DAL @ EDM 9:00 PM CT 1.5 -170 +125 58.6% 57.5% 1.97 16.5 (2.3) — -8.7% 0 SOG
EDM vs DAL 9:00 PM CT 2.5 -125 -105 52.0% 55.6% 3.09 19.6 (3.1) — +0.0% 5 SOG
DAL @ EDM 9:00 PM CT 1.5 -125 -105 52.0% 54.2% 1.92 16.7 (2.4) — -2.4% 0 SOG
DAL @ EDM 9:00 PM CT 1.5 -125 -105 52.0% 52.8% 1.85 14.7 (1.5) — -4.9% 0 SOG
EDM vs DAL 9:00 PM CT 2.5 -110 -120 49.0% 52.5% 2.93 23.7 (3.3) — +0.2% 0 SOG
DAL @ EDM 9:00 PM CT 1.5 +110 -145 44.6% 49.4% 1.84 18.4 (2.1) OVER lean +3.7% W 2 SOG · +1.10u
DAL @ EDM 9:00 PM CT 2.5 -130 +100 53.1% 48.4% 2.50 17.6 (2.8) UNDER lean +3.3% W 2 SOG · +1.00u
DAL @ EDM 9:00 PM CT 2.5 -105 -125 48.0% 47.2% 2.58 19.9 (2.8) — -7.8% 4 SOG
DAL @ EDM 9:00 PM CT 2.5 +100 -130 46.9% 45.6% 2.48 18.0 (2.5) — -8.7% 1 SOG
NYI @ SJS 9:00 PM CT 1.5 -150 +115 56.3% 59.3% 2.20 21.8 (2.1) — -1.1% 0 SOG
SJS vs NYI 9:00 PM CT 1.5 -165 +125 58.4% 57.5% 1.95 16.8 (2.0) — -7.6% 3 SOG
SJS vs NYI 9:00 PM CT 1.5 -155 +115 56.7% 56.1% 1.90 18.6 (2.3) — -7.7% 2 SOG
NYI @ SJS 9:00 PM CT 2.5 -150 +115 56.3% 54.4% 2.85 19.3 (2.6) — -9.3% 7 SOG
SJS vs NYI 9:00 PM CT 2.5 -135 +100 53.5% 50.4% 2.63 15.9 (2.3) — -12.3% 7 SOG
NYI @ SJS 9:00 PM CT 1.5 -115 -115 50.0% 50.2% 1.70 16.3 (1.3) — -6.1% 1 SOG
NYI @ SJS 9:00 PM CT 1.5 -130 -105 52.5% 49.7% 1.61 21.4 (0.3) — -12.1% 1 SOG
NYI @ SJS 9:00 PM CT 1.5 -110 -120 49.0% 49.7% 1.71 14.6 (1.5) — -5.1% 2 SOG
NYI @ SJS 9:00 PM CT 1.5 -115 -115 50.0% 48.6% 1.60 17.2 (1.5) — -9.2% 0 SOG
NYI @ SJS 9:00 PM CT 2.5 +100 -135 46.5% 46.4% 2.57 16.9 (2.3) — -7.1% 3 SOG
NYI @ SJS 9:00 PM CT 2.5 -105 -125 48.0% 45.3% 2.44 22.4 (2.4) — -11.5% 2 SOG
NYI @ SJS 9:00 PM CT 2.5 +130 -170 40.9% 40.0% 2.26 17.9 (1.7) — -8.1% 6 SOG
SJS vs NYI 9:00 PM CT 3.5 +115 -155 43.4% 39.1% 3.03 19.4 (2.5) — -16.0% 10 SOG

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