Hypotheses · story · H-ed1a0f17
Sharpen: raised easy handicap winners back within 7 days
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “H34: won easily last time” 18 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- sharpen
- Created
- 16 Oct, 16:23
- 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-528222df (Raised easy handicap winners turned out within 14 days beat their pric) passed discovery: A/E 1.33 on 231 bets (p 0.013), same-race control 0.91. O-991dc8ad
- H-a4582701 (Rival: any raised handicap winner turned out within 14 days beats its ) pointed the predicted way but failed the bar: A/E 1.03 on 1050 bets (p 0.323), control 0.99. O-ec0a35a0
- AskedIs the easy-winner handicap lift stronger at 7 days or fewer than at 8 to 14, as a form-peak cause would predict? answered
- MechanismAn easy winner is at a form peak that the margin undersold. The yard turns it out again before that peak fades and before the true merit shows in a bigger rise. The lift has gone by 15 to 35 days (1.013), so it should be steepest at the shortest gaps.
- Why the market misses itThe race card shows 'up x lb' and a modest winning margin. Punters treat the rise as having caught the horse, and they do not price how quickly it has come back.
- Predictedpositive, A/E 1.35 to 1.55 on 90+ bets
- Falsified ifA/E at or below the parent's 1.334, or below 1 in either period. That would mean the 8 to 14 day rows score as well or better, so there is no form-peak gradient.
- Rule sketch
Mechanism and rationale
An easy winner is at a form peak that the margin undersold. The yard turns it out again before that peak fades and before the true merit shows in a bigger rise. The lift has gone by 15 to 35 days (1.013), so it should be steepest at the shortest gaps.
The rule
last_position = 1 AND last_won_easily = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 7 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change > 0
Reads: last_position, last_won_easily, days_since_last_run, is_handicap, last_is_handicap, rating_change
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- e632d8265f96886f3f37d1942d09e7fc5b023001da5c33307458402c7c8fcfdd
- Frozen
- 16 Oct, 16:30
- Nothing in the definition can change after this.
- Confounders
- Penalty versus reassessment: runs within 7 days are often under a penalty before the handicapper reassesses, so rating_change can mix penalty-carrying runs with genuinely reassessed marks. The lift may belong to the penalty window, not to the gap length.
- Summer flat programme: quick turnouts cluster in summer flat handicaps (low-grade GB all-weather and turf), so the result can reflect season, code or class rather than form timing.
- Small sample: about 100 bets, below the 150-bet discovery floor. Data for last_won_easily and rating_change only starts in Nov 2025, so the window is short and the p-value will be weak.
- Yard intent: trainers who turn horses out within a week may simply be better at placing horses, which would be a trainer effect rather than a form-peak effect.
- Nested in the parent: these rows are a subset of H-528222df (1.334 on 231), so a high score is partly inherited and only the comparison with 8 to 14 days is new evidence.
- Control
{ "description": "Same-race control: the other runners in these races should score near the parent's control (about 0.90 to 0.95), showing the races themselves are not generous. The gradient test needs a second group: the same raised easy handicap winners back in 8 to 14 days. The mechanism predicts the 0 to 7 day group scores clearly higher than this group. If the 8 to 14 day group scores the same or better, there is no form-peak gradient, even if the broad rule passes.", "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run BETWEEN 8 AND 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change > 0" }
Discovery result
pass broad rule (niche) · 16 Oct, 16:26
- Bets
- 43
- 15 winners
- A/E
- 1.28
- 95%: 0.72 to 2.11
- SP return
- +9.6%
- level stakes
- Betfair SP return
- +19.7%
- 43 bets with a BSP
Strike rate 34.9%. p = 0.20. Same-race control: the other runners in these races had A/E 0.90, 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 6 survived.
- control: Gradient control: same raised easy handicap winners back in 8 to 14 dayspass
188 bets · A/E 1.35 (1.01 to 1.77) · control 0.91 · 16 Oct, 16:30
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27941.39after 2026-04-27941.31Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Perturb gap down: back within 5 daysinfo
6 bets · A/E 1.15 (0.14 to 4.15) · control 0.93 · 16 Oct, 16:30
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}info
0 bets · · 16 Oct, 16:30
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: <= 7 -> 6 (-20%)pass
14 bets · A/E 1.57 (0.63 to 3.23) · control 0.73 · 16 Oct, 16:26
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-278–after 2026-04-276–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 7 -> 8 (+20%)pass
61 bets · A/E 1.09 (0.64 to 1.75) · control 0.97 · 16 Oct, 16:26
Breakdown
bets
Lineage
Agent runs
designer v1ok · 37s · 16 Oct, 16:23
Output (schema-checked)
{ "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 7 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change > 0", "refinements": [ { "label": "14/1 or shorter", "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 7 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change > 0 AND sp_decimal IS NOT NULL AND sp_decimal <= 15" } ], "control": { "description": "Same-race control: the other runners in these races should score near the parent's control (about 0.90 to 0.95), showing the races themselves are not generous. The gradient test needs a second group: the same raised easy handicap winners back in 8 to 14 days. The mechanism predicts the 0 to 7 day group scores clearly higher than this group. If the 8 to 14 day group scores the same or better, there is no form-peak gradient, even if the broad rule passes.", "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run BETWEEN 8 AND 14 AND is_handicap = 1 AND last_is_handicap = 1 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": [ "Penalty versus reassessment: runs within 7 days are often under a penalty before the handicapper reassesses, so rating_change can mix penalty-carrying runs with genuinely reassessed marks. The lift may belong to the penalty window, not to the gap length.", "Summer flat programme: quick turnouts cluster in summer flat handicaps (low-grade GB all-weather and turf), so the result can reflect season, code or class rather than form timing.", "Small sample: about 100 bets, below the 150-bet discovery floor. Data for last_won_easily and rating_change only starts in Nov 2025, so the window is short and the p-value will be weak.", "Yard intent: trainers who turn horses out within a week may simply be better at placing horses, which would be a trainer effect rather than a form-peak effect.", "Nested in the parent: these rows are a subset of H-528222df (1.334 on 231), so a high score is partly inherited and only the comparison with 8 to 14 days is new evidence." ], "mechanism": "An easy winner is at a form peak that its winning margin undersold, because the jockey eased it before the line. The yard turns it out again quickly, before the peak fades and before the handicapper's full rise lands. The lift is gone by 15 to 35 days (1.013 on 636), so if the cause is a fading peak it should be steepest at the shortest gaps: 0 to 7 days above 8 to 14 days.", "market_miss": "The race card shows 'up x lb' and a modest winning margin. Punters take the rise or penalty as having caught the horse. They do not price how much the eased margin hid, or that a quick return catches the horse while still at its peak.", "prediction": { "direction": "positive", "size": "A/E 1.35 to 1.55 on roughly 90 to 120 bets, above the 8 to 14 day control group", "falsified_if": "A/E at or below the parent's 1.334, or below 1.0 in either period, or the 8 to 14 day control group scoring the same or higher. Any of these means there is no form-peak gradient." }, "notes": "I kept the rule sketch as written. Both columns it depends on are pre_off: rating_change and last_won_easily are each available from 2025-11-01. The expected sample (~100) is below the 150-bet floor. A result that is thin but points the right way goes on to falsification and forward tracking, not to a kill. The single refinement (14/1 or shorter) is there because of the repeated 0 winners at 16/1+ in the parent (0/17) and in the grandparent (0/24). The forward bar is set a little above the floor, at A/E 1.05, so that the live record has to show a real lift and not just break even." }
Timeline
Job 2015 finished
· engine:compute-1
forward result for H-ed1a0f17 (forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2015 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2012 finished
· engine:compute-1
H-ed1a0f17 Frozen → SHADOW vault skipped: last_won_easily, rating_change do not exist before the discovery zone; track it forward instead
· engine:orchestrator
compute-1 took job 2012 (vault, attempt 1)
· compute-1
Job 2011 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler
H-ed1a0f17 Falsification → FROZEN survived falsification
· engine:falsification
falsification result for H-ed1a0f17 (price_band: Partition: 14/1 or shorter, outside the shortest favourites): info
· engine:evaluator
compute-1 took job 2011 (attack, attempt 1)
· compute-1
Job 2010 finished
· engine:compute-1
falsification result for H-ed1a0f17 (partition: Partition: Flat handicaps only): info
· engine:evaluator
compute-1 took job 2010 (attack, attempt 1)
· compute-1
Job 2009 finished
· engine:compute-1
falsification result for H-ed1a0f17 (control: Ingredient control: raised non-easy handicap winners back within 7 days): pass
· engine:evaluator
compute-1 took job 2009 (attack, attempt 1)
· compute-1
Job 2008 finished
· engine:compute-1
falsification result for H-ed1a0f17 (perturbation: Perturb gap up: back within 9 days): pass
· engine:evaluator