How it works

The sportsbooks set the odds. We simulate the game.

Every major sportsbook runs a quant operation that prices games against live action, decades of data, and millions of dollars of risk. The numbers they publish (moneylines, spreads, totals, period markets, props, first scorers) are the most thoroughly stress-tested forecasts in sports. SimTheGame treats those numbers as the source of truth and simulates the game thousands of times under them. The output is a likely score range, a complete box score, distributions for margin and total, and the places the market quietly disagrees with itself.

What follows is the full picture of how the engine works, what it's calibrated to, and where it stops. No claims of proprietary edge. No claims that we know better than the book. Just an honest translation of the betting market into a complete game, the same shape across NBA, WNBA, MLB, NHL, the 2026 FIFA World Cup, and NFL.

🏀 NBA 🏀 WNBA ⚾ MLB 🏒 NHL 🏈 NFL
Why we follow the market

The sportsbook is already the model.

We don't compete with their pricing. We read from it.

A modern sportsbook isn't a bookmaker with a chalkboard. It's a forecasting machine: live injury feeds, weather, lineup changes, ticket flow from sharps and squares, and proprietary models updated in real time. By the time a number is posted on DraftKings, it already reflects everything an army of quants, traders, and bettors believe about that game.

Building yet another model from scratch (fitting team strengths, decay rates, pace adjustments) means competing against that machine with a fraction of its data and none of its live signal. The better question is the one SimTheGame answers: if every priced market is true, what does the game actually look like?

The answer is thousands of internally consistent game scripts. Score, period splits, every priced player line, first scorer, goalie performance. All sampled so the published numbers reproduce. The market does the forecasting; we do the translation into something you can actually read.

That stance is also why we don't sell picks. We don't think we beat the book, and we're skeptical of anyone who claims they do without showing their book. What we can show is exactly how a priced market unfolds under its own assumptions, and where the book's own numbers disagree with each other.

The 30-second version

Market in. Thousands of games out.

Same shape across every sport. The per-sport stages adapt.
  1. 1 Read the market

    Pull every priced market for the game from a single sportsbook (DraftKings): moneyline, spread / run line / puck line, total, period and inning markets, team totals, every player prop, every priced alternate, and specialty markets like first basket and first goal.

  2. 2 Strip the vig

    Convert every priced line into an honest probability. The book's margin is removed, the two sides are normalized to 100%, and the result is the market's true no-vig implied probability: what the book actually thinks before its margin.

  3. 3 Play the game

    Simulate the whole game from team scores down to per-player lines, in a way that reproduces every priced market simultaneously. Team totals and the moneyline are sampled jointly so they stay consistent. Repeat thousands of times, each one a different plausible script.

  4. 4 Aggregate

    Average across all the runs. The output is a score range, a likely box score, distributions for margin and total, period-by-period splits, and a side-by-side comparison of what the simulator hit versus what the book priced.

The architectural foundation

Every priced ladder is a distribution.

No parametric fits. The alternates ARE the distribution.
Every priced line on every priced ladder becomes a point on a distribution. No fitted curve in between.

When a sportsbook prices Over 108.5 at one number, Over 110.5 at another, Over 112.5 at another, and so on up and down the ladder, those alternates aren't just bettor offerings. Taken together they describe a complete probability distribution over how many points the team will score. Same idea for every priced player.

SimTheGame turns every priced ladder into a discrete distribution directly from the book's own numbers. There's no fitted normal curve, no Poisson assumption, no skill-rating model in the middle. If the book has priced 14 thresholds on a team total, the simulator works from 14 thresholds. The book has done the hard part; we just read it carefully and play it forward.

Three commitments

What the platform is, in one breath

The same three lenses apply to every sport.
Core idea The book sets the starting point

Moneylines, spreads, totals, team totals, period markets, props, and specialty markets are constraints, not opinions to override. We treat the book as the most informed forecaster in the room and honor every priced number.

Core output Scripts and box scores, not picks

Each simulation returns a full path: a final score, a period-by-period split, a per-player line, and (where priced) a first scorer or first basket. Thousands of paths get averaged into one readable picture of the matchup.

Core boundary Consistency checks, not advice

Where the simulator's rate diverges from the book's rate, that's a transparency signal. A place the market is disagreeing with itself. It is not a bet recommendation, and we never present it as one.

A single run, end to end

How one simulated game gets built

Outside in: team scores, then period structure, then players, then specialty markets.

Every run is built from the outside in. Team scores are drawn first, then the period structure, then each priced player, then the specialty markets like first scorer. Every layer is drawn from the priced market for that layer, and every layer locks the constraints for the next one.

Because each layer pulls from a different slice of the same priced market, the result holds together. The score is consistent with the moneyline. The period splits add up to the score. The player lines reconcile with the team total. The first-scorer rates close to 100% across each team. By the end of one run, you have a complete game with a final score, a period breakdown, a full box score, and a chosen first scorer. Every priced number reproduces, and nothing about it looks impossible.

Why scale matters

10 runs tells you nothing. 10,000 tells you the picture.

