Hypotheses · seasonal · H-2fa8d5cc
Lightly raced older handicappers back from a break: a powered age control
fails: 119 bets, needs 300; p 0.1706 (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, 13:02
- 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-1a6f83c9 (Fancied lightly raced four-year-old returners: the market flags which ) survived falsification: 4 of 5 attacks left it standing; it is frozen for its one vault query. O-85a5f46a
- H-1a6f83c9 (Fancied lightly raced four-year-old returners: the market flags which ) met the sealed vault supportive: A/E 1.11 on 1567 bets (p 0.0484, threshold 0.0031). O-c4322e77
- AskedIs 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? answered
- MechanismPhysical maturation between three and four is the proposed cause. Horses aged five and up have finished maturing, so a long break should give them freshness but not a mark that lags behind improvement.
- Why the market misses itIf older lightly raced returners also beat their prices, the miss is a general under-pricing of first runs back, not something specific to four-year-olds. The five-year-old test (0.76 on 89) was too thin to tell.
- Predictednegative, A/E 0.88 to 1.02 on 300+ bets
- Falsified ifA/E of 1.08 or higher on 300+ bets, which would make age irrelevant and point to a general freshness mispricing
- 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
The question's answer so far: Not maturation. In the vault the four-year-old March-April rule scored 1.02 on 1548 and all spring returners 1.03 on 6934. Non-four-year-olds scored 1.048 on 965 at discovery. Age four adds nothing measurable once tested out of sample.
Mechanism and rationale
Physical maturation between three and four is the proposed cause. Horses aged five and up have finished maturing, so a long break should give them freshness but not a mark that lags behind improvement.
The rule
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
Reads: race_type, is_handicap, month, age, prior_runs, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 0de5a024f0621482a798bb1eabd410338ddfe10a0e5096f4020846d499efb5e5
- Frozen
- not frozen
- The definition can still change.
- Confounders
- prior_runs counts only from July 2020, so early-period older horses can look lightly raced when they are exposed. This would bias A/E down and flatter the negative prediction, so check the result by period.
- Older lightly raced horses are often injury-prone, or ex-jumpers dropping back to the Flat. Their long break may be a setback, not a planned freshening (refinement 2 removes horses whose last run was over jumps).
- Trainer mix differs from the four-year-old base: more jumps yards and small yards with older Flat horses.
- Price mix: older returners may sit at longer prices, where the favourite-longshot bias alone lowers A/E. Compare within price bands before blaming age.
- Ireland-versus-GB composition may differ from the four-year-old base, and Irish splits in this thread have been unstable.
- Control
{ "description": "Same-race other runners should score about 1.00, so a figure well below 1.00 for the older returners shows a property of the horse and not of the race. The key comparison is the four-year-old version of the same rule (H126 base, about 1.12 on 2958), measured on the same periods. The maturation story needs older returners to be clearly below the four-year-olds, and at or under 1.00. If older returners match the four-year-olds (1.08 or higher), age is irrelevant and the edge is general freshness mispricing.", "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" }
Discovery result
fail broad rule · 16 Oct, 13:07
- Bets
- 119
- 6 winners
- A/E
- 0.64
- 95%: 0.23 to 1.39
- SP return
- -77.0%
- level stakes
- Betfair SP return
- -75.7%
- 119 bets with a BSP
Strike rate 5.0%. p = 0.91. Same-race control: the other runners in these races had A/E 1.04, 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 · 32s · 16 Oct, 13:03
Output (schema-checked)
{ "rule": "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", "refinements": [ { "label": "Five- and six-year-olds only (closest age control, fewer veterans mislabelled as lightly raced)", "rule": "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 AND age <= 6" }, { "label": "Last run on the Flat (drops ex-jumpers returning to the Flat, a named confounder)", "rule": "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 AND last_race_type = 'Flat'" } ], "control": { "description": "Same-race other runners should score about 1.00, so a figure well below 1.00 for the older returners shows a property of the horse and not of the race. The key comparison is the four-year-old version of the same rule (H126 base, about 1.12 on 2958), measured on the same periods. The maturation story needs older returners to be clearly below the four-year-olds, and at or under 1.00. If older returners match the four-year-olds (1.08 or higher), age is irrelevant and the edge is general freshness mispricing.", "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": 300, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "prior_runs counts only from July 2020, so early-period older horses can look lightly raced when they are exposed. This would bias A/E down and flatter the negative prediction, so check the result by period.", "Older lightly raced horses are often injury-prone, or ex-jumpers dropping back to the Flat. Their long break may be a setback, not a planned freshening (refinement 2 removes horses whose last run was over jumps).", "Trainer mix differs from the four-year-old base: more jumps yards and small yards with older Flat horses.", "Price mix: older returners may sit at longer prices, where the favourite-longshot bias alone lowers A/E. Compare within price bands before blaming age.", "Ireland-versus-GB composition may differ from the four-year-old base, and Irish splits in this thread have been unstable." ], "mechanism": "The four-year-old returner lift is put down to physical maturation between three and four. The horse comes back stronger than the mark it earned as a three-year-old. Horses aged five and up have finished maturing, so a 150+ day break should leave them fresh but not underrated by the handicapper. Without that improvement, lightly raced older returners in spring handicaps should be priced about right, or over-bet.", "market_miss": "The market and the handicapper are slow to price in the improvement of a lightly raced young horse that matured over the winter. They have no such lag for older horses. If older lightly raced returners also beat their prices, the miss is a general under-pricing of first runs back, not something specific to four-year-olds. The earlier five-year-old test (0.76 on 89) was too thin to tell the two apart, and this rule is powered to.", "prediction": { "direction": "negative", "size": "A/E 0.88 to 1.02 on 300+ bets, clearly below the four-year-old control (about 1.12)", "falsified_if": "A/E of 1.08 or higher on 300+ bets, or no worse than the age-4 control on the same periods. Either would make age irrelevant and point to a general freshness mispricing." }, "notes": "This is a rival-explanation control, pre-registered in the negative direction: the vault judges it as over-bet or fully priced. The pass_criteria floors apply in that direction, i.e. A/E at or below about 1/1.05 (0.95) with p ≤ 0.05 on 300+ bets. min_bets is raised to 300 to match the prediction and to fix the underpowered five-year-old test. Read results by period because prior_runs truncates history at July 2020 and that hits older horses most. Refinements are read only if the broad rule shows evidence." }
Timeline
Job 1529 finished
· engine:compute-1
H-2fa8d5cc Discovery → KILLED fails: 119 bets, needs 300; p 0.1706 (lower tail), needs 0.05
· engine:evaluator
discovery result for H-2fa8d5cc (broad rule): fail
· engine:evaluator
H-2fa8d5cc Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1529 (evaluate, attempt 1)
· compute-1
Job 1526 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-2fa8d5cc Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1526 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-2fa8d5cc: Lightly raced older handicappers back from a break: a powered age control (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.