Hypotheses · seasonal · H-b05a33c3
Lightly raced four-year-old returners on the all-weather: is the edge really turf-only?
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “H126: lightly raced four year old returns” 32 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 12:23
- Tests logged
- 17
Reasoning
Why this hypothesis exists: what the lab saw, the question it asked, the mechanism it proposed, what it predicted, and the result that would prove it wrong. Written before the test was run.
- Observed
- H-29eb96fe (Lightly raced four-year-olds back from the winter on turf only) survived falsification: 5 of 6 attacks left it standing; it is frozen for its one vault query. O-7e9098fb
- H-29eb96fe (Lightly raced four-year-olds back from the winter on turf only) passed discovery as a niche: A/E 1.2 on 379 bets (p 0.127), same-race control 0.97. O-94a1c4ce
- H-29eb96fe (Lightly raced four-year-olds back from the winter on turf only) met the sealed vault supportive: A/E 1.1 on 1741 bets (p 0.102, threshold 0.0033). O-bbb9c77c
- AskedIs the H126 lift and its second-run follow-up a late-spring turf effect, weak or absent on the all-weather in March and early April? answered
- MechanismIf the cause is maturation plus the mark, it should not depend on surface. If it is going or late-spring turf readiness, all-weather returners should score about 1.0.
- Why the market misses itEarly-season all-weather handicaps are dominated by fit, race-hardened horses. The market prices fresh returners against that sharpness and may over-discount the winter's physical gain.
- Predictedpositive, A/E 1.05 to 1.12 on 400+ bets
- Falsified ifA/E below 1.00 on 400+ bets, which would favour the turf-only explanation and argue for restricting the system
Mechanism and rationale
If the cause is maturation plus the mark, it should not depend on surface. If it is going or late-spring turf readiness, all-weather returners should score about 1.0.
The rule
race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs <= 10 AND days_since_last_run >= 150 AND surface = 'AW'
Reads: race_type, is_handicap, month, age, prior_runs, days_since_last_run, surface
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 7447c0cc1da81e618f6153b46a6d13e06f465e58aaf7b0b058b2de341956b778
- Frozen
- 16 Oct, 12:29
- Nothing in the definition can change after this.
- Confounders
- Calendar: AW returners run mostly in March and early April, the earlier part of the spring, so surface and season-stage are confounded (refinement 2 addresses this)
- Only one spring of post-October-2025 data, so surface and period are confounded in any period split
- Race class: AW spring handicaps tend to be lower class than turf ones, so field quality differs
- Trainer selection: yards that choose an AW comeback may differ in intent and readiness from those waiting for turf
- Longshot artefact: earlier lift in this thread sat in the up-to-14/1 band, so a small number of big-priced winners could create or hide an effect (refinement 1)
- Control
{ "description": "Same-race other runners: expected about 1.00, since early-season AW handicaps carry no general mispricing. If they also show lift, the effect is a property of these races, not of the returners. Separate control rule: older (5+) handicappers returning on the AW after 150+ days in the same months. If they show the same lift, the effect is about freshness on the AW in general, not four-year-old maturation. Expected about 1.00 or below.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age >= 5 AND days_since_last_run >= 150 AND surface = 'AW'" }- Designer
Discovery result
pass broad rule (niche) · 16 Oct, 12:28
- Bets
- 140
- 19 winners
- A/E
- 1.18
- 95%: 0.71 to 1.84
- SP return
- -29.9%
- level stakes
- Betfair SP return
- -18.9%
- 140 bets with a BSP
Strike rate 13.6%. p = 0.27. Same-race control: the other runners in these races had A/E 0.97, so the selection beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
By period
Falsification
Each attack is a deliberate attempt to kill the idea. 4 of 5 survived.
- perturbation: Loosen thresholds: up to 12 runs, 120+ days offpass
195 bets · A/E 1.03 (0.65 to 1.56) · control 0.99 · 16 Oct, 12:29
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271621.12after 2026-04-2733–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Tighten thresholds: up to 8 runs, 180+ days offpass
75 bets · A/E 1.22 (0.59 to 2.25) · control 0.97 · 16 Oct, 12:29
Breakdown
Sealed holdout (vault)
- Bets
- 698
- 16 Oct, 12:29
- A/E
- 1.10
- p = 0.20
- BH threshold then
- 0.0032
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
698 bets · A/E 1.10 (0.88 to 1.36) · control 0.99 · 16 Oct, 12:29
Breakdown
betsA/E0.71.01.32020-223041.262023 to Sept 20253940.98
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}info
0 bets · · 16 Oct, 12:29
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: <= 10 -> 8 (-20%)pass
109 bets · A/E 1.24 (0.71 to 2.01) · control 0.96 · 16 Oct, 12:58
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27871.41after 2026-04-2722–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 10 -> 12 (+20%)pass
161 bets · A/E 1.09 (0.67 to 1.69) · control 0.98 · 16 Oct, 12:58
Breakdown
Lineage
Agent runs
designer v1ok · 30s · 16 Oct, 12:24
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs <= 10 AND days_since_last_run >= 150 AND surface = 'AW'", "refinements": [ { "label": "14/1 or shorter", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs <= 10 AND days_since_last_run >= 150 AND surface = 'AW' AND sp_decimal <= 15" }, { "label": "April-May only (calendar overlap with the turf season)", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (4, 5) AND age = 4 AND prior_runs <= 10 AND days_since_last_run >= 150 AND surface = 'AW'" } ], "control": { "description": "Same-race other runners: expected about 1.00, since early-season AW handicaps carry no general mispricing. If they also show lift, the effect is a property of these races, not of the returners. Separate control rule: older (5+) handicappers returning on the AW after 150+ days in the same months. If they show the same lift, the effect is about freshness on the AW in general, not four-year-old maturation. Expected about 1.00 or below.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age >= 5 AND days_since_last_run >= 150 AND surface = 'AW'" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Calendar: AW returners run mostly in March and early April, the earlier part of the spring, so surface and season-stage are confounded (refinement 2 addresses this)", "Only one spring of post-October-2025 data, so surface and period are confounded in any period split", "Race class: AW spring handicaps tend to be lower class than turf ones, so field quality differs", "Trainer selection: yards that choose an AW comeback may differ in intent and readiness from those waiting for turf", "Longshot artefact: earlier lift in this thread sat in the up-to-14/1 band, so a small number of big-priced winners could create or hide an effect (refinement 1)" ], "mechanism": "Four-year-olds with 10 or fewer runs who have had a winter off often come back physically stronger than their handicap mark, which is still based on their three-year-old form. If maturation plus a lagging mark is the cause, the effect should not depend on surface, so AW returners should beat their prices as turf returners do (H-29eb96fe: 1.20 on 379). If the turf-only result reflects going or late-spring turf readiness, AW returners should score about 1.00.", "market_miss": "Early-season AW handicaps are dominated by fit, race-hardened horses that ran through the winter. The market prices a fresh returner against that sharpness and marks it down for its absence, which may over-discount the physical gain a lightly raced horse made between three and four.", "prediction": { "direction": "positive", "size": "A/E 1.05 to 1.12 on 400+ bets, a bit below the turf subset", "falsified_if": "A/E below 1.00 on 400+ bets (or below 1.00 with the same-race control at about 1.00). That would favour the turf-only explanation and argue for restricting the live system to turf." }, "notes": "The rule sketch's surface <> 'Turf' was changed to surface = 'AW'. The catalogue has only these two surface values, so the rule is the same in substance, but it is explicit and leaves out any null or unknown surfaces. Otherwise this is H126 with the opposite surface to H-29eb96fe, so the two subsets add up to the full H126 rule (excluding any null surfaces). A result near 1.00 here is informative rather than a failure of the lab's thread: it supports restricting SYS-four-year-old-returns-after-a-win to turf. Refinement 2 drops March to test whether the AW result changes once its calendar overlaps with the turf subset." }
Timeline
Job 1518 finished
· engine:compute-1
hypothesis note H-b05a33c3
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: drop: is_handicap = 1): pass
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: drop: race_type = 'Flat'): pass
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: >= 150 -> 180 (+20%)): pass
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: >= 150 -> 120 (-20%)): pass
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: <= 10 -> 12 (+20%)): pass
· engine:perturb
perturbation result for H-b05a33c3 (neighbour: <= 10 -> 8 (-20%)): pass
· engine:perturb
compute-1 took job 1518 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 1359 finished
· engine:compute-1
forward result for H-b05a33c3 (forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1359 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1354 finished
· engine:compute-1
H-b05a33c3 Vault → SHADOW vault SUPPORTIVE: A/E 1.101 on 698 bets, p 0.2014 against BH threshold 0.003226 over 31 vault tests
· engine:orchestrator