Hypotheses · story · H-9ccf4a8d
Test-mechanism: big-field beatings where the horse still finished in the top half
falsified: 2 of 5 attacks broke it
Part of the thread “H36: pulled up after being held up” 60 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- test-mechanism
- Created
- 17 Oct, 03:26
- Tests logged
- 10
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-23b2b028 (Sharpen: heavily beaten held-up handicappers, nothing taken out of the) pointed the predicted way but failed the bar: A/E 1.06 on 4329 bets (p 0.14), control 1.0. O-627a99c1
- H-d97a030e (Rival: big-field beatings, not the heavy beating itself, carry the lif) passed discovery: A/E 1.19 on 2097 bets (p 0.022), same-race control 0.98. O-93b1b6e2
- AskedIs the broad heavy-beating lift carried by runners at 16/1 or bigger (1.174 on 3156), against the family pattern that longshots sit at or below par? testing
- MechanismIn big, strung-out jumps handicaps the margins pile up all the way down the field. A horse finishing in the top half can still be beaten 20 lengths without having run badly, so its margin overstates how much it was inferior.
- Why the market misses itForm readers and price compilers lean on beaten lengths. A top-half finish beaten 20 lengths reads as a bad run when it was a fair one in a strung-out race.
- Predictedpositive, A/E 1.20 to 1.35 on 400+ bets, at or above the big-field parent's 1.187
- Falsified ifA/E below 1.10, or no higher than big-field heavily beaten runners that finished in the bottom half (last_position * 2 > last_field_size)
- Rule sketch
is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 <= last_field_size
Mechanism and rationale
In big, strung-out jumps handicaps the margins pile up all the way down the field. A horse finishing in the top half can still be beaten 20 lengths without having run badly, so its margin overstates how much it was inferior.
The rule
is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 <= last_field_sizeReads: is_handicap, race_type, last_beaten_lengths, last_field_size, last_position
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 959584b9b1b2eb62dfb721f4578e2b73ae7b0ff2f56c7bf3b3714202d673a958
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Testing ground at the last run stretching every margin (check last_going_group split)
- Race class of the last run (big fields in higher-class handicaps are deeper)
- Region mix (GB carries more 14+ runner jumps handicaps than IRE; the lift must show in both)
- Price band shift: top-half finishers are shorter in the betting, and the big-field lift sits under 16/1, so compare within price bands
- Hurdle vs chase mix (chase margins grow with jumping errors and fatigue)
- Control
{ "description": "Same-race other runners should be near par (about 0.99, as in the parent's control), showing the lift is not a property of the races. The mechanism-specific comparison is big-field heavily beaten runners that finished in the bottom half: the mechanism predicts the top-half group beats them clearly. If the bottom-half group scores the same or higher, the lift is about big-field heavy beatings in general, not misleading margins for respectable finishes.", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 > last_field_size" }- Designer
designer@v1
- Direction
positive
Discovery result
pass broad rule · 17 Oct, 03:30
- Bets
- 642
- 64 winners
- A/E
- 1.29
- 95%: 0.99 to 1.64
- SP return
- -19.3%
- level stakes
- Betfair SP return
- +5.7%
- 642 bets with a BSP
Strike rate 10.0%. p = 0.030. Same-race control: the other runners in these races had A/E 0.98, 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. 3 of 5 survived.
- perturbation: Perturb looser: beaten 16+ lengths, last field 12+pass
1,254 bets · A/E 1.20 (1.00 to 1.43) · control 0.98 · 17 Oct, 03:30
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-277121.15after 2026-04-275421.30Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Perturb tighter: beaten 24+ lengths, last field 16+pass
291 bets · A/E 1.41 (0.95 to 2.01) · control 0.98 · 17 Oct, 03:30
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.
Lineage
Agent runs
designer v1ok · 22s · 17 Oct, 03:27
Output (schema-checked)
{ "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 <= last_field_size", "refinements": [ { "label": "14/1 or shorter", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 <= last_field_size AND sp_decimal <= 15" }, { "label": "Top third finish (stronger form of the mechanism)", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 3 <= last_field_size" }, { "label": "Last run also a handicap (same strung-out race shape)", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 <= last_field_size AND last_is_handicap = 1" } ], "control": { "description": "Same-race other runners should be near par (about 0.99, as in the parent's control), showing the lift is not a property of the races. The mechanism-specific comparison is big-field heavily beaten runners that finished in the bottom half: the mechanism predicts the top-half group beats them clearly. If the bottom-half group scores the same or higher, the lift is about big-field heavy beatings in general, not misleading margins for respectable finishes.", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND last_field_size >= 14 AND last_position IS NOT NULL AND last_position * 2 > last_field_size" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Testing ground at the last run stretching every margin (check last_going_group split)", "Race class of the last run (big fields in higher-class handicaps are deeper)", "Region mix (GB carries more 14+ runner jumps handicaps than IRE; the lift must show in both)", "Price band shift: top-half finishers are shorter in the betting, and the big-field lift sits under 16/1, so compare within price bands", "Hurdle vs chase mix (chase margins grow with jumping errors and fatigue)" ], "mechanism": "In big, strung-out jumps handicaps (14+ runners) the margins pile up all the way down the field. A horse that finishes in the top half can still be beaten 20 lengths or more without having run badly. Its margin overstates how inferior it was, and it may still be well handicapped next time.", "market_miss": "Form readers and price compilers lean on raw beaten lengths. A top-half finish beaten 20+ lengths in a big field reads as a bad run when it was a fair one in a strung-out race, so the horse goes off at a bigger price than its form deserves.", "prediction": { "direction": "positive", "size": "A/E 1.20 to 1.35 on 400+ bets, at or above the big-field parent's 1.187", "falsified_if": "A/E below 1.10, or no higher than the bottom-half control (big-field runners beaten 20+ lengths with last_position * 2 > last_field_size)" }, "notes": "The rule sketch is kept as written: every column is pre-off (last_* columns describe the previous run), the rule does not read today's result, and the top-half condition is the mechanism itself. Non-finishers are excluded by last_position IS NOT NULL. The 14/1 refinement follows the finding that the big-field lift sits under 16/1. Pass A/E is tightened to 1.10 to match the falsification line." }
Timeline
Job 2698 finished
· engine:compute-1
H-9ccf4a8d Falsification → KILLED falsified: 2 of 5 attacks broke it
· engine:falsification
falsification result for H-9ccf4a8d (partition: Partition: hurdles only (strung out without jumping errors)): pass
· engine:evaluator
compute-1 took job 2698 (attack, attempt 1)
· compute-1
Job 2697 finished
· engine:compute-1
falsification result for H-9ccf4a8d (control: Control: big-field top-half finishers beaten under 20 lengths): fail
· engine:evaluator
compute-1 took job 2697 (attack, attempt 1)
· compute-1
Job 2696 finished
· engine:compute-1
falsification result for H-9ccf4a8d (control: Control: top-half finish beaten 20+ lengths in small fields (8-13)): fail
· engine:evaluator
compute-1 took job 2696 (attack, attempt 1)
· compute-1
Job 2695 finished
· engine:compute-1
falsification result for H-9ccf4a8d (perturbation: Perturb tighter: beaten 24+ lengths, last field 16+): pass
· engine:evaluator
compute-1 took job 2695 (attack, attempt 1)
· compute-1
Job 2694 finished
· engine:compute-1
falsification result for H-9ccf4a8d (perturbation: Perturb looser: beaten 16+ lengths, last field 12+): pass
· engine:evaluator
compute-1 took job 2694 (attack, attempt 1)
· compute-1
Job 2693 finished
· engine:ai-1
Queued attack on the compute lane: attack: Partition: hurdles only (strung out without jumping errors)
· engine:scheduler
Queued attack on the compute lane: attack: Control: big-field top-half finishers beaten under 20 lengths
· engine:scheduler