Hypotheses · story · H-119fd2fb
Test-mechanism: the no-drop lift survives without recent winners (close but beaten, mark unchanged)
falsified: driven by one price band (up to 14/1): the rest score 0.96
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, 04:52
- Tests logged
- 11
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-2af132dc (Generalise: an unchanged mark after a heavy beating lifts close-form j) passed discovery: A/E 1.31 on 506 bets (p 0.026), same-race control 0.98. O-388a8a14
- H-2af132dc (Generalise: an unchanged mark after a heavy beating lifts close-form j) survived falsification: 4 of 5 attacks left it standing; it is frozen for its one vault query. O-74de1f0f
- H-6243bb06 (Test-mechanism: undropped recent winners after a heavy beating, given ) passed discovery: A/E 1.42 on 249 bets (p 0.034), same-race control 0.97. O-b3313152
- AskedHow many of H-2af132dc's 506 runners are also in H-6243bb06, H-807e3cb2 and H-b0d006d8, and does the close-form non-winner remainder keep a lift on its own? answered
- MechanismA handicapper who leaves a mark alone after a 20+ length beating judges the run to be unrepresentative. That judgement should apply to any horse with recent close form, not only to winners.
- Why the market misses itPunters and form readers see the big margin last time and mark the horse down. The handicapper's decision not to drop the mark, which says the run was a one-off, is not read as a positive.
- Predictedpositive, A/E 1.12 to 1.25 on 200+ bets
- Falsified ifA/E at or below 1.05, which would mean H-2af132dc rides on the recent-winner runners already in H-6243bb06
- Rule sketch
is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths >= 20 AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change >= 0
The question's answer so far: About 269 of H-2af132dc's 506 runners are recent winners. The close-form non-winner remainder scores 1.184 on 237, but only in the 8/1 to 14/1 band and at 0.98 in the later period, so it was killed and the generalisation rests on the winner part.
Mechanism and rationale
A handicapper who leaves a mark alone after a 20+ length beating judges the run to be unrepresentative. That judgement should apply to any horse with recent close form, not only to winners.
The rule
is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change >= 0Reads: is_handicap, race_type, last_beaten_lengths, best_last3_beaten, rating_change
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 4edae28111dd1721bf2b74a5f22cb732d8f6a5ada740ee01dd9f4da3c4ef5d1b
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Small sample: removing recent winners (best_last3_beaten = 0) from H-2af132dc's 506 should leave about 250 runners, and rating_change and best_last3_beaten exist only from 2025-11-01, so this is roughly one jumps season with possible seasonal or going effects
- Overlap: these runners are a subset of the frozen H-2af132dc and share horses with H-baef90d8 (never-involved big-field beatings). The result is a decomposition of the parent, not an independent confirmation
- GB/IRE handicapping practice differs. IRE carried the unchanged-mark rebounds before (1.55 vs GB 1.22 in the parent), so report each region and treat an IRE-only lift as weak
- Reassessment timing: quick returners may carry an unchanged mark only because the handicapper has not reassessed yet. The 14+ day refinement tests this
- Raised marks (rating_change > 0) after a 20L beating are rare and behaved badly among winners. The exactly-unchanged refinement separates them out
- Longshot band: earlier story lifts rested on a few 16/1+ winners. The 14/1-or-shorter refinement tests this
- Close form here may include placed runs in better company or non-handicaps, and a class drop today could do the work rather than the mark
Discovery result
pass broad rule (niche) · 17 Oct, 05:00
- Bets
- 237
- 25 winners
- A/E
- 1.18
- 95%: 0.77 to 1.75
- SP return
- -13.6%
- level stakes
- Betfair SP return
- +7.2%
- 237 bets with a BSP
Strike rate 10.5%. p = 0.23. Same-race control: the other runners in these races had A/E 1.00, 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.
- control: Control: same close-but-beaten heavy-beating group whose mark was droppedpass
652 bets · A/E 1.15 (0.89 to 1.46) · control 0.99 · 17 Oct, 05:01
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-273260.95after 2026-04-273261.39Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Perturb looser: beaten 16+ lengths, close form within 7.5 lengthspass
366 bets · A/E 1.03 (0.71 to 1.44) · control 1.01 · 17 Oct, 05:01
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 · 50s · 17 Oct, 04:52
Output (schema-checked)
{ "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change >= 0", "refinements": [ { "label": "mark exactly unchanged (the 'held as a one-off' verdict; raised marks after a 20L beating mean something else and scored 0.57 among winners)", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change = 0" }, { "label": "14/1 or shorter (story lifts have often rested on a few 16/1+ winners)", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change >= 0 AND sp_decimal <= 15" }, { "label": "14+ days since last run (handicapper has had time to reassess, so the unchanged mark is a verdict and not just a delay)", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change >= 0 AND days_since_last_run IS NOT NULL AND days_since_last_run >= 14" } ], "control": { "description": "(1) Other runners in the same races should be near par (about 0.95 to 1.0, as in the parent's 0.98). If they are lifted too, the effect belongs to the races. (2) The key control is the same group (close but beaten in the last three, beaten 20+ lengths last time) whose mark WAS dropped (rating_change < 0). The mechanism says the held mark is the signal, so the main rule must clearly beat this control (by 0.10 or more in A/E). In the parent, the dropped-mark version with winners included scored 1.19 on 1,032. If the non-winner dropped group matches or beats the main rule, the lift is just close form rebounding after a bad run and has nothing to do with the handicapper's verdict.", "rule": "is_handicap = 1 AND race_type IN ('Hurdle', 'Chase') AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten > 0 AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change < 0" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Small sample: removing recent winners (best_last3_beaten = 0) from H-2af132dc's 506 should leave about 250 runners, and rating_change and best_last3_beaten exist only from 2025-11-01, so this is roughly one jumps season with possible seasonal or going effects", "Overlap: these runners are a subset of the frozen H-2af132dc and share horses with H-baef90d8 (never-involved big-field beatings). The result is a decomposition of the parent, not an independent confirmation", "GB/IRE handicapping practice differs. IRE carried the unchanged-mark rebounds before (1.55 vs GB 1.22 in the parent), so report each region and treat an IRE-only lift as weak", "Reassessment timing: quick returners may carry an unchanged mark only because the handicapper has not reassessed yet. The 14+ day refinement tests this", "Raised marks (rating_change > 0) after a 20L beating are rare and behaved badly among winners. The exactly-unchanged refinement separates them out", "Longshot band: earlier story lifts rested on a few 16/1+ winners. The 14/1-or-shorter refinement tests this", "Close form here may include placed runs in better company or non-handicaps, and a class drop today could do the work rather than the mark" ], "mechanism": "If a jumps handicapper who has run within 6 lengths (but not won) in one of its last three runs is then beaten 20+ lengths and the official handicapper leaves the mark unchanged, the assessor has in effect written that run off as unrepresentative (wrong ground, error, race not run to suit). That verdict is about the bad run, not about having won recently. So it should apply to close-but-beaten horses as well as to the recent winners in H-6243bb06: the earlier close form stays the true guide, and the horse runs nearer that level than the last run suggests.", "market_miss": "Punters and form readers anchor on the latest big losing margin and push the price out. Without a recent win in the figures there is no eye-catching reason to forgive the run. The rating line, which shows the handicapper declined to drop the horse and so treated the beating as a one-off, is not read as a positive, so it does not reach the price.", "prediction": { "direction": "positive", "size": "A/E 1.12 to 1.25 on about 200 to 280 bets, at least 0.10 above the same rule with rating_change < 0", "falsified_if": "Broad-rule A/E at or below 1.05, which would mean H-2af132dc rides on the recent-winner runners already in H-6243bb06. Also falsified if it is no better than the dropped-mark (rating_change < 0) control, or if the lift exists only in IRE or only at 16/1+." }, "notes": "The sketch was sound and is kept. The only changes are explicit IS NOT NULL guards, to match the parent H-2af132dc so the two partition its runners cleanly. best_last3_beaten > 0 removes the recent winners, i.e. the H-6243bb06 population, and leaves the close-but-beaten complement. Every column is pre_off. rating_change and best_last3_beaten are available from 2025-11-01 in both regions. Pass criteria are left at the lab floor because the hypothesis's own falsification line is 1.05 and the sample is about half the parent's. The forward bar of A/E 1.05 matches the sibling rules in this thread." }
Timeline
Job 3110 finished
· engine:compute-1
H-119fd2fb Falsification → KILLED falsified: driven by one price band (up to 14/1): the rest score 0.96
· engine:falsification
falsification result for H-119fd2fb (partition: Partition: hurdles only): pass
· engine:evaluator
compute-1 took job 3110 (attack, attempt 1)
· compute-1
Job 3109 finished
· engine:compute-1
falsification result for H-119fd2fb (partition: Partition: exact unchanged mark after 14+ days (a real reassessment verdict)): pass
· engine:evaluator
compute-1 took job 3109 (attack, attempt 1)
· compute-1
Job 3108 finished
· engine:compute-1
falsification result for H-119fd2fb (price_band: Price band excluding 8/1 to 14/1: lift outside the one band carrying it): pass
· engine:evaluator
compute-1 took job 3108 (attack, attempt 1)
· compute-1
Job 3107 finished
· engine:compute-1
falsification result for H-119fd2fb (perturbation: Perturb tighter: beaten 25+ lengths, close form within 5 lengths): fail
· engine:evaluator
compute-1 took job 3107 (attack, attempt 1)
· compute-1
Job 3106 finished
· engine:compute-1
falsification result for H-119fd2fb (perturbation: Perturb looser: beaten 16+ lengths, close form within 7.5 lengths): pass
· engine:evaluator
compute-1 took job 3106 (attack, attempt 1)
· compute-1
Job 3105 finished
· engine:compute-1
falsification result for H-119fd2fb (control: Control: same close-but-beaten heavy-beating group whose mark was dropped): pass
· engine:evaluator
compute-1 took job 3105 (attack, attempt 1)
· compute-1