The record · public since day one

Every call we make. Including the wrong ones.

A projection service that hides its misses isn’t a projection service — it’s marketing. This page is permanent and public: every published call lands here the day its outcome resolves, hits and misses alike, with the stated probability it carried and the calibration scoreboard underneath it. No row is re-graded silently — a revised call says so.

100
calls resolved in public
18%
graded hit rate
17
voided (no graded outcome)
3894
calibration samples
Calibration, bin by bin

A projection is only honest if its confidence means something. When we say 70%, it should happen about 70% of the time — here is how our stated confidence has matched reality, bin by bin.

Reliability — stated vs. observedper-game probability calls
Hits markets · 936 resolved · trailing 30-day window
00252550507575100100PERFECT CALIBRATIONConsensus · stated 7% · observed 3% · n=104Consensus · stated 17% · observed 10% · n=49Consensus · stated 22% · observed 31% · n=55Consensus · stated 40% · observed 100% · n=1Consensus · stated 46% · observed 60% · n=58Consensus · stated 52% · observed 71% · n=45Pattern Spotter · stated 8% · observed 2% · n=50Pattern Spotter · stated 14% · observed 8% · n=80Pattern Spotter · stated 25% · observed 23% · n=78Pattern Spotter · stated 36% · observed 80% · n=15Pattern Spotter · stated 46% · observed 59% · n=54Pattern Spotter · stated 51% · observed 69% · n=35Cautious Forecaster · stated 4% · observed 3% · n=104Cautious Forecaster · stated 17% · observed 22% · n=94Cautious Forecaster · stated 21% · observed 10% · n=10Cautious Forecaster · stated 48% · observed 57% · n=35Cautious Forecaster · stated 53% · observed 70% · n=69STATED PROBABILITY (%)OBSERVED HIT RATE (%)
ConsensusPattern SpotterCautious Forecaster· point size = sample count

Each point is a probability bin. On the dashed line means honest calibration — the call happened about as often as we said. Above the line: under-confident. Below: over-confident. Point size scales with sample count; sparse bins are noisy by nature.

Two grains, two clockshow each call is graded
Daily per-game callsLive

Tonight’s threshold calls (a hit, a home run, a quality start) grade the next morning. 3894 resolved samples across 13 markets feed the bins above and below — split by engine: C9 · PS · CF.

30-day signal callsAccumulating

A board call (breakout / regression) states a 30-day window. The calibration of those longer-horizon calls accumulates its own scoreboard as the first windows close — it publishes here the morning the substrate emits it, never before. We don’t show a grain we can’t yet measure.

