Hypotheses · letters · H-49fa55f7
Jumps fallers at 14/1 or shorter beat their price: the market over-penalises a visible fall
falsified: driven by one price band (up to 3/1): the rest score 0.92
Part of the thread “H98: brought down or unseated” 12 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 13:36
- Tests logged
- 16
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-9519a139 (Contrast: fell or unseated while NOT going well, at 14/1 or shorter, o) was predicted negative but came out the other way: A/E 1.13 on 367 bets (p 0.199 for the opposite direction). O-d93ddd07
- H-9f384f7c (Fell or unseated while going well: hidden form at normal prices) passed discovery but was falsified: period after 2026-04-27 A/E 0.96; IRE A/E 0.802; driven by one price band (up to 7/1): the rest score 0.97. O-ec1b9459
- AskedIs the 14/1-or-shorter lift among jumps fallers and unseaters carried by fallers (last_non_finish_code = 'F') rather than unseaters, given that capped BD/UR scored only 1.021? answered
- MechanismA fancied horse that fell usually walks away sound; a single fall seldom reflects a lasting jumping flaw in a horse good enough to be near the front of the market. Trainers run it back once they are satisfied with its schooling.
- Why the market misses itAn F in the form figures is the most damning letter on the card. Punters fear a loss of confidence and lay off it, so the price drifts beyond what its ability merits. The unseat letter carries less stigma, which fits capped BD/UR matching its price at 1.021.
- Predictedpositive, A/E 1.10 to 1.25 on 200+ bets
- Falsified ifA/E below 1.04, or no higher than the capped BD/UR rule's 1.021
- Rule sketch
last_non_finish_code = 'F' AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15
The question's answer so far: Not convincingly. Fallers at 14/1 or shorter scored 1.07 on 389 (CI 0.83 to 1.36, GB 1.00) against 1.021 for capped BD/UR. That gap is well inside the noise, so neither departure type clearly carries a short-price lift.
Mechanism and rationale
A fancied horse that fell usually walks away sound; a single fall seldom reflects a lasting jumping flaw in a horse good enough to be near the front of the market. Trainers run it back once they are satisfied with its schooling.
The rule
last_non_finish_code = 'F' AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01'Reads: last_non_finish_code, race_type, sp_decimal, race_date
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- e0c3beaeb8fd88e59aa22109eddab4752e9e8ab3c7bc578e060548b452820781
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Fallers may run in better-class races than unseaters, so a class effect could pass for a letter effect; check A/E by race_class
- Window mismatch: last_non_finish_code distinguishes F only from 2025-01-01 (every non-finisher was PU before), whereas last_fell_or_unseated and last_code use other windows; the rule is pinned to 2025-01-01 onward so all groups are compared on the same window
- A few short-priced winners in one period may carry the result; require both halves of the window to be above 1.0
- GB-only concentration, as in the going-well results (GB 1.27 vs IRE 0.80); a lift present only in GB with no mechanism for the split counts against the hypothesis
- The going-well flag overlaps the faller group; earlier findings show it adds nothing, so any lift should not depend on last_fell_going_well
- Chase against hurdle mix: chase fallers may differ from hurdle fallers in price and class
- Control
{ "description": "Same-race other runners should score about 0.98 to 1.00, showing the lift is not a property of the races fallers return in. The decisive comparison is the rival letter group: jumps BD/UR runners at 14/1 or shorter over the same window, expected near the previously measured 1.021. The hypothesis needs fallers clearly above both.", "rule": "last_non_finish_code IN ('BD', 'UR') AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01'" }
Discovery result
pass broad rule (niche) · 16 Oct, 13:40
- Bets
- 389
- 66 winners
- A/E
- 1.07
- 95%: 0.83 to 1.36
- SP return
- -24.4%
- level stakes
- Betfair SP return
- -10.2%
- 389 bets with a BSP
Strike rate 17.0%. p = 0.30. Same-race control: the other runners in these races had A/E 0.99, 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. 5 of 6 survived.
- perturbation: Price cap tightened to 11/1 (sp <= 12)pass
332 bets · A/E 1.11 (0.86 to 1.42) · control 0.98 · 16 Oct, 13:46
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272221.08after 2026-04-271101.19Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - price_band: Fallers outside the short band: 4.0 < sp <= 15fail
309 bets · A/E 0.95 (0.65 to 1.34) · control 1.02 · 16 Oct, 13:46
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: <= 15 -> 12 (-20%)pass
332 bets · A/E 1.11 (0.86 to 1.42) · control 0.98 · 16 Oct, 13:46
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272221.08after 2026-04-271101.19Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 15 -> 18 (+20%)pass
414 bets · A/E 1.07 (0.83 to 1.36) · control 0.99 · 16 Oct, 13:46
Breakdown
Lineage
Agent runs
designer v1ok · 37s · 16 Oct, 13:36
Output (schema-checked)
{ "rule": "last_non_finish_code = 'F' AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01'", "refinements": [ { "label": "fancied: top three in the betting", "rule": "last_non_finish_code = 'F' AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01' AND sp_rank <= 3" }, { "label": "back within 60 days (walked away sound)", "rule": "last_non_finish_code = 'F' AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01' AND days_since_last_run <= 60" } ], "control": { "description": "Same-race other runners should score about 0.98 to 1.00, showing the lift is not a property of the races fallers return in. The decisive comparison is the rival letter group: jumps BD/UR runners at 14/1 or shorter over the same window, expected near the previously measured 1.021. The hypothesis needs fallers clearly above both.", "rule": "last_non_finish_code IN ('BD', 'UR') AND race_type IN ('Hurdle', 'Chase') AND sp_decimal <= 15 AND race_date >= '2025-01-01'" }, "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": [ "Fallers may run in better-class races than unseaters, so a class effect could pass for a letter effect; check A/E by race_class", "Window mismatch: last_non_finish_code distinguishes F only from 2025-01-01 (every non-finisher was PU before), whereas last_fell_or_unseated and last_code use other windows; the rule is pinned to 2025-01-01 onward so all groups are compared on the same window", "A few short-priced winners in one period may carry the result; require both halves of the window to be above 1.0", "GB-only concentration, as in the going-well results (GB 1.27 vs IRE 0.80); a lift present only in GB with no mechanism for the split counts against the hypothesis", "The going-well flag overlaps the faller group; earlier findings show it adds nothing, so any lift should not depend on last_fell_going_well", "Chase against hurdle mix: chase fallers may differ from hurdle fallers in price and class" ], "mechanism": "A fancied jumps horse that fell last time usually walks away sound. In a horse good enough to be 14/1 or shorter, a single fall seldom reflects a lasting jumping flaw, and trainers run it back once satisfied with its schooling. Its underlying ability is intact and its next-run win rate should match its pre-fall standing.", "market_miss": "An 'F' is the most damning letter in the form figures. Punters fear a loss of confidence and lay off the horse, so its price drifts beyond what its ability merits. 'UR' and 'BD' carry less stigma (they are blamed on the rider or on bad luck), which fits capped BD/UR matching its price at 1.021. The over-penalty should therefore be specific to fallers.", "prediction": { "direction": "positive", "size": "A/E 1.10 to 1.25 on roughly 250-350 bets", "falsified_if": "A/E below 1.04, or fallers no higher than the same-window capped BD/UR control (about 1.02), or the lift is confined to one period or to GB alone" }, "notes": "Kept the draft rule and added race_date >= '2025-01-01', because before 2025 last_non_finish_code records every non-finisher as PU. The date makes the window explicit and puts the BD/UR control on the same window. Raised min_bets to 200 to match the prediction. The refinements come from the mechanism's 'fancied' and 'walked away sound' claims; there is no going-well refinement, because findings show that flag adds nothing." }
Timeline
Job 1660 finished
· engine:compute-1
hypothesis note H-49fa55f7
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: drop: race_date >= '2025-01-01'): pass
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: drop: sp_decimal <= 15): pass
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: drop: race_type IN ('Hurdle', 'Chase')): pass
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: drop: last_non_finish_code = 'F'): pass
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-49fa55f7 (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
compute-1 took job 1660 (mutate, attempt 1)
· compute-1
Job 1668 finished
· engine:compute-1
H-49fa55f7 Falsification → KILLED falsified: driven by one price band (up to 3/1): the rest score 0.92
· engine:falsification
falsification result for H-49fa55f7 (partition: Fallers not flagged going well): pass
· engine:evaluator
compute-1 took job 1668 (attack, attempt 1)
· compute-1
Job 1667 finished
· engine:compute-1
falsification result for H-49fa55f7 (partition: Handicaps only): pass
· engine:evaluator
compute-1 took job 1667 (attack, attempt 1)
· compute-1