Hypotheses · overlay · H-15a788a1
Rival: close-beaten drifters pay without the wide tag
fails: A/E 1.009, needs 1.05; p 0.4107, needs 0.05 or lower; periods [0.97, 1.03], each needs 1.0; A/E 1.009 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 1.009 below 1.05; does not beat the same-race control 0.999)
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
- rival-explanation
- Created
- 16 Oct, 12:59
- Tests logged
- 1
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-c869bcd0 (Wide trip and the price drifted since last time: the market marked the) passed discovery: A/E 1.47 on 260 bets (p 0.009), same-race control 0.94. O-8e95e697
- H-c869bcd0 (Wide trip and the price drifted since last time: the market marked the) survived falsification: 6 of 6 attacks left it standing; it is frozen for its one vault query. O-a6496079
- AskedIs the drift lift specific to the wide tag, or do all close-beaten runners whose price drifted since last time beat their SP? testing
- MechanismPunters and layers may overreact to any price drift after a close defeat, reading it as stable confidence gone or a negative signal, whatever the run comment says. Then the wide tag only adds runners to a general drift effect.
- Why the market misses itA drift reads as negative information, but a horse beaten under five lengths after a clean start has shown ability the drift ignores.
- Predictedpositive, A/E 1.10 to 1.20 on 1500+ bets at 15.0 SP or shorter
- Falsified ifA/E 1.03 or lower. The drift edge would then need the wide tag, which supports the reading-the-wide-run mechanism.
- Rule sketch
Mechanism and rationale
Punters and layers may overreact to any price drift after a close defeat, reading it as stable confidence gone or a negative signal, whatever the run comment says. Then the wide tag only adds runners to a general drift effect.
The rule
last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal * 1.2
Reads: last_raced_wide, last_position, last_beaten_lengths, last_slow_start, sp_decimal, last_sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 7b2e84e37e8512a24afbe84d32e27372cd1480ee0ef84b27048f7400c2a52621
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Going change drives many drifts: the wide-tag drift lift fell to 1.245 where going was unchanged (refinement 1 checks this)
- Class rises lengthen prices and may hide better form than the price suggests
- Bigger fields today lengthen prices on their own (refinement 3 checks this)
- Favourite-longshot bias near the 15.0 cap: drifters cluster at longer prices
- Post-April 2026 period lift seen in several overlay subsets; check stability across periods
- Close-beaten form alone may be underpriced whether or not the price drifted (the control checks this)
- last_sp_decimal comes from a different race and field, so a drift partly reflects field strength and not market opinion
- Control
{ "description": "Same-race other runners should be near A/E 1.0 (about 0.95 to 1.0). The key comparison is the same close-beaten, clean-start, not-wide runners at 15.0 or shorter whose price did not drift (shortened or steady). If drifters beat this group, drift itself carries the edge; if both groups score alike, the result just reflects close-beaten form. Compare also against the recorded wide-tag drift subset (1.47 on 260): a non-wide drift A/E well below that means the wide tag is needed.", "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal <= last_sp_decimal" }
Discovery result
fail broad rule · 16 Oct, 13:07
- Bets
- 6,259
- 733 winners
- A/E
- 1.01
- 95%: 0.94 to 1.08
- SP return
- -16.8%
- level stakes
- Betfair SP return
- +1.2%
- 6,222 bets with a BSP
Strike rate 11.7%. p = 0.41. Same-race control: the other runners in these races had A/E 1.00, so the selection beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
By period
Falsification
No attacks yet. Only promising ideas are attacked.
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
No forward record. Shadow tracking starts after the vault and counts only races run after the freeze.
Lineage
Agent runs
designer v1ok · 30s · 16 Oct, 12:59
Output (schema-checked)
{ "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal * 1.2", "refinements": [ { "label": "same going as last time", "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal * 1.2 AND going_group = last_going_group" }, { "label": "drift over 40%", "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal * 1.4" }, { "label": "field no bigger than last time", "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal > last_sp_decimal * 1.2 AND field_size <= last_field_size" } ], "control": { "description": "Same-race other runners should be near A/E 1.0 (about 0.95 to 1.0). The key comparison is the same close-beaten, clean-start, not-wide runners at 15.0 or shorter whose price did not drift (shortened or steady). If drifters beat this group, drift itself carries the edge; if both groups score alike, the result just reflects close-beaten form. Compare also against the recorded wide-tag drift subset (1.47 on 260): a non-wide drift A/E well below that means the wide tag is needed.", "rule": "last_raced_wide = 0 AND last_position > 1 AND last_beaten_lengths <= 5 AND last_slow_start = 0 AND sp_decimal <= 15 AND last_sp_decimal IS NOT NULL AND sp_decimal <= last_sp_decimal" }, "pass_criteria": { "min_bets": 300, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Going change drives many drifts: the wide-tag drift lift fell to 1.245 where going was unchanged (refinement 1 checks this)", "Class rises lengthen prices and may hide better form than the price suggests", "Bigger fields today lengthen prices on their own (refinement 3 checks this)", "Favourite-longshot bias near the 15.0 cap: drifters cluster at longer prices", "Post-April 2026 period lift seen in several overlay subsets; check stability across periods", "Close-beaten form alone may be underpriced whether or not the price drifted (the control checks this)", "last_sp_decimal comes from a different race and field, so a drift partly reflects field strength and not market opinion" ], "mechanism": "After a close defeat (beaten 5 lengths or less, clean start), a price that lengthens by more than 20% may be read by punters and layers as a negative signal: lost stable confidence or bad news. The horse's shown ability has not gone away. If this overreaction applies to any drift, close-beaten drifters with no wide tag should also beat their SP, and the wide tag only adds runners to a general drift effect.", "market_miss": "The market reads a drift as information and prices it in again on top of the form. A horse beaten under five lengths after a clean start has recent evidence of ability that the drift ignores, especially when the drift comes from context (going, field, class) and not from the horse.", "prediction": { "direction": "positive", "size": "A/E 1.10 to 1.20 on 1500+ bets at 15.0 SP or shorter", "falsified_if": "A/E 1.03 or lower on the broad rule, or no better than the non-drifting control. Either result means the drift edge needs the wide tag, which supports the reading-the-wide-run mechanism." }, "notes": "The rule sketch is kept, with last_sp_decimal IS NOT NULL made explicit. There is no class-rise refinement because race_class for IRE only starts in 2026-07, so it would quietly drop most Irish runners. The minimum bet count is raised to 300 because the predicted sample is large and the predicted effect is modest." }
Timeline
Job 1522 finished
· engine:compute-1
H-15a788a1 Discovery → KILLED fails: A/E 1.009, needs 1.05; p 0.4107, needs 0.05 or lower; periods [0.97, 1.03], each needs 1.0; A/E 1.009 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 1.009 below 1.05; does not beat the same-race control 0.999)
· engine:evaluator
discovery result for H-15a788a1 (broad rule): fail
· engine:evaluator
H-15a788a1 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1522 (evaluate, attempt 1)
· compute-1
Job 1519 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-15a788a1 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1519 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-15a788a1: Rival: close-beaten drifters pay without the wide tag (rival-explanation)
· agent:investigator@v1
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Killed.