Where the numbers come from
paper-only · official settlement · scored against the marketThe models are intentionally explainable — no deep learning, no black boxes — so the reasoning behind every projection can be checked. Every number here is paper-only and educational, never wagering advice.
A real sportsbook price exists on both sides, so our probability can be shown next to the de-vigged market number.
No market price in the feed for this market. Anything we show for it stands alone, with nothing to check it against.
Too few decided results to judge a market. It is reported and never acted on, and it never leads a page.
What this site compares
System status: Ready- · what the sportsbook market says
- · what the simulation says
- · how historical calibration changes the interpretation
- · what actually happened afterward
- MLB player props · hit rate
- 50.30%
- 49,911 settled MLB player-prop leans (hits, hits + runs + rbis, total bases, and strikeouts), 2026-05-16 → 2026-10-28. Other sports are graded separately on Results.
- MLB player props · vs the sportsbook
- Behind
- Their no-vig price scored 0.2413; ours 0.2455 on the same 6,695 held-out MLB prop results, 2026-07-01 → 2026-07-27 (Brier score). Lower is better.
- MLB prop markets approved
- 0
- 3 need recalibration · 1 disabled on their own record
2026-07-28 withheld. Settlement was stopped by an integrity check, so no outcomes were published and no rate exists for it.
Paper-only and educational, in public beta. Nothing here is betting advice. How to read this site.
The daily workflow
The same loop runs every day, per sport. Each step fails closed — if a source is missing, the board says so rather than inventing a number.
Every market we cover, and the ones we don'tMarket by market for each sport, with the reason any market is unavailable or kept out of products.
What we simulate — and what we don’t (yet)
Every market we cover, plus the ones we don’t — with the exact reason (provider feed, settlement, or validation). We never show a market we can’t back with real data.
De-vigged sportsbook moneyline. Settled from the official box score.
De-vigged run line. Settled from the official final score.
De-vigged total. Settled from the official final score.
Strikeouts / hits / total bases projected from game logs vs the line; a 10,000-run prop sim is shown only where the artifact exists. Settled from the official box score. Not market-proven: across 18,659 settled leans none of these markets' model probabilities out-predict the sportsbook price on Brier or log loss, so the model number is a market-anchored research signal and the market price is the better probability.
An independent full-game Monte Carlo — 10,000 complete simulated games from the pregame board projections — produces the projected score, win probability and run distributions where its artifact qualifies; games without one show no projected score. Game Simulation; Model Performance: it has not been validated to out-predict the market.
Team totals can be read from odds but are not yet settlement-validated, so they stay out of product cards until grading is proven.
Settlement: pending · needs: Odds API team-total lines, team-total settlement source
First-5-innings markets are planned; they need the F5 line feed and inning-level settlement.
Settlement: pending · needs: Odds API F5 lines, F5 settlement (linescore innings 1-5)
A simulated score range and win chance for every regular-season game from the evaluated team-strength model, frozen before kickoff — the Official Forecast. Model Performance: it picked about 64% of winners on a held-out 2025 season. (The archived preseason identity picked winners no better than a coin flip on its held-out preseason, which is why it never fed products.) Neither is presented as sharper than the sportsbook price.
From the team rating that weights how decisively teams win — not from the score simulation, so the two are not forced to agree. Official Forecast, frozen before kickoff; never a product leg.
Median and likely range from the same 10,000 runs, shown beside the sportsbook total for context.
The books' own moneyline, spread and total with the margin removed, captured before kickoff and attributed. Not a GameTimePicks prediction.
The calibrated scoring model publishes weekly touchdown boards, with each player's availability state attached (injury-listed players marked; everyone else availability-uncertain until kickoff). No authorized touchdown market is captured for these games, so it is model-only — a watchlist, never a card.
Receptions and receiving yards publish as validated model forecasts under their own evaluation receipts. Passing and rushing yards display as UNVALIDATED ESTIMATES, not Official Forecasts — each failed a named evaluation bar (passing loses to a simple recent-form baseline; rushing failed calibration) and carries that caveat wherever it renders. Availability states on every row; no family is priced against a market and none is product-eligible.
De-vigged 90-minute 3-way. Market-implied read (not an independent soccer sim). Settled on the 90' result (ET/pens do not count for 90' markets).
Derived from the de-vigged 3-way. Settled on the 90' result.
Derived from the de-vigged 3-way. Settled on the 90' result.
De-vigged goal total where odds exist. Settled on the 90' score.
De-vigged BTTS where odds exist. Settled on the 90' score.
Shown as a market read where odds exist; full product eligibility needs AH push/half-win settlement.
Settlement: pending · needs: Odds API AH lines, AH settlement (push/half-win)
LIVE as a market-implied read from real Odds API prices. Grading is built + validated deterministically on real finished-match data, but LIVE settlement is blocked — the API-Football key is a free plan with no 2026-season stats. Educational only; never in a product card until settlement runs.
Settlement: unsupported · needs: paid API-Football plan (2026 season access), lineup confirmation
LIVE as a market-implied read from real Odds API prices. Deterministic grading is built + validated on real finished-match stats; LIVE settlement is blocked by the free API-Football plan (no 2026-season access). Educational only; never product-eligible until settlement runs.
Settlement: unsupported · needs: paid API-Football plan (2026 season access), lineup confirmation
Not offered — needs a set-piece/discipline feed + settlement. On the roadmap.
Settlement: unsupported · needs: Corners/cards odds feed, match-event settlement source
Not offered — a market-implied read can't price a full scoreline grid honestly without a real model + odds.
Settlement: unsupported · needs: Correct-score odds, independent scoreline model
The fight model's own win probability — a fitted, Platt-calibrated read, NOT a market price. Official Forecast; Model Performance: graded publicly beside the de-vigged line, which the cumulative comparison currently favours.
Settlement: pending · needs: fight corpus (results, tale-of-the-tape)
The fight model's method read (KO / submission / decision, among fights that end with a winner). Model-only — no method odds feed exists here; never a priced market and never in a product card.
Settlement: unsupported · needs: fighter finish/decision corpus
The fight model's ending-round read (R1 / R2 / R3+, where R3+ includes every decision). Model-only and unpriced — a round/distance odds feed would be needed before any product use. Never faked.
Settlement: unsupported · needs: Round & distance odds feed, round-level settlement
4 supported · 1 need a provider/build · markets that are unavailable or not in products are never in Bank Builder / Moonshot.
How to read this site
Every figure below is read from the same file the rest of the site renders, so this explanation cannot drift from the numbers it describes.
Seven questions people ask about these numbers
Why is the calibrated estimate different from the raw one?
Because the raw model is systematically overconfident. Across 49,911 settled results it stated about 60% on average and was right 50% of the time — about 9.2 percentage points too confident.
Calibration maps those stated probabilities onto observed frequencies, so the number you see is closer to true. It does not create new predictive information. It changes how confident we sound, not what we know. The three estimates are walked through in full on Learn.
Has the model shown it can out-predict the sportsbook?
No.
On 6,695 results the calibrator never saw, calibration improved our score (Brier 0.2559 → 0.2455; lower is better). On those same rows the sportsbook’s own no-vig price scored 0.2413 — still better than ours.
That is the current state of the evidence. If it changes, it will change because a preregistered experiment showed it on held-out data, not because the wording changed.
What do the market statuses mean?
- APPROVED
- Enough settled results, calibrated probabilities, and a better score than the sportsbook on the same rows.
- MONITOR
- Too few settled results to say anything yet. Reported, never acted on.
- RECALIBRATE
- A real record exists, but our stated probabilities are not trustworthy enough to lead with.
- DISABLED
- A large sample sits entirely below break-even. The history stays visible; we make no recommendation from it.
No market is currently APPROVED. Status reflects measured historical evidence, not preference. No MLB market currently meets the APPROVED bar; a market is only DISABLED when a large sample sits entirely below break-even.
What happened to every prediction you generated?
Each one lands in exactly one of these states, and the counts add up to the number generated. Rows we cannot grade stay in the count — removing them would quietly improve every rate beside them.
- Win
- The official box score resolved above or below the line, on the side we took.
- Loss
- The official box score resolved against the side we took.
- Void
- The result landed exactly on the line, or the player never came to bat. Not a loss.
- Pending
- The event has not produced a gradable result yet. Not a loss.
- Unavailable
- The game finished but this row never produced a gradable stat. Not a loss. These are recovered from the comparison report, because the ledger does not record them.
- No play
- We generated no directional call here, so there is nothing to grade.
- Withheld
- Settlement was withheld because the data failed an integrity check. No outcome was published.
Why is 2026-07-28 withheld?
This slate's board was built before a data-integrity guard was in place, and two halves of a doubleheader could not be told apart. Rather than grade predictions against the wrong game, we left the date unsettled. It has no win/loss record and is excluded from every rate on this site.
We could have published something for that day. Publishing a result we know was graded against the wrong game would be worse than publishing nothing.
A withheld date is not the same as a missing one. Withheld means we produced predictions and then refused to publish outcomes for them. A date marked not produced means no slate was built at all, so there was never anything to grade. Both appear in the accounting on Results; a date is never quietly dropped from the list.
How is the paper record different from the model history?
They are two different things over two different date ranges, and we never combine them.
The paper record is a small, hand-picked set of paper selections — a few cards a day at most. The model history is every prediction the model generated — 49,911 settled rows. Neither is evidence about the other.
How do I know today's data is current?
The System Status page reports every stage of the pipeline separately, and the overall state is the worst of them — we do not average a failure away behind several successes. A stage we cannot read reports as unknown, never as working.
What is still unproven?
The model does not out-predict the sportsbook. No market meets the approval bar. Historical settled rows predate our current event-identity checks and are labelled as legacy rather than retroactively stamped with lineage they never had.
GameTimePicks is paper-only and educational. Nothing here is betting advice.
The math behind every numberSeven steps: odds to probability, removing the bookmaker's margin, model probability, the model–market difference, calibration, data quality and parlay odds.
American odds → implied probability
odds < 0 : p = |odds| / (|odds| + 100)
No-vig (two-sided) probability
Sportsbook prices include the bookmaker’s margin. When both sides are known we strip it proportionally so the two probabilities sum to 1. This is the baseline every model number on the site is scored against — and on the settled record it is the better estimate of the two.
Model probability
A player-stat market is modelled as a distribution around the projection, and the chance of clearing the line is the area of that distribution above it. The width of the distribution matters as much as its centre: understating it makes every probability look more certain than the evidence supports.
This is how MLB player props are read against their lines. Each other sport’s method is stated under “By sport” below.
The model–market difference
In percentage points. This is a disagreement measure, not an advantage: across the settled corpus, the largest positive differences are where the model performed worst against the market. It is computed because a disagreement is worth looking at, and nothing on the site selects a side because the difference is large.
Calibration
A stated probability is only useful if outcomes arrive at roughly the stated frequency. Calibration maps our stated probabilities onto the frequencies actually observed on earlier settled slates — the raw output has run systematically hot, so the corrected number is lower and closer to true.
Calibration changes how confident we sound, not what we know. It is fitted on earlier slates and scored on results it never saw, and the raw number is kept alongside it rather than overwritten. Full walkthrough on Learn.
Data-quality grade
A per-market grade for how complete the inputs were. It describes the data, not the answer: an A-grade projection is not more likely to be right, it is only better evidenced.
- A — current price + full stats + confirmed event
- B — current price + partial stats
- C — no price to read against, or stale-limited but explainable
- unavailable — cannot project; shown as needs-data rather than estimated
Parlay odds + paper return
paper_return = stake × decimal (null if any leg lacks a price)
A combined price is never shown if any leg is missing odds — the slip reads “—” rather than a fabricated payout.
Multiplying legs also multiplies exposure to a shared result — concentration risk. The first settled UFC slate made that concrete: the individual moneylines graded 6–1 while every multi-leg card lost, 0–4, because each card was anchored on the same favourite and he was upset. A slip that repeats one anchor across every card stakes all of them on a single outcome, however well the legs grade on their own.
What a prediction is allowed to useThe no-leakage rule, why confidence is not probability, and how missing data is shown.
Every input has to exist before the event starts. That sounds obvious and is the single easiest way for a backtest to flatter itself, so it is enforced rather than assumed.
The prediction-time rule
We never use final scores, box scores, an unconfirmed lineup, rolling averages that include the event being predicted, or a price captured after the prediction was made. Each prediction records the timestamps of the data behind it and is checked against this rule; a prediction that fails the check is not published.
Confidence is not probability
Probability is how likely an outcome is. Confidence is how much the projection can be trusted — driven by data freshness, sample size, and whether a critical input is missing at all. They move independently: a 70% probability built on three games is not the same claim as a 70% probability built on three hundred.
On the measured record our highest-confidence groupings have not been our most accurate, which is why nothing on the site is ordered by confidence.
Missing and thin data is shown, not defaulted
If a feed is missing, stale or thin, the page says so rather than quietly substituting a default. Historical features carry their sample size and are weighted down accordingly, and a market with too few settled results is reported without being acted on.
The words we useOfficial Forecast, Game Simulation, Model Performance and the other terms on every page.
- Official Forecast
- The authorized GameTimePicks output for a game or player, frozen before the start and never edited afterwards.
- Predicted Player Statistics
- The Official Forecast's per-player numbers — each player's median for the stats a sport publishes, frozen with it.
- Game Simulation
- One simulated game from a named engine and the same frozen inputs. It is not the Official Forecast and not a real result.
- What-if Scenario
- One hypothetical alternative run. It is never the Official Forecast and never a real result.
- Model Performance
- How the model has actually done: graded results, calibration and sample size — evaluated continuously as games settle.
- Historical Results
- Official finals and the graded record of every published forecast, settled from official sources.
- Unavailable
- Cannot legitimately be shown yet — the reason is given.
By sport — what is published
6 sports publish an Official Forecast. MLB is the only sport whose forecasts may enter paper products. Separately, MLB, NBA, Premier League, and Ligue 1 official picks appear in Bank Builder, Moonshot and the Parlay Center as unpriced model suggestions: no sportsbook price, no payout, each recorded before the game and graded after it. Each sport’s Model Performance is stated once, below, from its graded record.
MLB
Official Forecast · in paper products- Official Forecast
- Game winner · Run line · Game total · Player props (strikeouts, hits, total bases). Every game on the daily board, published before first pitch.
- Method
- Each stat is modelled as a distribution around a projection built from recent-form and season windows, then converted to a probability against the posted line; simulated game outcomes come from those same projections, and stated probabilities are calibrated against earlier settled slates.
- Top Boards
- The daily board of model leans.
- Game Simulation
- 10,000 complete simulated games per matchup from the pregame projections.
- Paper products
- May enter Bank Builder, Moonshot and Parlays when a market qualifies.
- Historical Results
- Every settled game, graded from the official box score.
- Model Performance
- Graded records by market; markets below their floor are switched off. Now: Winner calls — Watch · not yet distinguishable from a coin flip; Game totals — Paused · below a coin flip.
NFL
Official Forecast · not in paper products- Official Forecast
- Game winner and score range · Predicted Player Statistics (player ranges) · Touchdown chances. A score range and win chance for every regular-season game, frozen before kickoff.
- Method
- Team ratings built on every final since 1999 and updated after each game day: the win chance comes from the rating that weights how decisively teams win, and a score range is simulated for every game.
- Top Boards
- Weekly player boards.
- Game Simulation
- A Game Simulation for games with a published World Model V2 run — a supporting simulation, never the Official Forecast.
- Paper products
- Never enters Bank Builder, Moonshot or Parlays.
- Historical Results
- Weekly graded reports against official finals.
- Model Performance
- Tested on past seasons; not yet shown to out-predict the sportsbook market. Now: Game forecasts — Experimental · tested on past seasons; Player ranges — A family fell back to the previous rule.
NBA
Official Forecast · not in paper products- Official Forecast
- Favoured side (Elo rating) · Elo-derived game-winner estimate (accuracy not established) · Predicted Player Statistics (PTS, REB, AST, 3PM, PRA, P+R, P+A medians). The favoured side and player medians for every game on the slate, frozen before tip-off.
- Withheld
- Team scores, margin, total and ranges — not published until each meets its checks.
- Method
- An Elo team rating names the favoured side; a player simulation of 10,000 draws per game gives each player's median, and PRA, P+R and P+A are medians of the per-draw sums.
- Top Boards
- Every player median for the slate, filterable and sortable.
- Game Simulation
- A possession-by-possession Game Simulation of each game on the current slate, with What-if Scenarios.
- Paper products
- Never enters the paper ladders. Its official picks appear in Bank Builder, Moonshot and the Parlay Center only as unpriced model suggestions (no price, no payout).
- Historical Results
- Official finals from the write-once finals record.
- Model Performance
- NBA forecasts are graded after every game. The favoured-side record is published as counts on NBA results; it is not judged before 300 graded games.
Premier League
Official Forecast · not in paper products- Official Forecast
- Match result, expected goals, over 2.5 · Anytime goalscorer. Every fixture in the matchweek, frozen before kickoff.
- Method
- An exact-Poisson match model gives the 1X2 split, expected goals and over 2.5; a separate head gives anytime-scorer chances.
- Top Boards
- Unavailable — No player board for the Premier League.
- Game Simulation
- A score-distribution simulation per fixture.
- Paper products
- Never enters the paper ladders. Its official picks appear in Bank Builder, Moonshot and the Parlay Center only as unpriced model suggestions (no price, no payout).
- Historical Results
- Every fixture graded against the official 90-minute result.
- Model Performance
- Tested blind on past seasons; a forward test is running. Now: Match model — Tested blind on nine past seasons; Forward test — Forward test · 40 of 60 matches.
Ligue 1
Official Forecast · not in paper products- Official Forecast
- Match result. Model-only match forecasts for every fixture, frozen before kickoff.
- Method
- The Premier League match model, applied unchanged after a preregistered league backtest accepted it. Model-only: no sportsbook prices and no player markets.
- Top Boards
- Unavailable — No player markets for Ligue 1.
- Game Simulation
- Unavailable — No simulated-match view for Ligue 1.
- Paper products
- Never enters the paper ladders. Its official picks appear in Bank Builder, Moonshot and the Parlay Center only as unpriced model suggestions (no price, no payout).
- Historical Results
- Every graded fixture, newest first (match result only).
- Model Performance
- Accepted on a preregistered league backtest; too few matches yet to grade forward.
UFC
Official Forecast · not in paper products- Official Forecast
- Winner, method and finishing round. Every bout with enough tracked fighter history, frozen before the card.
- Method
- A model of each fighter's tracked history gives a Platt-calibrated win chance, with a method-of-victory head and a finishing-round read.
- Top Boards
- Unavailable — No board for UFC.
- Game Simulation
- Unavailable — No simulated-fight view.
- Paper products
- Never enters Bank Builder, Moonshot or Parlays.
- Historical Results
- Every graded bout on the UFC page.
- Model Performance
- Backtested on past cards; graded publicly beside the sportsbook line. Now: Fight model — Backtest passed on held-out fights; Live record — Watch · not yet distinguishable from a coin flip.
The 2026 World Cup archive and the May–June 2026 NBA player-prop record stay readable as records of what was published at the time; neither is a current forecast.
Data integrity
Results settle from official league sources, never from screenshots, web snippets, or user reports.
A past slate is never presented under today's heading. When today's data does not exist, the page says so and names the slate it is actually showing.
When a source is missing, the page says so. It does not fabricate a formula output or fall back to an older number.
A slate whose event mapping fails an integrity check is withheld entirely — no partial grading, no rate, and it stays visible in the accounting with the reason.
Standing limitations
- The market is still the better estimate. Scored on identical settled results, the de-vigged sportsbook price beats our probabilities. Nothing here has been shown to out-predict it, and a disagreement between the two is not evidence that we are right.
- One sport enters paper products. MLB may enter paper products. NFL, NBA, Premier League, Ligue 1, UFC publish Official Forecasts that never enter the paper ladders until their models clear their bars; NBA, Premier League, and Ligue 1 picks are shown there only as unpriced model suggestions.
- Lines move. Boards reflect prices as captured, with the capture time shown. By the time you read them, prices have likely shifted, and there is no retained snapshot series to chart movement from.
- Missing context inputs. Park factor, weather, bullpen fatigue and handedness splits are not modelled for MLB.
- Some markets are switched off. Where a market's own settled record sits entirely below break-even across a large sample, predictions in it are disabled. The history stays visible and is never placed in a ranked or difference-ordered list.
- Legacy rows are labelled, not restamped. Settled results that predate the current event-identity checks are labelled legacy rather than retroactively stamped with lineage they never had.
What a model status meansThe status chip every forecast carries, explained once.
Every forecast carries the status of the model behind it. Health is an alarm, not a demotion: only a preregistered forward test or the live-record gate changes what publishes.
- Tested on past seasons
- Before it went live, this model was scored on past seasons it had never seen and cleared bars set in advance against simpler baselines. That is a bar, not a promise, and not a claim that it beats sportsbook prices.
- Forward test running
- The model is being graded on new games as they happen, against the model it replaced. If it falls significantly behind, the previous model comes back automatically.
- Holding
- Over the games graded so far, this call has done at least as well as its floor (a coin flip, or the model it replaced).
- Watch
- Over the games graded so far, this call is slightly behind its floor, but not by enough to be sure it is worse. It keeps publishing while the record grows.
- Paused
- Over the games graded so far, this call has fallen clearly below its floor — a coin flip, or the preregistered bars it is tested against. Its public call is withdrawn or handed back to the previous rule; it is still graded every day and comes back when its record recovers.
- Estimate
- This family did not clear its calibration bar in testing. It is shown as an estimate under a stated exception, not as a validated forecast.
- Too early to judge
- Not enough games have been graded to judge this call either way. The number is published; the verdict on it is not.
- Not market-validated
- Tested on past seasons and published as an Official Forecast, but not validated to out-predict the sportsbook market.
- Research only
- A research candidate scored privately beside the live model. It never powers a public number.
