Hypotheses · story · H-fba909ba
Rival: the 7f+ wide-trip lift is the story runners repackaged; test the complement on round trips
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:39
- 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-e6917785 (Test-mechanism: the wide-trip lift needs a last run with bends (7f+)) passed discovery: A/E 1.26 on 643 bets (p 0.004), same-race control 0.94. O-6497b473
- H-8caad71f (Rival: the complement's lift is a longshot artefact; test it at 14/1 o) passed discovery as a niche: A/E 1.09 on 701 bets (p 0.173), same-race control 0.98. O-963e4154
- AskedOn 7f+ last runs at 14/1 or shorter, does a wide trip with a narrow defeat still beat the price once the early-setback-and-recovery story runners are removed? answered
- MechanismRacing wide round bends adds real distance whether or not the race comment records an early setback. A horse beaten 5 lengths or less after covering extra ground on turns ran better than the margin says.
- Why the market misses itThe form book shows a narrow defeat, which people read at face value. 'Raced wide' is a minor comment that is easy to skip, and it is not converted into lengths of ground lost on turns.
- Predictedpositive, A/E 1.12 to 1.22 on about 450 bets, GB above 1.08
- Falsified ifA/E at or below 1.04 on 350+ bets, GB at or below 1.02, or no better than the same-race control. That would mean the 7f+ lift is carried by the parent's story runners.
Mechanism and rationale
Racing wide round bends adds real distance whether or not the race comment records an early setback. A horse beaten 5 lengths or less after covering extra ground on turns ran better than the margin says.
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_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, sp_decimal, last_distance_yards, last_early_setback, last_recovered
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 882674927ef5268a45cb62fe371d97a497e88e29e4d8a89a2076e0fa38ab5adf
- Frozen
- 17 Oct, 04:47
- Nothing in the definition can change after this.
- Confounders
- IRE concentration: earlier wide-trip results were IRE-heavy, so the GB split must hold up on its own (GB above 1.02 at minimum)
- Overlap with the parent 7f+ system: this rule leaves out setback-plus-recovery runners, so whatever lift is left cannot come from them
- Course-specific draw biases: a wide trip from a bad draw at certain round courses may repeat when the draw is better, so the lift may cluster at a few tracks
- Field size: wide trips are more common, and cost more ground, in big fields, while big fields also change prices
- Longshot residue inside the 14/1 cap: check the lift does not rest on a handful of 10/1 to 14/1 winners
- Control
{ "description": "Same-race other runners should score about par (0.92 to 1.00, as the 7f+ parent's control did at 0.94). If they score near the selection, the lift is a race property (e.g. race type or course mix), not the wide trip. The key comparison is also against the parent 7f+ story-inclusive rule (1.259 on 643): if this complement falls to par, the 7f+ lift belongs to the early-setback-and-recovery runners. No separate control rule needed.", "rule": null }- Designer
designer@v1
Discovery result
pass broad rule · 17 Oct, 04:41
- Bets
- 462
- 98 winners
- A/E
- 1.20
- 95%: 0.97 to 1.46
- SP return
- +6.5%
- level stakes
- Betfair SP return
- +25.7%
- 462 bets with a BSP
Strike rate 21.2%. p = 0.044. Same-race control: the other runners in these races had A/E 0.95, 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. 6 of 6 survived.
- price_band: Price cap at 7/1: strip the 8/1-14/1 longshot residuepass
326 bets · A/E 1.15 (0.92 to 1.43) · control 0.95 · 17 Oct, 04:47
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-271441.13after 2026-04-271821.17Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - control: Control: same profile but did NOT race wide last timepass
11,027 bets · A/E 1.01 (0.96 to 1.05) · control 0.99 · 17 Oct, 04:47
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.03, '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
599 bets · A/E 1.14 (0.95 to 1.35) · control 0.96 · 17 Oct, 04:49
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-272631.18after 2026-04-273361.11Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
331 bets · A/E 1.32 (1.03 to 1.67) · control 0.94 · 17 Oct, 04:49
Breakdown
Lineage
Agent runs
designer v1ok · 29s · 17 Oct, 04:39
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_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0)", "refinements": [ { "label": "GB only", "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_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0) AND region = 'GB'" }, { "label": "Big last field (wide trips cost more ground in big fields)", "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_early_setback IS NULL OR last_early_setback = 0 OR last_recovered IS NULL OR last_recovered = 0) AND last_field_size >= 12" } ], "control": { "description": "Same-race other runners should score about par (0.92 to 1.00, as the 7f+ parent's control did at 0.94). If they score near the selection, the lift is a race property (e.g. race type or course mix), not the wide trip. The key comparison is also against the parent 7f+ story-inclusive rule (1.259 on 643): if this complement falls to par, the 7f+ lift belongs to the early-setback-and-recovery runners. No separate control rule needed.", "rule": null }, "pass_criteria": { "min_bets": 250, "min_ae": 1.07, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1.03, "max_p": 0.2 }, "confounders": [ "IRE concentration: earlier wide-trip results were IRE-heavy, so the GB split must hold up on its own (GB above 1.02 at minimum)", "Overlap with the parent 7f+ system: this rule leaves out setback-plus-recovery runners, so whatever lift is left cannot come from them", "Course-specific draw biases: a wide trip from a bad draw at certain round courses may repeat when the draw is better, so the lift may cluster at a few tracks", "Field size: wide trips are more common, and cost more ground, in big fields, while big fields also change prices", "Longshot residue inside the 14/1 cap: check the lift does not rest on a handful of 10/1 to 14/1 winners" ], "mechanism": "Running wide round bends adds real distance, whether or not the race comment also records an early setback. On 7f+ trips that include turns, a horse beaten 5 lengths or less after covering extra ground on the bends ran better than the margin shows. That hidden ability should carry into its next run.", "market_miss": "The form book shows a narrow defeat, and punters take it at face value. 'Raced wide' is a minor comment that is easy to skip, and without the vivid story of being checked and then recovering, nobody converts it into lengths of ground lost on turns. So the price reflects the margin, not the effort.", "prediction": { "direction": "positive", "size": "A/E 1.12 to 1.22 on about 450 bets, with GB above 1.08", "falsified_if": "Any of these falsifies it: A/E at or below 1.04 on 350+ bets; GB A/E at or below 1.02; or no better than the same-race control. That would mean the 7f+ wide-trip lift is carried by the parent's early-setback-and-recovery runners." }, "notes": "I kept the rule sketch unchanged. It uses only pre-off columns: sp_decimal <= 15 means 14/1 or shorter, and last_distance_yards >= 1540 means 7f or more. The null-safe exclusion removes exactly the story runners (setback = 1 AND recovered = 1). Each refinement is drawn from the stated confounders: GB because of the IRE dependence, and big last fields because of the field-size/ground-loss link." }
Timeline
Job 3066 finished
· engine:compute-1
hypothesis note H-fba909ba
· engine:perturb
perturbation result for H-fba909ba (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-fba909ba (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
perturbation result for H-fba909ba (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-fba909ba (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-fba909ba (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-fba909ba (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 3066 (mutate, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Job 3059 finished
· engine:compute-1
forward result for H-fba909ba (forward vs bar {'min_bets': 150, 'min_ae': 1.03, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 3059 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 3036 finished
· engine:compute-1
H-fba909ba 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