SHOTLAB2.4
Real-data sports research • built for mobile
Checking feed
Pregame winner forecasts + live-adjusted soccer shot estimates. Shot counts can change sharply during a match. The original shot estimate is only a pregame baseline; live updates incorporate current match pace. Experimental estimates, not guaranteed picks. Estimates use past game results; they are not yet backtested or calibrated and do not account for all injuries, lineup changes or market information. If the data is missing, the model says so.
01 / Select a game

Choose your sport

02 / Pick a matchup

Games

Not loaded
Select your sport and date, then load games.
Games will appear here automatically.
06 / Feedback & accuracy

Log what actually happened

ShotLab automatically saves the first pregame shot forecasts it calculates in this browser. After a game finishes, add the actual stats to measure prediction error. You can also manually log older predictions. Results are stored on this device only; export a backup before clearing Safari data or changing devices. This is tracking, not automatic model retraining.

Checking whether this browser can save your forecasts…
No recorded results yet.

Use this once to restore the predictions you reported, even if Turkey–Belgium failed to save previously. Existing entries are not overwritten. These are manually recovered records, not data verified by ShotLab before kickoff.

Saved forecasts

0 tracked

After saving, your forecast should appear below with a verified confirmation. Reopen this exact website address to see the same stored results. Safari, private tabs, a different Cloudflare URL, and an installed Home Screen app can have separate storage. Download an export backup regularly.

How ShotLab's projections work and what they're missing

During live soccer games, ShotLab displays a separate in-play expected final shots total based on verified current shots plus a pace update. It never presents a pregame number as an in-play forecast. A 2-shot first half is meaningful evidence against a high pregame forecast. The model is not calibrated and may miss tactical changes, red cards, and score effects.

The NBA, NFL, NHL, NCAA basketball, and MLB winner estimates use recent completed games, weighted scoring margins and a modest home advantage. The soccer model uses recent goals scored and conceded to estimate goal rates, then computes home/draw/away outcomes with a Poisson model. Soccer team shots / shots on target, NHL team shots on goal, and basketball field-goal attempts are projected from box-score data where available, including combined totals. NFL has no literal shots market, and PGA uses tournament leaderboards rather than team moneylines. Missing source data never becomes a fabricated projection.

Feedback log: Logged prediction errors measure historical performance; they do not automatically update model coefficients or prove future accuracy. Old/manual entries cannot verify that a number was recorded before the match.

Samples are limited to games before the selected matchup, so future games do not leak into a retrospective projection. Matchup strength, injuries, starting goalies, lineups, travel, weather, and bookmaker market adjustments are not fully modeled. Probabilities have not been validated out of sample. Never treat high displayed numbers as a reason to bet or chase losses.

Data: unofficial ESPN site data endpoints, accessed directly. Feeds can be blocked, go offline or change format. The app will display the error rather than fabricate a result. Most actions need an active internet connection.