User guide
How to use this site
What the numbers mean and how to read a race page. Research-grade methodology, transparent backtest, tipsheet — not betting advice. Walk-forward backtests show the model picks horses well but pari-mutuel takeout is too steep a floor to clear, so treat the picks as one input alongside your own handicapping.
App Developer John B. Clayton · Lexington, KY · Built with Claude Code
For the model's internal methodology — training data, features, validation, lift over baseline — see About.
1. What this is
A model-driven tipsheet for the meets we follow. Every horse on every card runs through a LightGBM speed-fig regressor + LambdaRank ensemble trained on 157,000 historical past-performance rows across 7 tracks. The output: per-horse W/P/S/ITM probabilities, a "shape" classification per race, and the model's most-likely-to-cash trifecta structure with hit probability and pari-mutuel-implied payout — all transparent, all informational.
Walk-forward cross-validation shows the speed-fig regressor reduces MAE 24% over the naive "next race ≈ last race" baseline (6.57 vs. 8.69 fig points) on a held-out 14,000-row test set per fold. The model has real horse-picking skill — top-1 hit rate of 29.6% out-of-sample on 8-horse fields (vs. ~12.5% random).
Honest claim: the model picks horses well, but pari-mutuel takeout (~16% on WPS, ~19–26% on trifecta) is too steep a hurdle to consistently clear at this data scale. Walk-forward backtests show following the model's "most-likely" structures returns roughly the takeout in losses. Use this as one input among many, not as a betting service. The tier badges describe race shape (model confidence), not bet quality.
What it's good for:
- Tipsheet shortlist — the model's top-3 by ITM is a useful starting point for your own handicapping.
- Race-shape read — TIGHT vs COMPETITIVE vs WIDE OPEN tells you whether favorites should hold or chaos is plausible.
- Pace handicapping — Pace Shape panel flags hot-pace duels and lone-speed setups.
- Overlay spotting — the Edge column flags horses the model rates above the public's implied ITM%.
2. Reading a race page
The field grid
- PP: post position. Click any horse name for a per-horse breakdown — last-10-races chart, feature attributions, full past-performance table.
- ML: BRIS morning line as published in the program. Stale by post time, but the original anchor for drift comparison.
- Pred Close: a separate model's estimate of where each horse's final tote odds will land — trained on historical ML→closing-odds drift across thousands of races, so it bakes in the systematic ways the public moves a number from program to post (favorites tend to shorten, longshots tend to drift). Hover the cell for ML→Pred Close drift %. Green = model expects ≥25% shortening (public bet); red = model expects ≥25% drift. Compare against Live to see whether the public is moving the way the model predicted, or going the other way (contrarian money).
- Live (when present): current tote-board win odds. Color-coded: ↓ green ≥25% shorter than ML means the public bought the horse hard ("money horse"); ↑ red ≥25% longer means the public abandoned them ("drifting"). Hover the cell for the exact ML→Live drift percentage. The Live column appears only on races where current tote odds have been added.
- Pred Fig: model's predicted BRIS Speed Rating for today. ~100 = top-class allowance, 90 = solid claiming, 75 = ordinary maiden.
- Win: model's P(this horse wins).
- ITM%: model's P(top-3) — sum of win + place + show.
- Edge: model's ITM% minus the public-implied ITM% (live odds when present, ML otherwise). ▲ green ≥ +5pp = model likes this horse better than the market does. ▼ red ≤ −5pp = market likes them more than the model does.
Pro tip: a horse with both ▲ +Edge AND ↓ Live drift is the strongest signal — the public is starting to agree with the model but the price hasn't fully closed. A horse with +Edge but flat Live odds is an unfinished mispricing.
Pace Shape panel
Classifies the projected early-running mix:
- Lone speed — one E type, no EP pressers. Favors the front-runner.
- Hot pace / Speed duel — 5+ early types. Favors closers, or attritional if no closers exist.
- Soft pace — only one early type. Pace likely slow; helps anyone close to the leader.
- Contested pace — 2-4 early types. Honest pace, no strong style bias.
- Unprojectable — over half the field has no run-style code (typically maiden races full of first-time starters).
The "Projected speed" line lists which horses are likely to contest the lead, ranked by Quirin Speed Points.
Race-to-race navigation
Top of every race page: ← Race {prev} /
[Day card] /
Race {next} → arrows let you walk the card without bouncing back through the day index.
3. The Trifecta Shape card
Each race shows the model's most-likely-to-cash trifecta structure with its hit probability and pari-mutuel-implied payout. Behind the scenes: 50,000 Plackett-Luce-sampled finish orders are evaluated against per-track calibrated pari-mutuel payout estimates. Every standard structure is scored:
- 3-, 4-, 5-, 6-horse boxes (top N by predicted ITM%)
- 1×3×3, 1×4×4, 1×5×5 keys with the top pick on top
- 2×4×4, 2×5×5 part wheels (top 2 in 1st, broader pool 2nd-3rd)
- 3×5×5 part wheel
- A/B/C structures (A-key with B in 2nd, A+B+C in 3rd; A,B,C box)
The card surfaces the structure with the highest predicted hit probability and its informational payout — not a +EV claim. Click Other ticket structures to see alternatives with smaller stakes or different coverage profiles.
Race-shape badges
| Tier | Top-4 ITM concentration | Meaning |
|---|---|---|
| TIGHT | ≥ 80% | Top 4 cover most of the ITM math. Chalky shape — favorites should hit, payouts small. Highest hit-rate tier — best chance to cash a small ticket, though still negative-EV after takeout. |
| COMPETITIVE | 65 – 80% | Multiple legitimate contenders, model less concentrated. Mid-spread ITM math. Model has no clear edge — every ticket structure on these races is steeply negative-EV. Skip, or treat as an entertainment bet and size accordingly. |
| WIDE OPEN | < 65% | No clear take — anyone could hit; longshots have room. Chaos races. Lottery shape — low hit rates, larger payouts when they cash. Entertainment-only. |
These tiers describe the model's confidence on the race shape, not the +EV of any wager. Walk-forward backtests on 7,000+ historical races show pari-mutuel takeout (16% on WPS, 19–26% on trifecta) is too steep to consistently clear at this data scale. Use the model as a tipsheet input alongside your own handicapping — not as automated betting advice.
4. Reading the trifecta shape by race conditions
The simulator picks the structure with the highest hit probability per race. Understanding why it picked what it picked is the real value here — the structure tells you the shape of the race, which sharpens your own pick.
Small field (6–9 horses), top 4 cluster tightly
Typical structure: 4-horse box. Hit rate often >30%; the top 4 cover most realistic 1-2-3 outcomes. Chalky shape; payouts will be small.
Confident favorite (P(win) ≥ 35%), 8–12 horse field
Typical structure: 1×3×3 or 1×4×4 key. Concentrates on combos where the favorite wins. Tells you the model is locking on a single horse — useful even if you bet a different structure.
Wide-open race, several positive-Edge longshots
Typical structure: 5- or 6-horse box or 3×5×5 part wheel. Signals the model thinks chaos is plausible and longshots have a real claim.
Big field (14+ horses), Derby-shape
Top combos collectively hold little probability mass; even the densest structure typically hits <5% of the time. The model surfaces wide boxes to communicate that, not to recommend playing them.
A,B,C structure breakdown
Every race exposes A/B/C horse labels in the Trifecta Shape card. The labels are the model's handicapping read of the race:
- A: top horse(s) by ITM (one or two if very close).
- B: next 2-3 strongest contenders.
- C: longshots with positive Edge ≥ +8pp — horses the model rates above the public.
5. Beyond trifecta
The same data underwrites other wagers. There's no auto-EV simulator for them yet, but the field-grid probabilities are directly usable.
- Win bet: a horse with green Edge ≥ +10pp is one the model rates well above the public's price. The strongest signal is +Edge plus ↓green Live drift — the public is starting to agree but odds haven't fully closed. Note that walk-forward backtests on the model's top-1 horse show ~−17% on flat $2 WIN at takeout-driven losses; treat Edge as a relative-mispricing flag, not a +EV recommendation.
- Place / Show: read directly off the ITM% column. Useful in races where the top pick has high P(win) and the second-best is a longshot per the public — showing the chalk gives back-end protection.
- Exacta: same joint-probability machinery as the trifecta, just two slots. A small box of the top 2-3 by ITM% is the natural expression. Auto-recommendations for exactas aren't built yet, but the math is straightforward from the field grid.
- Daily Double / Pick 3 / Pick 4: multi-race horizontals. Use ITM% as a proxy for "horses likely to make a single-race ticket." For Pick N, joint hit probability is the product of per-leg coverage probabilities — a Pick 3 over the top 3 ITM horses in each race has joint coverage ≈ 0.6 × 0.6 × 0.6 ≈ 22%, solid for a moderate ticket.
6. The horse page
Click any horse name on a race page. You get three things:
- Last-10-races chart: dual-axis BRIS Speed Rating (blue) vs. Class Par (purple). When the speed line runs above class par, the horse was overperforming their level (likely to move up); below par, the opposite. Hover any data point for finish, beaten lengths, and the trip comment.
- "Why this prediction?" panel: feature attributions in fig-point units. The top-5 features pushing the prediction up and top-5 pushing it down. +2.3 from "form_avg5" means recent-form speed-rating average alone is adding 2.3 fig points to today's prediction. This is where the model's reasoning is most legible — a horse with strong form features but penalized by a class-par feature is a different bet than one penalized by recent speed declines.
- Full past-performance table: every race in the program with finish, beaten lengths, speed fig, class rating, and trip notes.
7. Limits and disclaimers
- This is a tipsheet, not a betting service. Walk-forward backtests on 7,000+ historical races show the model's most-likely-to-cash structures lose money against pari-mutuel takeout (16% on WPS, 19–26% on trifecta). The model picks horses well — 29.6% top-1 hit rate out-of-sample on 8-horse fields vs. ~12.5% random — but that edge isn't enough to clear the takeout floor. Use it as one input alongside your own handicapping.
- Live odds, when shown, reflect the tote board at the time the page was last refreshed — not the moment the gates open. Money continues to flow into the pool through post time; actual payouts may differ from the model's pari-mutuel-implied estimates.
- Pari-mutuel pools have a favorite/longshot bias — longshots are systematically over-bet relative to fair odds. The model uses per-track empirically calibrated payout estimates, but residual bias means very-longshot trifectas may pay less than predicted.
- First-time and second-time starters are predicted from pedigree ratings only, no race history. Expect noisier predictions.
- Trip-note keywords (bumped, wide, checked, eased) are partially captured by the trip-features module but the data layer is shallow. Equibase chart-caller text + Trakus GPS would close the remaining gap.
- No bankroll management is built in. If you do bet, sizing against your bankroll (Kelly-fractional or otherwise) is on you.
- Nothing here is wagering advice. Track takeout averages 16% on WPS and 19–26% on exotics; the average bettor is structurally underwater. The model and its calibrations are transparent so you can verify the math; the recommendations are informational only.