Hypotheses · story · H-ade7c9c9
Replicate: an unchanged mark after a 20+ length beating lifts close-form Flat handicappers
niche: thin but right way, A/E 1.276 on 247 bets (p 0.146), control 0.977
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
- replicate
- Created
- 17 Oct, 05:10
- 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-4013e103 (Rival: the undropped lift is raised marks (late win penalties), not ma) passed discovery: A/E 1.44 on 392 bets (p 0.007), same-race control 0.96. O-b5e09f2e
- AskedDoes the unchanged-mark rebound after a heavy beating hold in Flat handicaps, where the plain close-form rebound failed (1.021 on 2055)? testing
- MechanismIf the active ingredient is the handicapper declining to drop a horse with recent close form after a heavy beating, the same verdict should mean the same thing on the Flat. The plain close-form rebound failed on the Flat (1.021), so if this passes, the held mark is what does the work, not close form.
- Why the market misses itA Flat horse beaten 20+ lengths looks out of form on every form line. The unchanged mark is easy to miss, and bettors do not read it as the assessor's view that the run should be ignored.
- Predictedpositive, A/E 1.15 to 1.35 on 200+ bets (the neighbour arithmetic suggests about 1.28 on about 247, so this is a lead, not a blind test)
- Falsified ifA/E at or below 1.05, or the lift existing only at 16/1+, which would mean the held-mark effect is specific to jumps
- Rule sketch
is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths >= 20 AND best_last3_beaten <= 6 AND rating_change = 0
Mechanism and rationale
If the active ingredient is the handicapper declining to drop a horse with recent close form after a heavy beating, the same verdict should mean the same thing on the Flat. The plain close-form rebound failed on the Flat (1.021), so if this passes, the held mark is what does the work, not close form.
The rule
is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change = 0
Reads: is_handicap, race_type, last_beaten_lengths, best_last3_beaten, rating_change
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 8f95447da52e920d8a4d7ac24f7efe57dac8cb9a37c6fb1579bab87f9934ab75
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Not blind: neighbour arithmetic already suggested about 1.28 on about 247, so discovery is a lead and forward bets are the real test
- A Flat 20+ length beating is often a visible excuse (eased, trip not stayed, draw, ground), so a lift may reflect excuses bettors can see rather than the handicapper's verdict
- All-weather and turf may differ, and the jumps-season window means the Flat sample is mostly winter all-weather
- Short window: rating_change and best_last3_beaten exist only from 2025-11, about a year of data, so period effects are confounded (the jumps version weakened after April 2026)
- An unchanged mark may simply reflect the handicapper's reassessment cycle (no reassessment yet), not a deliberate verdict
- Lift concentrated at 16/1+ would be longshot noise, not the mechanism
- Control
{ "description": "Same-race other runners should show about 1.0, so any lift belongs to the selected horses, not to the races. Also, the same close-form Flat heavy-beating horses whose mark was dropped should show no lift (about 1.0, consistent with the failed plain Flat rebound at 1.021). That isolates the held mark as the ingredient.", "rule": "is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change < 0" }
Discovery result
pass broad rule (niche) · 17 Oct, 05:13
- Bets
- 247
- 23 winners
- A/E
- 1.28
- 95%: 0.81 to 1.92
- SP return
- -6.8%
- level stakes
- Betfair SP return
- +24.9%
- 245 bets with a BSP
Strike rate 9.3%. p = 0.15. 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
No attacks yet. Only promising ideas are attacked.
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: >= 20 -> 16 (-20%)pass
379 bets · A/E 1.10 (0.75 to 1.57) · control 0.99 · 17 Oct, 05:13
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27611.27after 2026-04-273181.08Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: >= 20 -> 24 (+20%)pass
175 bets · A/E 1.55 (0.94 to 2.43) · control 0.96 · 17 Oct, 05:13
Breakdown
Lineage
Agent runs
designer v1ok · 30s · 17 Oct, 05:10
Output (schema-checked)
{ "rule": "is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change = 0", "refinements": [ { "label": "14/1 or shorter", "rule": "is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change = 0 AND sp_decimal <= 15" }, { "label": "not eased last time (beating was a real run, not a visible excuse)", "rule": "is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change = 0 AND last_eased = 0" } ], "control": { "description": "Same-race other runners should show about 1.0, so any lift belongs to the selected horses, not to the races. Also, the same close-form Flat heavy-beating horses whose mark was dropped should show no lift (about 1.0, consistent with the failed plain Flat rebound at 1.021). That isolates the held mark as the ingredient.", "rule": "is_handicap = 1 AND race_type = 'Flat' AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths >= 20 AND best_last3_beaten IS NOT NULL AND best_last3_beaten <= 6 AND rating_change IS NOT NULL AND rating_change < 0" }, "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": [ "Not blind: neighbour arithmetic already suggested about 1.28 on about 247, so discovery is a lead and forward bets are the real test", "A Flat 20+ length beating is often a visible excuse (eased, trip not stayed, draw, ground), so a lift may reflect excuses bettors can see rather than the handicapper's verdict", "All-weather and turf may differ, and the jumps-season window means the Flat sample is mostly winter all-weather", "Short window: rating_change and best_last3_beaten exist only from 2025-11, about a year of data, so period effects are confounded (the jumps version weakened after April 2026)", "An unchanged mark may simply reflect the handicapper's reassessment cycle (no reassessment yet), not a deliberate verdict", "Lift concentrated at 16/1+ would be longshot noise, not the mechanism" ], "mechanism": "When a Flat handicapper with close recent form (beaten 6 lengths or less in one of its last three runs) is beaten 20+ lengths and the official handicapper leaves its mark unchanged, the assessor is effectively saying to ignore the run. If the held mark is the active ingredient, as the jumps evidence suggests (unchanged 1.444 against dropped 1.185 and raised 0.762), these horses should run closer to their close form than their price implies. The plain Flat close-form rebound failed (1.021), so a pass here would show the held mark doing the work.", "market_miss": "On every form line, a 20+ length Flat beating looks like a horse out of form, and the price drifts accordingly. An unchanged official rating is a non-event that bettors rarely check or read as the assessor discounting the run.", "prediction": { "direction": "positive", "size": "A/E 1.15 to 1.35 on about 200 to 250 bets", "falsified_if": "Broad rule A/E at or below 1.05, or the lift existing only at 16/1+ (14/1-or-shorter at or below 1.0), or the dropped-mark control matching or beating the unchanged-mark rule" }, "notes": "The sketch is kept, with NOT NULL guards added for the columns that only start in 2025-11. Pass criteria are slightly stricter (A/E 1.1) because the test is not blind. The non-eased refinement tests whether the effect survives once visible excuses are removed." }
Timeline
Job 3184 finished
· engine:compute-1
hypothesis note H-ade7c9c9
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: drop: race_type = 'Flat'): pass
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: drop: is_handicap = 1): pass
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: <= 6 -> 7 (+20%)): pass
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: <= 6 -> 5 (-20%)): pass
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: >= 20 -> 24 (+20%)): pass
· engine:perturb
perturbation result for H-ade7c9c9 (neighbour: >= 20 -> 16 (-20%)): pass
· engine:perturb
compute-1 took job 3184 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 3150 finished
· engine:compute-1
Queued falsify on the ai lane: passed discovery: try to kill it
· engine:scheduler
H-ade7c9c9 Discovery → PROMISING niche: thin but right way, A/E 1.276 on 247 bets (p 0.146), control 0.977
· engine:evaluator
refinement result for H-ade7c9c9 (control: Same-race other runners should show about 1.0, so any lift belongs to the selected horses, not to the races. Al): info
· engine:evaluator
refinement result for H-ade7c9c9 (refinement: not eased last time (beating was a real run, not a visible excuse)): info
· engine:evaluator