Hypotheses · seasonal · H-5998bc20
Lightly raced spring handicap returners that won last time, at age three or four
falsified: driven by one price band (up to 3/1): the rest score 0.90
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
- generalise
- Created
- 16 Oct, 13:17
- Tests logged
- 9
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-b2362b70 (Lightly raced three-year-old spring returners: is the mispricing only ) was predicted negative but came out the other way: A/E 1.03 on 640 bets (p 0.414 for the opposite direction). O-4c05b7fc
- H-2d115a58 (Early-spring four-year-old returners: the lift sits in March and April) met the sealed vault supportive: A/E 1.02 on 1548 bets (p 0.3968, threshold 0.0029). O-73ee471f
- AskedDoes the won-last-time returner effect (1.27 on 371 at age four) also appear in lightly raced three-year-old spring returners, whose overall group scored only 1.03 on 640? answered
- MechanismA horse that won its last run gets a mark rise. After 150+ days off, punters assume the rise plus the rust will beat it. But a lightly raced young winner is often still improving over the winter, so the rise understates its current ability. That logic does not depend on being exactly four.
- Why the market misses itThe form book shows a win followed by a hike and a long absence, which reads as 'handicapped out and needs the run'. The market cannot see how much the horse has developed over the winter.
- Predictedpositive, A/E 1.10 to 1.20 on 600+ bets, with the age-three part at 1.05 or more
- Falsified ifA/E below 1.03 on 600+ bets, or the age-three part below 1.00 on 250+ bets. That would tie the published system to age four only.
- Rule sketch
race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position = 1
The question's answer so far: Mostly no. Lightly raced three-year-old spring returners that won last time scored 1.05 on 110 (periods 1.27 then 0.52, RED), so the pooled 1.27 rested on the age-four part (1.51 on 75) and the up-to-3/1 band.
Mechanism and rationale
A horse that won its last run gets a mark rise. After 150+ days off, punters assume the rise plus the rust will beat it. But a lightly raced young winner is often still improving over the winter, so the rise understates its current ability. That logic does not depend on being exactly four.
The rule
race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position = 1
Reads: race_type, is_handicap, month, age, prior_runs, days_since_last_run, last_position
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 3705e83ddbb82ed7566c6acab3affec41043480add0aacca2325e1a70c1e79e4
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Overlap with the published age-four returner system: the age-four part may carry the pooled figure, so the age-three refinement must be read on its own
- Three-year-old handicap-debut effects: many three-year-old last-time winners won a maiden or novice race and are having their first handicap run off an initial mark. That is a different mispricing from a rise after a handicap win
- Irish samples are too small to read, and in this thread Ireland has run against GB before. Country splits are not used to sharpen
- Price-band instability across overlapping cuts: no price cap is pre-registered, and longshot-band readings are not used
- prior_runs only counts from July 2020, so early-period horses may be more exposed than the field shows
- The early-spring four-year-old cut did not replicate in the vault (1.29 to 1.02), so the four-year-old returner edge may be smaller than the discovery figures suggest
- Control
{ "description": "Two comparisons. (1) The other runners in the same races should be at or slightly below A/E 1.00 (around 0.95-1.00); if they also show a lift, the result is a property of these spring handicaps, not the horses. (2) The control rule takes the same lightly raced three- and four-year-old spring handicap returners who did NOT win last time. Earlier work put lightly raced three-year-old returners at 1.03 on 640 overall, so the non-winners are expected near 1.00. The hypothesis needs the won-last-time group to beat this control by a clear margin (about 0.10 A/E or more). If the control matches the main rule, the edge comes from the returner profile and not from the hidden improvement behind a mark rise.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position > 1" }
Discovery result
pass broad rule (niche) · 16 Oct, 13:22
- Bets
- 185
- 32 winners
- A/E
- 1.27
- 95%: 0.87 to 1.79
- SP return
- -19.5%
- level stakes
- Betfair SP return
- -10.2%
- 185 bets with a BSP
Strike rate 17.3%. p = 0.11. Same-race control: the other runners in these races had A/E 0.95, 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. 4 of 5 survived.
- partition: Age three only: the generalisation the hypothesis claimspass
110 bets · A/E 1.05 (0.57 to 1.76) · control 1.00 · 16 Oct, 13:23
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27691.27after 2026-04-27410.52Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - partition: Mark rise after a handicap win: the case the mechanism describespass
84 bets · A/E 1.50 (0.86 to 2.44) · control 0.92 · 16 Oct, 13:23
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 · 40s · 16 Oct, 13:17
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position = 1", "refinements": [ { "label": "age three only (the generalisation the question asks about)", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position = 1 AND age = 3" }, { "label": "age four only (overlap with the published system, to show how much of the pooled figure it carries)", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position = 1 AND age = 4" } ], "control": { "description": "Two comparisons. (1) The other runners in the same races should be at or slightly below A/E 1.00 (around 0.95-1.00); if they also show a lift, the result is a property of these spring handicaps, not the horses. (2) The control rule takes the same lightly raced three- and four-year-old spring handicap returners who did NOT win last time. Earlier work put lightly raced three-year-old returners at 1.03 on 640 overall, so the non-winners are expected near 1.00. The hypothesis needs the won-last-time group to beat this control by a clear margin (about 0.10 A/E or more). If the control matches the main rule, the edge comes from the returner profile and not from the hidden improvement behind a mark rise.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age IN (3, 4) AND prior_runs <= 10 AND days_since_last_run >= 150 AND last_position > 1" }, "pass_criteria": { "min_bets": 300, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1.03, "max_p": 0.2 }, "confounders": [ "Overlap with the published age-four returner system: the age-four part may carry the pooled figure, so the age-three refinement must be read on its own", "Three-year-old handicap-debut effects: many three-year-old last-time winners won a maiden or novice race and are having their first handicap run off an initial mark. That is a different mispricing from a rise after a handicap win", "Irish samples are too small to read, and in this thread Ireland has run against GB before. Country splits are not used to sharpen", "Price-band instability across overlapping cuts: no price cap is pre-registered, and longshot-band readings are not used", "prior_runs only counts from July 2020, so early-period horses may be more exposed than the field shows", "The early-spring four-year-old cut did not replicate in the vault (1.29 to 1.02), so the four-year-old returner edge may be smaller than the discovery figures suggest" ], "mechanism": "A horse that won its last run gets a mark rise. After 150+ days off, punters assume the rise plus the rust will beat it. A lightly raced (10 or fewer runs) three- or four-year-old is often still physically improving over the winter, so the rise understates its current ability when it returns in a March–May Flat handicap. The logic depends on youth and few runs, not on being exactly four.", "market_miss": "The form book shows a win, then a hike, then a long absence, which reads as 'handicapped out and needs the run'. Over the winter the market sees no evidence of the horse's development, so it prices the returner off the old form plus the new mark and underrates the improvement.", "prediction": { "direction": "positive", "size": "A/E 1.10 to 1.20 on 600+ bets, with the age-three part at 1.05 or more", "falsified_if": "A/E below 1.03 on 600+ bets, or the age-three part below 1.00 on 250+ bets (tying the effect to age four only). Also, if the non-winner control matches or beats the main rule, the won-last-time mechanism is unsupported." }, "notes": "The rule sketch is kept unchanged. All columns (race_type, is_handicap, month, age, prior_runs, days_since_last_run, last_position) are pre_off from 2020-07-01 in GB and IRE. last_position = 1 drops non-finishers (NULL). min_bets is raised to 300 because the prediction is stated on 600+ bets. The age splits are diagnostics for the question being asked, not added filters for selection." }
Timeline
Job 1598 finished
· engine:compute-1
H-5998bc20 Falsification → KILLED falsified: driven by one price band (up to 3/1): the rest score 0.90
· engine:falsification
falsification result for H-5998bc20 (price_band: Remove the 3/1-or-shorter band, which has 17 of the 32 wins): fail
· engine:evaluator
compute-1 took job 1598 (attack, attempt 1)
· compute-1
Job 1597 finished
· engine:compute-1
falsification result for H-5998bc20 (perturbation: Looser cuts: 12 or fewer runs, 125+ days off): pass
· engine:evaluator
compute-1 took job 1597 (attack, attempt 1)
· compute-1
Job 1596 finished
· engine:compute-1
falsification result for H-5998bc20 (perturbation: Tighter cuts: 8 or fewer runs, 180+ days off): pass
· engine:evaluator
compute-1 took job 1596 (attack, attempt 1)
· compute-1
Job 1595 finished
· engine:compute-1
falsification result for H-5998bc20 (partition: Mark rise after a handicap win: the case the mechanism describes): pass
· engine:evaluator
compute-1 took job 1595 (attack, attempt 1)
· compute-1
Job 1594 finished
· engine:compute-1
falsification result for H-5998bc20 (partition: Age three only: the generalisation the hypothesis claims): pass
· engine:evaluator
compute-1 took job 1594 (attack, attempt 1)
· compute-1
Job 1593 finished
· engine:ai-1
Queued attack on the compute lane: attack: Remove the 3/1-or-shorter band, which has 17 of the 32 wins
· engine:scheduler
Queued attack on the compute lane: attack: Looser cuts: 12 or fewer runs, 125+ days off
· engine:scheduler