Hypotheses · overlay · H-5ef5773d
Wide trip in a small field last time should pay less if lost ground is the cause
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “IQ140a: wide trip with figures” 21 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- test-mechanism
- Created
- 16 Oct, 12:31
- 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-edbf6921 (Wide trip in a big field last time loses more ground, so pays more) passed discovery: A/E 1.23 on 621 bets (p 0.02), same-race control 0.96. O-242bf049
- H-1eed6021 (Like-for-like: ground-on-bends test inside the full parent base (sharp) passed discovery: A/E 1.21 on 571 bets (p 0.033), same-race control 0.96. O-e8696ab5
- AskedDoes the wide-trip edge grow with last time's field size, where a wide trip usually means being forced further out and losing more ground? answered
- MechanismIn small fields a horse marked wide is seldom more than one off the rail, so it loses little ground. If lost ground drives the edge, small-field wide runners should be undersold least.
- Why the market misses itThe race comment says 'wide' whatever the field size. If small-field wide runners still pay as much, the edge comes from the comment itself, not from distance covered.
- Predictedpositive, A/E 1.00 to 1.10 on 250+ bets, clearly below the 1.23 for big fields
- Falsified ifA/E 1.20 or higher, matching the big-field figure; field size then does not matter and lost ground is not the cause
- Rule sketch
Mechanism and rationale
In small fields a horse marked wide is seldom more than one off the rail, so it loses little ground. If lost ground drives the edge, small-field wide runners should be undersold least.
The rule
last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size <= 8
Reads: last_raced_wide, last_position, last_beaten_lengths, last_slow_start, last_field_size
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 9faed88b18731dd5628af30f8bf4d9022018ac61d98d49d1a7790f38892d20f2
- Frozen
- 16 Oct, 12:43
- Nothing in the definition can change after this.
- Confounders
- Small fields cluster in winter all-weather racing and in better-class races, so a field-size difference could be a code or class difference. Check the result within Flat turf, AW and jumps.
- Fewer runners means shorter prices and a thin longshot band. The 16/1+ band inflated earlier wide-trip results, so compare at 14/1 or shorter.
- Irish small fields come from a few tracks, so look at GB and IRE separately.
- Last time's field size is correlated with today's field size, which changes base win rates. A/E corrects for price, but not for any field-size bias in the market.
- In small fields the 'wide' comment may be used less often or for other reasons (e.g. chosen to avoid kickback), so the tag's meaning can shift with field size.
- Control
{ "description": "Same-race other runners should score about 0.95 A/E, as in every earlier wide-trip test. The key comparison is the same wide-trip base whose last run came in a big field (12+ runners), expected about 1.23 as in the earlier big-field finding. Lost ground is supported only if the small-field A/E sits clearly below the big-field A/E when both are measured the same way, ideally also with both capped at 14/1.", "rule": "last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size >= 12" }
Discovery result
pass broad rule · 16 Oct, 12:35
- Bets
- 349
- 79 winners
- A/E
- 1.39
- 95%: 1.10 to 1.73
- SP return
- +54.5%
- level stakes
- Betfair SP return
- +117.6%
- 348 bets with a BSP
Strike rate 22.6%. p = 0.0033. 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. 5 of 6 survived.
- perturbation: Perturb field-size and beaten-lengths cut-offs (<=7 runners, <=4 lengths)pass
180 bets · A/E 1.50 (1.11 to 1.99) · control 0.88 · 16 Oct, 12:43
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27861.36after 2026-04-27941.64Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Loosen field-size cut-off to 10 runners, lengths to 6pass
794 bets · A/E 1.33 (1.13 to 1.56) · control 0.94 · 16 Oct, 12:43
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 · · 16 Oct, 12:43
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
527 bets · A/E 1.28 (1.06 to 1.53) · control 0.94 · 16 Oct, 12:56
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272561.23after 2026-04-272711.34Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
213 bets · A/E 1.51 (1.09 to 2.03) · control 0.92 · 16 Oct, 12:56
Breakdown
Lineage
Agent runs
designer v1ok · 28s · 16 Oct, 12:31
Output (schema-checked)
{ "rule": "last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size <= 8", "refinements": [ { "label": "price capped at 14/1 or shorter", "rule": "last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size <= 8 AND sp_decimal <= 15" }, { "label": "very small field last time (6 or fewer), strongest dose of the mechanism", "rule": "last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size <= 6" } ], "control": { "description": "Same-race other runners should score about 0.95 A/E, as in every earlier wide-trip test. The key comparison is the same wide-trip base whose last run came in a big field (12+ runners), expected about 1.23 as in the earlier big-field finding. Lost ground is supported only if the small-field A/E sits clearly below the big-field A/E when both are measured the same way, ideally also with both capped at 14/1.", "rule": "last_raced_wide = 1 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND last_field_size >= 12" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Small fields cluster in winter all-weather racing and in better-class races, so a field-size difference could be a code or class difference. Check the result within Flat turf, AW and jumps.", "Fewer runners means shorter prices and a thin longshot band. The 16/1+ band inflated earlier wide-trip results, so compare at 14/1 or shorter.", "Irish small fields come from a few tracks, so look at GB and IRE separately.", "Last time's field size is correlated with today's field size, which changes base win rates. A/E corrects for price, but not for any field-size bias in the market.", "In small fields the 'wide' comment may be used less often or for other reasons (e.g. chosen to avoid kickback), so the tag's meaning can shift with field size." ], "mechanism": "If the wide-trip edge comes from ground physically lost on bends, the edge should scale with how far out the horse was. In fields of 8 or fewer, a horse marked wide is usually only one or two off the rail and loses little ground, so its last-run form understates its ability only slightly. Its edge should therefore be clearly smaller than the 1.21–1.27 seen in the full and big-field bases.", "market_miss": "Bettors and form readers see 'wide' in the comment and discount it in the same way whatever the field size, or ignore it. If small-field wide runners still score about 1.2, the edge comes from the comment flag itself (or something tied to it), not from distance covered. If they score about 1.0–1.1, the market is missing actual lost ground, which matters most in big fields.", "prediction": { "direction": "positive", "size": "A/E 1.00 to 1.10 on 250+ bets, clearly below the ~1.23 for big fields (12+) measured in the same way", "falsified_if": "A small-field A/E of 1.20 or more, or within about 0.05 of the big-field control at 14/1 or shorter, would mean field size does not matter and lost ground is not the cause." }, "notes": "This is a mechanism test. The prediction is a weak positive, so the most likely good outcome for the lost-ground story is a FAIL on the A/E 1.05 floor with the big-field control higher. A pass at about 1.2 counts against the bends mechanism even though the rule clears discovery. Judge it on A/E at 14/1 or shorter, not on BSP ROI (see the method finding about 16/1+ inflation). last_field_size is a pre-off column describing the previous race." }
Timeline
Job 1475 finished
· engine:compute-1
hypothesis note H-5ef5773d
· engine:perturb
perturbation result for H-5ef5773d (neighbour: <= 8 -> 10 (+20%)): pass
· engine:perturb
perturbation result for H-5ef5773d (neighbour: <= 8 -> 6 (-20%)): pass
· engine:perturb
perturbation result for H-5ef5773d (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-5ef5773d (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-5ef5773d (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-5ef5773d (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 1475 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 1427 finished
· engine:compute-1
forward result for H-5ef5773d (forward vs bar {'min_bets': 100, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 1427 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 1424 finished
· engine:compute-1
H-5ef5773d Frozen → SHADOW vault skipped: last_raced_wide, last_beaten_lengths, last_slow_start do not exist before the discovery zone; track it forward instead
· engine:orchestrator