Hypotheses · track-stamina · H-cde96a9f
Rival: the trip-drop lift is a Flat turf summer effect
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
- rival-explanation
- Created
- 16 Oct, 12:47
- Tests logged
- 16
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-9be58fc5 (Rival: dropping in trip after a win over further pays at any track, st) pointed the predicted way but failed the bar: A/E 1.05 on 4671 bets (p 0.141), control 0.99. O-23bbb3b8
- H-9be58fc5 (Rival: dropping in trip after a win over further pays at any track, st): the period 'after 2026-04-27' carries the effect (A/E 1.14) while the rest score 2025-10-01 to 2026-04-27 0.98. O-8fb2cdca
- AskedIs the after-April lift in the trip-drop rule a Flat-turf effect rather than instability over time? answered
- MechanismFlat turf races are often run at a true pace on varied ground, which favours horses with stamina in reserve. All-weather races are tactical, and a dropped stayer gets outpaced.
- Why the market misses itThe form book records the win over further, not how the race was run, so the market prices the drop in trip the same way on every surface.
- Predictedpositive, A/E 1.08 to 1.15 on 1500+ bets
- Falsified ifA/E at or below 1.02, or the lift equally present on all-weather
- Rule sketch
race_type = 'Flat' AND going_group <> 'AW' AND last_win_yards >= distance_yards + 330
Mechanism and rationale
Flat turf races are often run at a true pace on varied ground, which favours horses with stamina in reserve. All-weather races are tactical, and a dropped stayer gets outpaced.
The rule
race_type = 'Flat' AND surface = 'Turf' AND last_win_yards >= distance_yards + 330
Reads: race_type, surface, last_win_yards, distance_yards
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- b562bae6dded0b8f36fdfd23642f6332da3cc625b843a81bbb0e13fd8d8e57e5
- Frozen
- 16 Oct, 12:51
- Nothing in the definition can change after this.
- Confounders
- Season and period overlap: turf runs mostly April to October, so a turf effect and the after-April-2026 period effect are hard to separate. Read the period split by month, not only by calendar block
- Stiff-track subset: many stiff tracks are turf, so the parent H181 lift may account for the result. Refinement 2 (track_stiff_finish = 0) tests this
- Surface coding: the draft's going_group <> 'AW' was replaced by surface = 'Turf', the catalogued turf/all-weather flag (values 'Turf'/'AW')
- 16/1+ band: a few big-priced winners can carry the A/E. Judge on the 14/1-or-shorter refinement as well as the headline
- Distance band: the stiff-track edge did not reach seven furlongs to a mile (0.90 on 109), so the turf lift may come only from sprints
- last_win_yards against last_win_distance_yards: the two should be confirmed identical so this rule lines up with the live system
- Jumps runners excluded on purpose (race_type = 'Flat'), so this rule says nothing about the H184 heavy-ground jumps result
- Control
Discovery result
pass broad rule · 16 Oct, 12:49
- Bets
- 2,045
- 224 winners
- A/E
- 1.13
- 95%: 0.99 to 1.29
- SP return
- -6.4%
- level stakes
- Betfair SP return
- +24.8%
- 1,952 bets with a BSP
Strike rate 11.0%. p = 0.038. Same-race control: the other runners in these races had A/E 0.97, 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 6 survived.
- control: All-weather control: same trip drop on AWfail
1,058 bets · A/E 0.96 (0.77 to 1.18) · control 1.00 · 16 Oct, 12:51
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-278100.92after 2026-04-272481.12Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - partition: Non-stiff turf tracks only (removes H181 parent overlap)pass
1,462 bets · A/E 1.15 (0.98 to 1.34) · control 0.97 · 16 Oct, 12:51
Sealed holdout (vault)
- Bets
- 8,022
- 16 Oct, 12:51
- A/E
- 1.05
- p = 0.071
- BH threshold then
- 0.0030
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
8,022 bets · A/E 1.05 (0.98 to 1.13) · control 0.99 · 16 Oct, 12:51
Breakdown
betsA/E0.71.01.32020-223,1531.052023 to Sept 20254,8691.06
Forward record
- forward vs bar {'min_bets': 150, 'min_ae': 1.02, 'max_p': 0.2}info
0 bets · · 16 Oct, 12:51
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: drop: race_type = 'Flat'pass
5,510 bets · A/E 1.08 (1.00 to 1.17) · control 0.98 · 16 Oct, 12:51
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272,7871.05after 2026-04-272,7231.12Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: drop: surface = 'Turf'pass
3,103 bets · A/E 1.08 (0.96 to 1.20) · control 0.99 · 16 Oct, 12:51
Breakdown
Lineage
Agent runs
designer v1ok · 57s · 16 Oct, 12:47
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND surface = 'Turf' AND last_win_yards >= distance_yards + 330", "refinements": [ { "label": "14/1 or shorter", "rule": "race_type = 'Flat' AND surface = 'Turf' AND last_win_yards >= distance_yards + 330 AND sp_decimal <= 15" }, { "label": "non-stiff turf tracks only (removes the stiff-track parent overlap)", "rule": "race_type = 'Flat' AND surface = 'Turf' AND last_win_yards >= distance_yards + 330 AND track_stiff_finish = 0" }, { "label": "turf summer core, May to September", "rule": "race_type = 'Flat' AND surface = 'Turf' AND last_win_yards >= distance_yards + 330 AND month IN (5, 6, 7, 8, 9)" } ], "control": { "description": "Same-race other runners should be close to 1.0 (about 0.98 to 1.01), which would show the lift belongs to the dropped winner and not to turf races as a whole. The key rival comparison is the same trip-drop selection on the all-weather: the mechanism predicts A/E there at or below about 1.00, and at least 0.05 below the turf rule. If the all-weather figure equals or beats the turf figure, the surface explanation fails.", "rule": "race_type = 'Flat' AND surface = 'AW' AND last_win_yards >= distance_yards + 330" }, "pass_criteria": { "min_bets": 300, "min_ae": 1.06, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1.02, "max_p": 0.2 }, "confounders": [ "Season and period overlap: turf runs mostly April to October, so a turf effect and the after-April-2026 period effect are hard to separate. Read the period split by month, not only by calendar block", "Stiff-track subset: many stiff tracks are turf, so the parent H181 lift may account for the result. Refinement 2 (track_stiff_finish = 0) tests this", "Surface coding: the draft's going_group <> 'AW' was replaced by surface = 'Turf', the catalogued turf/all-weather flag (values 'Turf'/'AW')", "16/1+ band: a few big-priced winners can carry the A/E. Judge on the 14/1-or-shorter refinement as well as the headline", "Distance band: the stiff-track edge did not reach seven furlongs to a mile (0.90 on 109), so the turf lift may come only from sprints", "last_win_yards against last_win_distance_yards: the two should be confirmed identical so this rule lines up with the live system", "Jumps runners excluded on purpose (race_type = 'Flat'), so this rule says nothing about the H184 heavy-ground jumps result" ], "mechanism": "Flat turf races are more often run at a true, even pace on ground that varies, and the last furlong becomes a test of stamina. A horse whose last win was at least 330 yards further has stamina in reserve over a shorter trip and keeps going when sharper rivals tire. All-weather races are tactical, with a slow early pace and a sprint finish on uniform fast ground, so the same dropped stayer gets outpaced. The trip-drop lift should therefore sit on turf and be absent on the all-weather.", "market_miss": "The form book shows the win over further but not how that race, or today's race, is likely to be run. Punters and the market price the drop in trip the same way on every surface. They see 'stayer dropping in trip' as one generic angle and do not adjust for the pace profile that decides whether stamina in reserve is an advantage (turf) or a handicap (all-weather).", "prediction": { "direction": "positive", "size": "A/E about 1.08 to 1.15 on 1500+ bets on turf, with the all-weather control at or below about 1.00", "falsified_if": "Turf rule A/E at or below 1.02, or the all-weather control within 0.03 of the turf rule's A/E (the lift is equally present on the all-weather), or the lift disappears at 14/1 or shorter" }, "notes": "I replaced going_group <> 'AW' with surface = 'Turf'. The catalogue has a dedicated surface column, and other lab rules use the values 'Turf'/'AW'. Whether going_group really codes the all-weather as 'AW' was never checked. last_win_yards is available from 2020-09 only. The bars are stricter than the floors because the prediction implies a large sample (1500+ bets): 300 bets, A/E 1.06, p 0.05. This is a rival-explanation test. It stands only if both the turf rule passes and the all-weather control rule falls clearly below it." }
Timeline
Job 1471 finished
· engine:compute-1
hypothesis note H-cde96a9f
· engine:perturb
perturbation result for H-cde96a9f (neighbour: drop: last_win_yards >= distance_yards + 330): fail
· engine:perturb
perturbation result for H-cde96a9f (neighbour: drop: surface = 'Turf'): pass
· engine:perturb
perturbation result for H-cde96a9f (neighbour: drop: race_type = 'Flat'): pass
· engine:perturb
compute-1 took job 1471 (mutate, attempt 1)
· compute-1
Job 1470 finished
· engine:compute-1
forward result for H-cde96a9f (forward vs bar {'min_bets': 150, 'min_ae': 1.02, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1470 (forward_check, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1467 finished
· engine:compute-1
H-cde96a9f Vault → SHADOW vault SUPPORTIVE: A/E 1.052 on 8022 bets, p 0.07144 against BH threshold 0.00303 over 33 vault tests
· engine:orchestrator
vault result for H-cde96a9f (vault query (supportive)): pass
· engine:orchestrator
H-cde96a9f Frozen → FROZENvault vault query started
· engine:orchestrator
compute-1 took job 1467 (vault, attempt 1)
· compute-1
Job 1465 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler