Hypotheses · story · H-e6917785
Test-mechanism: the wide-trip lift needs a last run with bends (7f+)
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:32
- 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-46173ef7 (Rival: the broad wide-trip lift is a longshot artefact; test it at 14/) passed discovery: A/E 1.18 on 915 bets (p 0.015), same-race control 0.96. O-2af9c9fd
- H-46173ef7 (Rival: the broad wide-trip lift is a longshot artefact; test it at 14/) survived falsification: 5 of 5 attacks left it standing; it is frozen for its one vault query. O-8f3580d6
- AskedIs the wide-trip lift confined to last runs over trips with bends (7f+), where racing wide really costs ground, rather than straight sprints where 'wide' just means the far side? answered
- MechanismGround lost from racing wide comes from running a wider arc on bends. Over 7f and further, most races include at least one turn. Most 5f to 6f races are on straight courses, where 'wide' just means which side of the track the horse raced on.
- Why the market misses itThe comment flags 'raced wide' the same way at every trip, and the result hides the extra distance only on round courses. If the trip effect is real, the price should miss more there.
- Predictedpositive, A/E 1.18 to 1.30 on about 600 bets at ≤14/1, above the sprint remainder
- Falsified ifA/E at or below the broad ≤14/1 rule's 1.178, or sprint last runs (under 1540 yards) scoring as high or higher.
Mechanism and rationale
Ground lost from racing wide comes from running a wider arc on bends. Over 7f and further, most races include at least one turn. Most 5f to 6f races are on straight courses, where 'wide' just means which side of the track the horse raced on.
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
Reads: race_type, last_raced_wide, last_position, last_beaten_lengths, sp_decimal, last_distance_yards
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- eb78a934cb5bf238367bcd70ddeec5038fba1b97d8fccc3f7d90485e2a3bc79c
- Frozen
- 17 Oct, 04:41
- Nothing in the definition can change after this.
- Confounders
- Straight-course races of 7f to 1m (Newmarket Rowley/July, Ascot, York, Doncaster, Newbury straight mile) are counted as 'bend' runs, which dilutes the mechanism. Some 5f to 6f races at sharp round tracks (Chester, Epsom, Wolverhampton, Chelmsford, Lingfield AW) have bends but sit in the sprint control.
- Distance is tied to race class, handicap share, field size and all-weather share, so a trip split can stand in for any of these. The handicap refinement checks part of this.
- The trip can change since the last run: a 7f+ last run followed by a sprint today, or the other way round. The today-7f+ refinement checks this.
- Overlap with the frozen broad wide-trip rules: this is a subset of the broad ≤14/1 rule (1.178 on 915) and is not independent evidence for the wide-trip lift. Its only new content is the contrast between trips.
- Comment-writer bias: 'raced wide' may be written more freely on round courses, so the flag means different things in the two groups.
- Control
{ "description": "Two comparisons. (1) The other runners in the same races should score about 0.95 to 1.0 (the broad rule's same-race control was 0.96); if they score as high as the selections, the lift is a race property, not the wide trip. (2) The sprint remainder: the same rule with the last run under 7f (last_distance_yards < 1540). The mechanism needs this group to score clearly below the 7f+ rule, ideally near 1.0. If it scores as high or higher, the bends mechanism is falsified even if the main rule passes.", "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" }
Discovery result
pass broad rule · 17 Oct, 04:36
- Bets
- 643
- 147 winners
- A/E
- 1.26
- 95%: 1.06 to 1.48
- SP return
- +8.8%
- level stakes
- Betfair SP return
- +28.5%
- 642 bets with a BSP
Strike rate 22.9%. p = 0.0039. Same-race control: the other runners in these races had A/E 0.94, 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.
- control: Control: same 7f+ close defeat but NOT raced widepass
11,617 bets · A/E 1.00 (0.96 to 1.05) · control 0.99 · 17 Oct, 04:41
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-273,9330.99after 2026-04-277,6841.01Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - control: Control: sprint remainder (last run under 7f)fail
272 bets · A/E 0.96 (0.70 to 1.30) · control 1.01 · 17 Oct, 04:41
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.05, 'max_p': 0.2}info
0 bets · · 17 Oct, 04:41
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
865 bets · A/E 1.17 (1.01 to 1.35) · control 0.95 · 17 Oct, 04:41
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-273711.13after 2026-04-274941.20Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 1 -> 2 (+20%)pass
457 bets · A/E 1.32 (1.07 to 1.60) · control 0.93 · 17 Oct, 04:41
Breakdown
Lineage
Agent runs
designer v1ok · 34s · 17 Oct, 04:32
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", "refinements": [ { "label": "today also 7f+ (removes trip-change confound)", "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 distance_yards >= 1540" }, { "label": "handicaps only (separates trip from class/field-size mix)", "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 is_handicap = 1" } ], "control": { "description": "Two comparisons. (1) The other runners in the same races should score about 0.95 to 1.0 (the broad rule's same-race control was 0.96); if they score as high as the selections, the lift is a race property, not the wide trip. (2) The sprint remainder: the same rule with the last run under 7f (last_distance_yards < 1540). The mechanism needs this group to score clearly below the 7f+ rule, ideally near 1.0. If it scores as high or higher, the bends mechanism is falsified even if the main rule passes.", "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" }, "pass_criteria": { "min_bets": 300, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Straight-course races of 7f to 1m (Newmarket Rowley/July, Ascot, York, Doncaster, Newbury straight mile) are counted as 'bend' runs, which dilutes the mechanism. Some 5f to 6f races at sharp round tracks (Chester, Epsom, Wolverhampton, Chelmsford, Lingfield AW) have bends but sit in the sprint control.", "Distance is tied to race class, handicap share, field size and all-weather share, so a trip split can stand in for any of these. The handicap refinement checks part of this.", "The trip can change since the last run: a 7f+ last run followed by a sprint today, or the other way round. The today-7f+ refinement checks this.", "Overlap with the frozen broad wide-trip rules: this is a subset of the broad ≤14/1 rule (1.178 on 915) and is not independent evidence for the wide-trip lift. Its only new content is the contrast between trips.", "Comment-writer bias: 'raced wide' may be written more freely on round courses, so the flag means different things in the two groups." ], "mechanism": "Racing wide costs real ground only on bends: the horse runs a wider arc. Over 7f and further, most Flat races include at least one turn. Most 5f to 6f races are on straight courses, where 'raced wide' only says which part of the track the horse used and costs no distance. A narrow defeat (2nd or worse, beaten 5 lengths or less) after a wide trip round turns therefore understates the horse's ability more than the same defeat in a sprint. If so, the lift in the broad ≤14/1 wide-trip rule should sit in the 7f+ last runs.", "market_miss": "The form book and the market read 'raced wide' the same way at every trip, and the beaten distance hides the extra ground covered. The hidden excuse is large only on round courses, so the market's underestimate, and the edge, should be bigger after 7f+ last runs than after sprints.", "prediction": { "direction": "positive", "size": "A/E about 1.18 to 1.30 on roughly 550 to 650 bets at 14/1 or shorter, with the sprint remainder (under 1540 yards) clearly lower, near 1.0 to 1.1", "falsified_if": "A/E at or below 1.178 (the broad ≤14/1 rule), so the 7f+ restriction adds nothing, or the sprint-remainder control scores as high as the 7f+ rule or higher." }, "notes": "The draft rule is kept unchanged: every column is pre_off, and sp_decimal <= 15 is 14/1 or shorter. last_distance_yards >= 1540 is 7f, so rows with no last distance drop out. Pass criteria are stricter than the floor (300 bets, A/E 1.10) because about 600 bets are expected and the rule is a subset of an already-frozen rule; a weak lift would only repeat the parent. The real test is the contrast with the sprint control. A track-sharpness refinement was considered and left out because the values of last_track_character/sharpness have not been checked." }
Timeline
Job 3010 finished
· engine:compute-1
forward result for H-e6917785 (forward vs bar {'min_bets': 150, 'min_ae': 1.05, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 3010 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2978 finished
· engine:compute-1
hypothesis note H-e6917785
· engine:perturb
perturbation result for H-e6917785 (neighbour: <= 15 -> 18 (+20%)): pass
· engine:perturb
perturbation result for H-e6917785 (neighbour: <= 15 -> 12 (-20%)): pass
· engine:perturb
perturbation result for H-e6917785 (neighbour: <= 5 -> 6 (+20%)): pass
· engine:perturb
perturbation result for H-e6917785 (neighbour: <= 5 -> 4 (-20%)): pass
· engine:perturb
perturbation result for H-e6917785 (neighbour: > 1 -> 2 (+20%)): pass
· engine:perturb
perturbation result for H-e6917785 (neighbour: > 1 -> 0 (-20%)): pass
· engine:perturb
compute-1 took job 2978 (mutate, attempt 1)
· compute-1
Job 3005 finished
· engine:compute-1
H-e6917785 Frozen → SHADOW vault skipped: last_raced_wide, last_beaten_lengths do not exist before the discovery zone; track it forward instead
· engine:orchestrator
compute-1 took job 3005 (vault, attempt 1)
· compute-1
Job 2998 finished
· engine:compute-1