A single fluke game can swing the median margin by a touchdown.

One simulated game is just one possible story. To turn that into a stable picture of the matchup, you need to run the simulation enough times that random luck cancels out. The chart below shows the same matchup at three different sample sizes. At 10 runs the distribution is almost meaningless. At 1,000 it's recognizable. At 10,000 it's smooth, and that's the level where the headline numbers stop moving from refresh to refresh.

10 runs · Free preview
Spiky and unstable. Single outcomes dominate. The "median" can flip the favorite.
1,000 runs
Recognizable shape. Median settles. Tails are still rough; extreme cases under-sampled.
10,000 runs · Pro
Smooth distribution. Tails populated. Headline numbers stable across reruns.

This is why the dashboard's Free tier (10 runs) is labeled "preview" and warned against in the panel above the results. The pipeline is the same. What changes at scale is statistical reliability. The Pro tier runs 1,000× more simulations.

Median margin convergence How the headline number stabilizes as runs accumulate.
Calibration in practice

Sim rate vs. market rate, plotted

Dots near the diagonal mean the simulator and the book agree.
Each dot is one priced market (props, period totals, alternate spreads) from a single matchup. Position on the y-axis is how often the simulator hit the same outcome. Most cluster on the diagonal; the few orange points show where the engine and the book disagree.
Inside ±5% ~92% of priced markets
Inside ±3% ~78% tighter band
Outside ±10% ~1% flagged as "gap"

The dots that don't sit on the diagonal are exactly what the dashboard's gap signals are showing you. They're the small slice of markets where the book's published rate doesn't agree with the rate implied by everything else the book published, and by extension, doesn't agree with itself.

Reading a signal

Green, yellow, red: what the tags mean

Every priced market gets one of three tags. None of them are picks.

For every priced market, the dashboard compares the simulator's lean to the book's implied lean and stamps the row with one of three tags. A SUPPORTED tag means the simulator and the book are pointing in the same direction. A NEUTRAL tag means the simulator's read sits close to the line with no clear lean. An OPPOSED tag means the two disagree on which side hits.

These are transparency signals, not bet recommendations. A SUPPORTED tag does not mean the bet is good; it means the engine agrees with the book's directional read. An OPPOSED tag does not mean the bet is bad; it means there's a disagreement worth noticing. Sometimes the book is right, sometimes the simulator is, and sometimes the disagreement reflects information neither side has.

Coverage by sport

One engine, six sports.

Same architecture everywhere. The structural pieces just rename to the sport. Soccer keeps Draw as a first-class result.
Sport Macro Period split Player layer Specialty Status
NBA Team totals · ML · total Q1–Q4 · H1–H2 9 priced stats per player First basket / team / method LIVE
WNBA Team totals · ML · total Q1–Q4 · H1–H2 9 priced stats per player First basket / team / method LIVE
MLB Team runs · ML · total F1 · F3 · F5 · F7 innings Hitters + starter + bullpen YRFI · NRFI · K props LIVE
NHL Team goals · ML · total P1 · P2 · P3 Skaters + goalies First goal · shutout · OT LIVE
World Cup Team goals · 3-way · BTTS 1st half · 2nd half Outfield + keepers First/anytime scorer · corners LIVE
NFL Team points · ML · total Q1–Q4 · H1–H2 QB · RB · WR · TE props First TD · anytime TD OFF-SEASON
Macro Team scores sampled jointly

The moneyline, total, and both team-total ladders all reproduce in the same draw.

Period Interior splits reconcile

Quarters, halves, innings, or periods. Each piece honored, and the pieces add up to the whole.

Players Each priced player has a full ladder

Every priced threshold becomes a distribution point. The stat line is sampled to hit every one.

Specialty First scorers sum to 100%

First basket, first goal, first TD. Long-run rates land within a few percent of the book.

Internal consistency

The box score has to balance.

No averaging or fudge factors. The math closes on every single run.
Player stats sum to the team total

Every priced player's points, runs, or goals add up to what the team scored. Always.

Periods reconcile to regulation

Quarters, halves, innings, periods. Each interior piece adds up to the full-game scoreboard.

No impossible box-score lines

HRs can't exceed hits, made threes can't outpace points, goals can't outpace shots on goal. Hard-bounded.

Specialty rates sum to 100% per team

First basket, first goal, first TD. Exactly one priced player gets credit on the run.

Source data

Where the prices come from, and how fresh they are

Free and Pro pull from the same source. Pro pulls more often and refreshes on demand.

All odds are pulled from The Odds API and filtered to DraftKings so the priced alternate ladder is internally consistent. When you open a matchup, that sportsbook view is frozen and used as the basis for every run against it.

Both tiers run on the same engine, the same anchors, and the same priced ladders. The difference is freshness and scale. Free reads from a snapshot cached up to 60 minutes and runs 10 simulations. Pro pulls fresher snapshots, lets you refresh on demand, and runs 10,000 simulations. The dashboard surfaces the snapshot timestamp in the header pills so you always know which version of the market you're looking at.

