Hypotheses · story · H-4fd59906
Test-mechanism: easy handicap winners still beat the price after reassessment (15-35 days)
fails: A/E 1.013, needs 1.05; p 0.4521, needs 0.05 or lower; periods [1.14, 0.88], each needs 1.0; A/E 1.013 against same-race control 1.002, needs 0.03 above (not a niche pass: A/E 1.013 below 1.05; does not beat the same-race control 1.002; a period points the other way [1.14, 0.88])
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
- test-mechanism
- Created
- 16 Oct, 16:17
- Tests logged
- 1
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-5c714267 (Test-mechanism: easy-winner quick-return lift lives in handicap-to-han) passed discovery: A/E 1.19 on 478 bets (p 0.019), same-race control 0.92. O-dd247331
- AskedDoes the easy-winner handicap lift last past the first reassessment (back in 15 to 35 days), or is it confined to runs before the handicapper has reacted? answered
- MechanismIf the handicapper raises the mark only by the winning margin, an easy winner stays under-rated after reassessment too, so the lift should carry into runs at 15 to 35 days.
- Why the market misses itPunters read the new mark and the bare margin, and both understate a horse that was eased or won on a tight rein.
- Predictedpositive, A/E 1.08 to 1.15 on 400+ bets
- Falsified ifA/E at or below 1.02, or below 1 in either period. That would put the lift in quick-return timing, not in mark lag.
- Rule sketch
last_position = 1 AND last_won_easily = 1 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1 - question id
Mechanism and rationale
If the handicapper raises the mark only by the winning margin, an easy winner stays under-rated after reassessment too, so the lift should carry into runs at 15 to 35 days.
The rule
last_position = 1 AND last_won_easily = 1 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1
Reads: last_position, last_won_easily, days_since_last_run, is_handicap, last_is_handicap
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 29b0e0aa8fc14b4b73194a7fed8ec705b6679e48143a5ebd71eaed6ef576ba39
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Seasonal breaks in jumps campaigns put a different kind of horse into the 15-35 day window
- Trainers who wait out the reassessment differ from those who turn horses out quickly before the new mark applies
- The flat/jumps mix changes with gap length (flat handicappers return sooner)
- Price level: the parent's lift sat at short prices and 16/1+ went 0 from 24, so a different price mix in this window could hide or fake an effect
- Class rises after a win: a horse moving up a class after reassessment faces stronger rivals
- Control
{ "description": "Same-race other runners should sit near 0.92-1.0, as they did for the 14-day parent (control 0.92). The key comparison is last-time handicap winners that did NOT win easily, returning at 15-35 days into a handicap: if mark lag from an understated margin is the mechanism, these should be near 1.0 and clearly below the easy-winner rule. If they show the same lift, the effect is about recent handicap winners in general, not the easy-win label.", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1" }- Designer
designer@v1
- Direction
positive
Discovery result
fail broad rule · 16 Oct, 16:19
- Bets
- 636
- 126 winners
- A/E
- 1.01
- 95%: 0.84 to 1.21
- SP return
- -11.4%
- level stakes
- Betfair SP return
- +2.9%
- 635 bets with a BSP
Strike rate 19.8%. p = 0.45. 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
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.
Lineage
Agent runs
designer v1ok · 33s · 16 Oct, 16:17
Output (schema-checked)
{ "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1", "refinements": [ { "label": "shorter than 16/1", "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1 AND sp_decimal < 17" }, { "label": "flat only (cleaner reassessment cycle, removes jumps seasonal mix)", "rule": "last_position = 1 AND last_won_easily = 1 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1 AND race_type = 'Flat'" } ], "control": { "description": "Same-race other runners should sit near 0.92-1.0, as they did for the 14-day parent (control 0.92). The key comparison is last-time handicap winners that did NOT win easily, returning at 15-35 days into a handicap: if mark lag from an understated margin is the mechanism, these should be near 1.0 and clearly below the easy-winner rule. If they show the same lift, the effect is about recent handicap winners in general, not the easy-win label.", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run BETWEEN 15 AND 35 AND is_handicap = 1 AND last_is_handicap = 1" }, "pass_criteria": { "min_bets": 250, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Seasonal breaks in jumps campaigns put a different kind of horse into the 15-35 day window", "Trainers who wait out the reassessment differ from those who turn horses out quickly before the new mark applies", "The flat/jumps mix changes with gap length (flat handicappers return sooner)", "Price level: the parent's lift sat at short prices and 16/1+ went 0 from 24, so a different price mix in this window could hide or fake an effect", "Class rises after a win: a horse moving up a class after reassessment faces stronger rivals" ], "mechanism": "The handicapper reassesses mainly off the winning margin. A horse that was eased or won on a tight rein had more in hand than the margin shows, so its new mark still under-rates it. If so, the edge should survive the reassessment and show at 15-35 days, once the new mark applies, and not only in quick returns under the old mark (≤14 days, A/E 1.19 on 478).", "market_miss": "Punters price off the new official mark and the bare winning margin. Both understate a horse that won with plenty in hand. Once the rise is published, the market treats the horse as fairly handicapped.", "prediction": { "direction": "positive", "size": "A/E 1.08 to 1.15 on 400+ bets", "falsified_if": "A/E at or below 1.02, or below 1.0 in either period, or no better than the non-easy last-time-winner control. Any of these would put the parent lift in quick-return timing before reassessment, not in mark lag." }, "notes": "The rule is kept exactly as sketched. It uses only pre-off columns and mirrors the parent H-5c714267 with the day window moved from ≤14 to 15-35, so the comparison stays clean. min_bets is raised to 250 because the prediction expects 400+ bets. The refinements are taken from the findings: the lift sat at shorter prices and 16/1+ did nothing, and jumps seasonality is a named confounder. The broad rule is judged first." }
Timeline
Job 1967 finished
· engine:compute-1
H-4fd59906 Discovery → KILLED fails: A/E 1.013, needs 1.05; p 0.4521, needs 0.05 or lower; periods [1.14, 0.88], each needs 1.0; A/E 1.013 against same-race control 1.002, needs 0.03 above (not a niche pass: A/E 1.013 below 1.05; does not beat the same-race control 1.002; a period points the other way [1.14, 0.88])
· engine:evaluator
discovery result for H-4fd59906 (broad rule): fail
· engine:evaluator
H-4fd59906 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1967 (evaluate, attempt 1)
· compute-1
Job 1965 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-4fd59906 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1965 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-4fd59906: Test-mechanism: easy handicap winners still beat the price after reassessment (15-35 days) (test-mechanism)
· agent:investigator@v1
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Killed.