Hypotheses · story · H-6192e937
Rival: lightly raced quick-returning handicap winners beat their price whatever the manner of the win
fails: A/E 0.963, needs 1.05; p 0.6495, needs 0.05 or lower; periods [0.96, 0.96], each needs 1.0; A/E 0.963 against same-race control 1.019, needs 0.03 above (not a niche pass: A/E 0.963 below 1.05; p 0.6495412964893417 above 0.5; does not beat the same-race control 1.019)
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
- rival-explanation
- Created
- 16 Oct, 16:27
- 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-ed1a0f17 (Sharpen: raised easy handicap winners back within 7 days) passed discovery as a niche: A/E 1.28 on 43 bets (p 0.204), same-race control 0.9. O-a6aa6dd2
- H-a81fea8a (Sharpen: easy handicap winners back within 14 days after a small rise ) pointed the predicted way but failed the bar: A/E 1.12 on 100 bets (p 0.329), control 0.97. O-b635b594
- AskedIs the raised easy-winner lift really lightly raced improvers, the horses that tend to win easily and get big rises? answered
- MechanismUnexposed horses improve from run to run, and they also tend to win easily and draw big rises. Their improvement, not the easy win, could be the cause.
- Why the market misses itThe handicap mark and the market both lean on a short record that lags how fast an unexposed horse is improving.
- Predictedpositive, A/E 1.08 to 1.15 on 400+ bets if the rival is true
- Falsified ifA/E at or below 1.03 on 400+ bets, which would leave the easy win, not inexperience, as the cause
- Rule sketch
last_position = 1 AND last_won_easily = 0 AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs <= 8
Mechanism and rationale
Unexposed horses improve from run to run, and they also tend to win easily and draw big rises. Their improvement, not the easy win, could be the cause.
The rule
last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs <= 8
Reads: last_position, last_won_easily, days_since_last_run, is_handicap, last_is_handicap, prior_runs
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- b68860b44fe13ef79b61ca17ec5ed92ddaa24110ff6f94a4fbdcd92832993b06
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Age: prior_runs only counts runs since July 2020, so older horses can look lightly raced; younger horses are both unexposed and naturally improving
- Race code: Flat 3yo handicaps (nurseries, early-season 3yo races) hold most unexposed improvers; jumps novices handicapping differ
- Trainer type: yards that place unexposed horses to win quickly in handicaps may drive the result
- Rating rise: lightly raced winners draw bigger rises, so the size of the rise interacts with improvement
- Overlap with the easy-win shadow: if the lift only shows near the easy-win boundary, the flag's coding may be blurred
- Period decay: the generic quick-return non-easy edge faded after 27 April 2026, so check both periods
- Control
{ "description": "Same-race other runners should come in around 0.90 to 0.95, as they did for the easy-winner parents (0.905). The comparison that matters is exposed horses: non-easy quick-return handicap winners with more than 8 prior runs. If inexperience is the cause, that group should sit near 1.00 (the non-easy raised-winner rival scored 1.03 on 1,050 and faded to 0.98), clearly below the lightly raced group.", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs > 8" }
Discovery result
fail broad rule · 16 Oct, 16:30
- Bets
- 334
- 82 winners
- A/E
- 0.96
- 95%: 0.77 to 1.20
- SP return
- -25.6%
- level stakes
- Betfair SP return
- -15.0%
- 332 bets with a BSP
Strike rate 24.6%. p = 0.65. Same-race control: the other runners in these races had A/E 1.02, 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 · 34s · 16 Oct, 16:29
Output (schema-checked)
{ "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs <= 8", "refinements": [ { "label": "Very lightly raced (5 or fewer prior runs)", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs <= 5" }, { "label": "Young horses only (age 4 or under), so prior_runs reflects true inexperience rather than the July 2020 data start", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs <= 8 AND age <= 4" }, { "label": "14/1 or shorter, because long-priced quick-return winners have not converted in this family", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs <= 8 AND sp_decimal <= 15" } ], "control": { "description": "Same-race other runners should come in around 0.90 to 0.95, as they did for the easy-winner parents (0.905). The comparison that matters is exposed horses: non-easy quick-return handicap winners with more than 8 prior runs. If inexperience is the cause, that group should sit near 1.00 (the non-easy raised-winner rival scored 1.03 on 1,050 and faded to 0.98), clearly below the lightly raced group.", "rule": "last_position = 1 AND last_won_easily = 0 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND is_handicap = 1 AND last_is_handicap = 1 AND prior_runs IS NOT NULL AND prior_runs > 8" }, "pass_criteria": { "min_bets": 200, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Age: prior_runs only counts runs since July 2020, so older horses can look lightly raced; younger horses are both unexposed and naturally improving", "Race code: Flat 3yo handicaps (nurseries, early-season 3yo races) hold most unexposed improvers; jumps novices handicapping differ", "Trainer type: yards that place unexposed horses to win quickly in handicaps may drive the result", "Rating rise: lightly raced winners draw bigger rises, so the size of the rise interacts with improvement", "Overlap with the easy-win shadow: if the lift only shows near the easy-win boundary, the flag's coding may be blurred", "Period decay: the generic quick-return non-easy edge faded after 27 April 2026, so check both periods" ], "mechanism": "Unexposed handicap winners (8 or fewer career runs) are still improving from run to run. Turned out within 14 days, they race off a mark that reflects form already behind them. If this improvement is what drives the easy-winner edge, it should show among lightly raced winners who did not win easily.", "market_miss": "Both the handicapper's rise and the market's price rest on a short record. That record lags the real rate of improvement in an unexposed horse, more so when it comes back quickly before the new form has been tested.", "prediction": { "direction": "positive", "size": "A/E 1.08 to 1.15 on 400+ bets if inexperience, not the easy win, carries the lift", "falsified_if": "A/E at or below 1.03 on 400+ bets, or no clear gap over the exposed control (prior_runs > 8). Either result leaves the easy-win flag, not inexperience, as the active ingredient." }, "notes": "I kept the rule sketch and only added explicit NULL guards. last_won_easily = 0 holds the manner of the win fixed against the easy-winner shadows, so this result directly tests whether the flag is a proxy for being unexposed. The bet count may come in under 400. A thin result that points the right way still goes on to falsification under the lab's rules. The age refinement deals with prior_runs being left-censored at July 2020." }
Timeline
Job 2005 finished
· engine:compute-1
H-6192e937 Discovery → KILLED fails: A/E 0.963, needs 1.05; p 0.6495, needs 0.05 or lower; periods [0.96, 0.96], each needs 1.0; A/E 0.963 against same-race control 1.019, needs 0.03 above (not a niche pass: A/E 0.963 below 1.05; p 0.6495412964893417 above 0.5; does not beat the same-race control 1.019)
· engine:evaluator
discovery result for H-6192e937 (broad rule): fail
· engine:evaluator
H-6192e937 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2005 (evaluate, attempt 1)
· compute-1
Job 2002 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-6192e937 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2002 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-6192e937: Rival: lightly raced quick-returning handicap winners beat their price whatever the manner of the win (rival-explanation)
· 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.