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

Best Bets

Jakob Chychrun
WSH @ TOR · 6:00 PM CT · D
UNDER 2.5
Price-115
Model58.8%
Book50.0%
EV+9.8%
Fair-142
Stake2.8%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.10 SOG · 21.4 min (2.5 PP) W 0 SOG · +0.87u
Matt Boldy
MIN @ ANA · 9:00 PM CT · F
UNDER 3.5
Price+115
Model50.8%
Book43.7%
EV+9.2%
Fair-103
Stake2.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 3.41 SOG · 20.2 min (3.4 PP) L 4 SOG · -1.00u
Cutter Gauthier
ANA vs MIN · 9:00 PM CT · F
UNDER 2.5
Price-160
Model66.8%
Book57.5%
EV+8.5%
Fair-201
Stake3.4%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.78 SOG · 14.0 min (1.8 PP) W 0 SOG · +0.63u
Kent Johnson
CBJ @ VAN · 9:00 PM CT · F
UNDER 1.5
Price+120
Model48.9%
Book42.5%
EV+7.6%
Fair+104
Stake1.6%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.59 SOG · 15.8 min (2.3 PP) L 3 SOG · -1.00u
Jared McCann
SEA @ NJD · 6:00 PM CT · F
UNDER 2.5
Price+115
Model49.9%
Book43.7%
EV+7.2%
Fair+101
Stake1.6%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.49 SOG · 18.1 min (2.7 PP) role change L 3 SOG · -1.00u
Quinn Hughes
VAN vs CBJ · 9:00 PM CT · D
UNDER 2.5
Price+130
Model46.2%
Book40.6%
EV+6.3%
Fair+116
Stake1.2%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.68 SOG · 25.3 min (3.7 PP) W 1 SOG · +1.30u
Brandon Montour
SEA @ NJD · 6:00 PM CT · D
UNDER 2.5
Price+100
Model53.0%
Book46.9%
EV+5.9%
Fair-113
Stake1.5%
0
1
2
3
4
5
6
7
8
9
10+
Proj 2.37 SOG · 23.0 min (2.9 PP) role change W 2 SOG · +1.00u
Jared Spurgeon
MIN @ ANA · 9:00 PM CT · D
UNDER 1.5
Price+135
Model45.1%
Book39.8%
EV+5.9%
Fair+122
Stake1.1%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.73 SOG · 21.7 min (2.2 PP) role change W 1 SOG · +1.35u
Stefan Noesen
NJD vs SEA · 6:00 PM CT · F
UNDER 1.5
Price+145
Model43.2%
Book38.0%
EV+5.8%
Fair+132
Stake1.0%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.80 SOG · 16.2 min (2.8 PP) L 9 SOG · -1.00u
Olen Zellweger
ANA vs MIN · 9:00 PM CT · D
UNDER 1.5
Price+150
Model42.0%
Book37.5%
EV+5.0%
Fair+138
Stake0.8%
0
1
2
3
4
5
6
7
8
9
10+
Proj 1.87 SOG · 19.8 min (2.8 PP) L 3 SOG · -1.00u

Full Board

