Hypotheses · letters · H-799d5af4
Rival: the unseated edge is only longshot drift; capped at 14/1 it matches the price
fails: A/E 1.021, needs 1.05; p 0.4601, needs 0.05 or lower; periods [1.12, 0.9], each needs 1.0; A/E 1.021 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 1.021 below 1.05; does not beat the same-race control 0.999; a period points the other way [1.12, 0.9])
Part of the thread “H98: brought down or unseated” 12 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 13:14
- 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
- H98-brought-down-or-unseated (H98: brought down or unseated) was GREEN in the earlier research: A/E 1.10 on 612 bets (periods 1.17 / 1.02); now PROMISING. O-9b549ef0
- AskedIs the brought-down/unseated edge only a 16/1+ longshot effect, and is it fading (1.17 then 1.02)? answered
- MechanismRunners coming off a non-finish drift to big prices. The A/E lift comes from the general underpricing of jump outsiders plus a handful of very big exchange winners, not from any misreading of the incident.
- Why the market misses itIf the rival is right, nothing is mispriced at sensible prices. The +140% BSP ROI against +16.6% SP ROI is a few outliers, and any real edge sits where the price is fair.
- Predictedpositive, Rival predicts A/E 0.97 to 1.03 on 350+ capped bets; the thread mechanism predicts 1.08 or more
- Falsified ifThe capped rule scores A/E 1.08 or more with both periods above 1.03, which would rule the longshot rival out
- Rule sketch
last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 15
Mechanism and rationale
Runners coming off a non-finish drift to big prices. The A/E lift comes from the general underpricing of jump outsiders plus a handful of very big exchange winners, not from any misreading of the incident.
The rule
last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 15Reads: last_non_finish_code, sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- e128da9757ade19f9fc2c0a4f430edea74a67ffd6e1b6b4c3a7fc8458923ce41
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Period decline: the pooled edge fell from 1.17 to 1.02, so a capped result has to be read by period, not pooled
- Race-type mix: almost all BD/UR runners are jumpers, so the control must be jump runners at matched prices
- Field size: big fields push prices out and change how many runners fall under the 15.0 cap
- Coding window: last_non_finish_code starts 2025-01-01 and last_code starts 2025-11-01, so this sample is wider than the original 612-bet one and periods won't line up exactly
- The BSP-vs-SP gap: a few outsized exchange winners carried the uncapped profit, so ROI must be judged on SP inside the cap
- UR (rider error) and BD (another horse's fault) may behave differently; pooling them can hide a split
- Control
{ "description": "Same-race rivals should score about 1.0 at matched prices. The main control is jump runners in the same 14/1-or-shorter band whose last run ended in a finish. They share the price band and race mix but had no incident, which separates any edge from the general pricing of capped jump runners. If the BD/UR group beats the price but this control also scores about 1.05 or more, the lift is a property of the price band and race type, not of the incident.", "rule": "last_position IS NOT NULL AND prior_runs >= 1 AND sp_decimal <= 15 AND race_type IN ('Hurdle', 'Chase')" }
Discovery result
fail broad rule · 16 Oct, 13:15
- Bets
- 312
- 49 winners
- A/E
- 1.02
- 95%: 0.76 to 1.35
- SP return
- -15.8%
- level stakes
- Betfair SP return
- +3.3%
- 311 bets with a BSP
Strike rate 15.7%. p = 0.46. 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 · 38s · 16 Oct, 13:15
Output (schema-checked)
{ "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 15", "refinements": [ { "label": "jumps only, capped", "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 15 AND race_type IN ('Hurdle', 'Chase')" }, { "label": "shorter-price band (7/1 or shorter)", "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 8" }, { "label": "capped, back within four weeks", "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal <= 15 AND days_since_last_run <= 28" } ], "control": { "description": "Same-race rivals should score about 1.0 at matched prices. The main control is jump runners in the same 14/1-or-shorter band whose last run ended in a finish. They share the price band and race mix but had no incident, which separates any edge from the general pricing of capped jump runners. If the BD/UR group beats the price but this control also scores about 1.05 or more, the lift is a property of the price band and race type, not of the incident.", "rule": "last_position IS NOT NULL AND prior_runs >= 1 AND sp_decimal <= 15 AND race_type IN ('Hurdle', 'Chase')" }, "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": [ "Period decline: the pooled edge fell from 1.17 to 1.02, so a capped result has to be read by period, not pooled", "Race-type mix: almost all BD/UR runners are jumpers, so the control must be jump runners at matched prices", "Field size: big fields push prices out and change how many runners fall under the 15.0 cap", "Coding window: last_non_finish_code starts 2025-01-01 and last_code starts 2025-11-01, so this sample is wider than the original 612-bet one and periods won't line up exactly", "The BSP-vs-SP gap: a few outsized exchange winners carried the uncapped profit, so ROI must be judged on SP inside the cap", "UR (rider error) and BD (another horse's fault) may behave differently; pooling them can hide a split" ], "mechanism": "Rival explanation: horses coming off an unseat or brought-down drift to big prices. Any A/E lift reflects the general underpricing of jump outsiders plus a handful of very big exchange winners, not a misreading of the incident. If so, capping at 14/1 (SP decimal 15.0 or shorter) should remove the lift. The thread's mechanism instead says the market wrongly treats a non-completion through no fault of the horse's ability as a form blot. Under that view the lift should survive at sensible prices.", "market_miss": "If the rival is right, nothing is mispriced at 14/1 or shorter, and the +140% BSP ROI against +16.6% SP ROI is just a few outliers. If the thread is right, the market marks down BD/UR runners even when they are fancied, because a letter in the form figures looks like failure.", "prediction": { "direction": "positive", "size": "Thread mechanism: A/E 1.08 or more on 350+ capped bets. Rival: 0.97 to 1.03.", "falsified_if": "For the thread: the capped rule scores below 1.03, or one period is at or below 1.0, which supports the longshot rival. For the rival: A/E 1.08 or more with both periods above 1.03." }, "notes": "I used last_non_finish_code (from 2025-01-01) rather than last_code (from 2025-11-01) because it gives a longer window for the same BD/UR codes. Decimal 15.0 is 14/1. The vault reads in the positive direction, so passing means the rival is refuted. Report results by price band (up to 3/1, 4/1 to 7/1, 8/1 to 14/1) and by period, and give SP ROI next to A/E." }
Timeline
Job 1563 finished
· engine:compute-1
H-799d5af4 Discovery → KILLED fails: A/E 1.021, needs 1.05; p 0.4601, needs 0.05 or lower; periods [1.12, 0.9], each needs 1.0; A/E 1.021 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 1.021 below 1.05; does not beat the same-race control 0.999; a period points the other way [1.12, 0.9])
· engine:evaluator
discovery result for H-799d5af4 (broad rule): fail
· engine:evaluator
H-799d5af4 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1563 (evaluate, attempt 1)
· compute-1
Job 1561 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-799d5af4 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1561 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-799d5af4: Rival: the unseated edge is only longshot drift; capped at 14/1 it matches the price (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.