Hypotheses · age-stamina · H-aa66431f
Young marathon handicap chasers with little chase experience carry the lift
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “H175: young horse in a marathon chase” 20 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- test-mechanism
- Created
- 16 Oct, 14:36
- Tests logged
- 19
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-d2faaee2 (Young marathon handicap chasers keep the lift outside big-field races) passed discovery as a niche: A/E 1.28 on 58 bets (p 0.235), same-race control 0.85. O-b9eb4333
- H-ea366189 (Young horses in 3m+ handicap hurdles beat their price as marathon chas) was predicted positive but came out the other way: A/E 0.94 on 772 bets (p 0.32 for the opposite direction). O-cdfcbe9d
- AskedIs the young marathon-chase lift specific to horses still unexposed over fences, whose chase form understates how much they will improve at an extreme trip? testing
- MechanismYoung chasers with few runs over fences are still improving their jumping and settling. At 3m4f+, efficient jumping saves energy that decides the finish. Their chase ratings and form lag their real ability at this trip.
- Why the market misses itThe price leans on a short chase record, often run at shorter trips, where jumping errors and lack of stamina made results look worse. The hurdle version failed, which suggests the unpriced part is fence improvement, not stamina alone.
- Predictedpositive, A/E 1.12 to 1.25 on 250+ bets
- Falsified ifA/E at or below 1.0 on 200+ bets, or no higher than young marathon chasers with more than 6 chase runs
Mechanism and rationale
Young chasers with few runs over fences are still improving their jumping and settling. At 3m4f+, efficient jumping saves energy that decides the finish. Their chase ratings and form lag their real ability at this trip.
The rule
race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs <= 6
Reads: race_type, is_handicap, age, distance_yards, prior_chase_runs
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 40a2ea57908195a87a8018e9746def73d75fd5b3c8d08bb5d0ca632290badb3b
- Frozen
- 16 Oct, 14:39
- Nothing in the definition can change after this.
- Confounders
- Field size and festival races: big-field Grade 3 marathon handicaps (Cheltenham, Aintree, Irish festivals) may carry the lift on their own; refinement 2 checks this
- Price-band concentration: in this family the up-to-7/1 band alone has carried three killed slices (1.33 to 1.68, with the rest of each slice at 0.89 to 0.95); refinement 3 checks the lift outside that band
- Overlap with the shadow subset of horses stepping up to 3m4f+ for the first time (H-98848406): unexposed chasers are often also first-time marathon runners, so the two effects are tangled
- Trainer concentration: a few yards that place young stayers well may provide most of the sample
- Left-censoring of run counts: prior_chase_runs only counts from about July/August 2020, so in the early window, horses with older chase form are wrongly counted as unexposed
- Overlap with the parent young-marathon rule (H175 / SYS live system): a positive reading may just come from the parent, which is why the more-than-6-runs control matters
- Control
Discovery result
pass broad rule (niche) · 16 Oct, 14:37
- Bets
- 75
- 11 winners
- A/E
- 1.24
- 95%: 0.62 to 2.21
- SP return
- +17.7%
- level stakes
- Betfair SP return
- +48.7%
- 75 bets with a BSP
Strike rate 14.7%. p = 0.28. Same-race control: the other runners in these races had A/E 0.93, 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. 2 of 6 survived.
- control: Control: young marathon handicap chasers with 7+ prior chase runsinfo
47 bets · A/E 0.89 (0.29 to 2.07) · control 1.04 · 16 Oct, 14:39
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27450.91after 2026-04-272–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - control: Control: older (8+) marathon handicap chasers with 6 or fewer chase runspass
56 bets · A/E 1.03 (0.33 to 2.40) · control 1.01 · 16 Oct, 14:39
Breakdown
Sealed holdout (vault)
- Bets
- 290
- 16 Oct, 14:39
- A/E
- 1.20
- p = 0.14
- BH threshold then
- 0.0023
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
290 bets · A/E 1.20 (0.87 to 1.61) · control 0.96 · 16 Oct, 14:39
Breakdown
betsA/E0.71.01.32020-221601.162023 to Sept 20251301.24
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}info
0 bets · · 16 Oct, 14:39
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: <= 7 -> 6 (-20%)pass
21 bets · A/E 1.64 (0.53 to 3.82) · control 0.83 · 16 Oct, 14:37
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-2721–after 2026-04-270–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 7 -> 8 (+20%)pass
111 bets · A/E 1.14 (0.62 to 1.91) · control 0.95 · 16 Oct, 14:37
Breakdown
bets
Lineage
Agent runs
designer v1ok · 46s · 16 Oct, 14:36
Output (schema-checked)
{ "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs <= 6", "refinements": [ { "label": "Dose-response: 3 or fewer prior chase runs", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs <= 3" }, { "label": "Outside big festival fields (12 or fewer runners)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs <= 6 AND field_size <= 12" }, { "label": "Not driven by the up-to-7/1 band (SP above 8.0)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs <= 6 AND sp_decimal > 8.0" } ], "control": { "description": "The main control is young marathon handicap chasers who have run over fences more often (7 or more prior chase runs). The mechanism says their chase record already shows their ability, so they should sit nearer par, and clearly below the test rule. The hypothesis says it is falsified if the test rule scores no higher than this group. The lab's standard same-race control (the other runners in the same races) is also measured. It should sit at or below 1.0. Earlier readings in this family put it at about 0.85, so a high same-race control would point to a race-level artefact rather than a runner effect.", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND prior_chase_runs > 6" }, "pass_criteria": { "min_bets": 200, "min_ae": 1.08, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Field size and festival races: big-field Grade 3 marathon handicaps (Cheltenham, Aintree, Irish festivals) may carry the lift on their own; refinement 2 checks this", "Price-band concentration: in this family the up-to-7/1 band alone has carried three killed slices (1.33 to 1.68, with the rest of each slice at 0.89 to 0.95); refinement 3 checks the lift outside that band", "Overlap with the shadow subset of horses stepping up to 3m4f+ for the first time (H-98848406): unexposed chasers are often also first-time marathon runners, so the two effects are tangled", "Trainer concentration: a few yards that place young stayers well may provide most of the sample", "Left-censoring of run counts: prior_chase_runs only counts from about July/August 2020, so in the early window, horses with older chase form are wrongly counted as unexposed", "Overlap with the parent young-marathon rule (H175 / SYS live system): a positive reading may just come from the parent, which is why the more-than-6-runs control matters" ], "mechanism": "Young chasers (7 or under) with 6 or fewer runs over fences are still improving their jumping and learning to settle. At 3m4f+ there are many more fences, so efficient jumping saves energy that decides the finish. That puts their real ability at this trip above what their short chase record and handicap mark show. The improvement is fence-specific: the matching handicap-hurdle test failed (0.945 on 772).", "market_miss": "Prices and handicap marks lean on a short chase record, mostly run at shorter trips. In those races, jumping errors from inexperience and a lack of stamina made the results look worse than the horse's ability. The market extrapolates from that exposed-looking form. It does not price how fast a novice-type chaser's jumping improves, or how much that improvement is worth over a marathon trip.", "prediction": { "direction": "positive", "size": "A/E 1.12 to 1.25 on 250+ bets", "falsified_if": "A/E at or below 1.0 on 200+ bets, or A/E no higher than the control group (young marathon handicap chasers with 7+ prior chase runs)" }, "notes": "I used prior_chase_runs (the catalogue defines it as 'before today') instead of chase_runs from the sketch. This avoids any doubt over whether today's run is counted, and the threshold is unchanged. Rows where prior_chase_runs is NULL drop out of the rule. The pass bar is stricter than the floor (200 bets, A/E 1.08), in line with the predicted 250+ bets and this family's history of thin positive slices failing later. Refinements are only read if the broad rule shows evidence. They test, in order: dose-response, field size, and whether the lift survives without the up-to-7/1 band." }
Timeline
Job 1824 finished
· engine:compute-1
forward result for H-aa66431f (forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1824 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1823 finished
· engine:compute-1
H-aa66431f Vault → SHADOW vault SUPPORTIVE: A/E 1.198 on 290 bets, p 0.1357 against BH threshold 0.002273 over 44 vault tests
· engine:orchestrator
vault result for H-aa66431f (vault query (supportive)): pass
· engine:orchestrator
H-aa66431f Frozen → FROZENvault vault query started
· engine:orchestrator
compute-1 took job 1823 (vault, attempt 1)
· compute-1
Job 1822 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler
H-aa66431f Falsification → FROZEN survived falsification
· engine:falsification
falsification result for H-aa66431f (price_band: Outside the up-to-7/1 band (SP above 8.0)): info
· engine:evaluator
compute-1 took job 1822 (attack, attempt 1)
· compute-1
Job 1821 finished
· engine:compute-1
falsification result for H-aa66431f (perturbation: Perturb distance: 3m1f+ (5600 yards) instead of 3m4f+): fail
· engine:evaluator
compute-1 took job 1821 (attack, attempt 1)
· compute-1
Job 1820 finished
· engine:compute-1
falsification result for H-aa66431f (perturbation: Perturb chase-run cut: 4 or fewer prior chase runs): info
· engine:evaluator