Hypotheses · seasonal · SYS-four-year-old-returns-after-a-win
System: Lightly raced four-year-old back after a winter off
published system (live from 2026-10-13); from H126-lightly-raced-four-year-old-returns [won last time out]
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
- Imported from the published systems
- Made by
- import
- Created
- 15 Oct, 23:10
- Tests logged
- 0
Mechanism and rationale
A horse that won its last start at three and has had the winter to strengthen. Lightly raced four-year-olds are still improving, and a handicap mark set on three-year-old form can lag behind.
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 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)
- not designed yet
- Frozen
- not frozen
- The definition can still change.
- Backing
bookmaker
- Kind
system
- Live from
2026-10-13
- Matched
{ "hypothesis_id": "H126-lightly-raced-four-year-old-returns", "similarity": 1, "variant": "won last time out" }- Published
true
- Rules
- The race is a Flat handicap in March, April or May.
- The horse is four years old and has run ten times or fewer.
- It won its last race, and has not run for 150 days or more.
- Source
Seasonal returners, October 2026
- System id
four-year-old-returns-after-a-win
- Tier
none
- Where
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 last_position = 1
Discovery result
Not measured yet.
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
investigator v1ok · 45s · 16 Oct, 12:08
Output (schema-checked)
{ "answers": [], "questions": [ { "question": "Is the H126 lift caused by four-year-old physical maturation that the handicap mark hasn't caught up with, or just by lightly raced horses returning fresh at any age?", "rationale": "O-7b05ae3b shows A/E 1.12 on 2958 bets, but the rule mixes age, light racing and a long break. If lightly raced five-year-olds returning after 150+ days score the same, the age story is wrong. A test reads age, prior_runs, days_since_last_run, race_type, is_handicap and month.", "observation_ids": [ "O-7b05ae3b" ], "priority": 0.6 }, { "question": "If the horses are really improving, does the edge carry on to their second run after the winter break?", "rationale": "Maturation that the mark hasn't caught up with should still be there on the next start, and the first-run result may have been missed by the market. Freshness or yard readiness would fade by then. A test reads last_days_since_last_run, days_since_last_run, age, prior_runs and last_position.", "observation_ids": [ "O-7b05ae3b" ], "priority": 0.55 }, { "question": "Why was the middle period flat (1.01 on 1329 bets) when the outer periods were 1.21 and 1.20? And is the edge real only at Betfair SP (BSP ROI +1.6%, SP ROI -19.6%)?", "rationale": "An unstable middle period plus a profit that disappears at SP means the published system needs a check of its stability and of the price it can be bet at. A test splits by period, then by region, sp_rank and book_pct.", "observation_ids": [ "O-7b05ae3b" ], "priority": 0.45 } ], "hypotheses": [ { "title": "Lightly raced five-year-olds back from a break: is age the cause?", "family": "seasonal", "operator": "rival-explanation", "question_id": null, "new_question": 0, "parent_id": "H126-lightly-raced-four-year-old-returns", "reasoning": { "observation_ids": [ "O-7b05ae3b" ], "question": "Does the lift come from four-year-old maturation, or from any lightly raced horse coming back fresh?", "mechanism": "If the cause is growing stronger between three and four, five-year-olds with the same light record and long break should show little or no lift. If they lift as much, the cause is freshness or a light record, not age.", "market_miss": "Under the maturation story, the market reads the old three-year-old form and mark; a five-year-old has had another season for the handicapper to catch up.", "prediction": { "direction": "negative", "size": "A/E 0.95 to 1.03 on 400+ bets (no edge), well below H126's 1.12", "falsified_if": "Five-year-olds score A/E 1.10 or more on 400+ bets with every period above 1.0. That would mean light racing plus a break, not age, carries the edge." }, "rule_sketch": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 5 AND prior_runs <= 10 AND days_since_last_run >= 150" }, "confounders": [ "Five-year-olds with ten or fewer runs may be injury-prone horses, a different population", "Smaller sample", "Trainer mix differs" ], "expected_survival": 0.5 }, { "title": "Second run after the winter break for lightly raced four-year-olds", "family": "seasonal", "operator": "test-mechanism", "question_id": null, "new_question": 1, "parent_id": "H126-lightly-raced-four-year-old-returns", "reasoning": { "observation_ids": [ "O-7b05ae3b" ], "question": "Does the improvement carry on to the next run, as real maturation would?", "mechanism": "A four-year-old that strengthened over the winter is still ahead of its mark on its second start. The handicapper reacts slowly, and a rusty return run may hide the progress.", "market_miss": "A return-run defeat after a long break reads as poor form, and the market discounts it rather than putting it down to needing the run.", "prediction": { "direction": "positive", "size": "A/E 1.05 to 1.12 on 800+ bets", "falsified_if": "A/E below 1.00 on 800+ bets. That would mean the edge is first-time-out readiness or freshness, not lasting improvement." }, "rule_sketch": "race_type = 'Flat' AND is_handicap = 1 AND month IN (4, 5, 6) AND age = 4 AND prior_runs <= 11 AND last_days_since_last_run >= 150 AND days_since_last_run <= 60" }, "confounders": [ "Horses that won on their return get raised in the weights", "Selection: yards run their better horses back sooner", "Overlap with recency or freshness effects" ], "expected_survival": 0.4 }, { "title": "Fewest prior runs: the mark has the least information", "family": "seasonal", "operator": "sharpen", "question_id": null, "new_question": 0, "parent_id": "H126-lightly-raced-four-year-old-returns", "reasoning": { "observation_ids": [ "O-7b05ae3b" ], "question": "Is the effect strongest where the handicapper had the least three-year-old evidence to set the mark from?", "mechanism": "A horse with five or fewer runs was handicapped on three runs or so, often as a backward juvenile or three-year-old. It has the most room left to improve, and its mark is the most likely to understate its ability at four. This is stated before seeing any split.", "market_miss": "The form book shows only a few modest runs, so punters price it off a thin record and an unimpressive profile.", "prediction": { "direction": "positive", "size": "A/E 1.15 to 1.25 on 700+ bets", "falsified_if": "A/E at or below the full H126 figure (1.12), or any period below 1.0 on 700+ bets" }, "rule_sketch": "race_type = 'Flat' AND is_handicap = 1 AND month IN (3, 4, 5) AND age = 4 AND prior_runs <= 5 AND days_since_last_run >= 150" }, "confounders": [ "Lightly raced horses from top yards draw strong support in the market", "Unraced at two because of physical problems", "Overlap with handicap-debut effects" ], "expected_survival": 0.45 } ], "findings": [ { "statement": "H126 (Flat handicap, March to May, lightly raced four-year-old after 150+ days off) holds at A/E 1.12 on 2958 bets, but the middle period scored only 1.01 on 1329 bets against 1.21 and 1.20 on either side.", "kind": "holds", "observation_ids": [ "O-7b05ae3b" ] }, { "statement": "H126's edge is a selection edge that needs a better price than SP: BSP ROI +1.6% against SP ROI -19.6%.", "kind": "data", "observation_ids": [ "O-7b05ae3b" ] } ], "reflection": "The H126 rule (Flat handicap, March to May, a four-year-old with ten or fewer runs, first run for 150+ days) holds at A/E 1.12 on 2958 bets. The three periods were 1.21, 1.01 and 1.20, and discovery gave 1.13 on 1904 bets. The 'won last time out' slice reached 1.27 on 371 bets and is now the live system SYS-four-year-old-returns-after-a-win. Two warnings come with it. The middle period was flat on the largest sample (1.01 on 1329 bets), so the edge is not uniform over time. And the money only shows at Betfair SP: BSP ROI is +1.6%, while SP ROI is -19.6%. This is a selection edge that needs a better price than SP.\n\nThe thread has shown that the rule finds runners who beat their price. It has not shown why. The stated cause is that a four-year-old has grown stronger over the winter while its mark still reflects three-year-old form. That story is mixed up with two others: light racing, and freshness or yard readiness first time out. The seasonal finding already says the seasonal edges that work are about who is ready first time out.\n\nThree tests would separate these causes, so the next step is to test the cause rather than slice further:\n- **Five-year-olds (rival explanation):** the maturation story predicts no edge.\n- **Second run after the break (consequence of the same cause):** lasting improvement predicts the edge carries on; readiness predicts it fades.\n- **Five or fewer prior runs (sharpen):** chosen because the cause itself says the mark is least accurate there, not by slicing the near result.\n\nNo open questions existed to close." }
Timeline
hypothesis note SYS-four-year-old-returns-after-a-win
· importer
New idea SYS-four-year-old-returns-after-a-win: System: Lightly raced four-year-old back after a winter off (import)
· importer
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Live.