Skip to main content
Educational analyticsNot betting advice · research use only.
GameTime Picks
MethodologyReference

Where the numbers come from

paper-only · official settlement · scored against the market

The 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.

Priced

A real sportsbook price exists on both sides, so our probability can be shown next to the de-vigged market number.

Unpriced

No market price in the feed for this market. Anything we show for it stands alone, with nothing to check it against.

Not enough settled results

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.

Collect
schedule · odds · stats
→
Project
per-sport model
→
Compare
vs no-vig market
→
Build
risk-tiered cards
→
Publish
active-date only
→
Settle
official source
→
Learn
calibrate + audit
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.

MLBmarket-anchored + 10k player-prop sim
MoneylineAvailable

De-vigged sportsbook moneyline. Settled from the official box score.

Run lineAvailable

De-vigged run line. Settled from the official final score.

Total (O/U)Available

De-vigged total. Settled from the official final score.

Player props (K / hits / TB)Official Forecast · not in products

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.

Full-game score simulationGame Simulation · not in products

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 totalsUnavailable · grading not proven

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 (F5)Unavailable · not built yet

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)

NFLOfficial Forecast · 10k score simulation — not product-eligible
Projected scoreOfficial Forecast · not in products

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.

Win chanceOfficial Forecast · not in products

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.

Total pointsOfficial Forecast · not in products

Median and likely range from the same 10,000 runs, shown beside the sportsbook total for context.

Sportsbook pricesAvailable

The books' own moneyline, spread and total with the margin removed, captured before kickoff and attributed. Not a GameTimePicks prediction.

Anytime touchdownOfficial Forecast · not in products

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.

Player volume props (validated + labelled estimates)Official Forecast · not in products

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.

Soccer · 2026 World Cup (complete)World Cup markets were a market-implied 90' read, not an independent model. Premier League and Ligue 1 forecasts come from their own match model
Match result (1X2)Archived · not offered

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).

Double chanceArchived · not offered

Derived from the de-vigged 3-way. Settled on the 90' result.

Draw no betArchived · not offered

Derived from the de-vigged 3-way. Settled on the 90' result.

Total goalsArchived · not offered

De-vigged goal total where odds exist. Settled on the 90' score.

Both teams to scoreArchived · not offered

De-vigged BTTS where odds exist. Settled on the 90' score.

Asian handicapArchived · not offered

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)

Anytime goalscorerArchived · not offered

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

Shots / shots on target / assistsArchived · not offered

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

Corners / cardsArchived · not offered

Not offered — needs a set-piece/discipline feed + settlement. On the roadmap.

Settlement: unsupported · needs: Corners/cards odds feed, match-event settlement source

Correct scoreArchived · not offered

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

UFCOfficial Forecast · fight model — model-only, not product-eligible
Moneyline (winner)Official Forecast · not in products

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)

Method of victoryOfficial Forecast · not in products

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

Round / goes the distanceOfficial Forecast · not in products

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 = 100 / (odds + 100)
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.

p_novig_side = p_raw_side / (p_raw_side + p_raw_other)

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.

P(over) = 1 − Φ ( (line − projection) / σ )

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

difference_pp = ( P_model − P_market_novig ) × 100

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

decimal = Π ( per-leg decimal )
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

feature_timestamp ≤ prediction_time < event_start_time

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

Official settlement only

Results settle from official league sources, never from screenshots, web snippets, or user reports.

Stale-date gating

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.

Unavailable / needs-data

When a source is missing, the page says so. It does not fabricate a formula output or fall back to an older number.

Refuse rather than guess

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.