Hypotheses · seasonal · H-3cdb61f5
Second run after the winter break for lightly raced four-year-olds
fails: p 0.3532, needs 0.05 or lower; periods [0.61, 1.16], each needs 1.0 (not a niche pass: a period points the other way [0.61, 1.16])
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
- test-mechanism
- Created
- 16 Oct, 12:09
- 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
- H126-lightly-raced-four-year-old-returns (H126: lightly raced four year old returns) was GREEN in the earlier research: A/E 1.12 on 2958 bets (periods 1.21 / 1.01 / 1.20); now PROMISING. O-7b05ae3b
- AskedIf the horses are really improving, does the edge carry on to their second run after the winter break? answered
- MechanismA 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.
- Why the market misses itA 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.
- Predictedpositive, A/E 1.05 to 1.12 on 800+ bets
- Falsified ifA/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 - question idQ-b3f4d5f5
- operatortest-mechanism
The question's answer so far: Only weakly. The second run after the break scored A/E 1.06 on 459 bets (p 0.35), and it all came from the late-season period (0.61 before, 1.16 after). That is not the persistent lift that maturation would predict.
Mechanism and rationale
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.
The rule
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
Reads: race_type, is_handicap, month, age, prior_runs, last_days_since_last_run, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 2ac757541e725ebb3e0b0c0d17e9c5163c37570ea84f6e0f0b115db7afac8280
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Winners of the return run are raised in the weights, so the edge should sit mainly with horses beaten on return (refinement 1); a lift only in return winners would point to something else
- Yard selection: trainers bring their better, forward four-year-olds back within 60 days, so a quick second run may reflect yard confidence rather than an unexposed mark
- Overlap with recency/freshness effects: second runs within 60 days are a generic fitness pattern; the age 5+ control separates this from maturation
- Overlap with H126 (first run back): the same horses carry over, so a positive result may be one horse population measured twice rather than independent evidence
- Longshot artefact: lifts at 16/1+ are common across lab rules, so the 14/1-or-shorter refinement must hold
- Price: H126's edge only paid at BSP, not SP; a selection edge here may also need a better price than SP
- Period instability: H126's middle period scored 1.01; every period (2020-22, 2023 to a year ago, last year) must agree
- Control
{ "description": "Same-race other runners should score about 1.00 or a little below (the field absorbs the edge), showing the lift is not a property of spring four-year-old handicaps. The key control is the same second-run-after-a-break profile for older horses (age 5+), where maturation should no longer apply: expect about 1.00. If the 5+ control scores as well as the four-year-olds, the effect is a second-run-after-a-break (fitness) effect, not maturation ahead of the mark.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (4, 5, 6) AND age >= 5 AND prior_runs <= 11 AND last_days_since_last_run >= 150 AND days_since_last_run <= 60" }
Discovery result
fail broad rule · 16 Oct, 12:11
- Bets
- 459
- 55 winners
- A/E
- 1.06
- 95%: 0.80 to 1.38
- SP return
- -15.2%
- level stakes
- Betfair SP return
- +5.9%
- 459 bets with a BSP
Strike rate 12.0%. p = 0.35. Same-race control: the other runners in these races had A/E 0.99, so the selection 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 · 46s · 16 Oct, 12:10
Output (schema-checked)
{ "rule": "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", "refinements": [ { "label": "beaten on the return run", "rule": "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 AND last_position >= 2" }, { "label": "14/1 or shorter", "rule": "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 AND sp_decimal <= 15" }, { "label": "return run was a Flat handicap", "rule": "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 AND last_race_type = 'Flat' AND last_is_handicap = 1" } ], "control": { "description": "Same-race other runners should score about 1.00 or a little below (the field absorbs the edge), showing the lift is not a property of spring four-year-old handicaps. The key control is the same second-run-after-a-break profile for older horses (age 5+), where maturation should no longer apply: expect about 1.00. If the 5+ control scores as well as the four-year-olds, the effect is a second-run-after-a-break (fitness) effect, not maturation ahead of the mark.", "rule": "race_type = 'Flat' AND is_handicap = 1 AND month IN (4, 5, 6) AND age >= 5 AND prior_runs <= 11 AND last_days_since_last_run >= 150 AND days_since_last_run <= 60" }, "pass_criteria": { "min_bets": 400, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Winners of the return run are raised in the weights, so the edge should sit mainly with horses beaten on return (refinement 1); a lift only in return winners would point to something else", "Yard selection: trainers bring their better, forward four-year-olds back within 60 days, so a quick second run may reflect yard confidence rather than an unexposed mark", "Overlap with recency/freshness effects: second runs within 60 days are a generic fitness pattern; the age 5+ control separates this from maturation", "Overlap with H126 (first run back): the same horses carry over, so a positive result may be one horse population measured twice rather than independent evidence", "Longshot artefact: lifts at 16/1+ are common across lab rules, so the 14/1-or-shorter refinement must hold", "Price: H126's edge only paid at BSP, not SP; a selection edge here may also need a better price than SP", "Period instability: H126's middle period scored 1.01; every period (2020-22, 2023 to a year ago, last year) must agree" ], "mechanism": "A four-year-old that strengthened over the winter is still ahead of its handicap mark on its second start of the season. The handicapper reacts slowly to one run, and a rusty return after 150+ days off may have hidden the progress, so the mark stays lenient for the next run within 60 days.", "market_miss": "A defeat on the return run after a long break reads as poor form, and the market discounts the horse on it rather than putting it down to needing the run. The market also prices the physical improvement of a lightly raced four-year-old weakly, because there is little public evidence of it.", "prediction": { "direction": "positive", "size": "A/E 1.05 to 1.12 on 800+ bets, with the stronger edge among horses beaten on their return", "falsified_if": "A/E below 1.00 on 800+ bets, or the age 5+ control scoring as well as the four-year-olds. Either would mean the H126 edge is first-time-out readiness or a generic fitness effect, not lasting maturation." }, "notes": "The rule sketch is kept as written. All columns are pre_off (last_days_since_last_run is available from 2020-08). prior_runs <= 11 is H126's <= 10 plus the return run. Because months are 4-6 and the gap is 60 days or less, the return run fell in February to June. min_bets is raised to 400 since the predicted sample is 800+. Report ROI at both BSP and SP, as H126 paid only at BSP." }
Timeline
Job 1260 finished
· engine:compute-1
H-3cdb61f5 Discovery → KILLED fails: p 0.3532, needs 0.05 or lower; periods [0.61, 1.16], each needs 1.0 (not a niche pass: a period points the other way [0.61, 1.16])
· engine:evaluator
discovery result for H-3cdb61f5 (broad rule): fail
· engine:evaluator
H-3cdb61f5 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1260 (evaluate, attempt 1)
· compute-1
Job 1257 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-3cdb61f5 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1257 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-3cdb61f5: Second run after the winter break for lightly raced four-year-olds (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.