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.

  • 142 SR
  • 87 Pace
  • 72 Course
  • 91 Trainer
  • 64 Draw
  • 79 Going
  • 83 Market

Composite score · weight distribution

SR Trainer Pace Course Going Market Draw
SCORING runner 1 · Sea Charger 1.2ms

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

CUT_LOG · live

    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

    Sparkling Wine

    Confidence · Medium · Southwell (AW)

    PLACED

    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 ● 6/6 CHANNELS · ONLINE · 8ms AVG Website 1,247 8ms Email / RSS 1,384 6ms App / Social 1,201 9ms Tips / Pools 1,318 7ms Racecards 1,275 5ms Results log 1,412 4ms

    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…
    3041 races called
    199 primary winners
    2540 any-of-4 placed
    83.5% 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.