The full bin table — every market, every engine
Hits marketsn=936
Stated binC9PSCF
observed · nobserved · nobserved · n
010%3%· 1042%· 503%· 104
1020%10%· 498%· 8022%· 94
2030%31%· 5523%· 7810%· 10
3040%100%· 180%· 15
4050%60%· 5859%· 5457%· 35
5060%71%· 4569%· 3570%· 69
Home-run marketsn=624
Stated binC9PSCF
observed · nobserved · nobserved · n
010%10%· 20810%· 20810%· 207
1020%0%· 1
RBI marketsn=624
Stated binC9PSCF
observed · nobserved · nobserved · n
010%11%· 10514%· 12012%· 104
1020%30%· 10127%· 8429%· 104
2030%0%· 250%· 4
Total-base marketsn=624
Stated binC9PSCF
observed · nobserved · nobserved · n
010%0%· 214%· 21
1020%23%· 10120%· 9324%· 83
2030%27%· 3341%· 1739%· 76
3040%47%· 7240%· 8146%· 28
4050%47%· 17
Runs marketsn=312
Stated binC9PSCF
observed · nobserved · nobserved · n
010%18%· 11
1020%43%· 10146%· 8743%· 86
2030%0%· 317%· 633%· 18
Stolen-base marketsn=312
Stated binC9PSCF
observed · nobserved · nobserved · n
010%8%· 926%· 847%· 94
1020%8%· 1216%· 1910%· 10
2030%0%· 1
Strikeout marketsn=126
Stated binC9PSCF
observed · nobserved · nobserved · n
010%0%· 20%· 10%· 4
1020%0%· 90%· 80%· 9
2030%0%· 60%· 820%· 5
3040%13%· 814%· 70%· 5
4050%0%· 320%· 50%· 5
5060%50%· 433%· 650%· 2
6070%43%· 760%· 575%· 4
7080%100%· 3100%· 250%· 8
Earned-run marketsn=84
Stated binC9PSCF
observed · nobserved · nobserved · n
4050%0%· 10%· 1
5060%44%· 940%· 1038%· 8
6070%22%· 922%· 925%· 8
7080%67%· 667%· 663%· 8
8090%33%· 333%· 333%· 3
Innings marketsn=84
Stated binC9PSCF
observed · nobserved · nobserved · n
1020%0%· 30%· 30%· 3
2030%0%· 20%· 20%· 2
3040%67%· 367%· 367%· 3
4050%0%· 613%· 80%· 6
5060%60%· 575%· 460%· 5
6070%100%· 250%· 4100%· 2
7080%57%· 775%· 450%· 4
8090%67%· 3
Walk marketsn=42
Stated binC9PSCF
observed · nobserved · nobserved · n
3040%50%· 2
4050%50%· 625%· 450%· 8
5060%43%· 733%· 325%· 4
6070%0%· 157%· 7
HR-allowed marketsn=42
Stated binC9PSCF
observed · nobserved · nobserved · n
2030%0%· 1
3040%50%· 280%· 550%· 2
4050%83%· 675%· 4100%· 4
5060%67%· 675%· 457%· 7
6070%100%· 1
Quality-start marketsn=42
Stated binC9PSCF
observed · nobserved · nobserved · n
1020%0%· 517%· 60%· 5
2030%25%· 40%· 333%· 3
3040%20%· 520%· 517%· 6
Win marketsn=42
Stated binC9PSCF
observed · nobserved · nobserved · n
1020%50%· 250%· 450%· 2
2030%40%· 533%· 333%· 6
3040%0%· 70%· 60%· 5
4050%0%· 10%· 1

Each cell: the observed hit rate inside a stated-probability bin, with the sample count, for each engine. Honest calibration means observed sits near the bin’s stated range. Thin samples (small n) swing wide — that’s sampling noise, shown plainly rather than smoothed away.

Explore the record — filter, then open any bin

The same public scoreboard, now interactive. Narrow by date range, market, and engine, then click any probability bin to see the exact resolved calls behind that point — every one a real row, hit or miss, that fed the number. The 30-day signal grain stays dimmed until its first windows close; we don’t show a grain we can’t yet measure.

Grain
Market
Engine
Date from
Date to

Latest published snapshot · 936 resolved samples in view · click a bin to open its underlying calls.

Hits · 936 resolved
00252550507575100100PERFECT CALIBRATIONConsensus · stated 7% · observed 3% · n=104Consensus · stated 17% · observed 10% · n=49Consensus · stated 22% · observed 31% · n=55Consensus · stated 40% · observed 100% · n=1Consensus · stated 46% · observed 60% · n=58Consensus · stated 52% · observed 71% · n=45Pattern Spotter · stated 8% · observed 2% · n=50Pattern Spotter · stated 14% · observed 8% · n=80Pattern Spotter · stated 25% · observed 23% · n=78Pattern Spotter · stated 36% · observed 80% · n=15Pattern Spotter · stated 46% · observed 59% · n=54Pattern Spotter · stated 51% · observed 69% · n=35Cautious Forecaster · stated 4% · observed 3% · n=104Cautious Forecaster · stated 17% · observed 22% · n=94Cautious Forecaster · stated 21% · observed 10% · n=10Cautious Forecaster · stated 48% · observed 57% · n=35Cautious Forecaster · stated 53% · observed 70% · n=69STATED PROBABILITY (%)OBSERVED HIT RATE (%)
ConsensusPattern SpotterCautious Forecaster· point size = sample count

