Hypotheses · story · H-46173ef7
Rival: the broad wide-trip lift is a longshot artefact; test it 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 “H20: wide early and got back into it” 14 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 17 Oct, 04:26
- 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-4af9a09d (Rival: any narrow Flat defeat after racing wide, without the early-set) passed discovery: A/E 1.2 on 1119 bets (p 0.006), same-race control 0.96. O-f243100f
- AskedIs the broad wide-trip lift a longshot artefact? Does it hold at 14/1 or shorter? answered
- MechanismIf the edge is ground lost and not shown in the result, it should appear at every price, including well-fancied runners. If it is only the usual longshot noise, the shorter-priced half should score near 1.0.
- Why the market misses itShorter-priced runners are judged mainly on recent beaten distances. A narrow defeat after a wide trip looks like an ordinary near-miss, so even fancied horses would drift slightly too far.
- Predictedpositive, A/E 1.06 to 1.15 on about 850 bets
- Falsified ifA/E at or below 1.02 on 700+ bets at 14/1 or shorter. That would mean the broad rule's lift is a longshot artefact from 11 big-priced winners.
- Rule sketch
race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15
Mechanism and rationale
If the edge is ground lost and not shown in the result, it should appear at every price, including well-fancied runners. If it is only the usual longshot noise, the shorter-priced half should score near 1.0.
The rule
race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15
Reads: race_type, last_raced_wide, last_position, last_beaten_lengths, sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- bcdc8c3fc8c5788c6d6c7f64ed151694c7839131fe4d4c173c2f87deaa0e248e
- Frozen
- 17 Oct, 04:31
- Nothing in the definition can change after this.
- Confounders
- Parent system runners (wide early and recovered) are included and may carry the lift; refinement 1 excludes them
- Region mix: GB and IRE may record 'raced wide' differently or bet these horses differently
- Handicap versus non-handicap mix: in handicaps the narrow defeat also feeds the rating, which may already be priced in
- Draw and course effects: a wide trip may come from a wide draw at particular courses, so it may not repeat in the next race
- The price band uses SP at the off, so drifters and steamers are mixed in; market moves may themselves carry information
- Overlap with the earlier broad rule (1.204 on 1119): this is a subset of it, not an independent sample
- Control
{ "description": "The other runners in the same Flat races at 14/1 or shorter should score about 0.95 to 1.0, the usual level for that price band after overround. If they score as high as the selection, the lift belongs to the races or the price band and not to the wide trip. A second check, read from the lab's split rather than a separate rule: Flat runners at 14/1 or shorter beaten 5 lengths or less last time without racing wide should score near 1.0. This isolates the wide-trip flag from the general near-miss profile.", "rule": "race_type = 'Flat' AND COALESCE(last_raced_wide, 0) = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15" }
Discovery result
pass broad rule · 17 Oct, 04:29
- Bets
- 915
- 190 winners
- A/E
- 1.18
- 95%: 1.02 to 1.36
- SP return
- +2.6%
- level stakes
- Betfair SP return
- +20.7%
- 914 bets with a BSP
Strike rate 20.8%. p = 0.015. Same-race control: the other runners in these races had A/E 0.96, 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.
- price_band: 7/1 or shorter only: strip out the 8/1-14/1 band carrying the liftpass
644 bets · A/E 1.14 (0.97 to 1.33) · control 0.95 · 17 Oct, 04:31
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272731.05after 2026-04-273711.21Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - partition: Excludes parent wide-early-and-recovered runnerspass
635 bets · A/E 1.13 (0.94 to 1.35) · control 0.97 · 17 Oct, 04:31
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
- forward vs bar {'min_bets': 150, 'min_ae': 1.0, 'max_p': 0.2}info
0 bets · · 17 Oct, 04:31
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: > 1 -> 0 (-20%)pass
1,209 bets · A/E 1.13 (0.99 to 1.28) · control 0.97 · 17 Oct, 04:31
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-275141.09after 2026-04-276951.16Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
654 bets · A/E 1.23 (1.02 to 1.46) · control 0.95 · 17 Oct, 04:31
Breakdown
Lineage
Agent runs
designer v1ok · 25s · 17 Oct, 04:26
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15", "refinements": [ { "label": "Excludes the parent wide-early-and-recovered system", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND (COALESCE(last_early_setback, 0) = 0 OR COALESCE(last_recovered, 0) = 0)" }, { "label": "8/1 or shorter: well-fancied runners only", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 9" } ], "control": { "description": "The other runners in the same Flat races at 14/1 or shorter should score about 0.95 to 1.0, the usual level for that price band after overround. If they score as high as the selection, the lift belongs to the races or the price band and not to the wide trip. A second check, read from the lab's split rather than a separate rule: Flat runners at 14/1 or shorter beaten 5 lengths or less last time without racing wide should score near 1.0. This isolates the wide-trip flag from the general near-miss profile.", "rule": "race_type = 'Flat' AND COALESCE(last_raced_wide, 0) = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15" }, "pass_criteria": { "min_bets": 300, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Parent system runners (wide early and recovered) are included and may carry the lift; refinement 1 excludes them", "Region mix: GB and IRE may record 'raced wide' differently or bet these horses differently", "Handicap versus non-handicap mix: in handicaps the narrow defeat also feeds the rating, which may already be priced in", "Draw and course effects: a wide trip may come from a wide draw at particular courses, so it may not repeat in the next race", "The price band uses SP at the off, so drifters and steamers are mixed in; market moves may themselves carry information", "Overlap with the earlier broad rule (1.204 on 1119): this is a subset of it, not an independent sample" ], "mechanism": "A Flat horse beaten narrowly (0 to 5 lengths, not winning) after racing wide covered extra ground. The bare beaten distance understates its ability. If the ground lost is genuinely hidden in the result, the effect should appear whatever the price, including among fancied runners at 14/1 or shorter. If it is only longshot noise driven by about 11 big-priced winners, this half should score near 1.0.", "market_miss": "Shorter-priced runners are priced mainly on recent form figures and beaten distances. A narrow defeat after a wide trip reads as an ordinary near-miss, and the trip notes are not fully weighted, so even fancied horses go off at slightly too big a price. The error should be small at short prices, where the market is efficient, so the expected edge is modest.", "prediction": { "direction": "positive", "size": "A/E 1.06 to 1.15 on about 850 bets", "falsified_if": "A/E at or below 1.02 on 700 or more bets at 14/1 or shorter, or the control (non-wide near-misses in the same price band) scoring as high as the selection. Either result means the broad rule's lift is a longshot artefact or a near-miss effect, not a wide-trip effect." }, "notes": "The draft rule is kept as written. sp_decimal <= 15 is 14/1 or shorter. All columns are pre-off. The pass bar is raised to 300 bets because about 850 are expected and the question is explicitly about robustness. Only refinement 1 (excluding the parent system) settles whether the lift is independent of the parent system." }
Timeline
Job 2962 finished
· engine:compute-1
hypothesis note H-46173ef7
· engine:perturb
perturbation result for H-46173ef7 (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-46173ef7 (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
perturbation result for H-46173ef7 (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-46173ef7 (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-46173ef7 (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-46173ef7 (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 2962 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 2956 finished
· engine:compute-1
forward result for H-46173ef7 (forward vs bar {'min_bets': 150, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2956 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2952 finished
· engine:compute-1
H-46173ef7 Frozen → SHADOW vault skipped: last_raced_wide, last_beaten_lengths do not exist before the discovery zone; track it forward instead
· engine:orchestrator