PlayerGameLineOverUnder BookModelProjTOI (PP) PickEVResult
TOR vs WSH 6:00 PM CT 1.5 -175 +130 59.4% 59.7% 2.08 21.8 (2.8) — -6.2% 2 SOG
WSH @ TOR 6:00 PM CT 1.5 -155 +120 57.2% 57.8% 1.99 18.2 (2.9) — -4.9% 1 SOG
TOR vs WSH 6:00 PM CT 1.5 -145 +110 55.4% 56.1% 1.93 17.4 (2.5) — -5.2% 2 SOG
WSH @ TOR 6:00 PM CT 1.5 -135 +100 53.5% 51.0% 1.66 16.5 (2.0) — -11.2% 2 SOG
TOR vs WSH 6:00 PM CT 1.5 -130 -105 52.5% 50.8% 1.71 12.6 (1.6) — -10.1% 0 SOG
TOR vs WSH 6:00 PM CT 3.5 +100 -130 46.9% 47.4% 3.60 20.6 (3.9) — -5.2% 2 SOG
TOR vs WSH 6:00 PM CT 2.5 +120 -160 42.5% 42.4% 2.39 21.3 (3.3) — -6.8% 2 SOG
WSH @ TOR 6:00 PM CT 2.5 +105 -140 45.5% 42.3% 2.31 18.8 (2.7) — -13.3% 5 SOG
WSH @ TOR 6:00 PM CT 2.5 -115 -115 50.0% 41.3% 2.10 21.4 (2.5) UNDER best +9.8% W 0 SOG · +0.87u
TOR vs WSH 6:00 PM CT 4.5 +115 -150 43.7% 40.0% 3.99 20.1 (3.6) — -14.0% 2 SOG
WSH @ TOR 6:00 PM CT 2.5 +115 -155 43.4% 39.1% 2.11 23.1 (3.2) — -16.0% 2 SOG
WSH @ TOR 6:00 PM CT 2.5 +125 -170 41.4% 38.3% 2.14 18.8 (2.8) — -13.9% 1 SOG
TOR vs WSH 6:00 PM CT 3.5 +135 -180 39.8% 37.1% 2.98 19.1 (3.2) — -12.8% 3 SOG
SEA @ NJD 6:00 PM CT 1.5 -170 +130 59.2% 58.8% 2.00 17.8 (2.4) — -6.6% 2 SOG
SEA @ NJD 6:00 PM CT 1.5 -195 +145 61.8% 58.4% 1.93 15.2 (2.2) — -11.6% 2 SOG
NJD vs SEA 6:00 PM CT 1.5 -200 +145 62.0% 56.8% 1.80 16.2 (2.8) UNDER best +5.8% L 9 SOG · -1.00u
SEA @ NJD 6:00 PM CT 1.5 -175 +130 59.4% 55.6% 1.82 20.9 (2.8) UNDER lean +2.2% W 0 SOG · +1.30u
SEA @ NJD 6:00 PM CT 1.5 -155 +115 56.7% 55.1% 1.82 17.9 (2.5) — -9.4% 2 SOG
NJD vs SEA 6:00 PM CT 2.5 -155 +115 56.7% 53.4% 2.75 17.2 (1.7) — -12.1% 5 SOG
SEA @ NJD 6:00 PM CT 2.5 -150 +115 56.3% 50.1% 2.49 18.1 (2.7) UNDER best +7.2% L 3 SOG · -1.00u
NJD vs SEA 6:00 PM CT 2.5 -130 +100 53.1% 49.9% 2.64 20.5 (3.2) — -11.8% 3 SOG
NJD vs SEA 6:00 PM CT 2.5 -130 -105 52.5% 49.4% 2.59 18.1 (3.1) — -12.7% 1 SOG
NJD vs SEA 6:00 PM CT 3.5 -120 -110 51.0% 48.9% 3.60 21.2 (3.3) — -10.3% 3 SOG
NJD vs SEA 6:00 PM CT 2.5 -120 -110 51.0% 47.2% 2.50 19.5 (3.2) — -13.5% 3 SOG
SEA @ NJD 6:00 PM CT 2.5 -130 +100 53.1% 47.0% 2.37 23.0 (2.9) UNDER best +5.9% W 2 SOG · +1.00u
NYR vs PIT 6:30 PM CT 1.5 -190 +140 61.1% 61.8% 2.13 13.7 (1.3) — -5.6% 2 SOG
PIT @ NYR 6:30 PM CT 2.5 -175 +130 59.4% 58.5% 3.09 19.9 (3.2) — -8.1% 4 SOG
NYR vs PIT 6:30 PM CT 1.5 -175 +130 59.4% 58.4% 1.98 23.9 (3.3) — -8.2% 2 SOG
NYR vs PIT 6:30 PM CT 1.5 -170 +125 58.6% 56.6% 1.90 15.1 (0.7) — -10.1% 1 SOG
PIT @ NYR 6:30 PM CT 2.5 -175 +130 59.4% 56.6% 2.89 19.4 (3.0) — -11.1% 5 SOG
PIT @ NYR 6:30 PM CT 1.5 -155 +115 56.7% 56.5% 1.98 14.7 (1.9) — -7.0% 0 SOG
PIT @ NYR 6:30 PM CT 1.5 -175 +130 59.4% 55.3% 1.78 13.8 (1.6) UNDER lean +2.9% L 3 SOG · -1.00u
PIT @ NYR 6:30 PM CT 1.5 -145 +110 55.4% 54.0% 1.84 14.9 (0.2) — -8.7% 0 SOG
NYR vs PIT 6:30 PM CT 2.5 -135 +105 54.1% 51.7% 2.76 21.5 (3.4) — -10.0% 1 SOG
NYR vs PIT 6:30 PM CT 2.5 -130 +100 53.1% 49.5% 2.57 17.6 (3.5) — -12.5% 1 SOG
PIT @ NYR 6:30 PM CT 2.5 -115 -115 50.0% 48.5% 2.58 18.6 (2.8) — -9.4% 4 SOG
PIT @ NYR 6:30 PM CT 2.5 -120 -110 51.0% 47.3% 2.47 22.9 (3.1) — -13.2% 0 SOG
NYR vs PIT 6:30 PM CT 2.5 -120 -110 51.0% 46.4% 2.40 18.9 (3.2) UNDER lean +2.3% W 2 SOG · +0.91u
NYR vs PIT 6:30 PM CT 2.5 +115 -155 43.4% 43.9% 2.46 16.8 (1.6) — -5.7% 2 SOG
NYR vs PIT 6:30 PM CT 3.5 +105 -135 45.9% 41.9% 3.16 19.1 (3.5) — -14.1% 3 SOG
PIT @ NYR 6:30 PM CT 2.5 +130 -175 40.6% 40.3% 2.30 18.0 (3.1) — -7.3% 2 SOG
PIT @ NYR 6:30 PM CT 2.5 +140 -190 38.9% 38.0% 2.21 23.7 (2.2) — -8.9% 1 SOG
CBJ @ VAN 9:00 PM CT 1.5 -190 +140 61.1% 58.9% 1.95 16.9 (1.7) — -10.2% 4 SOG
CBJ @ VAN 9:00 PM CT 1.5 -195 +145 61.8% 58.3% 1.90 15.9 (2.3) UNDER lean +2.2% W 1 SOG · +1.45u
VAN vs CBJ 9:00 PM CT 1.5 -170 +130 59.2% 57.6% 1.92 16.6 (1.1) — -8.6% 3 SOG
CBJ @ VAN 9:00 PM CT 2.5 -180 +135 60.2% 56.9% 2.90 26.4 (2.9) — -11.5% 1 SOG
VAN vs CBJ 9:00 PM CT 2.5 -140 +105 54.5% 55.0% 2.96 19.7 (3.4) — -5.7% 0 SOG
VAN vs CBJ 9:00 PM CT 1.5 -155 +115 56.7% 54.0% 1.79 14.4 (1.0) — -11.2% 1 SOG
VAN vs CBJ 9:00 PM CT 2.5 -175 +130 59.4% 53.8% 2.68 25.3 (3.7) UNDER best +6.3% W 1 SOG · +1.30u
CBJ @ VAN 9:00 PM CT 1.5 -160 +120 57.5% 51.1% 1.59 15.8 (2.3) UNDER best +7.6% L 3 SOG · -1.00u
VAN vs CBJ 9:00 PM CT 2.5 -110 -120 49.0% 46.9% 2.55 18.2 (2.8) — -10.5% 3 SOG
VAN vs CBJ 9:00 PM CT 2.5 -115 -115 50.0% 45.4% 2.39 17.8 (3.6) UNDER lean +2.1% W 2 SOG · +0.87u
VAN vs CBJ 9:00 PM CT 2.5 +100 -130 46.9% 44.2% 2.38 19.4 (3.6) — -11.6% 1 SOG
CBJ @ VAN 9:00 PM CT 2.5 -105 -125 48.0% 42.7% 2.26 17.8 (2.6) UNDER lean +3.2% W 0 SOG · +0.80u
CBJ @ VAN 9:00 PM CT 2.5 +145 -195 38.2% 35.5% 2.05 18.1 (2.5) — -13.0% 1 SOG
CBJ @ VAN 9:00 PM CT 2.5 +145 -190 38.4% 35.4% 2.03 17.9 (1.6) — -13.3% 5 SOG
VGK vs DAL 9:00 PM CT 1.5 -195 +145 61.8% 60.9% 2.07 17.4 (1.8) — -7.9% 2 SOG
VGK vs DAL 9:00 PM CT 1.5 -170 +130 59.2% 58.1% 1.98 17.3 (2.9) — -7.7% 1 SOG
VGK vs DAL 9:00 PM CT 1.5 -150 +115 56.3% 56.7% 1.99 18.6 (2.7) — -5.5% 2 SOG
DAL @ VGK 9:00 PM CT 1.5 -145 +110 55.4% 53.4% 1.78 16.2 (1.8) — -9.7% 2 SOG
DAL @ VGK 9:00 PM CT 1.5 -160 +120 57.5% 53.4% 1.69 15.1 (1.8) UNDER lean +2.6% L 2 SOG · -1.00u
VGK vs DAL 9:00 PM CT 1.5 -135 +100 53.5% 52.4% 1.77 22.1 (1.5) — -8.7% 1 SOG
VGK vs DAL 9:00 PM CT 1.5 -135 +100 53.5% 51.9% 1.72 21.3 (1.6) — -9.6% 0 SOG
DAL @ VGK 9:00 PM CT 1.5 -145 +110 55.4% 51.8% 1.65 21.6 (1.4) — -12.5% 4 SOG
DAL @ VGK 9:00 PM CT 2.5 -140 +105 54.5% 49.7% 2.52 18.9 (2.0) UNDER lean +3.2% L 3 SOG · -1.00u
VGK vs DAL 9:00 PM CT 2.5 -110 -120 49.0% 45.0% 2.39 17.0 (2.4) — -14.1% 3 SOG
DAL @ VGK 9:00 PM CT 2.5 +100 -130 46.9% 41.6% 2.16 17.8 (2.1) UNDER lean +3.4% W 2 SOG · +0.77u
VGK vs DAL 9:00 PM CT 3.5 +130 -175 40.6% 38.7% 3.11 20.5 (3.0) — -11.0% 4 SOG
DAL @ VGK 9:00 PM CT 2.5 +135 -180 39.8% 36.2% 2.05 24.7 (2.5) — -14.9% 4 SOG
VGK vs DAL 9:00 PM CT 2.5 +145 -200 38.0% 36.0% 2.10 22.3 (2.7) — -11.8% 1 SOG
DAL @ VGK 9:00 PM CT 2.5 +130 -175 40.6% 35.4% 1.97 17.2 (2.0) — -18.6% 1 SOG
DAL @ VGK 9:00 PM CT 2.5 +140 -185 39.1% 34.1% 1.92 14.6 (1.5) — -18.3% 7 SOG
DAL @ VGK 9:00 PM CT 2.5 +145 -195 38.2% 33.0% 1.87 15.5 (1.6) — -19.3% 6 SOG
ANA vs MIN 9:00 PM CT 1.5 -200 +150 62.5% 58.9% 1.92 17.1 (2.0) UNDER lean +2.7% L 3 SOG · -1.00u
ANA vs MIN 9:00 PM CT 1.5 -200 +150 62.5% 58.0% 1.87 19.8 (2.8) UNDER best +5.0% L 3 SOG · -1.00u
ANA vs MIN 9:00 PM CT 1.5 -150 +115 56.3% 56.7% 1.96 17.3 (2.4) — -5.6% 0 SOG
MIN @ ANA 9:00 PM CT 1.5 -165 +125 58.4% 55.6% 1.82 16.8 (1.8) — -10.8% 1 SOG
ANA vs MIN 9:00 PM CT 1.5 -155 +120 57.2% 55.2% 1.82 16.0 (2.1) — -9.2% 1 SOG
MIN @ ANA 9:00 PM CT 1.5 -180 +135 60.2% 54.9% 1.73 21.7 (2.2) UNDER best +5.9% W 1 SOG · +1.35u
MIN @ ANA 9:00 PM CT 1.5 -135 +100 53.5% 52.3% 1.74 25.3 (3.0) — -9.0% 3 SOG
MIN @ ANA 9:00 PM CT 1.5 -140 +105 54.5% 51.1% 1.66 15.1 (1.6) — -12.5% 0 SOG
MIN @ ANA 9:00 PM CT 3.5 -150 +115 56.3% 49.2% 3.41 20.2 (3.4) UNDER best +9.2% L 4 SOG · -1.00u
ANA vs MIN 9:00 PM CT 2.5 -110 -120 49.0% 46.2% 2.45 19.6 (2.6) — -11.7% 4 SOG
MIN @ ANA 9:00 PM CT 2.5 -110 -120 49.0% 45.8% 2.42 16.4 (1.9) — -12.5% 1 SOG
ANA vs MIN 9:00 PM CT 3.5 +110 -150 44.3% 40.9% 3.10 18.6 (2.6) — -14.2% 3 SOG
MIN @ ANA 9:00 PM CT 2.5 +130 -175 40.6% 36.7% 2.03 17.0 (2.1) — -15.6% 3 SOG
MIN @ ANA 9:00 PM CT 4.5 +130 -170 40.9% 35.4% 3.64 22.8 (3.4) UNDER lean +2.7% L 5 SOG · -1.00u
ANA vs MIN 9:00 PM CT 2.5 +120 -160 42.5% 33.2% 1.78 14.0 (1.8) UNDER best +8.5% W 0 SOG · +0.63u

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