Choose a game and stat to compare available player lines. Prices are sportsbook quotes; historical hit rates are not predictions.
Loads only on request. One game + one stat uses up to 1 provider credit on a cache miss. Results may be cached for 10 minutes; check the fetched time before using a quote.
Research shortlist
Rank the loaded game's shots props by estimated value at the selected sportsbook prices. These probabilities are exploratory, not validated betting advice. A positive estimate does not establish a profitable edge.
Load shots-on-goal props for an upcoming game first.
How the model and checks work
Shots v1 uses up to 40 prior regular-season games: equal weight to the last 10 and full sample shot averages, with small adjustments for venue, past games against this opponent, and recent ice time. It uses a Poisson count distribution or a negative-binomial distribution when past shot counts are more variable.
Each test predicts a historical game using only earlier dates. We test up to 40 games after a minimum of 20 training games, at today's selected threshold. Brier loss measures forecast error (lower is better); the baseline is a smoothed historical hit rate. Calibration bins compare predicted over rates with actual outcomes.
Exploratory checks require 30 held-out games, Brier loss no worse than baseline, positive expected value even when expected shots change by ±15%, a quote updated within 15 minutes, a future start, and a verified team/venue match. The ±15% range is a sensitivity check, not a confidence interval. These checks do not establish statistical significance or profitability.
No historical sportsbook prices are used; this is a probability backtest, not a return-on-investment backtest. Injuries, confirmed lineups, power-play role changes and opponent-wide shot suppression are not modeled. No automatic probability calibration has been fitted. No subscription upgrade is required.