Hypotheses · story · H-3cac18e4
Rival complement: wide-trip narrow Flat defeats without the early-setback-and-recovery story
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
- 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-4af9a09d (Rival: any narrow Flat defeat after racing wide, without the early-set) survived falsification: 4 of 5 attacks left it standing; it is frozen for its one vault query. O-0ca066fd
- H-244b221b (Sharpen: wide early and recovered from a big field last time, where th) passed discovery as a niche: A/E 1.3 on 75 bets (p 0.191), same-race control 0.94. O-c10b84b5
- 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 lift carried by the wide trip plus a narrow defeat, or does it need the early-setback and recovery flags too? answered
- MechanismAny wide trip on the Flat adds ground on the bends. A horse beaten narrowly while covering extra ground ran better than its beaten distance shows, whether or not the comment also records an early setback and a recovery.
- Why the market misses itPunters and the form book price on beaten lengths and finishing position. The 'raced wide' note sits in the comment and is not converted into lengths, so the horse's true performance is understated.
- Predictedpositive, A/E 1.08 to 1.18 on about 800 bets
- Falsified ifA/E at or below 1.03 on 700+ bets, or no better than its same-race control. That would mean the broad rule's lift comes from the parent's runners and the flags are what matter.
Mechanism and rationale
Any wide trip on the Flat adds ground on the bends. A horse beaten narrowly while covering extra ground ran better than its beaten distance shows, whether or not the comment also records an early setback and a recovery.
The rule
race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5 AND (last_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0)
Reads: race_type, last_raced_wide, last_position, last_beaten_lengths, last_early_setback, last_recovered
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- f7fcbf75d2446f99dfc9b6c685eb1641f1adb283aee02deebe2af39f4420ca9a
- Frozen
- 17 Oct, 04:31
- Nothing in the definition can change after this.
- Confounders
- Longshot band carrying the lift: the broad wide-trip rule scored 1.945 at 16/1+ from only 11 wins, so a lift that disappears at 14/1 or shorter is a price effect, not ground loss
- IRE-heavy contribution: lifts in this family have tended to lean on IRE
- Differences in how GB and IRE comments are written: 'raced wide' may be recorded at different rates or for different reasons in each region
- Field size and draw: wide trips are more common from wide draws in big fields, which may carry their own pricing bias
- Overlap with the parent system: this rule leaves out every early-setback-and-recovered runner, so any remaining lift cannot come from the parent's runners
- Narrow defeat alone: runners beaten within 5 lengths may be underrated whether or not they raced wide (tested by the not-wide control)
- Control
{ "description": "Same-race other runners should score about 1.0 (the broad wide-trip rule's control was 0.96); the selection must beat them clearly. A second control isolates the wide-trip note itself: Flat runners beaten narrowly (2nd or worse, within 5 lengths) last time who were NOT noted as racing wide. If those score as high as the selection, the lift belongs to narrow defeats in general, not to the wide trip, and the hypothesis fails.", "rule": "race_type = 'Flat' AND last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5" }
Discovery result
pass broad rule · 17 Oct, 04:29
- Bets
- 786
- 131 winners
- A/E
- 1.16
- 95%: 0.97 to 1.38
- SP return
- +15.2%
- level stakes
- Betfair SP return
- +54.7%
- 786 bets with a BSP
Strike rate 16.7%. p = 0.050. 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.
- perturbation: Tighter narrow-defeat cut: beaten 4 lengths or lesspass
622 bets · A/E 1.17 (0.96 to 1.41) · control 0.97 · 17 Oct, 04:31
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272691.08after 2026-04-273531.23Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Looser narrow-defeat cut: beaten 6 lengths or lesspass
947 bets · A/E 1.19 (1.01 to 1.40) · control 0.96 · 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': 100, '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
993 bets · A/E 1.15 (0.98 to 1.33) · control 0.97 · 17 Oct, 04:31
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-274171.14after 2026-04-275761.15Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
601 bets · A/E 1.27 (1.03 to 1.55) · control 0.96 · 17 Oct, 04:31
Breakdown
Lineage
Agent runs
designer v1ok · 35s · 17 Oct, 04:26
Output (schema-checked)
{ "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5 AND (last_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0)", "refinements": [ { "label": "14/1 or shorter (longshot confounder)", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5 AND (last_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0) AND sp_decimal <= 15" }, { "label": "GB only (IRE-heavy / comment-writing confounder)", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5 AND (last_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0) AND region = 'GB'" } ], "control": { "description": "Same-race other runners should score about 1.0 (the broad wide-trip rule's control was 0.96); the selection must beat them clearly. A second control isolates the wide-trip note itself: Flat runners beaten narrowly (2nd or worse, within 5 lengths) last time who were NOT noted as racing wide. If those score as high as the selection, the lift belongs to narrow defeats in general, not to the wide trip, and the hypothesis fails.", "rule": "race_type = 'Flat' AND last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths IS NOT NULL AND last_beaten_lengths <= 5" }, "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": [ "Longshot band carrying the lift: the broad wide-trip rule scored 1.945 at 16/1+ from only 11 wins, so a lift that disappears at 14/1 or shorter is a price effect, not ground loss", "IRE-heavy contribution: lifts in this family have tended to lean on IRE", "Differences in how GB and IRE comments are written: 'raced wide' may be recorded at different rates or for different reasons in each region", "Field size and draw: wide trips are more common from wide draws in big fields, which may carry their own pricing bias", "Overlap with the parent system: this rule leaves out every early-setback-and-recovered runner, so any remaining lift cannot come from the parent's runners", "Narrow defeat alone: runners beaten within 5 lengths may be underrated whether or not they raced wide (tested by the not-wide control)" ], "mechanism": "On the Flat, racing wide adds ground on every bend. A horse beaten 5 lengths or less after covering extra ground ran better than its beaten distance shows. This should hold for any wide trip, not only when the comment also records an early setback and a recovery.", "market_miss": "Punters and the form book price on beaten lengths and finishing position. The 'raced wide' note sits in the in-running comment and is never turned into lengths, so the horse's true performance is understated. The early-setback-and-recovery comment is more vivid and may get noticed, while a plain 'raced wide' note is easier to miss.", "prediction": { "direction": "positive", "size": "A/E 1.08 to 1.18 on about 800 bets", "falsified_if": "Falsified if A/E is 1.03 or lower on 700+ bets, or no better than the same-race control or the not-wide narrow-defeat control. Either result means the broad rule's lift came from the parent's runners and the setback and recovery flags are what matter." }, "notes": "The rule is the broad Flat wide-trip rule (1.204 on 1119) with the parent system's runners taken out. It drops every runner with early_setback = 1 AND recovered = 1, whatever its slow_start value, so no parent-style runner can remain. NULL flags are handled explicitly so runners whose flags are missing are not dropped silently. min_bets is raised to 300 because the predicted sample is about 800. Refinements come only from the stated confounders: the price cap and GB only." }
Timeline
Job 2961 finished
· engine:compute-1
hypothesis note H-3cac18e4
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: drop: last_raced_wide = 1): pass
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: drop: race_type = 'Flat'): pass
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-3cac18e4 (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 2961 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 2955 finished
· engine:compute-1
forward result for H-3cac18e4 (forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2955 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2951 finished
· engine:compute-1
H-3cac18e4 Frozen → SHADOW vault skipped: last_raced_wide, last_beaten_lengths, last_early_setback, last_recovered do not exist before the discovery zone; track it forward instead
· engine:orchestrator