Skip to main content
Pre-registered 2026-07-14Day63of the forward test

The scoring is frozen. Now we grade it.

This page is a pre-registration: the hypothesis, the metrics, the sample floors, and the revert rule — written down before the results exist. Nothing below changes until the test resolves, and the outcome gets published either way.

Frozen
03:00 UTC
2026-07-14
Floors
14 / 200
dates / picks per segment
Verdict by
2026-10-01
or floors met — earlier of the two

The clock on this page

Verdict in 17 days

2026-10-01 is the outer date — the verdict lands earlier if the pre-registered sample floors fill first. We publish the verdict either way.

The hypothesis

One sentence, testable.

The current board's realized performance holds on picks made after the freeze.

That's the whole claim. Numbers earned on past picks are easy to flatter after the fact — the only honest way to test them is on picks that don't exist yet, measured by rules fixed in advance. This page fixes those rules.

The freeze

Frozen 2026-07-14, 03:00 UTC.

The scoring engine was frozen at 2026-07-14 03:00 UTC, after one final change: a gate demoting MLB player-prop overs (PR #260). A test of a moving target proves nothing, so until this test resolves, nothing in the scoring changes — no gates, no calibration, no thresholds.

One thing did change after the freeze, and it belongs on this page: on 2026-07-30 market coverage expanded — MLB prop markets went from five to nine, and in-play unders began reaching the board. The scoring engine is untouched; the same frozen math grades every pick. Because the pick mix changed, the single-mix window is 07-14 → 07-30, and the resolution grid will report both views.

The freeze is an artifact, not a promise. The frozen configuration is pinned to git commit adc979a5 (2026-07-14) — a fixed point the running code can be checked against.

Freeze terms
Frozen at
2026-07-14 03:00 UTC
Pinned to
git commit adc979a5 (2026-07-14)
Final change
A gate demoting MLB player-prop overs (PR #260)
No gates
No new gates added, none removed, none re-tuned
No calibration
No calibration re-fits
No thresholds
No threshold moves
No expansion
No model expansion
Coverage note
2026-07-30: markets expanded (MLB props 5→9, in-play unders surfaced). Scoring untouched; both windows reported at resolution
The cohorts

Who counts, defined up front.

A record is only as honest as its denominators, so every cohort is defined here, before a single forward pick exists:

An ISSUED pick is a row whose Whet score is ≥ 50 at first scan — the customer-visible board.

A DEMOTED pick is tracked but below the floor due to a pre-registered gate.

A VOID pick is one that could not be graded, published with a reason code (player-dnp, stats-unavailable, event-cancelled, grading-unsupported).

PRIMARY ENDPOINT: flat-stake win rate and ROI of ISSUED picks made after the freeze, with event-clustered 95% confidence intervals.

Cohort definitions
Issued
Whet score ≥ 50 at first scan — the customer-visible board
Demoted
Tracked but below the floor due to a pre-registered gate
Void
Ungradeable, published with a reason code (player-dnp, stats-unavailable, event-cancelled, grading-unsupported)
Primary endpoint
Flat-stake win rate and ROI of issued picks made after the freeze, with event-clustered 95% confidence intervals
Primary metrics

What counts, decided in advance.

Two primary metrics: forward win rate and flat-stake ROI on picks made after the freeze, reported with event-clustered 95% confidence intervals. Picks from the same game move together, so clustering by event is what keeps the intervals honest instead of flattering.

And no claim before the sample floors are met: at least 14 independent game dates and 200 graded picks per segment. Until both floors clear, the only honest label for any forward number is “too early” — and that's the label it gets.

The full segment grid is pre-declared: sport × market type × side. Every segment that reaches its floor is reported with win rate AND ROI AND confidence interval together — never one metric alone, never a subset of segments. Cherry-picking which slice to show, or which number to lead with, is the oldest trick in this industry; pre-declaring the grid takes the option away.

Primary metrics
Metric 1
Forward win rate on picks made after the freeze
Metric 2
Flat-stake ROI on picks made after the freeze
Uncertainty
Event-clustered 95% confidence intervals
Sample floor
At least 14 independent game dates AND ≥ 200 graded picks per segment — no claim before both
Segments
Pre-declared grid: sport × market type × side — every segment at floor reports win rate, ROI, and confidence interval together
The running numbers

The grid, as it stands.

Every pick the frozen engine has issued and graded since the freeze — the same public ledger /proof serves, sliced into the pre-declared grid. Segments below the sample floors say so instead of showing a rate.

All graded picks so far: 30,227 graded · win rate 52.7% (95% CI 52.2–53.2%) · ROI +3.34% (95% CI +2.3–4.4%) · computed 2026-09-14

swipe the table for ROI, the 95% CI and the sample →

SegmentGradedWin rateROI95% CI (win · ROI)Sample
MLB · prop · over14,16646.5%−1.32%45.4–47.8% · −4–1.6%684 games · 60 dates
MLB · prop · under8,66660.4%+10.9%59–61.7% · +8.3–13.4%667 games · 60 dates
MLB · spread · under1,67055.6%−2.25%52.2–59% · −8.2–3.9%658 games · 60 dates
MLB · spread · over1,50759.9%+5.66%56.3–63.3% · −0.9–12.1%640 games · 59 dates
MLB · total · under1,31352.6%−0.62%49.2–56% · −7.3–5.8%574 games · 60 dates
MLB · total · over1,09454.4%+10.77%50.6–58.2% · +3–18.8%529 games · 59 dates
MLB · moneyline · over21957.3%−2.51%50.2–64.1% · −14.3–8.9%208 games · 51 dates
NCAAF · spread · under161too early — 161 of 200 picks and 2 of 14 dates73 games · 2 dates
NCAAF · spread · over133too early — 133 of 200 picks and 2 of 14 dates70 games · 2 dates
MLB · moneyline · under112too early — 112 of 200 picks106 games · 41 dates
NCAAF · total · over91too early — 91 of 200 picks and 2 of 14 dates55 games · 2 dates
NCAAF · total · under90too early — 90 of 200 picks and 2 of 14 dates56 games · 2 dates
Soccer (MLS) · total · under89too early — 89 of 200 picks72 games · 16 dates
WNBA · prop · over75too early — 75 of 200 picks and 7 of 14 dates19 games · 7 dates
Soccer (MLS) · total · over54too early — 54 of 200 picks40 games · 16 dates
WNBA · prop · under48too early — 48 of 200 picks and 7 of 14 dates19 games · 7 dates
NFL · prop · over42too early — 42 of 200 picks and 2 of 14 dates2 games · 2 dates
NFL · spread · over38too early — 38 of 200 picks and 5 of 14 dates18 games · 5 dates
NFL · total · over36too early — 36 of 200 picks and 5 of 14 dates16 games · 5 dates
NFL · spread · under35too early — 35 of 200 picks and 4 of 14 dates15 games · 4 dates
NFL · total · under34too early — 34 of 200 picks and 5 of 14 dates17 games · 5 dates
Soccer (EPL) · total · under32too early — 32 of 200 picks and 10 of 14 dates20 games · 10 dates
NFL · prop · under24too early — 24 of 200 picks and 2 of 14 dates2 games · 2 dates
WNBA · spread · under24too early — 24 of 200 picks and 6 of 14 dates13 games · 6 dates
NCAAF · moneyline · over23too early — 23 of 200 picks and 1 of 14 dates23 games · 1 date
WNBA · spread · over23too early — 23 of 200 picks and 6 of 14 dates14 games · 6 dates
Soccer (LA LIGA) · total · over21too early — 21 of 200 picks and 6 of 14 dates14 games · 6 dates
NCAAF · moneyline · under20too early — 20 of 200 picks and 2 of 14 dates20 games · 2 dates
Soccer (EPL) · total · over20too early — 20 of 200 picks and 7 of 14 dates14 games · 7 dates
WNBA · total · under20too early — 20 of 200 picks and 6 of 14 dates13 games · 6 dates
Soccer (MLS) · moneyline · home18too early — 18 of 200 picks and 10 of 14 dates18 games · 10 dates
Soccer (LA LIGA) · total · under17too early — 17 of 200 picks and 7 of 14 dates11 games · 7 dates
Soccer (LIGUE ONE) · total · under17too early — 17 of 200 picks and 5 of 14 dates11 games · 5 dates
Soccer (UCL) · total · over16too early — 16 of 200 picks and 3 of 14 dates11 games · 3 dates
Soccer (UCL) · total · under16too early — 16 of 200 picks and 3 of 14 dates11 games · 3 dates
Soccer (BUNDESLIGA) · total · under15too early — 15 of 200 picks and 5 of 14 dates11 games · 5 dates
Soccer (EFL CHAMP) · total · under15too early — 15 of 200 picks and 5 of 14 dates14 games · 5 dates
NFL · moneyline · under12too early — 12 of 200 picks and 4 of 14 dates12 games · 4 dates
Soccer (EFL CHAMP) · total · over12too early — 12 of 200 picks and 7 of 14 dates12 games · 7 dates
Soccer (PRIMEIRA LIGA) · total · under11too early — 11 of 200 picks and 7 of 14 dates10 games · 7 dates
Soccer (SERIE A) · total · under11too early — 11 of 200 picks and 4 of 14 dates8 games · 4 dates
NFL · moneyline · over10too early — 10 of 200 picks and 4 of 14 dates10 games · 4 dates
Soccer (BUNDESLIGA) · total · over10too early — 10 of 200 picks and 4 of 14 dates9 games · 4 dates
Soccer (LIGUE ONE) · total · over10too early — 10 of 200 picks and 5 of 14 dates8 games · 5 dates
Soccer (SERIE A) · total · over10too early — 10 of 200 picks and 6 of 14 dates9 games · 6 dates
WNBA · total · over10too early — 10 of 200 picks and 6 of 14 dates9 games · 6 dates
Soccer (EREDIVISIE) · total · under8too early — 8 of 200 picks and 4 of 14 dates7 games · 4 dates
WNBA · moneyline · over8too early — 8 of 200 picks and 5 of 14 dates8 games · 5 dates
WNBA · moneyline · under8too early — 8 of 200 picks and 5 of 14 dates8 games · 5 dates
Soccer (EFL CHAMP) · moneyline · home7too early — 7 of 200 picks and 5 of 14 dates7 games · 5 dates
Soccer (EREDIVISIE) · total · over7too early — 7 of 200 picks and 4 of 14 dates7 games · 4 dates
Soccer (PRIMEIRA LIGA) · total · over6too early — 6 of 200 picks and 4 of 14 dates6 games · 4 dates
Soccer (EPL) · moneyline · away5too early — 5 of 200 picks and 5 of 14 dates5 games · 5 dates
Soccer (EPL) · spread · under5too early — 5 of 200 picks and 4 of 14 dates5 games · 4 dates
Soccer (MLS) · moneyline · away5too early — 5 of 200 picks and 5 of 14 dates5 games · 5 dates
Soccer (BUNDESLIGA) · spread · over4too early — 4 of 200 picks and 2 of 14 dates4 games · 2 dates
Soccer (LA LIGA) · spread · under4too early — 4 of 200 picks and 3 of 14 dates4 games · 3 dates
Soccer (WORLD CUP) · total · under4too early — 4 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (BUNDESLIGA) · moneyline · home3too early — 3 of 200 picks and 2 of 14 dates3 games · 2 dates
Soccer (EREDIVISIE) · moneyline · away3too early — 3 of 200 picks and 3 of 14 dates3 games · 3 dates
Soccer (LIGA MX) · total · under3too early — 3 of 200 picks and 3 of 14 dates3 games · 3 dates
Soccer (LIGUE ONE) · moneyline · home3too early — 3 of 200 picks and 2 of 14 dates3 games · 2 dates
Soccer (MLS) · spread · over3too early — 3 of 200 picks and 3 of 14 dates3 games · 3 dates
Soccer (UCL) · spread · over3too early — 3 of 200 picks and 3 of 14 dates3 games · 3 dates
Soccer (UCL) · spread · under3too early — 3 of 200 picks and 2 of 14 dates3 games · 2 dates
Soccer (BUNDESLIGA) · spread · under2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (EFL CHAMP) · spread · under2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (EPL) · moneyline · draw2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (EPL) · moneyline · home2too early — 2 of 200 picks and 1 of 14 dates2 games · 1 date
Soccer (EREDIVISIE) · spread · under2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (LA LIGA) · moneyline · home2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (LA LIGA) · spread · over2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (LIGA MX) · moneyline · home2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (LIGUE ONE) · moneyline · away2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (LIGUE ONE) · spread · over2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (MLS) · spread · under2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (PRIMEIRA LIGA) · moneyline · home2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (PRIMEIRA LIGA) · spread · under2too early — 2 of 200 picks and 1 of 14 dates2 games · 1 date
Soccer (UCL) · moneyline · home2too early — 2 of 200 picks and 2 of 14 dates2 games · 2 dates
Soccer (BUNDESLIGA) · moneyline · away1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (BUNDESLIGA) · moneyline · draw1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (EFL CHAMP) · spread · over1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (EPL) · spread · over1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (EREDIVISIE) · moneyline · home1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (LA LIGA) · moneyline · away1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (LA LIGA) · moneyline · draw1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (LIGA MX) · total · over1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (LIGUE ONE) · moneyline · draw1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (LIGUE ONE) · spread · under1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (MLS) · moneyline · draw1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (PRIMEIRA LIGA) · moneyline · away1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (SERIE A) · moneyline · away1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (SERIE A) · moneyline · draw1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (SERIE A) · spread · under1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (UCL) · moneyline · away1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date
Soccer (WORLD CUP) · total · over1too early — 1 of 200 picks and 1 of 14 dates1 game · 1 date

Win rate is over settled picks (pushes excluded); ROI is flat-stake over every graded pick, priced at the surfaced line. Intervals are event-clustered — same-game picks move together, so the ranges are wider, and honest. Every segment in the graded record is listed; there is no other slice.

Secondary metric

CLV, re-anchored to Pinnacle.

The secondary metric is closing-line value measured against Pinnacle's two-sided closing quote, accruing since 2026-07-14.

We retired our old consensus-anchored CLV because it measured our own book mix churning, not the market. A CLV number is only worth reporting against an anchor we don't control — so the forward test grades against Pinnacle's close and nothing else.

One honest limit: Pinnacle quotes only a subset of our markets, and unevenly across segments, so sharp-anchored CLV is reported with its coverage rate and is never the primary endpoint. The rate published at pre-registration was ~32% of recent props. It is 20.3% today — measured 2026-08-16 over 11,297 prop rows from the last 7 days, of which 2,295 carried a Pinnacle quote. The drop tracks the 2026-07-30 market expansion disclosed above: of the six prop markets we ran this week, Pinnacle priced two — total bases (65.1%) and pitcher strikeouts (64.9%) — and none of the other four. Adding markets it does not quote lowers the rate without anything changing at Pinnacle.

Secondary metric
Metric
Closing-line value vs Pinnacle's two-sided closing quote
Accruing since
2026-07-14
Coverage at pre-registration
~32% of recent props, as published 2026-07-14 — left as written, like every other pre-registered number on this page
Coverage today
20.3%2,295 of 11,297 prop rows carried a Pinnacle quote, measured 2026-08-16 over the prior 7 days. Uneven across segments; CLV is always reported with its coverage rate, never as the primary endpoint
Retired
The old consensus-anchored CLV — it measured our own book mix churning, not the market
The revert rule

The gate's exit, in writing.

The freeze's one final change was a gate demoting MLB player-prop overs. A pre-registration owes that gate a written exit condition, decided now rather than argued later. The bar is comparative — the gate's job is to separate worse picks from better ones, not to predict which side of break-even a cohort lands on:

Demoted prop overs continue to be scanned, tracked, graded, and published identically to issued picks, flagged as demoted. The revert evaluation happens exactly once, at the verdict date. The gate reverts only if the demoted-overs cohort's forward flat-stake ROI is within 2 points of (or above) the issued board's forward ROI over the same window, with ≥ 200 graded demoted overs — that is, only if the gate demonstrably failed to separate worse picks from better ones.

No judgment call, no quiet extension, no early or repeated evaluation. One check, one rule.

Revert rule
Tracked
Demoted overs are scanned, graded, and published identically to issued picks, flagged as demoted
Evaluated
Exactly once, at the verdict date — never re-checked until it flips
Reverts if
Demoted-overs forward flat-stake ROI is within 2 points of (or above) the issued board's forward ROI over the same window
Sample floor
≥ 200 graded demoted overs before the comparison counts
Bettability

The listed price has a shelf life.

Prices move fast. A surfaced pick is typically bettable for about one refresh window (~3 minutes); after that the market has often reconverged. Our record grades picks at their listed entry price — always verify the live price at your book, and if it is worse than listed, pass.
The pledge

Pass or fail, it gets published.

Every pick is locked the moment it's issued and graded when the game ends. The record is append-only — picks can be added, never edited or removed. 100% of picks that reach the ledger are graded; there is no “didn't count” pile. 99.4% of issued picks reach it — the shortfall is player-name matching, not a choice we make, and we publish the gap rather than round it away. And when the test resolves, we publish the outcome either way — pass or fail.

The running numbers publish automatically every day from day one — we have no discretion over timing. The pass/fail verdict is computed exactly once, on the earlier of 2026-10-01 or the date all pre-registered sample floors (≥ 14 independent game dates AND ≥ 200 graded picks per segment) are met, and is published either way.

The pledge
Locked
Every pick locked the moment it's issued
Append-only
Picks can be added, never edited or removed
Graded
100% of ledger picks — no exclusions after the fact
Reaching the ledger
99.4% of issued picks — name matching, and we publish the gap
Publishing
Running numbers publish automatically every day from day one — no discretion over timing
Verdict
Computed exactly once, on the earlier of 2026-10-01 or the date all sample floors are met — published either way

Watch it accrue.

The live, dated, settled record — wins and losses — is on /proof. The formulas behind every metric are on /methodology. This page is the contract; those pages are the receipts.