Hypotheses · negative · H-cae0acb5
Rival: unraised last-time handicap winners at 9/1+ are over-bet too (winner-tag money, not the mark)
fails: 144 bets, needs 300; p 0.3995 (lower tail), needs 0.05
Part of the thread “Raised handicap winners sent off at 9/1+ are over-bet, at any gap since the win” 9 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 16 Oct, 16:48
- 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-220ad315 (Raised handicap winners sent off at 9/1+ are over-bet, at any gap sinc) pointed the predicted way but failed the bar: A/E 0.84 on 1561 bets (p 0.933), control 1.02. O-76793565
- H-21f9e6e7 (Long-priced raised handicap winners turned out within 14 days are over) pointed the predicted way but failed the bar: A/E 0.57 on 255 bets (p 0.967), control 1.03. O-7c9eecf8
- AskedDo last-time handicap winners at 9/1+ that were NOT raised (rating_change <= 0) score as poorly as raised ones, so that the over-betting comes from the winner tag and not the higher mark? answered
- MechanismThe public and system bettors back the '1' in the form figures whatever the handicapper did. A winner that drifts to 9/1+ has already been judged weak by the sharper money, but tag money still props up its price. If that is the cause, horses running off an unchanged or lower mark (before reassessment, or after a penalty-free win) should be over-bet just like raised ones.
- Why the market misses itThe form figure shows a win but not how weak the race was or how lucky the run. Casual money reacts to the figure, so the price stays shorter than the horse's real chance even after the professional drift.
- Predictednegative, A/E 0.80 to 0.92 on 200+ bets, about the same as the raised group's 0.84
- Falsified ifA/E 0.97 or higher on 200+ bets. That would support the higher-mark mechanism behind H-220ad315 instead.
- Rule sketch
last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change <= 0 AND sp_decimal > 9
The question's answer so far: Measured: unraised winners at 9/1+ scored 0.82 on 144, about the same as raised winners. The mark adds no visible deficit, but the pool is too small, and the pooled result makes further splits by mark low-value.
Mechanism and rationale
The public and system bettors back the '1' in the form figures whatever the handicapper did. A winner that drifts to 9/1+ has already been judged weak by the sharper money, but tag money still props up its price. If that is the cause, horses running off an unchanged or lower mark (before reassessment, or after a penalty-free win) should be over-bet just like raised ones.
The rule
last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change <= 0 AND sp_decimal > 9
Reads: last_position, is_handicap, last_is_handicap, rating_change, sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 8ae7ec86c7969ee4b9408981d2b5ccdc76f04c562ee247b733275a0f540a7441
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Unraised winners are mostly quick turnouts before reassessment, so they overlap the 0.57 quick-return pool. The >14-day refinement separates the two.
- A penalty carried under the old mark acts like a rise but shows as rating_change 0. The weight effect may sit inside this 'unraised' pool.
- Horses dropped after a win (rating_change < 0) are rare and unusual, for example a win in a weak or different-code race.
- Favourite-longshot bias at 16/1+. The raised pool scored 1.07 there, so this argues against a pure bias effect.
- rating_change only exists from Nov 2025 in both GB and IRE, so the sample is short and seasonal (mostly winter jumps). It may be too thin to clear 150 bets.
- Period drift: other pools in this lab faded from the early to the late period, so results should be read by period.
- Control
{ "description": "The other runners in the same races should score close to 1 (the raised-winner pool's same-race control was 1.017). If they are also well below 1, the deficit belongs to the races, not the winner tag. The raised-winner pool (H-220ad315, A/E 0.84 on 1,561, same price and handicap conditions) is the reference: a similar deficit here supports the tag explanation, and a score near 1 supports the higher-mark explanation.", "rule": "last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal > 9" }
Discovery result
fail broad rule · 16 Oct, 16:53
- Bets
- 144
- 6 winners
- A/E
- 0.82
- 95%: 0.30 to 1.78
- SP return
- -52.1%
- level stakes
- Betfair SP return
- -40.1%
- 144 bets with a BSP
Strike rate 4.2%. p = 0.74. Same-race control: the other runners in these races had A/E 1.02, 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 · 38s · 16 Oct, 16:48
Output (schema-checked)
{ "rule": "last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change <= 0 AND sp_decimal > 9", "refinements": [ { "label": "9/1 to 14/1 band, where the raised-winner deficit sat", "rule": "last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change <= 0 AND sp_decimal > 9 AND sp_decimal <= 15" }, { "label": "Not a quick return (more than 14 days), to separate tag money from the 0.57 quick-return pool", "rule": "last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change <= 0 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run > 14" } ], "control": { "description": "The other runners in the same races should score close to 1 (the raised-winner pool's same-race control was 1.017). If they are also well below 1, the deficit belongs to the races, not the winner tag. The raised-winner pool (H-220ad315, A/E 0.84 on 1,561, same price and handicap conditions) is the reference: a similar deficit here supports the tag explanation, and a score near 1 supports the higher-mark explanation.", "rule": "last_position = 1 AND is_handicap = 1 AND last_is_handicap = 1 AND rating_change IS NOT NULL AND rating_change >= 1 AND sp_decimal > 9" }, "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": [ "Unraised winners are mostly quick turnouts before reassessment, so they overlap the 0.57 quick-return pool. The >14-day refinement separates the two.", "A penalty carried under the old mark acts like a rise but shows as rating_change 0. The weight effect may sit inside this 'unraised' pool.", "Horses dropped after a win (rating_change < 0) are rare and unusual, for example a win in a weak or different-code race.", "Favourite-longshot bias at 16/1+. The raised pool scored 1.07 there, so this argues against a pure bias effect.", "rating_change only exists from Nov 2025 in both GB and IRE, so the sample is short and seasonal (mostly winter jumps). It may be too thin to clear 150 bets.", "Period drift: other pools in this lab faded from the early to the late period, so results should be read by period." ], "mechanism": "Public and system money backs the '1' in the form figures whatever the handicapper did. A last-time handicap winner that drifts to 9/1+ has already been marked down by sharper money, but tag money keeps its price shorter than its true chance. If the tag, not the higher mark, causes the over-betting seen in H-220ad315, then winners running off an unchanged or lower mark should be over-bet by a similar amount.", "market_miss": "The form figure shows a win but not how weak the race was, how lucky the run was, or that the horse carries a penalty. Casual money reacts to the figure, so even after the professional drift the price stays shorter than the horse's real chance.", "prediction": { "direction": "negative", "size": "A/E 0.80 to 0.92 on 150+ bets, about the same as the raised group's 0.84", "falsified_if": "A/E 0.97 or higher on 150+ bets, which would point to the higher-mark mechanism instead. A same-race control well below 1 would also falsify it, since the deficit would then belong to the races." }, "notes": "I kept the rule sketch: every column is pre-off and it does not read the result. rating_change starts in Nov 2025, so the sample may be thin; if it is, the result should go to forward tracking rather than be killed for its size. Because this is a negative hypothesis, the lab's A/E bars apply in the over-bet direction (a reciprocal A/E of at least 1.05, i.e. raw A/E of about 0.95 or lower). I did not add a 'rating_change = 0 only' refinement, to stay within what the reasoning calls for." }
Timeline
Job 2059 finished
· engine:compute-1
H-cae0acb5 Discovery → KILLED fails: 144 bets, needs 300; p 0.3995 (lower tail), needs 0.05
· engine:evaluator
discovery result for H-cae0acb5 (broad rule): fail
· engine:evaluator
H-cae0acb5 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2059 (evaluate, attempt 1)
· compute-1
Job 2057 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-cae0acb5 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2057 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-cae0acb5: Rival: unraised last-time handicap winners at 9/1+ are over-bet too (winner-tag money, not the mark) (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.