The Fox’s Wire · Methodology

How the algorithm thinks Pick Winner

Nine deliberate stages. Every one measurable. No black box.

pipeline pick_winner_v2.4.1
stages 9 sequential · 100% deterministic
signal_axes SR · Pace · Course · Trainer · Draw · Going · Market
model claude-opus-4-7 · structured JSON out

Stage 01 · Ingest

Seven feeds, one core

Every runner enters the pipeline with 100+ signals across seven independent sources.

CORE algorithm
  • Racecard & entries147
  • Horse form & ratings2,314
  • Market odds & moves918
  • Pace / draw / course412
  • Trainer & jockey583
  • Going / weather96
  • Historic results18,942
100+ signal points aggregated per runner

Stage 02 · Score

Every axis, every runner

Seven independent scorers run in parallel. No opinion, no LLM — just deterministic maths against the ingest.

  • 0 SR
  • 0 Pace
  • 0 Course
  • 0 Trainer
  • 0 Draw
  • 0 Going
  • 0 Market

Composite score · weight distribution

SR Trainer Pace Course Going Market Draw

Stage 03 · Prune

Fourteen down to four

Threshold gates strip the field before any AI sees it — every cut logged, every reason recorded.

#RunnerScoreFate
  1. 1Horse 287.3PROMOTED
  2. 2Horse 584.1PROMOTED
  3. 3Horse 779.8PROMOTED
  4. 4Horse 1076.2PROMOTED
  5. 5Horse 361.4CUT · trip mismatch
  6. 6Horse 458.9CUT · draw bias
  7. 7Horse 654.7CUT · trainer form
  8. 8Horse 849.1CUT · market drift
  9. 9Horse 945.8CUT · going
  10. 10Horse 141.2CUT · form

4 promoted 10 cut threshold gate · 3ms

Stage 04 · Assemble

The brief, built section by section

Prompt cache-primed, structured JSON out. Only the shortlist reaches Claude — no long tail, no noise.

  • RACE_CONTEXT156 tokens
  • SHORTLIST_4412 tokens
  • SIGNALS_MATRIX598 tokens
  • INSTRUCTIONS81 tokens
  • TOTAL_TOKENS1,247
{
  "race":       { "course": "…", "distance": "…", "going": "…" },
  "shortlist": [
    { "horse": "…", "sr": 142, "pace": 87, "trainer": 91, "odds": "3/1" },
    { "horse": "…", "sr": 138, "pace": 83, "trainer": 84, "odds": "5/2" },
    …
  ],
  "instructions": "Compare on all axes. Commit to one winner. Explain."
}

cache_status HIT · 94% context reused

1,247 tokens · optimised for clarity

Stage 05 · The centrepiece

Claude reasons out loud

Not a black-box classifier. A structured reasoning pass where each contender is measured against every other — and the winner emerges from the graph.

A B C D
  • Horse 2 · SR 142
  • Horse 5 · SR 138
  • Horse 7 · SR 134
  • Horse 10 · SR 131

claude · reasoning transcript

  1. 0:00.4Comparing 4 shortlisted runners on all seven axes…
  2. 0:01.1A tops SR by 4 points but drifted last time out.
  3. 0:02.3B carries penalty; course-and-distance winner over C.
  4. 0:04.7C leads pace figures; profile favours today’s going.
  5. 0:06.1D trainer +23% ROI, but signals stack less than A.
  6. 0:08.2Committing to A · confidence tier: Medium.

Most recent pick

Crafty Blue

Confidence · Medium · Leicester

WIN

Stage 06 · Verify

Trust is earned, not asserted

Every LLM response is checked against the real racecard before it is ever published.

validate.sh · pick_winner
  1. [00:00.001]Loading declared racecard.................OK
  2. [00:00.005]Match winner_horse in field.......PASS ✓
  3. [00:00.008]No hallucinated identifiers.......PASS ✓
  4. [00:00.011]Odds within sane range............PASS ✓
  5. [00:00.014]Confidence tier clamp.............PASS ✓
  6. [00:00.017]Signal-consistency assert.........PASS ✓
  7. [00:00.020]All checks passedEMIT →

If any check fails, the deterministic fallback picks the highest-scored shortlisted runner. A call is always published — hidden failures never happen.

Stage 07 · Calibrate

Confidence is a computation

The LLM's raw confidence is clamped against objective factors — every tier upgrade or downgrade has a reason.

Spec Med High

Landing tier · Medium

  • Field size
  • Odds range
  • SR gap
  • Aligned signals
  • Market strength
  • Race certainty

Stage 08 · Emit

One pick. Six channels. Point-in-time correct.

Every emission stamped, hashed, and shipped simultaneously. No channel drift.

PICK Website Email / RSS App / Social Tips / Pools Racecards Results log

Stage 09 · Prove

Every pick, hashed, chained, and public

Each prediction is committed to a Merkle root before the race runs — the ledger is public and the maths is verifiable.

ROOT c0ffee42…b3a7 H(1‖2) 9a1f…82be H(3‖4) 4e77…10cd Pick 1 · 7d2c… Pick 2 · a19f… Pick 3 · 3b8e… Pick 4 · ffa0…
2991 races called
186 primary winners
2490 any-of-4 placed
83.2% placed hit-rate

Updated every race day. See the full breakdown on the Pick Winner Honest Record.

Read further

The receipts

Saturday Racing · Data. Algorithms. AI Reasoning. Human Insight.