MLB Market Backtest v3

10,148 games 766,028 state observations 2022-04-07 β†’ 2026-04-27 10,047 with pregame odds
What does all this mean? (read me first)

This tool answers two different questions. Pick the right mode at the top.

Per-game mode
One row per game. Use for pregame questions like "when the favorite is -200 to -250, how often do they win?"
Per-state mode
One row per plate appearance moment. Use for live-betting questions like "down 3 entering top 8 with 0 outs, how often does the away team hold on?"
States matched
Count of plate-appearance moments matching your filter. The same game can contribute multiple matching states (e.g., 3 batters hitting with 0 outs = 3 states). Per-state mode counts each separately.
Unique games
Distinct games among the matched states. The dataset has 766,028 total state observations across 10,148 games β€” so each game contributes roughly 75 plate-appearance states.
With pregame odds
Of those games, how many have the pregame moneyline / spread / total attached. Pregame-odds filters and the Favorite vs Underdog market only use these. Games before 2020-06-06 or that didn't match a snapshot won't have them.
Hit rate
Hits Γ· N. The fraction of matching observations where this outcome happened. Note: in per-state mode, the denominator is states (not games), which weights long-lingering states more heavily. For clean game-level rates, use per-game mode.
95% CI (Wilson)
The plausible range for the true rate, given your sample size. Wider = less certainty (usually because N is small). If two markets' intervals don't overlap, the difference is probably real; if they do, you can't be confident yet.
Devig probability
The bookmakers' implied win probability with their margin ("vig") removed. Roughly the market's true estimate of the win probability if the books priced fairly.
Quick scenarios:
Game state inning, half, outs, runners, score (in-game moment)
Inning Half Outs Score diff iHome score minus away score at this moment. Negative = away leads, positive = home leads. Example: βˆ’3 means away is up by 3. Total runs iCombined runs scored so far at this moment in the game (home + away).
1B 2B 3B Home score Away score
Pregame odds moneyline ranges, total line, fav/dog (use min/max to set a range)
Home moneyline iFilter by the home team's pregame moneyline (American odds). Negative numbers are favorites (e.g., βˆ’150), positive numbers are underdogs (e.g., +130). Use min/max to set a range. Example: min=βˆ’250, max=βˆ’150 catches "moderately favored home teams". Away moneyline iSame as home moneyline, but for the away team.
Favorite ML iWhichever team is favored (always negative). Filter on this when you don't care which side is home/away β€” e.g., "all heavy favorites between βˆ’200 and βˆ’300". Underdog ML iWhichever team is the underdog (always positive). Useful for "cheap dogs" (+100 to +130) vs "long-shot dogs" (+250+). Favorite side iWas the favorite the home team or the road team? "any" means don't care.
Total line iThe sportsbook's pregame over/under for combined runs (e.g., 8.5, 9.5). Filter to a range of total lines. Home devig prob iBookmakers' implied probability that the home team wins, with the vig (margin) removed. A value between 0 and 1. Example: 0.55 means books were pricing the home team at a 55% true win probability. Useful for filtering by perceived strength rather than raw American odds.
Date range optional season / window filter
From To