Snapshot age ≤ 60 min Free cap · Pro pulls fresher
Markets per game 40–90 mainline · period · props · specialty
Bookmaker DraftKings selected for prop coverage
Refresh On demand Pro tier
Free 10 runs

Same engine, same anchors, same pipeline. Snapshots cached up to 60 minutes, preview-only sample size. Distributions and tag signals don't stabilize at this scale.

  • Full priced market read
  • Cached snapshots (up to 60 min)
  • Preview reliability only
Pro 10,000 runs

1,000× the sample. Fresher pulls and on-demand refresh, so the snapshot reflects the latest line. Score distributions smooth out, player ranges tighten, and the SUPPORTED / NEUTRAL / OPPOSED tags stop flipping between refreshes.

  • Fresher snapshots, refresh on demand
  • Stable distributions and tags
  • Tight player stat ranges
How to read the dashboard

Panel by panel

Same shape across every sport. Only the column set changes.
  • Score center · Median margin · Median total. The middle of every simulated game in the batch, with the 80% range underneath. If the median margin is +6, the favorite wins by six in a typical script.
  • Upset / overtime / BTTS probability. How often the underdog wins outright (NBA, WNBA, MLB, NFL), the game reaches overtime (NHL), or both teams score (World Cup).
  • Most stretched market. The largest single disagreement between sim and book across the moneyline, spread / run line / puck line, and total.
  • Distributions. The full margin and total bins, computed across every run. The bell shape you saw earlier on this page.
  • Period markets. Quarters, halves, innings, or periods. Sim vs. book for each priced line.
  • Average box score. Per-team table with each priced player's mean stat line and 80% range. Each priced prop is overlaid as Sim Hit % vs. Market %, color-coded by the supported / neutral / opposed legend in the sidebar.
  • Pitcher report (MLB). Starter and bullpen outs, earned runs, strikeouts, walks, and hits. Reconciled against the opposing team's runs.
  • Goalie report (NHL). Saves, goals against, shots faced, and shutout rate per starting goalie.
  • First basket / first team basket / first goal. Specialty market rows compared sim vs. market. The rates closest to ±3% of the book's priced rate are flagged as the engine's tightest anchors.
  • Market fit / Transparency. Per-anchor sim vs. market gap and a calibration log so you can see how well each priced number reproduced.
  • Simulation audit. Returned runs (the first 100 raw paths) and the seed so you can reproduce any saved batch exactly.
Limits

What this approach can't do

Honest boundaries. Same for every sport.
  • Sportsbook coverage varies. One-sided alternate-only props are less informative than two-sided markets. A thin ladder limits how precisely the engine can shape that player's distribution. Common in WNBA props and newer NHL skater markets.
  • Combo props are derived, not directly anchored. Points + rebounds + assists, hits + runs + RBIs, and similar combinations come out of the components. They aren't sampled jointly. A small slice of joint behavior is left on the table.
  • Game-total alternates can drift. When the team-total ladder and the game-total ladder published by the book don't agree, the sim anchors team totals tighter, and the disagreement appears in the game-total alternates.
  • 10-run previews aren't reliable. The Free tier exists to show the pipeline. Distributions, ranges, and gap signals don't stabilize until thousands of runs.
  • A market gap is a transparency signal, not advice. Some gaps reflect genuine market disagreement; others reflect sparse alternates, stale data, or thin two-sided coverage. We do not tell you which side is right.
Bottom line

A transparency layer over the betting market

SimTheGame converts published odds into thousands of internally consistent versions of the same game and shows you the resulting score ranges, scripts, player outcomes, and disagreements across NBA, WNBA, MLB, NHL, the 2026 FIFA World Cup, and NFL. The premise is simple: the sportsbook market is already saying a lot about the game, and a sportsbook's trading desk is the closest thing in sports to a real-time forecasting machine. The product translates the book's statement into a complete script and box score, surfaces the places it disagrees with itself, and stops there.

Run your first sim free.

Pick a matchup, watch the market unfold across thousands of scripts, and see where the book disagrees with itself. No card. No picks. No noise.

FAQ

Common questions

Schema-tagged for search engines.
What does SimTheGame actually do?

SimTheGame turns published sportsbook odds (moneylines, spreads, totals, period markets, props, and specialty markets like first basket) into thousands of internally consistent game scripts and a full box score. It does not predict games or generate picks. It simulates what the priced market already implies.

Which sports does SimTheGame support?

Live coverage for NBA, WNBA, MLB, NHL, and the 2026 FIFA World Cup.

Why 10,000 simulations?

Distributions, score ranges, and gap signals don't stabilize until thousands of runs. The Free tier runs 10 simulations as a pipeline preview. The Pro tier runs 10,000 so the headline numbers stop moving between refreshes.

Is SimTheGame giving picks or betting advice?

No. SimTheGame is a transparency layer over the betting market. Gap signals surface places where the book's published rates disagree with each other, but the platform never tells you which side is right and never sells picks.

Is there a free version?

Yes. The Free tier runs 10 simulations per matchup as a preview. The Pro tier runs 10,000 simulations for stable distributions and reliable gap signals.