Hypotheses · story · H-cf793824
Test-mechanism: the 7f+ wide-trip lift is larger after a big-field last run
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
- test-mechanism
- Created
- 17 Oct, 04:43
- 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-fba909ba (Rival: the 7f+ wide-trip lift is the story runners repackaged; test th) passed discovery: A/E 1.2 on 462 bets (p 0.044), same-race control 0.95. O-1403a720
- H-e6917785 (Test-mechanism: the wide-trip lift needs a last run with bends (7f+)) survived falsification: 5 of 6 attacks left it standing; it is frozen for its one vault query. O-ce53aa8c
- AskedIs the lift larger when the last run had a big field, where a wide horse must cover more extra ground round the bends? answered
- MechanismIn a big field, a horse racing wide is often three or four horses off the rail round every bend, so it covers several extra lengths. In a small field, wide usually means one off the rail.
- Why the market misses itThe comment just says 'wide' whatever the field size, and the beaten distance looks the same either way. Nothing in the form shows how much extra ground the horse covered.
- Predictedpositive, A/E 1.30 to 1.45 on 250+ bets, with the under-12-runner half below 1.2
- Falsified ifThe 12+ runner cut scores at or below 1.26, or last runs with fewer than 12 runners score as high.
- Rule sketch
Mechanism and rationale
In a big field, a horse racing wide is often three or four horses off the rail round every bend, so it covers several extra lengths. In a small field, wide usually means one off the rail.
The rule
race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size >= 12
Reads: race_type, last_raced_wide, last_position, last_beaten_lengths, sp_decimal, last_distance_yards, last_field_size
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 985e210dd0e2683a7bb7e58b90db07fda733afed54d35a6cf5f9d5b0573ee419
- Frozen
- 17 Oct, 04:48
- Nothing in the definition can change after this.
- Confounders
- Big fields are mostly handicaps, so the lift may be a handicap or rating effect, not a ground-loss effect. The handicap-only refinement and the small-field control check this.
- Big fields are more common on turf and in summer. The earlier 10f+ cut was 1.33 after 27 April 2026 and 0.90 before it, so seasonal or surface effects may explain the result.
- Big fields mean longer prices within the 14/1 cap. The sample may lean toward 8/1 to 14/1, where the market is less efficient whatever the story.
- IRE dependence: earlier wide-trip cuts were IRE-heavy (IRE 1.53 against GB 1.12). The GB-only refinement checks this.
- The cut overlaps heavily with the frozen 7f+ ≤14/1 rule (1.259 on 643) and the H-244b221b sharpen, so it is not independent evidence.
- Field size at 12+ may stand for bigger, more competitive races and higher class, not the extra lengths covered.
- Control
{ "description": "Other runners in the same races should be at about par (roughly 0.93 to 1.0, as in the earlier 7f+ cuts at 0.94 to 0.95). That shows the lift belongs to the selected horses and not to the races. The key mechanism control is the same rule restricted to small-field last runs (under 12 runners). If extra ground covered drives the effect, that half should score clearly lower than the 12+ cut, below 1.2. If it scores as high or higher, field size is not the mechanism.", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size < 12" }
Discovery result
pass broad rule · 17 Oct, 04:47
- Bets
- 227
- 52 winners
- A/E
- 1.35
- 95%: 1.01 to 1.77
- SP return
- +16.3%
- level stakes
- Betfair SP return
- +41.6%
- 226 bets with a BSP
Strike rate 22.9%. p = 0.021. Same-race control: the other runners in these races had A/E 0.92, 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. 4 of 5 survived.
- control: Control: big-field 7f+ narrow defeat WITHOUT the wide tripfail
3,586 bets · A/E 0.99 (0.91 to 1.07) · control 1.00 · 17 Oct, 04:48
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271,2330.94after 2026-04-272,3531.01Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Perturb field-size cut down to 10+ runnerspass
387 bets · A/E 1.23 (0.97 to 1.52) · control 0.95 · 17 Oct, 04:48
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.05, 'max_p': 0.2}info
0 bets · · 17 Oct, 04:49
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
293 bets · A/E 1.35 (1.06 to 1.71) · control 0.92 · 17 Oct, 04:49
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271141.27after 2026-04-271791.41Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
169 bets · A/E 1.32 (0.93 to 1.83) · control 0.94 · 17 Oct, 04:49
Breakdown
Lineage
Agent runs
designer v1ok · 25s · 17 Oct, 04:43
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 AND last_distance_yards >= 1540 AND last_field_size >= 12", "refinements": [ { "label": "Dose-response: 14+ runners last time", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size >= 14" }, { "label": "Handicaps only (big fields are mostly handicaps)", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size >= 12 AND is_handicap = 1" }, { "label": "GB only (checks IRE dependence)", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size >= 12 AND region = 'GB'" } ], "control": { "description": "Other runners in the same races should be at about par (roughly 0.93 to 1.0, as in the earlier 7f+ cuts at 0.94 to 0.95). That shows the lift belongs to the selected horses and not to the races. The key mechanism control is the same rule restricted to small-field last runs (under 12 runners). If extra ground covered drives the effect, that half should score clearly lower than the 12+ cut, below 1.2. If it scores as high or higher, field size is not the mechanism.", "rule": "race_type = 'Flat' AND last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND sp_decimal <= 15 AND last_distance_yards >= 1540 AND last_field_size < 12" }, "pass_criteria": { "min_bets": 200, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Big fields are mostly handicaps, so the lift may be a handicap or rating effect, not a ground-loss effect. The handicap-only refinement and the small-field control check this.", "Big fields are more common on turf and in summer. The earlier 10f+ cut was 1.33 after 27 April 2026 and 0.90 before it, so seasonal or surface effects may explain the result.", "Big fields mean longer prices within the 14/1 cap. The sample may lean toward 8/1 to 14/1, where the market is less efficient whatever the story.", "IRE dependence: earlier wide-trip cuts were IRE-heavy (IRE 1.53 against GB 1.12). The GB-only refinement checks this.", "The cut overlaps heavily with the frozen 7f+ ≤14/1 rule (1.259 on 643) and the H-244b221b sharpen, so it is not independent evidence.", "Field size at 12+ may stand for bigger, more competitive races and higher class, not the extra lengths covered." ], "mechanism": "On a round-course Flat trip (7f+), a horse 'raced wide' in a big field (12+) is usually three or four off the rail round every bend, so it covers several lengths more than the winner. In a small field, 'wide' usually means one off the rail and costs little. A narrow defeat (≤5 lengths) after a big-field wide trip therefore hides more ability than the same defeat after a small-field wide trip. The lift should grow with the field size of the last run.", "market_miss": "The form comment says 'wide' whatever the field size, and the beaten distance looks the same either way. Nothing in the standard form shows how much extra ground was covered. Bettors and odds-setters treat every 'wide' excuse alike, so they underrate the big-field cases where the excuse was worth several lengths.", "prediction": { "direction": "positive", "size": "A/E 1.30 to 1.45 on 250+ bets for the 12+ runner cut, with the under-12 control below 1.2", "falsified_if": "The 12+ runner cut scores A/E at or below 1.26 (no better than the parent 7f+ cut), or the under-12-runner control scores as high as the 12+ cut." }, "notes": "The rule is the investigator's sketch unchanged. Every column is pre-off and describes the last run, and sp_decimal <= 15 is the 14/1 cap. I set discovery stricter than the floor (200 bets, A/E 1.10) because the prediction is 250+ bets at 1.30+. The real test of the mechanism is the comparison with the parent 1.259 and the small-field control, not just passing the floor. Read forward results with the seasonal and turf finding in mind." }
Timeline
Job 3067 finished
· engine:compute-1
hypothesis note H-cf793824
· engine:perturb
perturbation result for H-cf793824 (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-cf793824 (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
perturbation result for H-cf793824 (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-cf793824 (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-cf793824 (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-cf793824 (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 3067 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 3060 finished
· engine:compute-1
forward result for H-cf793824 (forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 3060 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 3056 finished
· engine:compute-1
H-cf793824 Frozen → SHADOW vault skipped: last_raced_wide, last_beaten_lengths do not exist before the discovery zone; track it forward instead
· engine:orchestrator