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

Best Bets

Brady Tkachuk
OTT vs NYI · 4:00 PM CT · F
UNDER 3.5
Price+130
Model47.3%
Book40.9%
EV+8.7%
Fair+112
Stake1.7%
0
1
2
3
4
5
6
7
8
9
10+
Proj 3.59 SOG · 17.7 min (3.2 PP) L 6 SOG · -1.00u
Cale Makar
COL @ NJD · 6:00 PM CT · D
UNDER 2.5
Price+135
Model45.4%
Book39.8%
EV+6.7%
Fair+120
Stake1.2%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.71 SOG · 26.2 min (3.5 PP) L 5 SOG · -1.00u
Stefan Noesen
NJD vs COL · 6:00 PM CT · F
UNDER 2.5
Price-180
Model67.7%
Book60.2%
EV+5.3%
Fair-210
Stake2.4%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.82 SOG · 16.0 min (3.0 PP) W 1 SOG · +0.56u
Artemi Panarin
NYR vs SEA · 12:00 PM CT · F
UNDER 3.5
Price-145
Model62.3%
Book55.4%
EV+5.3%
Fair-165
Stake1.9%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.89 SOG · 19.4 min (3.1 PP) W 2 SOG · +0.69u
Timo Meier
NJD vs COL · 6:00 PM CT · F
UNDER 2.5
Price+120
Model47.7%
Book42.5%
EV+5.0%
Fair+110
Stake1.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.68 SOG · 16.8 min (1.8 PP) L 3 SOG · -1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
SEA @ NYR 12:00 PM CT 1.5 -195 +145 61.8% 62.7% 2.19 17.8 (2.4) — -5.2% 0 SOG
NYR vs SEA 12:00 PM CT 1.5 -170 +125 58.6% 57.7% 1.97 13.8 (1.1) — -8.3% 2 SOG
SEA @ NYR 12:00 PM CT 1.5 -165 +125 58.4% 57.7% 1.97 17.9 (2.5) — -7.4% 0 SOG
NYR vs SEA 12:00 PM CT 1.5 -160 +120 57.5% 54.4% 1.78 23.6 (2.9) — -11.7% 2 SOG
SEA @ NYR 12:00 PM CT 2.5 -165 +120 57.8% 53.1% 2.66 18.2 (2.7) UNDER lean +3.3% W 1 SOG · +1.20u
SEA @ NYR 12:00 PM CT 2.5 -125 -105 52.0% 49.9% 2.61 23.4 (3.0) — -10.3% 1 SOG
NYR vs SEA 12:00 PM CT 2.5 -130 -105 52.5% 48.7% 2.55 21.5 (3.1) — -13.9% 3 SOG
NYR vs SEA 12:00 PM CT 2.5 -115 -115 50.0% 45.7% 2.39 17.4 (3.1) — -14.6% 6 SOG
NYR vs SEA 12:00 PM CT 2.5 -110 -120 49.0% 43.1% 2.21 18.7 (2.8) UNDER lean +4.4% L 3 SOG · -1.00u
NYR vs SEA 12:00 PM CT 2.5 +130 -175 40.6% 38.6% 2.17 17.0 (1.4) — -11.2% 4 SOG
SEA @ NYR 12:00 PM CT 2.5 +135 -180 39.8% 38.1% 2.15 15.6 (2.2) — -10.4% 3 SOG
NYR vs SEA 12:00 PM CT 3.5 +110 -145 44.6% 37.7% 2.89 19.4 (3.1) UNDER best +5.3% W 2 SOG · +0.69u
SEA @ NYR 12:00 PM CT 2.5 +145 -195 38.2% 34.8% 1.98 21.3 (2.8) — -14.7% 4 SOG
TBL @ VAN 3:00 PM CT 1.5 -160 +120 57.5% 55.5% 1.83 19.3 (1.8) — -9.9% 2 SOG
VAN vs TBL 3:00 PM CT 1.5 -155 +115 56.7% 55.1% 1.84 16.6 (1.1) — -9.4% 1 SOG
TBL @ VAN 3:00 PM CT 2.5 -145 +110 55.4% 53.1% 2.75 20.3 (3.5) — -10.3% 4 SOG
VAN vs TBL 3:00 PM CT 2.5 -140 +105 54.5% 50.4% 2.59 25.8 (3.6) — -13.7% 4 SOG
VAN vs TBL 3:00 PM CT 2.5 -115 -115 50.0% 49.3% 2.70 19.2 (3.3) — -7.8% 2 SOG
TBL @ VAN 3:00 PM CT 2.5 +100 -130 46.9% 45.6% 2.49 22.1 (3.2) — -8.7% 5 SOG
TBL @ VAN 3:00 PM CT 2.5 +100 -135 46.5% 45.0% 2.44 19.5 (3.6) — -10.0% 3 SOG
VAN vs TBL 3:00 PM CT 2.5 +110 -145 44.6% 43.3% 2.40 18.4 (2.8) — -9.1% 5 SOG
VAN vs TBL 3:00 PM CT 2.5 +105 -140 45.5% 41.7% 2.25 17.9 (3.4) — -14.5% 1 SOG
VAN vs TBL 3:00 PM CT 2.5 +120 -160 42.5% 41.1% 2.27 19.8 (3.5) — -9.5% 0 SOG
TBL @ VAN 3:00 PM CT 3.5 +120 -160 42.5% 38.7% 2.99 21.3 (3.6) — -14.8% 4 SOG
TBL @ VAN 3:00 PM CT 2.5 +125 -165 41.7% 35.4% 1.96 22.3 (3.2) UNDER lean +3.7% W 2 SOG · +0.61u
OTT vs NYI 4:00 PM CT 1.5 -165 +125 58.4% 58.2% 2.01 17.8 (1.9) — -6.5% 0 SOG
OTT vs NYI 4:00 PM CT 1.5 -185 +135 60.4% 57.5% 1.88 23.4 (3.1) — -11.5% 2 SOG
OTT vs NYI 4:00 PM CT 1.5 -145 +110 55.4% 54.4% 1.83 16.9 (1.2) — -8.2% 3 SOG
NYI @ OTT 4:00 PM CT 2.5 -155 +115 56.7% 53.1% 2.72 19.5 (2.5) — -12.7% 1 SOG
OTT vs NYI 4:00 PM CT 3.5 -170 +130 59.2% 52.7% 3.59 17.7 (3.2) UNDER best +8.7% L 6 SOG · -1.00u
NYI @ OTT 4:00 PM CT 2.5 -120 -110 51.0% 47.7% 2.52 18.1 (2.4) — -12.5% 1 SOG
NYI @ OTT 4:00 PM CT 2.5 -110 -120 49.0% 45.0% 2.40 18.6 (2.3) — -14.0% 1 SOG
NYI @ OTT 4:00 PM CT 2.5 -105 -125 48.0% 44.2% 2.35 17.0 (2.2) — -13.7% 2 SOG
OTT vs NYI 4:00 PM CT 2.5 +115 -150 43.7% 43.6% 2.42 20.0 (3.1) — -6.3% 1 SOG
OTT vs NYI 4:00 PM CT 2.5 +115 -150 43.7% 41.1% 2.28 17.9 (2.9) — -11.7% 3 SOG
OTT vs NYI 4:00 PM CT 2.5 +110 -150 44.3% 39.1% 2.11 22.2 (1.7) — -17.9% 2 SOG
NYI @ OTT 4:00 PM CT 2.5 +125 -170 41.4% 38.2% 2.15 22.8 (2.5) — -14.1% 2 SOG
OTT vs NYI 4:00 PM CT 2.5 +130 -170 40.9% 36.3% 2.04 17.4 (2.9) — -16.4% 1 SOG
WPG vs CBJ 5:00 PM CT 1.5 -195 +145 61.8% 60.6% 2.05 15.5 (2.5) — -8.4% 4 SOG
CBJ @ WPG 5:00 PM CT 1.5 -165 +125 58.4% 57.2% 1.93 15.0 (2.1) — -8.1% 2 SOG
WPG vs CBJ 5:00 PM CT 1.5 -165 +120 57.8% 56.4% 1.88 22.8 (1.9) — -9.5% 3 SOG
WPG vs CBJ 5:00 PM CT 2.5 -110 -125 48.5% 46.9% 2.51 25.2 (3.5) — -10.5% 2 SOG
WPG vs CBJ 5:00 PM CT 2.5 +100 -135 46.5% 45.7% 2.50 21.3 (3.4) — -8.5% 1 SOG
WPG vs CBJ 5:00 PM CT 3.5 +105 -140 45.5% 44.8% 3.41 20.6 (3.4) — -8.2% 5 SOG
CBJ @ WPG 5:00 PM CT 2.5 +110 -145 44.6% 42.7% 2.35 17.1 (2.5) — -10.4% 3 SOG
WPG vs CBJ 5:00 PM CT 2.5 +125 -165 41.7% 41.9% 2.39 18.8 (3.4) — -5.8% 2 SOG
CBJ @ WPG 5:00 PM CT 3.5 +125 -165 41.7% 40.1% 3.17 26.6 (2.7) — -9.8% 1 SOG
CBJ @ WPG 5:00 PM CT 2.5 +130 -175 40.6% 39.9% 2.25 17.9 (1.5) — -8.3% 0 SOG
CBJ @ WPG 5:00 PM CT 2.5 +140 -190 38.9% 39.1% 2.26 18.3 (2.3) — -6.3% 4 SOG
WPG vs CBJ 5:00 PM CT 2.5 +145 -195 38.2% 38.2% 2.23 15.3 (1.8) — -6.5% 2 SOG
CBJ @ WPG 5:00 PM CT 2.5 +140 -190 38.9% 36.3% 2.10 16.6 (1.5) — -13.0% 2 SOG
CBJ @ WPG 5:00 PM CT 2.5 +150 -200 37.5% 31.9% 1.82 16.5 (2.2) UNDER lean +2.1% L 4 SOG · -1.00u
COL @ NJD 6:00 PM CT 2.5 -180 +135 60.2% 54.6% 2.71 26.2 (3.5) UNDER best +6.7% L 5 SOG · -1.00u
COL @ NJD 6:00 PM CT 1.5 -150 +110 55.8% 53.3% 1.73 24.5 (1.4) — -11.3% 1 SOG
NJD vs COL 6:00 PM CT 2.5 -160 +120 57.5% 52.3% 2.68 16.8 (1.8) UNDER best +5.0% L 3 SOG · -1.00u
NJD vs COL 6:00 PM CT 2.5 -140 +105 54.5% 50.8% 2.67 20.7 (3.4) — -13.0% 2 SOG
NJD vs COL 6:00 PM CT 3.5 -130 +100 53.1% 50.2% 3.63 21.0 (3.6) — -11.2% 6 SOG
NJD vs COL 6:00 PM CT 2.5 -135 +100 53.5% 50.1% 2.58 18.2 (3.3) — -12.9% 1 SOG
NJD vs COL 6:00 PM CT 2.5 -125 -105 52.0% 48.1% 2.51 19.7 (3.4) — -13.4% 4 SOG
COL @ NJD 6:00 PM CT 2.5 -115 -115 50.0% 46.1% 2.42 19.4 (3.1) — -13.9% 1 SOG
COL @ NJD 6:00 PM CT 2.5 +105 -140 45.5% 44.7% 2.45 22.5 (2.7) — -8.5% 2 SOG
COL @ NJD 6:00 PM CT 4.5 +125 -170 41.4% 40.3% 4.11 23.5 (3.6) — -9.3% 6 SOG
COL @ NJD 6:00 PM CT 3.5 +135 -180 39.8% 37.6% 3.00 23.2 (3.8) — -11.7% 0 SOG
COL @ NJD 6:00 PM CT 2.5 +125 -170 41.4% 37.0% 2.03 16.0 (2.6) — -16.8% 2 SOG
NJD vs COL 6:00 PM CT 2.5 +135 -180 39.8% 32.3% 1.82 16.0 (3.0) UNDER best +5.3% W 1 SOG · +0.56u
UTA @ PHI 6:30 PM CT 1.5 -200 +150 62.5% 59.3% 1.96 18.3 (2.9) — -11.0% 2 SOG
PHI vs UTA 6:30 PM CT 2.5 -155 +120 57.2% 56.1% 2.94 21.2 (3.2) — -7.6% 1 SOG
PHI vs UTA 6:30 PM CT 1.5 -140 +105 54.5% 54.7% 1.88 16.2 (3.5) — -6.2% 3 SOG
PHI vs UTA 6:30 PM CT 1.5 -155 +115 56.7% 53.7% 1.78 24.3 (1.6) — -11.6% 1 SOG
UTA @ PHI 6:30 PM CT 1.5 -150 +110 55.8% 53.5% 1.79 16.1 (2.2) — -10.8% 4 SOG
UTA @ PHI 6:30 PM CT 1.5 -150 +115 56.3% 51.3% 1.61 24.2 (2.9) UNDER lean +4.8% L 2 SOG · -1.00u
PHI vs UTA 6:30 PM CT 2.5 -125 -105 52.0% 48.5% 2.56 15.3 (2.3) — -12.6% 2 SOG
PHI vs UTA 6:30 PM CT 2.5 +125 -165 41.7% 43.0% 2.45 19.9 (2.5) — -3.4% 0 SOG
UTA @ PHI 6:30 PM CT 2.5 +115 -155 43.4% 41.4% 2.31 18.2 (3.1) — -11.0% 3 SOG
UTA @ PHI 6:30 PM CT 2.5 +110 -150 44.3% 39.1% 2.08 16.1 (3.0) — -18.0% 2 SOG
PHI vs UTA 6:30 PM CT 2.5 +150 -200 37.5% 38.7% 2.26 17.6 (2.2) — -3.3% 4 SOG
DAL vs CGY 7:00 PM CT 1.5 -165 +120 57.8% 57.2% 1.94 16.8 (2.4) — -8.1% 0 SOG
CGY @ DAL 7:00 PM CT 1.5 -165 +125 58.4% 56.3% 1.86 16.1 (0.8) — -9.6% 3 SOG
CGY @ DAL 7:00 PM CT 1.5 -170 +130 59.2% 55.7% 1.82 16.0 (1.8) — -11.5% 2 SOG
DAL vs CGY 7:00 PM CT 1.5 -165 +125 58.4% 55.4% 1.79 15.0 (2.3) — -11.0% 1 SOG
DAL vs CGY 7:00 PM CT 2.5 -160 +120 57.5% 54.5% 2.79 19.7 (2.6) — -11.5% 2 SOG
DAL vs CGY 7:00 PM CT 1.5 -170 +125 58.6% 54.0% 1.70 21.4 (1.8) UNDER lean +3.5% L 3 SOG · -1.00u
CGY @ DAL 7:00 PM CT 1.5 -135 +100 53.5% 53.9% 1.86 19.0 (2.2) — -6.1% 2 SOG
CGY @ DAL 7:00 PM CT 1.5 -145 +110 55.4% 51.9% 1.68 24.3 (2.3) — -12.3% 4 SOG
CGY @ DAL 7:00 PM CT 1.5 -135 +105 54.1% 51.6% 1.69 15.1 (1.4) — -10.3% 0 SOG
DAL vs CGY 7:00 PM CT 2.5 +100 -135 46.5% 44.2% 2.39 18.1 (2.7) — -11.6% 4 SOG
DAL vs CGY 7:00 PM CT 2.5 -110 -120 49.0% 42.9% 2.24 15.4 (2.0) UNDER lean +4.8% W 2 SOG · +0.83u
CGY @ DAL 7:00 PM CT 2.5 +115 -155 43.4% 40.1% 2.22 18.7 (1.9) — -13.7% 5 SOG
DAL vs CGY 7:00 PM CT 2.5 +120 -160 42.5% 40.0% 2.23 25.0 (3.3) — -11.9% 0 SOG
CGY @ DAL 7:00 PM CT 2.5 +115 -150 43.7% 38.8% 2.12 18.6 (2.1) UNDER lean +2.1% W 1 SOG · +0.67u
DAL vs CGY 7:00 PM CT 2.5 +130 -175 40.6% 38.6% 2.17 17.8 (2.5) — -11.2% 4 SOG
CGY @ DAL 7:00 PM CT 2.5 +120 -160 42.5% 38.2% 2.09 23.2 (2.3) — -16.0% 2 SOG
DAL vs CGY 7:00 PM CT 2.5 +120 -155 42.8% 38.0% 2.05 15.9 (2.1) — -16.4% 4 SOG
CGY @ DAL 7:00 PM CT 3.5 +135 -180 39.8% 35.3% 2.84 18.7 (2.4) — -17.0% 3 SOG

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