We spent today doing something we hadn't done before: taking a real US Daily Racing Form past-performance sheet — a Louisiana Downs claiming race — and reading it line by line against what Daily Race Edge already shows. Not to copy it (US dirt racing and GB/IRE turf/AW are different sports wearing the same clothes), but to find the gaps. A few things on that sheet had no equivalent on our own dashboard at all. Others turned out to already exist, just sitting unused in the database.
Nothing here got added on faith. Every idea went through the same bar every signal on this dashboard has to clear: check it against real GB/IRE history, with A/E (actual wins vs. what the market's own price implies), not just a raw win percentage that flatters anything that sounds intuitive. Two of today's candidates failed that test outright and were left out. Two more passed and are now live in the Sec column and near the horse name on every card.
The single biggest find: DRF shows a horse's position and margin behind the leader at every call of its past races — a "running line." We assumed we didn't have that. We were wrong. Our sectional timing data (RTV's furlong splits, ingested for a different purpose months ago) already contained exactly this — position and lengths-behind at every furlong marker, for every timed run since 2024 — and nobody had ever surfaced it. It had been sitting in a JSON blob, unused, since before most of the signals on this dashboard existed.
It's live now as an `RL` chip: hover any horse with recent sectional coverage and see its actual last race shape, furlong by furlong. We deliberately show only the horse's literal last run — an early version quietly fell back to an older sectional-covered run when the most recent one lacked timing data, which meant 12% of the lines shown weren't actually "last time out" at all. Fixed same day.
From that same data we built two more things. Early/Late pace figures — average lengths off the pace in the first third of the race versus the last third, shown as `E1.0/L4.3` next to the running line, green if the horse closed, red if it faded. And we validated it first: horses whose position visibly worsened late in their most recent timed run actually run to a better A/E next time out (0.755) than horses who held position throughout (0.695) — the market underrates a horse that looked bad late, on a large sample either side (27,622 / 88,427 runs). That's a real, repeatable pattern, not a story we told ourselves.
US racecards carry a "par" figure at the top of every race — a benchmark speed figure for that class and distance, so you can judge at a glance whether the field is fast or slow for its grade. We built the GB/IRE equivalent: the median TopSpeed figure among historical winners of the same class, distance, and surface (widening to drop course, then surface, if the sample's too thin — always logged, never silently guessed). It now sits in every race header as `Par: NN`.
Per horse, we show `Par+N (rank/field)` — their own best recent figure against that benchmark, and exactly where that places them in today's field, without needing to hover over every runner to work it out. Higher TopSpeed is always faster, the same convention as a US Beyer figure. 47 of 47 races got a par on day one.
DRF flags when a horse has moved to a new trainer. We built the same thing — a `TC` chip showing a recent change (within the last few runs) and how the horse's own figures compare since the move versus before it. But we checked the obvious follow-up question first: does an observed improvement under the new trainer actually predict anything.
It does — backwards. Horses that visibly improved under their new stable run to a worse next-time A/E (0.695) than horses that declined (0.757). The turnaround story is exactly the kind of thing that gets overbet — a good run for a struggling yard makes the papers, shortens the price, and erases the value. We built the chip deliberately colour-neutral either way, with the tooltip saying so directly, so nothing downstream — human or dre_ai — reads "improved" as a reason to back one.
We also extended the existing trainer-record badge with a distance-band split (sprint/middle/route A/E), the one genuine gap in what was otherwise already-built trainer coverage — jockey/trainer combo records and race-type/surface splits turned out to already be live, we just hadn't checked closely enough before saying so.
Of fifteen general handicapping heuristics we pulled from Daily Racing Form reasoning and checked against full GB/IRE history this week, most didn't survive contact with the market. Beaten favourites don't get a discount next time out — if anything the market overcorrects. Layoffs aren't a risk flag here; long-absence horses actually run to a better A/E than quick-turnaround ones. Draw position interacting with running style looked promising on a first pass, then evaporated once restricted to Flat racing only, where draw actually has spatial meaning. We wrote all of it up, including the failures, because a validation record that only shows the wins isn't a validation record.
Two of today's finds were strong enough to go into actual scoring, not just display: `trip_excuse` (a horse stepping up 2f+ in trip whose last run at the shorter distance was beaten 5 lengths or more — a plausible "wrong trip" excuse, A/E 0.74 vs 0.71 for the same step-up without it) and `trainer_condition_edge` (a horse's first run on a surface where its new trainer already has a proven record there, A/E 0.80 vs 0.60). Both weighted low — real signals, not headline ones — and both already live on today's shortlist.
Dashboard live at dre.cogtrix.eu. Full validation writeups — including everything that didn't hold up — in the project's DRF_HEURISTICS_VALIDATION.md.