Hypotheses · seasonal · H-ee2c7a96
Exposed four-year-olds back from the winter in spring handicaps: is light racing the cause?
fails: 191 bets, needs 300; p 0.2734 (lower tail), needs 0.05
Part of the thread “H126: lightly raced four year old returns” 32 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 12:33
- 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-b05a33c3 (Lightly raced four-year-old returners on the all-weather: is the edge ) met the sealed vault supportive: A/E 1.1 on 698 bets (p 0.2014, threshold 0.0032). O-3b4db8ee
- H-b05a33c3 (Lightly raced four-year-old returners on the all-weather: is the edge ) passed discovery as a niche: A/E 1.18 on 140 bets (p 0.268), same-race control 0.97. O-a51c66ea
- AskedDoes the four-year-old returner lift depend on being lightly raced, or do exposed four-year-olds (more than 10 prior runs) back after 150+ days in spring handicaps score the same? testing
- MechanismIf the cause is unexposed improvement over the winter, horses that already have plenty of runs have little left to show and should be priced correctly. If they score just as well, the cause is a general spring-freshness mispricing for four-year-olds.
- Why the market misses itFor an exposed horse the form book is full and reliable. The market should price it well unless it applies a blanket discount to anything returning from a long break.
- Predictednegative, A/E 0.95 to 1.03 on 300+ bets (no edge), well below the lightly raced 1.10
- Falsified ifExposed four-year-old returners score A/E 1.08 or more on 300+ bets. That would mean 'lightly raced' is not the cause.
- Rule sketch
race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs > 10 AND days_since_last_run >= 150
Mechanism and rationale
If the cause is unexposed improvement over the winter, horses that already have plenty of runs have little left to show and should be priced correctly. If they score just as well, the cause is a general spring-freshness mispricing for four-year-olds.
The rule
race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs > 10 AND days_since_last_run >= 150
Reads: race_type, is_handicap, month, age, prior_runs, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- f019c11b88cb971422f5e780690318fafd87d515d596fafd0864aae5ed544fa0
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Thin sample: four-year-olds with more than 10 runs back from a 150+ day break are uncommon, so the A/E will be noisy. The 300-bet falsification threshold may not be reached.
- prior_runs counts only from July 2020. In spring 2021, four-year-olds' 2019 juvenile runs are missing, so some horses filed as lightly raced are really exposed. This mainly blurs the contrast in the earliest season.
- A horse with 10+ runs off for 150+ days in spring is more likely returning from injury or a setback than from a planned winter break. That could depress its A/E for reasons unrelated to exposure.
- Exposed horses are more likely to be on high marks or dropping in the weights after a long losing run. Mark trajectory differs between the groups, and the earlier rating_change split showed that matters.
- Exposed four-year-olds may have run all-weather campaigns through the previous year, so the surface and trainer mix differs from the lightly raced group.
- Large-price runners (16/1+) carried no wins in earlier returner samples, so a few long-shot wins could swing a thin sample either way.
Discovery result
fail broad rule · 16 Oct, 12:35
- Bets
- 191
- 11 winners
- A/E
- 0.80
- 95%: 0.40 to 1.42
- SP return
- -60.1%
- level stakes
- Betfair SP return
- -53.2%
- 191 bets with a BSP
Strike rate 5.8%. p = 0.81. 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 · 44s · 16 Oct, 12:33
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs > 10 AND days_since_last_run >= 150", "refinements": [ { "label": "Credible prices only (SP 14/1 or shorter)", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs > 10 AND days_since_last_run >= 150 AND sp_decimal <= 15" }, { "label": "Turf only, to mirror the strongest lightly raced survivor", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs > 10 AND days_since_last_run >= 150 AND surface = 'Turf'" } ], "control": { "description": "This is a rival-explanation test. The real comparison is the lightly raced twin (H126: the same rule with prior_runs <= 10, A/E 1.12 on 2958, about 1.10 in the vault). The control rule re-measures that twin over the same window so the two are judged side by side. The other runners in the same races should come out near A/E 1.00. If the exposed returners also sit near 1.00 while the lightly raced twin stays near 1.10, light racing is the cause. If both come out near 1.10, the effect is general spring freshness in four-year-olds, or a property of these races.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs <= 10 AND days_since_last_run >= 150" }, "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": [ "Thin sample: four-year-olds with more than 10 runs back from a 150+ day break are uncommon, so the A/E will be noisy. The 300-bet falsification threshold may not be reached.", "prior_runs counts only from July 2020. In spring 2021, four-year-olds' 2019 juvenile runs are missing, so some horses filed as lightly raced are really exposed. This mainly blurs the contrast in the earliest season.", "A horse with 10+ runs off for 150+ days in spring is more likely returning from injury or a setback than from a planned winter break. That could depress its A/E for reasons unrelated to exposure.", "Exposed horses are more likely to be on high marks or dropping in the weights after a long losing run. Mark trajectory differs between the groups, and the earlier rating_change split showed that matters.", "Exposed four-year-olds may have run all-weather campaigns through the previous year, so the surface and trainer mix differs from the lightly raced group.", "Large-price runners (16/1+) carried no wins in earlier returner samples, so a few long-shot wins could swing a thin sample either way." ], "mechanism": "The lightly raced four-year-old spring returners beat their prices (about 1.10 in the vault). There are two rival explanations. (a) Unexposed improvement: lightly raced horses mature over the winter and the handicapper and market lag behind. (b) Blanket freshness: the market discounts any four-year-old returning from a long break. Exposed horses (more than 10 prior runs) have well-established marks and little hidden progress left. Under (a) they should be priced correctly, near A/E 1.00. Under (b) they should show a similar lift of about 1.08 or more.", "market_miss": "For an exposed horse the form book is full and its rating well-calibrated, so an efficient market prices it correctly. Exposed returners would only beat their prices if punters and bookmakers apply a blanket 'needs the run' discount to every horse back from a long break, whatever its history. That is a heuristic error, not an information gap.", "prediction": { "direction": "negative", "size": "A/E about 0.95 to 1.03 (no edge, at or slightly below its prices), well below the lightly raced twin's about 1.10", "falsified_if": "Exposed four-year-old returners score A/E 1.08 or more on 300+ bets. That would mean light racing is not the cause and the edge is a general spring-freshness mispricing for four-year-olds." }, "notes": "This is a rival-explanation test, so the pre-registered outcome is the absence of an edge. The direction is set to negative as the hypothesis predicts. The pass criteria are kept at the lab floors in case the result goes the other way and a positive edge needs judging. Interpretation should rely mainly on the A/E gap against the control (the lightly raced twin) over the same window, not on the pass/fail result alone. If fewer than 300 bets are found, report the A/E with its confidence interval and treat the question as unresolved, not as confirmed." }
Timeline
Job 1375 finished
· engine:compute-1
H-ee2c7a96 Discovery → KILLED fails: 191 bets, needs 300; p 0.2734 (lower tail), needs 0.05
· engine:evaluator
discovery result for H-ee2c7a96 (broad rule): fail
· engine:evaluator
H-ee2c7a96 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1375 (evaluate, attempt 1)
· compute-1
Job 1373 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-ee2c7a96 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1373 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-ee2c7a96: Exposed four-year-olds back from the winter in spring handicaps: is light racing the cause? (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.