Hypotheses · story · H-21f9e6e7
Long-priced raised handicap winners turned out within 14 days are over-bet
fails: 255 bets, needs 300; p 0.0651 (lower tail), needs 0.05
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:32
- 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-6192e937 (Rival: lightly raced quick-returning handicap winners beat their price) was predicted positive but came out the other way: A/E 0.96 on 334 bets (p 0.392 for the opposite direction). O-3c4b3666
- H-dd3724ed (Test-mechanism: easy handicap winners raised 6 lb or more and back wit) passed discovery as a niche: A/E 1.47 on 131 bets (p 0.008), same-race control 0.85. O-46f43729
- H-d9dabea2 (Rival: big-rise quick-returning handicap winners beat their price with) passed discovery as a niche: A/E 1.13 on 318 bets (p 0.16), same-race control 0.97. O-9d61b9a6
- AskedIs the 0 winners from 17 at 16/1 or bigger in the raised easy-winner rule a structural cut, meaning the market correctly marks those runners as a class or trip step-up, or is it noise? testing
- MechanismA recent handicap winner, raised and back quickly, normally draws support. If it still drifts to 9.0 or bigger, informed money has seen something against it: out of its depth after the rise, wrong conditions, or a yard not expecting a repeat. That drift carries information the in-form label hides.
- Why the market misses itCasual punters back last-time winners on the '1' in the form figures, which props up prices that informed money has abandoned. The result is over-betting at the long end of this group, beyond the usual favourite-longshot bias.
- Predictednegative, A/E 0.60 to 0.80 on 250+ bets
- Falsified ifA/E at or above 0.88, roughly the level of all handicap runners at 9.0 or bigger. That would make the gap plain favourite-longshot bias, not something about these runners.
Mechanism and rationale
A recent handicap winner, raised and back quickly, normally draws support. If it still drifts to 9.0 or bigger, informed money has seen something against it: out of its depth after the rise, wrong conditions, or a yard not expecting a repeat. That drift carries information the in-form label hides.
The rule
last_position = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal IS NOT NULL AND sp_decimal > 9
Reads: last_position, days_since_last_run, is_handicap, last_is_handicap, rating_change, sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 920e39e6c74e47d9b56ee3e5a215b6602d31dd1e6dd9f1b8d60e4963cb24ac0d
- Frozen
- not frozen
- The definition can still change.
- Confounders
- General favourite-longshot bias: all handicap runners at 9.0 or bigger already lose relative to SP (about 0.88); the control rule measures this directly
- Big fields push prices out with no negative information (refinement 3 restricts to 12 or fewer runners)
- Class step-ups after the rise: a horse raised out of its grade also faces stronger rivals, which the price may already reflect
- SP is the price at the off; a lay or avoid rule in practice would need an early-price or BSP proxy, and the drift may only form late
- Overlap with the positive shadows (raised easy winners within 14 days), whose long-price tails were seen after the fact; the 0-from-32 at 16/1+ observation was part of what prompted this, so the broad rule partly re-uses the data that suggested it
- rating_change is only filled from November 2025, so the test window is short and seasonal (mostly winter jumps and all-weather)
- Thin winners: at prices above 9.0 a handful of winners moves A/E a lot, so the p-value matters more than the point estimate
- Control
Discovery result
fail broad rule · 16 Oct, 16:34
- Bets
- 255
- 8 winners
- A/E
- 0.57
- 95%: 0.25 to 1.13
- SP return
- -60.4%
- level stakes
- Betfair SP return
- -48.5%
- 251 bets with a BSP
Strike rate 3.1%. p = 0.97. Same-race control: the other runners in these races had A/E 1.03, so the selection did not 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 · 47s · 16 Oct, 16:32
Output (schema-checked)
{ "rule": "last_position = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal IS NOT NULL AND sp_decimal > 9", "refinements": [ { "label": "Big rise (6 lb or more): the out-of-its-depth case", "rule": "last_position = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 6 AND sp_decimal IS NOT NULL AND sp_decimal > 9" }, { "label": "Drifted against its winning SP: the market has turned against it", "rule": "last_position = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal IS NOT NULL AND sp_decimal > 9 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal" }, { "label": "Fields of 12 or fewer: long price not explained by field size", "rule": "last_position = 1 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal IS NOT NULL AND sp_decimal > 9 AND field_size IS NOT NULL AND field_size <= 12" } ], "control": { "description": "Two comparisons. (1) Same-race other runners: these handicaps are ordinary races, so the field as a whole should sit near its normal A/E (about 0.95 to 1.0), and well above the selections. (2) The favourite-longshot baseline: handicap runners at 9.0 or bigger in the same window (rating_change known, so same months) that did not win last time. This should score about 0.85 to 0.90. The hypothesis needs the selections to come in clearly below this baseline, by 0.08 or more. Matching it only shows the general longshot bias.", "rule": "is_handicap = 1 AND sp_decimal IS NOT NULL AND sp_decimal > 9 AND rating_change IS NOT NULL AND last_position IS NOT NULL AND last_position > 1" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "General favourite-longshot bias: all handicap runners at 9.0 or bigger already lose relative to SP (about 0.88); the control rule measures this directly", "Big fields push prices out with no negative information (refinement 3 restricts to 12 or fewer runners)", "Class step-ups after the rise: a horse raised out of its grade also faces stronger rivals, which the price may already reflect", "SP is the price at the off; a lay or avoid rule in practice would need an early-price or BSP proxy, and the drift may only form late", "Overlap with the positive shadows (raised easy winners within 14 days), whose long-price tails were seen after the fact; the 0-from-32 at 16/1+ observation was part of what prompted this, so the broad rule partly re-uses the data that suggested it", "rating_change is only filled from November 2025, so the test window is short and seasonal (mostly winter jumps and all-weather)", "Thin winners: at prices above 9.0 a handful of winners moves A/E a lot, so the p-value matters more than the point estimate" ], "mechanism": "A handicap winner that has been raised and is back within 14 days is a known in-form type that normally draws support. If it still goes off at 9.0 or bigger, the price is carrying negative information that the form figures hide: the rise has put it out of its depth, the conditions are wrong, or the yard is not expecting a repeat. So these horses should win less often than even a long price implies, and fall short of the general longshot rate.", "market_miss": "Casual money backs last-time winners on the '1' in the form figures. That holds up prices that informed money has dropped, so this group is over-bet at the long end, beyond the usual favourite-longshot bias. The selections should therefore under-perform other handicap longshots, not just their own prices.", "prediction": { "direction": "negative", "size": "A/E 0.60 to 0.80 on 150 to 300 bets, at least 0.08 below the handicap longshot control", "falsified_if": "A/E at or above 0.88, or less than 0.05 below the control rule (handicap runners at 9.0+ that did not win last time). Either would make the shortfall plain favourite-longshot bias, not something about these runners." }, "notes": "Changes from the sketch: added IS NOT NULL guards on days_since_last_run, rating_change and sp_decimal. rating_change is only available from November 2025, so the testable window is short. The direction is negative, so the pass floor (A/E 1.05) should be read in the predicted direction: the selections must under-perform, A/E at or below about 0.95 (1/1.05), with p at or below 0.05. The forward bar is likewise read as A/E at or below 1.0. The refinements follow the reasoning: a big rise (out of its depth), drifting against its last SP (the market turning against it), and small fields (ruling out field-size inflation of the price). The broad rule overlaps the observations that prompted it (O-46f43729 and others), so a discovery pass here needs the out-of-sample periods to agree." }
Timeline
Job 2027 finished
· engine:compute-1
H-21f9e6e7 Discovery → KILLED fails: 255 bets, needs 300; p 0.0651 (lower tail), needs 0.05
· engine:evaluator
discovery result for H-21f9e6e7 (broad rule): fail
· engine:evaluator
H-21f9e6e7 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2027 (evaluate, attempt 1)
· compute-1
Job 2025 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-21f9e6e7 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2025 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-21f9e6e7: Long-priced raised handicap winners turned out within 14 days are over-bet (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.