We looked for a betting edge. We didn't find one. Here's exactly what we built instead.
Most handicapping sites either oversell a model's power or hide the methodology entirely. We do neither. Every claim on this site is grounded in a published, locked pre-registration — and the honest answer from the data is: the Del Mar win pool is efficient. What we've built is the most complete information product for Del Mar racing, not a guaranteed money-maker.
Across 8 independent analyses on 2+ years of holdout data, no fundamentals-based model — linear or modern ML — achieves positive ROI against the Del Mar win pool after the ~17% takeout. The market is efficient at this track. The only potentially-live signal is forward live-tote microstructure(steam moves at decision time), which we're testing on the 2026 meet — paper trade only, no real money until we have powered evidence.
How we built it
BRIS single-file past performances for every Del Mar card, 2021–2025. Five years of 229 race-day cards, 7,000+ runners in the training set.
Before touching the data, we locked the train/validate/test split and every modeling decision in a public git commit (commit 396084a, 2026-06-26). This prevents retrofitting.
A calibrated logistic ranker on BRIS fundamentals: speed figures, pace, run-style, days-since-last, morning-line odds. Trained on 2021–22 only. Never re-fit on validation data.
Eight independent methods across two years of holdout data: Brier score, ROI by odds band, exotics, Harville finish-order, Benter combination, a 20-agent sweep. Result: no model clears the ~17% takeout. The edge is closed.
The calibrated probability estimates are accurate and useful for understanding a race — they're just not profitable bets. We ship them as information, not tips.
What the model actually does well
The model's probability estimates are well-calibrated: when it says a horse has a 25% chance of winning, roughly 1-in-4 of those horses win. The curve hugs the diagonal. That's useful for understanding race dynamics — it just doesn't translate into profit because the tote already prices the same information.
- ✓Ranking the field for show programs + preview content
- ✓Calibrated win probabilities for honest race display
- ✓Identifying pace scenarios + style clashes
- ✓Grounding AI-generated race narratives in real numbers
- ✗Generate positive ROI against the takeout
- ✗Predict first-time starters better than the market
- ✗Profitably exploit layoff returners or lightly-raced horses
- ✗Outperform a Benter blend on finish-order
Pre-registration + grading
It's easy to find a strategy that looks good in hindsight — the hard part is knowing whether it works going forward. We locked the train/test split and every modeling choice before analyzing the holdout data. The locked pre-registration lives in the git repo as an immutable commit (396084a) and can be independently audited. The forward 2026 conditioner flags are also pre-registered: if they produce a result, you can verify we didn't cherry-pick it.
Every public prediction is scored as a flat $2 win bet. The scoreboard onSystemsshows ROI, CLV (closing-line value), win rate, and drawdowns — including a mid-meet losing streak. Nothing is hidden. The honest expectation heading into the 2026 meet is approximately break-even; any edge would be a genuine discovery.
The pundit leaderboard onSystemsgrades every public handicapper we aggregate — starting with the track's own selections, and additional public outlets as each is ToS-cleared — all on the same flat-$2 metric. Our honest expectation is that nobody, us included, clears the takeout; the meet will show it either way. That's radical honesty: if any source consistently does, we'll say so.
A pricing pattern in small fields
In our 2025 held-out test season, favorites racing in fields of 8 or fewer lost money when backed at a flat $2 win bet: −27.5% ROI(n=221, 95% CI −42% to −12%). That wasn't because they won less often — their win rate (34.4%) was almost identical to favorites in bigger fields (34.3%). The difference is price: small-field favorites go off shorter than their actual win rate justifies.
We're not calling this an edge. n=221 is below the 300-runner bar we hold ourselves to for a reportable result, it hasn't been confirmed against live closing odds, and it says nothing about whether any individual favorite wins or loses — the market's win-probability pricing is not beaten by anything in our research. And it is nota fade: an overbet cohort does not imply a profitable bet against it. The takeout applies to the other side too, exchange commissions and this sub-300 sample erase any paper gap, and we make no claim that laying or betting around these favorites wins. It's a descriptive pricing observation about one cohort, published pre-registered the same way everything else here is.
What we're still testing
The one signal the historical data can't disprove is live-tote microstructure: steam moves in the closing minutes before post that the public is slow to follow. We've pre-registered six conditioned-steam flags and wired them into every captured runner starting opening day (~Jul 17). The test runs on an anytime-valid e-process: we can stop early if the signal is clearly null, or declare when it's powered. Paper trade first; the bar for real money is a statistically powered positive result.