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

Best Bets

Patrik Laine
MTL @ DET · 6:00 PM CT · F
UNDER 2.5
Price-105
Model56.2%
Book48.0%
EV+9.7%
Fair-128
Stake2.5%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.20 SOG · 15.2 min (2.6 PP) L 3 SOG · -1.00u
Mika Zibanejad
NYR @ DAL · 7:00 PM CT · F
UNDER 2.5
Price-135
Model62.4%
Book53.5%
EV+8.7%
Fair-166
Stake2.9%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.96 SOG · 17.4 min (2.7 PP) W 0 SOG · +0.74u
Dylan Guenther
UTA @ MIN · 7:00 PM CT · F
UNDER 2.5
Price+100
Model54.1%
Book46.9%
EV+8.3%
Fair-118
Stake2.1%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.31 SOG · 16.5 min (3.1 PP) L 3 SOG · -1.00u
Brent Burns
CAR @ WSH · 6:00 PM CT · D
UNDER 2.5
Price-180
Model68.3%
Book60.2%
EV+6.3%
Fair-216
Stake2.8%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.74 SOG · 20.6 min (1.4 PP) W 2 SOG · +0.56u
Aaron Ekblad
FLA vs STL · 6:00 PM CT · D
UNDER 2.5
Price-175
Model67.4%
Book59.4%
EV+5.9%
Fair-207
Stake2.6%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.79 SOG · 23.1 min (2.8 PP) role change L 4 SOG · -1.00u
Adam Fox
NYR @ DAL · 7:00 PM CT · D
UNDER 1.5
Price+125
Model46.9%
Book41.7%
EV+5.4%
Fair+113
Stake1.1%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.68 SOG · 24.1 min (2.8 PP) L 4 SOG · -1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
TOR @ BUF 6:00 PM CT 1.5 -200 +150 62.5% 62.5% 2.21 14.6 (1.1) — -6.3% 3 SOG
TOR @ BUF 6:00 PM CT 1.5 -180 +135 60.2% 60.5% 2.13 15.1 (1.6) — -5.9% 4 SOG
BUF vs TOR 6:00 PM CT 1.5 -185 +140 60.9% 56.4% 1.79 14.0 (1.7) UNDER lean +4.6% L 2 SOG · -1.00u
TOR @ BUF 6:00 PM CT 1.5 -150 +110 55.8% 55.8% 1.95 21.3 (2.6) — -7.0% 0 SOG
TOR @ BUF 6:00 PM CT 2.5 -155 +115 56.7% 55.3% 2.89 18.9 (3.1) — -9.0% 2 SOG
TOR @ BUF 6:00 PM CT 3.5 -155 +120 57.2% 54.3% 3.81 20.0 (3.4) — -10.6% 5 SOG
BUF vs TOR 6:00 PM CT 2.5 -145 +110 55.4% 51.2% 2.60 24.6 (3.3) UNDER lean +2.4% L 5 SOG · -1.00u
TOR @ BUF 6:00 PM CT 3.5 +110 -145 44.6% 45.3% 3.52 20.6 (4.0) — -4.9% 3 SOG
BUF vs TOR 6:00 PM CT 2.5 +105 -135 45.9% 44.7% 2.41 17.8 (2.8) — -8.5% 2 SOG
BUF vs TOR 6:00 PM CT 2.5 +110 -145 44.6% 42.1% 2.29 18.0 (2.2) — -11.7% 2 SOG
TOR @ BUF 6:00 PM CT 2.5 +125 -165 41.7% 41.6% 2.36 21.0 (3.3) — -6.4% 1 SOG
BUF vs TOR 6:00 PM CT 2.5 +130 -170 40.9% 40.3% 2.29 17.3 (2.7) — -7.3% 2 SOG
BUF vs TOR 6:00 PM CT 3.5 +115 -150 43.7% 39.3% 3.01 18.5 (3.1) — -15.6% 0 SOG
BUF vs TOR 6:00 PM CT 2.5 +145 -200 38.0% 35.3% 2.04 14.7 (2.6) — -13.4% 1 SOG
BUF vs TOR 6:00 PM CT 2.5 +130 -175 40.6% 34.7% 1.90 15.4 (2.3) UNDER lean +2.6% W 1 SOG · +0.57u
MTL @ DET 6:00 PM CT 1.5 -190 +140 61.1% 60.1% 2.05 24.5 (2.2) — -8.3% 1 SOG
DET vs MTL 6:00 PM CT 1.5 -200 +145 62.0% 59.5% 2.00 25.5 (3.2) — -10.7% 2 SOG
MTL @ DET 6:00 PM CT 1.5 -185 +135 60.4% 58.7% 2.00 18.2 (2.7) — -9.6% 1 SOG
DET vs MTL 6:00 PM CT 1.5 -175 +130 59.4% 58.2% 1.96 15.1 (2.0) — -8.5% 3 SOG
DET vs MTL 6:00 PM CT 2.5 -160 +120 57.5% 56.0% 2.92 20.8 (3.5) — -9.1% 3 SOG
MTL @ DET 6:00 PM CT 2.5 -150 +115 56.3% 56.0% 2.98 17.2 (2.6) — -6.8% 3 SOG
MTL @ DET 6:00 PM CT 1.5 -140 +105 54.5% 54.8% 1.87 14.0 (1.5) — -6.0% 3 SOG
MTL @ DET 6:00 PM CT 1.5 -115 -115 50.0% 50.4% 1.72 16.1 (2.6) — -5.9% 1 SOG
DET vs MTL 6:00 PM CT 2.5 -120 -110 51.0% 50.0% 2.68 17.1 (3.2) — -8.3% 2 SOG
MTL @ DET 6:00 PM CT 2.5 -125 -105 52.0% 43.8% 2.20 15.2 (2.6) UNDER best +9.7% L 3 SOG · -1.00u
DET vs MTL 6:00 PM CT 2.5 +115 -150 43.7% 43.3% 2.42 16.7 (3.2) — -6.8% 4 SOG
DET vs MTL 6:00 PM CT 2.5 +115 -155 43.4% 41.1% 2.28 19.7 (3.4) — -11.6% 1 SOG
FLA vs STL 6:00 PM CT 1.5 -180 +135 60.2% 58.6% 1.96 14.9 (1.4) — -8.9% 3 SOG
FLA vs STL 6:00 PM CT 1.5 -165 +125 58.4% 56.3% 1.93 16.5 (1.1) — -9.6% 0 SOG
STL @ FLA 6:00 PM CT 1.5 -155 +115 56.7% 55.3% 1.86 20.7 (3.0) — -9.0% 1 SOG
STL @ FLA 6:00 PM CT 1.5 -125 -105 52.0% 53.3% 1.87 24.1 (2.6) — -4.1% 2 SOG
STL @ FLA 6:00 PM CT 1.5 -140 +105 54.5% 52.1% 1.72 15.9 (1.4) — -10.7% 3 SOG
FLA vs STL 6:00 PM CT 2.5 -130 +100 53.1% 51.5% 2.72 20.3 (3.4) — -9.0% 0 SOG
FLA vs STL 6:00 PM CT 2.5 -120 -110 51.0% 48.0% 2.52 19.8 (3.2) — -12.1% 3 SOG
FLA vs STL 6:00 PM CT 2.5 -110 -120 49.0% 47.2% 2.53 17.5 (2.1) — -9.9% 0 SOG
STL @ FLA 6:00 PM CT 2.5 -110 -120 49.0% 46.8% 2.50 17.6 (2.8) — -10.6% 3 SOG
FLA vs STL 6:00 PM CT 3.5 +115 -155 43.4% 39.3% 3.01 18.8 (3.7) — -15.6% 3 SOG
FLA vs STL 6:00 PM CT 3.5 +120 -160 42.5% 37.9% 2.95 18.3 (3.0) — -16.7% 1 SOG
FLA vs STL 6:00 PM CT 2.5 +130 -175 40.6% 36.1% 1.99 22.1 (0.4) — -17.0% 2 SOG
STL @ FLA 6:00 PM CT 2.5 +140 -190 38.9% 35.0% 2.01 19.3 (2.7) — -16.0% 1 SOG
FLA vs STL 6:00 PM CT 2.5 +130 -175 40.6% 32.6% 1.79 23.1 (2.8) UNDER best +5.9% L 4 SOG · -1.00u
WSH vs CAR 6:00 PM CT 1.5 -190 +140 61.1% 59.2% 1.98 23.0 (3.4) — -9.7% 3 SOG
WSH vs CAR 6:00 PM CT 1.5 -150 +115 56.3% 56.9% 1.96 18.6 (3.2) — -5.1% 3 SOG
CAR @ WSH 6:00 PM CT 1.5 -150 +115 56.3% 51.4% 1.64 19.2 (3.6) UNDER lean +4.4% W 1 SOG · +1.15u
WSH vs CAR 6:00 PM CT 1.5 -120 -115 50.5% 50.1% 1.69 17.0 (1.8) — -8.1% 2 SOG
CAR @ WSH 6:00 PM CT 2.5 -130 +100 53.1% 48.2% 2.48 17.5 (3.4) UNDER lean +3.7% L 3 SOG · -1.00u
CAR @ WSH 6:00 PM CT 2.5 -120 -110 51.0% 47.4% 2.50 18.5 (3.5) — -13.1% 3 SOG
CAR @ WSH 6:00 PM CT 2.5 -130 -105 52.5% 46.5% 2.38 19.3 (3.5) UNDER lean +4.4% W 1 SOG · +0.95u
WSH vs CAR 6:00 PM CT 2.5 +120 -165 42.2% 40.6% 2.28 19.1 (3.0) — -10.7% 4 SOG
WSH vs CAR 6:00 PM CT 2.5 +105 -145 45.2% 39.9% 2.13 21.9 (3.0) — -18.2% 1 SOG
CAR @ WSH 6:00 PM CT 2.5 +120 -160 42.5% 38.4% 2.12 18.6 (3.4) — -15.5% 3 SOG
WSH vs CAR 6:00 PM CT 2.5 +150 -200 37.5% 35.1% 2.04 18.5 (3.0) — -12.3% 1 SOG
CAR @ WSH 6:00 PM CT 2.5 +135 -180 39.8% 31.7% 1.74 20.6 (1.4) UNDER best +6.3% W 2 SOG · +0.56u
DAL vs NYR 7:00 PM CT 1.5 -170 +130 59.2% 59.2% 2.05 17.6 (2.6) — -5.9% 4 SOG
DAL vs NYR 7:00 PM CT 1.5 -165 +125 58.4% 56.0% 1.86 15.0 (2.5) — -10.0% 1 SOG
DAL vs NYR 7:00 PM CT 2.5 -145 +110 55.4% 54.3% 2.85 19.4 (2.7) — -8.2% 9 SOG
NYR @ DAL 7:00 PM CT 1.5 -165 +125 58.4% 53.2% 1.68 24.1 (2.8) UNDER best +5.4% L 4 SOG · -1.00u
DAL vs NYR 7:00 PM CT 2.5 +105 -140 45.5% 44.2% 2.40 16.3 (2.2) — -9.3% 1 SOG
DAL vs NYR 7:00 PM CT 2.5 +100 -135 46.5% 43.9% 2.35 25.6 (3.9) — -12.2% 6 SOG
DAL vs NYR 7:00 PM CT 2.5 +100 -135 46.5% 43.6% 2.36 17.2 (2.7) — -12.9% 5 SOG
NYR @ DAL 7:00 PM CT 2.5 -110 -120 49.0% 43.3% 2.24 20.5 (2.9) UNDER lean +3.9% L 5 SOG · -1.00u
NYR @ DAL 7:00 PM CT 2.5 -105 -130 47.5% 42.5% 2.24 17.7 (2.9) — -17.0% 2 SOG
DAL vs NYR 7:00 PM CT 2.5 +115 -155 43.4% 40.5% 2.23 17.3 (2.6) — -12.9% 5 SOG
NYR @ DAL 7:00 PM CT 2.5 +115 -155 43.4% 38.2% 2.08 16.8 (1.5) — -17.8% 1 SOG
DAL vs NYR 7:00 PM CT 2.5 +135 -180 39.8% 38.1% 2.17 15.8 (2.1) — -10.6% 3 SOG
NYR @ DAL 7:00 PM CT 2.5 +100 -135 46.5% 37.6% 1.96 17.4 (2.7) UNDER best +8.7% W 0 SOG · +0.74u
NYR @ DAL 7:00 PM CT 2.5 +125 -165 41.7% 35.5% 1.96 15.2 (1.4) UNDER lean +3.6% W 2 SOG · +0.61u
UTA @ MIN 7:00 PM CT 1.5 -190 +140 61.1% 59.2% 2.00 16.7 (2.6) — -9.6% 0 SOG
UTA @ MIN 7:00 PM CT 1.5 -200 +145 62.0% 57.5% 1.83 25.2 (3.1) UNDER lean +4.2% W 1 SOG · +1.45u
MIN vs UTA 7:00 PM CT 1.5 -145 +110 55.4% 53.4% 1.76 22.6 (3.0) — -9.9% 3 SOG
MIN vs UTA 7:00 PM CT 3.5 -140 +105 54.5% 49.8% 3.51 23.5 (3.8) UNDER lean +3.0% L 5 SOG · -1.00u
UTA @ MIN 7:00 PM CT 2.5 -120 -115 50.5% 47.7% 2.52 18.7 (3.2) — -12.5% 2 SOG
UTA @ MIN 7:00 PM CT 2.5 -130 +100 53.1% 45.9% 2.31 16.5 (3.1) UNDER best +8.3% L 3 SOG · -1.00u
MIN vs UTA 7:00 PM CT 3.5 +115 -155 43.4% 39.6% 3.05 19.5 (3.7) — -15.0% 2 SOG
MIN vs UTA 7:00 PM CT 2.5 +115 -155 43.4% 39.3% 2.15 16.1 (1.7) — -15.5% 2 SOG
UTA @ MIN 7:00 PM CT 2.5 +140 -185 39.1% 37.4% 2.15 18.9 (3.0) — -10.3% 0 SOG
MIN vs UTA 7:00 PM CT 2.5 +145 -200 38.0% 36.8% 2.12 19.6 (2.9) — -9.8% 2 SOG
MIN vs UTA 7:00 PM CT 2.5 +150 -200 37.5% 36.1% 2.10 18.4 (3.4) — -9.7% 6 SOG
COL @ ANA 9:00 PM CT 1.5 -200 +150 62.5% 59.9% 1.98 25.3 (1.6) — -10.1% 0 SOG
ANA vs COL 9:00 PM CT 1.5 -190 +140 61.1% 57.0% 1.84 15.0 (1.8) UNDER lean +3.1% L 5 SOG · -1.00u
ANA vs COL 9:00 PM CT 1.5 -180 +135 60.2% 56.5% 1.84 19.4 (2.6) UNDER lean +2.2% W 0 SOG · +1.35u
ANA vs COL 9:00 PM CT 1.5 -165 +125 58.4% 55.7% 1.82 16.9 (2.1) — -10.6% 2 SOG
ANA vs COL 9:00 PM CT 1.5 -155 +120 57.2% 55.1% 1.82 16.3 (1.9) — -9.4% 3 SOG
COL @ ANA 9:00 PM CT 2.5 -160 +120 57.5% 54.5% 2.81 20.5 (3.4) — -11.4% 3 SOG
ANA vs COL 9:00 PM CT 1.5 -140 +105 54.5% 54.1% 1.83 16.6 (2.6) — -7.3% 3 SOG
COL @ ANA 9:00 PM CT 2.5 -105 -125 48.0% 47.9% 2.63 21.7 (2.6) — -6.5% 1 SOG
ANA vs COL 9:00 PM CT 2.5 -105 -125 48.0% 44.7% 2.39 18.8 (2.7) — -12.8% 1 SOG
COL @ ANA 9:00 PM CT 4.5 +120 -160 42.5% 42.5% 4.32 22.5 (3.8) — -6.5% 3 SOG
COL @ ANA 9:00 PM CT 2.5 +105 -135 45.9% 42.2% 2.25 16.5 (2.7) — -13.6% 0 SOG
COL @ ANA 9:00 PM CT 3.5 -105 -130 47.5% 40.7% 2.99 26.3 (3.8) UNDER lean +4.9% L 7 SOG · -1.00u
ANA vs COL 9:00 PM CT 3.5 +125 -165 41.7% 38.0% 2.99 18.2 (2.6) — -14.6% 3 SOG
COL @ ANA 9:00 PM CT 3.5 +130 -175 40.6% 37.8% 3.04 21.4 (3.8) — -13.2% 0 SOG

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