Hypotheses · track-stamina · H-cbd60237
Generalise: any proven stamina (last run or last win 330+ yards further) in stiff Flat sprints at 14/1 or shorter
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “H181: proven over further at a stiff track” 15 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- generalise
- Created
- 16 Oct, 13:11
- Tests logged
- 17
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-2b483ac5 (Generalise: last run over further (not just last win) pays in stiff Fl) passed discovery as a niche: A/E 1.54 on 83 bets (p 0.072), same-race control 0.92. O-2f9e434c
- H-fce3877f (Rival: the stiff-sprint edge is a course or draw quirk, not the hill) pointed the predicted way but failed the bar: A/E 1.37 on 20 bets (p 0.336), control 0.95. O-59976f8e
- AskedDoes the stiff-sprint edge need a past win over further, or does any recent run over further carry the same signal? testing
- MechanismAn uphill finish turns a 5f-6f sprint into a test of stamina in the last furlong. Stamina can show in a win over further or in a recent run over further. Both groups scored above 1.3 at 14/1 or shorter, so pooling them should give the forward record a larger base for one cause.
- Why the market misses itThe form book shows a horse dropping sharply in trip, often after a defeat. Punters rate it on sprint speed figures and read the drop as a trainer's guess. They do not price the stiff finish that turns the race back into a stamina test.
- Predictedpositive, A/E 1.20 to 1.45 on about 100 discovery bets, same-race control near 0.95
- Falsified ifA/E at or below 1.05 on the pooled base, or the GB and IRE halves both at or below 1.00
Mechanism and rationale
An uphill finish turns a 5f-6f sprint into a test of stamina in the last furlong. Stamina can show in a win over further or in a recent run over further. Both groups scored above 1.3 at 14/1 or shorter, so pooling them should give the forward record a larger base for one cause.
The rule
race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 1 AND sp_decimal <= 15 AND (last_distance_yards >= distance_yards + 330 OR last_win_distance_yards >= distance_yards + 330)
Reads: race_type, distance_yards, track_stiff_finish, sp_decimal, last_distance_yards, last_win_distance_yards
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 663d668aa7f99f17651f2e507ccd38eb7c63bed90d57145d00b5198b1f5427dc
- Frozen
- 16 Oct, 13:22
- Nothing in the definition can change after this.
- Confounders
- Course concentration: one or two GB stiff sprint courses (e.g. a single hill track) could carry the whole lift; check by-course spread and leave-one-course-out
- Draw bias on straight stiff 5f-6f courses, which discovery is too thin to split
- IRE stiff-flag coding differs from GB (IRE last-run subset 0.85 on 23 vs GB 1.75 on 60)
- Flat turf summer seasonality (53 of 83 earlier bets after April)
- Last run or last win in a different code (hurdle/bumper) over a much longer trip, which is not sprint-relevant stamina
- Overlap with the existing live stiff-sprint system: most win-over-further runners are already in it, so the pooled rule's evidence is not independent of earlier measurements
- last_win_distance_yards and last_win_yards are separate sources and may not agree; last_win_distance_yards only from 2020-09
- Control
{ "description": "Same-race control: the other runners in these stiff-track Flat sprints at 14/1 or shorter that have no last run and no last win 330+ yards further. Expect them near 0.95 A/E, so any lift is specific to the stamina group, not a property of the races. Secondary comparison: the identical pooled rule at non-stiff tracks, expected near 1.05-1.10 (the weak general trip-drop drift); the stiff group should clearly exceed it.", "rule": "race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 0 AND sp_decimal <= 15 AND (last_distance_yards >= distance_yards + 330 OR last_win_distance_yards >= distance_yards + 330)" }
Discovery result
pass broad rule (niche) · 16 Oct, 13:15
- Bets
- 100
- 19 winners
- A/E
- 1.54
- 95%: 0.93 to 2.41
- SP return
- +37.6%
- level stakes
- Betfair SP return
- +64.4%
- 97 bets with a BSP
Strike rate 19.0%. p = 0.047. Same-race control: the other runners in these races had A/E 0.91, 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. 5 of 5 survived.
- perturbation: Trip margin loosened to 264 yards (-20%)pass
150 bets · A/E 1.40 (0.92 to 2.04) · control 0.92 · 16 Oct, 13:22
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27451.32after 2026-04-271051.43Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Trip margin tightened to 400 yards (+21%)pass
88 bets · A/E 1.64 (0.97 to 2.59) · control 0.89 · 16 Oct, 13:22
Sealed holdout (vault)
- Bets
- 506
- 16 Oct, 13:22
- A/E
- 1.25
- p = 0.030
- BH threshold then
- 0.0027
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
506 bets · A/E 1.25 (0.99 to 1.55) · control 0.96 · 16 Oct, 13:22
Breakdown
betsA/E0.71.01.32020-222291.252023 to Sept 20252771.25
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.1, 'max_p': 0.2}info
0 bets · · 16 Oct, 13:23
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: <= 1340 -> 1072 (-20%)fail
0 bets · · 16 Oct, 13:23
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-270–after 2026-04-270–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 1340 -> 1608 (+20%)pass
176 bets · A/E 1.21 (0.81 to 1.75) · control 0.96 · 16 Oct, 13:23
Breakdown
betsA/E
Lineage
Agent runs
designer v1ok · 42s · 16 Oct, 13:11
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 1 AND sp_decimal <= 15 AND (last_distance_yards >= distance_yards + 330 OR last_win_distance_yards >= distance_yards + 330)", "refinements": [ { "label": "Flat-only stamina evidence (drops jump/bumper trips)", "rule": "race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 1 AND sp_decimal <= 15 AND ((last_race_type = 'Flat' AND last_distance_yards >= distance_yards + 330) OR (last_win_type = 'Flat' AND last_win_distance_yards >= distance_yards + 330))" }, { "label": "GB only (IRE stiff-flag coding differs; IRE scored 0.85 on 23 in the last-run subset)", "rule": "race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 1 AND sp_decimal <= 15 AND region = 'GB' AND (last_distance_yards >= distance_yards + 330 OR last_win_distance_yards >= distance_yards + 330)" } ], "control": { "description": "Same-race control: the other runners in these stiff-track Flat sprints at 14/1 or shorter that have no last run and no last win 330+ yards further. Expect them near 0.95 A/E, so any lift is specific to the stamina group, not a property of the races. Secondary comparison: the identical pooled rule at non-stiff tracks, expected near 1.05-1.10 (the weak general trip-drop drift); the stiff group should clearly exceed it.", "rule": "race_type = 'Flat' AND distance_yards <= 1340 AND track_stiff_finish = 0 AND sp_decimal <= 15 AND (last_distance_yards >= distance_yards + 330 OR last_win_distance_yards >= distance_yards + 330)" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.1, "max_p": 0.2 }, "confounders": [ "Course concentration: one or two GB stiff sprint courses (e.g. a single hill track) could carry the whole lift; check by-course spread and leave-one-course-out", "Draw bias on straight stiff 5f-6f courses, which discovery is too thin to split", "IRE stiff-flag coding differs from GB (IRE last-run subset 0.85 on 23 vs GB 1.75 on 60)", "Flat turf summer seasonality (53 of 83 earlier bets after April)", "Last run or last win in a different code (hurdle/bumper) over a much longer trip, which is not sprint-relevant stamina", "Overlap with the existing live stiff-sprint system: most win-over-further runners are already in it, so the pooled rule's evidence is not independent of earlier measurements", "last_win_distance_yards and last_win_yards are separate sources and may not agree; last_win_distance_yards only from 2020-09" ], "mechanism": "An uphill finish turns a 5f-6f sprint into a stamina test in the final furlong. A horse that has recently run, or won, at least 330 yards further has shown it can keep going when sprinters fade. Whether that stamina shows as a win or only as a run over further, the cause is the same, so pooling the two groups should give one larger base for the same effect. The edge should be confined to stiff tracks. Elsewhere trip-droppers run close to their prices.", "market_miss": "In the form book the horse is dropping sharply in trip, often after a defeat. Punters rate it on sprint speed figures and read the drop as a trainer's guess. They do not price a stiff finish that turns the race back into a stamina test, so the horse is underbet at sensible prices (14/1 or shorter), where the longshot noise is lowest.", "prediction": { "direction": "positive", "size": "A/E 1.20 to 1.45 on about 100-130 discovery bets; same-race control near 0.95; non-stiff mirror near 1.05-1.10", "falsified_if": "Pooled A/E at or below 1.05, or the GB and IRE halves both at or below 1.00, or the lift disappears when the top course is removed (leave-one-course-out A/E at or below 1.05)" }, "notes": "I kept the rule sketch unchanged. All its columns are pre-off. When last_win_distance_yards is NULL, the OR still holds through the last-run branch. I expect about 100 to 130 discovery bets, which is below the 150-bet floor. Under lab policy a thin result in the right direction goes on to falsification and forward tracking, not a kill. I set both A/E bars at 1.10, stricter than the floors, because the general trip-drop drift is already about 1.05. Refinement 1 uses last_race_type and last_win_type to deal with the cross-code confounder. Refinement 2 tests whether the effect is GB only. The earlier measurements overlap with this rule (last-run 1.54 on 83, win 1.34 on 31), so a discovery pass here is partly in-sample. The forward record is the real test." }
Timeline
Job 1599 finished
· engine:compute-1
forward result for H-cbd60237 (forward vs bar {'min_bets': 100, 'min_ae': 1.1, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1599 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1571 finished
· engine:compute-1
hypothesis note H-cbd60237
· engine:perturb
perturbation result for H-cbd60237 (neighbour: drop: distance_yards <= 1340): pass
· engine:perturb
perturbation result for H-cbd60237 (neighbour: drop: race_type = 'Flat'): pass
· engine:perturb
perturbation result for H-cbd60237 (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-cbd60237 (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
perturbation result for H-cbd60237 (neighbour: <= 1340 -> 1608 (+20%)): pass
· engine:perturb
perturbation result for H-cbd60237 (neighbour: <= 1340 -> 1072 (-20%)): fail
· engine:perturb
compute-1 took job 1571 (mutate, attempt 1)
· compute-1
Job 1591 finished
· engine:compute-1
H-cbd60237 Vault → SHADOW vault SUPPORTIVE: A/E 1.249 on 506 bets, p 0.03002 against BH threshold 0.002703 over 37 vault tests
· engine:orchestrator
vault result for H-cbd60237 (vault query (supportive)): pass
· engine:orchestrator