Hypotheses · age-stamina · H-8b0e3766
Rival: big-field festival marathon handicaps, not youth, produce the lift
falsified: driven by one price band (up to 7/1): the rest score 0.89; 2 of 3 attacks broke it; fewer than two periods with enough bets to compare (thin: the forward record will judge); IRE: too few bets to judge
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
- rival-explanation
- Created
- 16 Oct, 13:44
- Tests logged
- 15
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
- H175-young-horse-in-a-marathon-chase (H175: young horse in a marathon chase) was GREEN in the earlier research: A/E 1.16 on 618 bets (periods 1.17 / 1.21 / 1.05); now PROMISING. O-f49a1279
- AskedDo big-field festival marathon handicaps (Nationals and similar) produce the lift, rather than youth? testing
- MechanismIf youth is the cause, young horses should beat their prices in ordinary-sized marathon handicaps too. If the cause is the longshot pricing of big festival fields, the effect should disappear in small fields.
- Why the market misses itIn large, high-overround fields, young unexposed runners drift with the rest of the outsiders. In small fields that pricing distortion is weaker.
- Predictedpositive, A/E 1.08 to 1.20 on 200+ bets in fields of 13 or fewer
- Falsified ifA/E at or below 1.0 in fields of 13 or fewer, which would rule the rival in
- Rule sketch
race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND field_size <= 13 - question id
Mechanism and rationale
If youth is the cause, young horses should beat their prices in ordinary-sized marathon handicaps too. If the cause is the longshot pricing of big festival fields, the effect should disappear in small fields.
The rule
race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND field_size <= 13
Reads: race_type, is_handicap, age, distance_yards, field_size
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 3908574a8367859cf5bb44aefa03f187ff2ee195957bbbed43f43cfe1ab12fd8
- Frozen
- not frozen
- The definition can still change.
- Confounders
- race class: big-field marathons are mostly class 1-2 festival handicaps, while small fields are ordinary class 3-5 races, so field size and class are entangled
- course and meeting: Cheltenham, Aintree, Punchestown and Fairyhouse festival marathons fill the large-field group
- book_pct: overround rises with field size, which changes the A/E baseline per runner
- price band: small fields hold fewer 16/1+ runners, so any longshot-driven lift is removed mechanically
- season: earlier findings show early-spring windows driving lifts, and festivals cluster in March-April
- period decay: the parent edge fell to 1.05 in the latest period, so a weak small-field result may reflect decay and not the rival
- region: Irish marathon handicaps have different field-size profiles
- Control
{ "description": "Two comparisons. (1) Same-race comparison: the older (8+) runners in these same small-field marathon handicap chases should come out around A/E 0.95-1.0. If they also beat their prices, the lift belongs to the race type and not to youth. (2) Rival comparison group, given as the control rule: young horses in the same races but with 14 or more runners. The rival predicts the big-field group is clearly above 1.0 while the small-field rule is at or below 1.0. The youth mechanism predicts both groups are above 1.0, with the small-field group no more than about 0.08 A/E below the big-field one.", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND field_size >= 14" }
Discovery result
pass broad rule (niche) · 16 Oct, 13:46
- Bets
- 63
- 12 winners
- A/E
- 1.23
- 95%: 0.63 to 2.14
- SP return
- +2.2%
- level stakes
- Betfair SP return
- +12.6%
- 63 bets with a BSP
Strike rate 19.0%. p = 0.28. Same-race control: the other runners in these races had A/E 0.89, 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. 1 of 5 survived.
- control: Same-race control: older (8+) runners in small-field marathon handicap chasesfail
183 bets · A/E 0.90 (0.53 to 1.45) · control 1.23 · 16 Oct, 13:51
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271690.89after 2026-04-2714–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Field-size cut tightened to 11 or fewer runnerspass
55 bets · A/E 1.24 (0.62 to 2.21) · control 0.88 · 16 Oct, 13:51
Breakdown
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
No forward record. Shadow tracking starts after the vault and counts only races run after the freeze.
Other experiments
- neighbour: <= 7 -> 6 (-20%)pass
16 bets · A/E 1.11 (0.23 to 3.26) · control 0.97 · 16 Oct, 13:46
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-2716–after 2026-04-270–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 7 -> 8 (+20%)fail
118 bets · A/E 0.85 (0.47 to 1.43) · control 1.26 · 16 Oct, 13:46
Breakdown
bets
Lineage
Agent runs
designer v1ok · 53s · 16 Oct, 13:44
Output (schema-checked)
{ "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND last_distance_yards < 6160", "refinements": [ { "label": "no previous runs at the trip (closest to a true first try at 3m4f+)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND last_distance_yards < 6160 AND runs_at_trip = 0" }, { "label": "14/1 or shorter (edges in this lab tend to die or turn to noise at big prices)", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND last_distance_yards < 6160 AND sp_decimal <= 15" } ], "control": { "description": "The main control asks whether the step-up is what matters, so it uses young (age <= 7) handicap chasers in 3m4f+ chases whose last run was already at 3m4f+. If the mechanism holds, the step-up rule should beat this group clearly. If both show a similar A/E (around 1.15, like H175), the lift belongs to young horses in marathon chases in general and not to unproven stamina, and the hypothesis is falsified. The lab's standard same-race comparison (the other runners in these races) should show A/E near 1.0 or a little below. If those other runners also score well above 1.0, the lift is a property of the races (big-field festival marathon handicaps, the rival H-8b0e3766) and not of the selected horses.", "rule": "race_type = 'Chase' AND is_handicap = 1 AND age <= 7 AND distance_yards >= 6160 AND last_distance_yards >= 6160" }, "pass_criteria": { "min_bets": 200, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Field size: marathon handicaps often have big fields, which raises the win odds of every runner and can push A/E up at long prices for reasons unrelated to the horse", "Festival handicaps (Cheltenham, Aintree, Punchestown, the Irish and Welsh Nationals): a few big races can supply most of the winners, so the selection may be measuring a race type and not a step-up effect. The same-race control and per-race concentration need checking", "Weight carried: young, lightly raced handicappers may be low in the weights, so a low-weight effect could pass for a stamina effect", "Trainer concentration: a few yards that place young stayers well (Mullins, Elliott, Nicholls and similar) could carry the lift", "Period decay: H175 fell to 1.05 in its latest period, and other threads show lifts tied to one spring. Results must be read per season", "Price-band concentration: a lift from a handful of 16/1+ winners is the failure pattern seen elsewhere in the lab", "Last run in a different code (a hurdle or point-to-point) also passes last_distance_yards < 6160, so the step-up group mixes code-switchers with true chase trip step-ups" ], "mechanism": "Young chasers (7 or under) are often still improving physically and have more stamina than their runs at shorter trips have yet shown. When such a horse steps up to 3m4f or more in a handicap chase for the first time (its last run was shorter), the extra trip unlocks ability its form does not yet show. This lift should be larger than for young horses whose stamina for the trip has already been tested in public.", "market_miss": "Prices are set from a form book that shows only shorter-trip runs, often one-paced or beaten late. Those runs read as a lack of stamina at exactly the moment the longer trip suits the horse. Layers and punters also follow the belief that marathons need seasoned, proven stayers. So the young horse that is unproven at the trip is the runner they doubt most, and its price drifts beyond its true chance. Once the horse has run at 3m4f+, that proof is in the form and the mispricing should shrink.", "prediction": { "direction": "positive", "size": "A/E 1.15 to 1.30 on 250+ bets, clearly above the young runners whose last run was already at 3m4f+", "falsified_if": "A/E at or below 1.05 for the broad rule, or no higher than the control group of young runners whose last run was already at 3m4f+, or a lift that comes almost entirely from 16/1+ winners or from a single season" }, "notes": "I kept the rule sketch as written. It uses only pre-off columns (distance_yards and last_distance_yards are both available from 2020-07). last_distance_yards < 6160 means the last run was shorter, which is not the same as a first ever run at 3m4f+. The catalogue has no career-longest-trip column, so the runs_at_trip = 0 refinement is the nearest available version of 'first time at the trip'. Its exact definition (which trip band it counts) is not documented, so read it with care. Horses with no previous run have a NULL last_distance_yards and drop out of the rule. I raised min_bets to 200 because the prediction calls for 250+ bets. This hypothesis puts H175's reversed (positive) finding to a direct mechanism test, as the findings asked." }
Timeline
Job 1709 finished
· engine:compute-1
H-8b0e3766 Falsification → KILLED falsified: driven by one price band (up to 7/1): the rest score 0.89; 2 of 3 attacks broke it; fewer than two periods with enough bets to compare (thin: the forward record will judge); IRE: too few bets to judge
· engine:falsification
falsification result for H-8b0e3766 (price_band: Remove the 7/2-7/1 band that carries the lift): info
· engine:evaluator
compute-1 took job 1709 (attack, attempt 1)
· compute-1
Job 1708 finished
· engine:compute-1
falsification result for H-8b0e3766 (partition: Ordinary-class small-field races only (class 3 or lower)): info
· engine:evaluator
compute-1 took job 1708 (attack, attempt 1)
· compute-1
Job 1707 finished
· engine:compute-1
falsification result for H-8b0e3766 (perturbation: Age and distance cuts loosened: age 8 or under, 3m2f+): fail
· engine:evaluator
compute-1 took job 1707 (attack, attempt 1)
· compute-1
Job 1706 finished
· engine:compute-1
falsification result for H-8b0e3766 (perturbation: Field-size cut tightened to 11 or fewer runners): pass
· engine:evaluator
compute-1 took job 1706 (attack, attempt 1)
· compute-1
Job 1705 finished
· engine:compute-1
falsification result for H-8b0e3766 (control: Same-race control: older (8+) runners in small-field marathon handicap chases): fail
· engine:evaluator
compute-1 took job 1705 (attack, attempt 1)
· compute-1
Job 1682 finished
· engine:ai-1
Queued attack on the compute lane: attack: Remove the 7/2-7/1 band that carries the lift
· engine:scheduler
Queued attack on the compute lane: attack: Ordinary-class small-field races only (class 3 or lower)
· engine:scheduler