Hypotheses · letters · H-8841a2b0
Rival: the BD/UR longshot lift is a general blank-form effect shared by PU and F longshots over jumps
fails: A/E 0.981, needs 1.05; p 0.5657, needs 0.05 or lower; periods [0.96, 1.03], each needs 1.0; A/E 0.981 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 0.981 below 1.05; p 0.5656598132465355 above 0.5; does not beat the same-race control 0.999)
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:25
- 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-da5bbd88 (Unseated or brought down and back within four weeks: the fresh-horse c) passed discovery as a niche: A/E 1.17 on 355 bets (p 0.188), same-race control 0.98. O-ff73b33f
- AskedIs the 16/1+ lift specific to brought-down/unseated runners, or does any jumps non-finisher (PU, F) at 16/1+ beat its price because the non-finish blanks its visible form? answered
- MechanismA non-finish leaves a letter instead of a beaten distance, and punters drift any horse with a letter last time. If that blank form, not the 'had no race' freshness, is what is mispriced, fallers and pulled-up horses at big prices should show the same lift.
- Why the market misses itThe form line shows only F or PU with no beaten distance, so the price leans on older form plus a reputation penalty. At 16/1+ the favourite-longshot bias usually runs against these runners, so a lift here would be a real exception.
- Predictedpositive, Rival predicts A/E 1.10 or more on 400+ bets if blank form drives it
- Falsified ifA/E 1.00 or below on 400+ bets, which would point back to BD/UR specifically
- Rule sketch
last_non_finish_code IN ('PU', 'F') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase')
Mechanism and rationale
A non-finish leaves a letter instead of a beaten distance, and punters drift any horse with a letter last time. If that blank form, not the 'had no race' freshness, is what is mispriced, fallers and pulled-up horses at big prices should show the same lift.
The rule
last_non_finish_code IN ('PU', 'F') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90Reads: last_non_finish_code, sp_decimal, race_type, race_date, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 84d3b4c473872c24ea2bd5db3932ee76bd6f5f66f8d4895da467c090c349e3e0
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Favourite-longshot bias at 16/1+ pulls A/E below 1 for any longshot group, so the bar is the 16/1+ baseline, not 1.0
- PU often signals a physical, wind or fitness problem, which should depress PU and may hide an F-only lift (hence the split refinements)
- A handful of big-price winners make A/E noisy; the BD/UR lift came from 6 winners at 16/1+, and BSP ROI far above SP ROI shows how few exchange winners carry it
- Handicap mark relief after a non-finish could look like blank-form mispricing (handicap refinement)
- Data coding: before 2025 every non-finisher is coded PU, so BD/UR/F were mixed into PU. The race_date >= 2025-04-01 and days_since_last_run <= 90 guards make sure the last run was from 2025 or later, with real codes
- GB vs Ireland differences (the BD/UR lift was stronger in GB)
- Control
{ "description": "The question is whether PU/F longshots match the BD/UR longshot lift, so the main comparison is BD/UR runners at 16/1+ over jumps under the same data guards. The rival is supported if PU/F reaches roughly the same A/E as this control. If PU/F sits near 1.0 while BD/UR stays high, the lift belongs to BD/UR. The lab's same-race comparison (other runners in the same races, which are mostly finishers at all prices) should come out at 0.95 to 1.0. At 16/1+ they will be below 1 because of the favourite-longshot bias. A PU/F lift therefore only counts if it clearly beats them and beats finishers at 16/1+ in general.", "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90" }
Discovery result
fail broad rule · 16 Oct, 13:28
- Bets
- 1,854
- 32 winners
- A/E
- 0.98
- 95%: 0.67 to 1.39
- SP return
- -28.9%
- level stakes
- Betfair SP return
- +16.8%
- 1,822 bets with a BSP
Strike rate 1.7%. p = 0.57. Same-race control: the other runners in these races had A/E 1.00, so the selection did not 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 · 1m 4s · 16 Oct, 13:25
Output (schema-checked)
{ "rule": "last_non_finish_code IN ('PU', 'F') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90", "refinements": [ { "label": "Fell only: does the lift match BD/UR's 'no real race' mechanism?", "rule": "last_non_finish_code = 'F' AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90" }, { "label": "Pulled up only: the pure blank-form test, where the horse did have a hard race and often a problem", "rule": "last_non_finish_code = 'PU' AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90" }, { "label": "Handicaps only: separates blank-form mispricing from mark relief after a non-finish", "rule": "last_non_finish_code IN ('PU', 'F') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90 AND is_handicap = 1" } ], "control": { "description": "The question is whether PU/F longshots match the BD/UR longshot lift, so the main comparison is BD/UR runners at 16/1+ over jumps under the same data guards. The rival is supported if PU/F reaches roughly the same A/E as this control. If PU/F sits near 1.0 while BD/UR stays high, the lift belongs to BD/UR. The lab's same-race comparison (other runners in the same races, which are mostly finishers at all prices) should come out at 0.95 to 1.0. At 16/1+ they will be below 1 because of the favourite-longshot bias. A PU/F lift therefore only counts if it clearly beats them and beats finishers at 16/1+ in general.", "rule": "last_non_finish_code IN ('BD', 'UR') AND sp_decimal > 15 AND race_type IN ('Hurdle', 'Chase') AND race_date >= '2025-04-01' AND days_since_last_run <= 90" }, "pass_criteria": { "min_bets": 400, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 200, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Favourite-longshot bias at 16/1+ pulls A/E below 1 for any longshot group, so the bar is the 16/1+ baseline, not 1.0", "PU often signals a physical, wind or fitness problem, which should depress PU and may hide an F-only lift (hence the split refinements)", "A handful of big-price winners make A/E noisy; the BD/UR lift came from 6 winners at 16/1+, and BSP ROI far above SP ROI shows how few exchange winners carry it", "Handicap mark relief after a non-finish could look like blank-form mispricing (handicap refinement)", "Data coding: before 2025 every non-finisher is coded PU, so BD/UR/F were mixed into PU. The race_date >= 2025-04-01 and days_since_last_run <= 90 guards make sure the last run was from 2025 or later, with real codes", "GB vs Ireland differences (the BD/UR lift was stronger in GB)" ], "mechanism": "A non-finish leaves a letter in the form line instead of a beaten distance. Punters and compilers then price the horse off older form plus a reputation penalty, and push out any horse with a letter last time. If what is mispriced is this blank form, and not the 'had no hard race' freshness specific to brought-down or unseated runners, then fallers and pulled-up horses at 16/1+ over jumps should show the same lift as the BD/UR longshots.", "market_miss": "The form figure shows only F or P with no beaten distance or position, so there is no direct reading of how the horse was running. The market falls back on older figures and marks the horse down for the letter, and at big prices few people look into whether the horse was still in contention when it failed to finish. The favourite-longshot bias usually makes 16/1+ runners poor value, so a lift here would be a real exception.", "prediction": { "direction": "positive", "size": "A/E about 1.10 or more on 400+ bets if blank form drives the BD/UR longshot lift, comparable to the BD/UR 16/1+ control", "falsified_if": "A/E 1.00 or below on 400+ bets, or clearly below the BD/UR 16/1+ control. Either would point the lift back to BD/UR specifically, not to blank form in general." }, "notes": "The rule sketch needed a data-integrity fix. The catalogue says last_non_finish_code starts on 2025-01-01 and that every non-finisher is coded PU before 2025. Without a guard, 'PU' would absorb pre-2025 fallers, unseats and brought-downs and mix in the very effect being tested against. The guards race_date >= '2025-04-01' AND days_since_last_run <= 90 make sure the last run was on or after 2025-01-01, where the codes are genuine. The cost is horses off for more than 90 days. sp_decimal > 15 matches 16/1+, the band where the BD/UR lift sat. min_bets is raised to 400 to match the prediction's sample. The F-only and PU-only refinements answer the question directly: is the lift shared by both, by fallers only (close to BD/UR: no hard race), or by neither?" }
Timeline
Job 1607 finished
· engine:compute-1
H-8841a2b0 Discovery → KILLED fails: A/E 0.981, needs 1.05; p 0.5657, needs 0.05 or lower; periods [0.96, 1.03], each needs 1.0; A/E 0.981 against same-race control 0.999, needs 0.03 above (not a niche pass: A/E 0.981 below 1.05; p 0.5656598132465355 above 0.5; does not beat the same-race control 0.999)
· engine:evaluator
discovery result for H-8841a2b0 (broad rule): fail
· engine:evaluator
H-8841a2b0 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 1607 (evaluate, attempt 1)
· compute-1
Job 1605 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-8841a2b0 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 1605 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-8841a2b0: Rival: the BD/UR longshot lift is a general blank-form effect shared by PU and F longshots over jumps (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.