Each point is a probability bin. On the dashed line means honest calibration. Above: under-confident. Below: over-confident. Point size scales with sample count.

Bins — click to drill down
Stated binC9 · observed·nPS · observed·nCF · observed·n
010%3%· 1042%· 503%· 104
1020%10%· 498%· 8022%· 94
2030%31%· 5523%· 7810%· 10
3040%100%· 180%· 15
4050%60%· 5859%· 5457%· 35
5060%71%· 4569%· 3570%· 69
The ledger — every resolved call, in publicmisses carry equal weight · voids shown with reason
100
calls resolved
83
graded (non-void)
18%
graded hit rate
17
voided
DatePlayerCallStatedResult
Jun 11Hunter DobbinsPER — 2 or fewer· C966% Miss
Jun 11Martín PérezPWin· C925%— Void · Postponed
Jun 11Merrill KellyPQuality start· C934% Hit
Jun 11Christian ScottPK — 6+· C932% Hit
Jun 11Hunter DobbinsPK — 6+· C935% Miss
Jun 11Justin WrobleskiPK — 6+· C937% Miss
Jun 11Merrill KellyPK — 6+· C938% Miss
Jun 11Mitch KellerPK — 6+· C938% Miss
Jun 11Michael WachaPK — 6+· C939% Miss
Jun 11Edward CabreraPK — 6+· C940% Miss
Jun 11Kyle BradishPK — 6+· C944% Miss
Jun 11Bryan WooPK — 6+· C945% Miss
Jun 11Zebby MatthewsPK — 6+· C948% Miss
Jun 11Henry DavisCRBI — 1+· C919%— Void · Did not play
Jun 11Randal GrichukOFRBI — 1+· C919%— Void · Postponed
Jun 11Jeremiah Jackson2BHR — 1+· C98%— Void · Did not play
Jun 11Iván HerreraDHHits — 2+· C924% Miss
Jun 11Andy PagesOFHits — 2+· C924% Hit
Jun 11Taylor WardOFHits — 2+· C924% Miss
Jun 11Michael HarrisOFHits — 2+· C924%— Void · Postponed
Jun 11Bo Bichette3BHits — 2+· C924% Miss
Jun 11JJ Wetherholt2BHits — 2+· C924% Miss
Jun 11Joc PedersonDHHits — 2+· C924%— Void · Did not play
Jun 11Bobby WittSSHits — 2+· C925% Miss
Jun 11Byron BuxtonOFHits — 2+· C925% Miss
Jun 11Ketel Marte2BHits — 2+· C926% Miss
Jun 11Bryan WooPER — 2 or fewer· C958% Miss
Jun 11Martín PérezPER — 2 or fewer· C958%— Void · Postponed
Jun 11Bryan WooPWin· C936% Miss
Jun 11Martín PérezPQuality start· C919%— Void · Postponed
Jun 11Bryan WooPQuality start· C929% Miss
Jun 11Bryan WooPK — 8+· C922% Miss
Jun 11Kyle BradishPER — 2 or fewer· C958% Miss
Jun 11Kyle BradishPWin· C935% Miss
Jun 11Justin WrobleskiPWin· C939% Miss
Jun 11Kyle BradishPQuality start· C930% Miss
Jun 11Justin WrobleskiPQuality start· C933% Miss
Jun 11Justin WrobleskiPK — 8+· C916% Miss
Jun 11Kyle BradishPK — 8+· C922% Miss
Jun 11Mitch KellerPER — 2 or fewer· C957% Miss
Showing 140 of 100 resolved calls · newest grading first · never re-graded silently1 / 3
✓ hit · ✗ miss · — void. A void (postponed, did-not-play) has no graded outcome and is excluded from the hit rate, not counted as a miss. A call that was re-graded shows “revised ×n” — the record is never silently changed.
This page is the product’s spine.

If the record stops being good, you’ll see it here first — that’s the deal.

Get the free edition