Hypotheses · negative · H-0ef44a7d
Generalise: quick-returning last-time winners at 9/1+ in any race are over-bet
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “Raised handicap winners sent off at 9/1+ are over-bet, at any gap since the win” 10 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- generalise
- Created
- 16 Oct, 17:03
- Tests logged
- 18
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-9e92ea71 (Quick-returning last-time winners of any race running in a handicap at) pointed the predicted way but failed the bar: A/E 0.65 on 424 bets (p 0.97), control 1.02. O-3e924322
- H-4f18f696 (Replicate: quick-returning last-time winners at 9/1+ in non-handicaps ) pointed the predicted way but failed the bar: A/E 0.46 on 106 bets (p 0.932), control 1.03. O-83cf6feb
- AskedDo quick-returning last-time winners at 9/1+ fall short in non-handicaps too, where the winner tag is equally visible but no mark rise applies? testing
- MechanismA fresh win draws attention, tipster lines and stable confidence, so money comes for the horse whatever the race conditions. When the horse still drifts to 9/1+, the market's real view is weak, but the tag-driven money still holds the price below its true odds. Neither the handicap mark nor the quick return explains this on its own: unraised winners scored 0.82 and quick-returning non-winners 0.99.
- Why the market misses itThe form book shows a '1' as the most recent figure, and casual money backs it without checking how good the win really was. The horse's genuine chance is then priced too short.
- Predictednegative, A/E 0.65 to 0.85 on 500+ bets
- Falsified ifA/E 0.92 or higher on 450+ bets, or the deficit present in only one of handicaps and non-handicaps with the other at par
Mechanism and rationale
A fresh win draws attention, tipster lines and stable confidence, so money comes for the horse whatever the race conditions. When the horse still drifts to 9/1+, the market's real view is weak, but the tag-driven money still holds the price below its true odds. Neither the handicap mark nor the quick return explains this on its own: unraised winners scored 0.82 and quick-returning non-winners 0.99.
The rule
last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14
Reads: last_position, sp_decimal, days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- e854c04b9ada8a0719489585b91775fa23d2500219d481e34f0765696ebd1d92
- Frozen
- 17 Oct, 01:04
- Nothing in the definition can change after this.
- Confounders
- Overlap with the earlier discovery: about 424 of the roughly 530 bets are the handicap pool already measured at 0.651 (p 0.0511). The broad result is largely a re-read of that pool, so the non-handicap leg, the falsification work and the forward record have to carry the independent evidence.
- Small win count: with 9/1+ prices, one or two big-priced winners can swing A/E. The non-handicap pool had 2 winners and a BSP ROI of +19.2, so its result can say only which way it points, not how big the effect is.
- The code mix (Flat against jumps) and the GB/IRE mix differ between periods. The deficit has to show in both codes and both regions, not in only one.
- Handicap winners turned out quickly carry a penalty before they are reassessed. That is a weight effect inside handicaps, separate from the tag-money mechanism.
- Class rises after a win (stepping-up winners have scored 1.16) may pull non-handicap or class-rise sub-pools towards par and hide the effect.
- Ordinary longshot under-performance at 16/1+ could pass for a winner-tag effect. The control and the up-to-14/1 refinement address this.
Discovery result
pass broad rule · 16 Oct, 17:03
- Bets
- 530
- 17 winners
- A/E
- 0.62
- 95%: 0.36 to 0.99
- SP return
- -53.2%
- level stakes
- Betfair SP return
- -32.7%
- 494 bets with a BSP
Strike rate 3.2%. p = 0.99. Same-race control: the other runners in these races had A/E 1.03, so the selection did not 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 5 survived.
- perturbation: Perturb looser: 17-day return, 8/1+ (decimal >8)pass
930 bets · A/E 0.66 (0.46 to 0.92) · control 1.03 · 17 Oct, 01:04
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-273770.58after 2026-04-275530.72Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Perturb shifted: 11-day return, decimal >10pass
244 bets · A/E 0.36 (0.10 to 0.93) · control 1.04 · 17 Oct, 01:04
Sealed holdout (vault)
- Bets
- 2,759
- 17 Oct, 01:04
- A/E
- 0.97
- p = 0.36
- BH threshold then
- 0.0021
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
2,759 bets · A/E 0.97 (0.81 to 1.14) · control 1.01 · 17 Oct, 01:04
Breakdown
betsA/E0.71.01.32020-221,4071.002023 to Sept 20251,3520.93
Forward record
- forward vs bar {'min_bets': 150, 'min_ae': 1.0, 'max_p': 0.2}info
0 bets · · 17 Oct, 01:04
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: > 9 -> 7 (-20%)fail
759 bets · A/E 0.68 (0.47 to 0.94) · control 1.03 · 16 Oct, 17:04
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-273020.72after 2026-04-274570.65Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: > 9 -> 11 (+20%)fail
381 bets · A/E 0.56 (0.26 to 1.06) · control 1.02 · 16 Oct, 17:04
Breakdown
Lineage
Agent runs
designer v1ok · 37s · 16 Oct, 17:03
Output (schema-checked)
{ "rule": "last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14", "refinements": [ { "label": "Up to 14/1 (removes the thin longshot tail that a single big winner can swing)", "rule": "last_position = 1 AND sp_decimal > 9 AND sp_decimal <= 15 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14" }, { "label": "Non-handicaps only (the generalisation leg: does the deficit exist outside handicaps?)", "rule": "last_position = 1 AND is_handicap = 0 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14" }, { "label": "Very quick return, 7 days or fewer (the dose-response check: tag money should be strongest when the win is freshest)", "rule": "last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 7" } ], "control": { "description": "Same-race controls (the other runners in these races) should come out near par, about A/E 0.98 to 1.03, as they did for the handicap (1.02) and non-handicap (1.03) pools. That would show the shortfall belongs to the horse and not to the races it runs in. The rival explanation, that quick returners at 9/1+ under-perform whatever their last result, has already been tested: quick-returning handicap non-winners at 9/1+ scored 0.989 on 7,481. A non-winner comparison group in all race types is still useful, so it is given as an explicit control. Expect A/E around 0.97 to 1.02. If it also comes out at 0.85 or lower, the winner tag is not the mechanism.", "rule": "last_position IS NOT NULL AND last_position > 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14" }, "pass_criteria": { "min_bets": 400, "min_ae": 1.05, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1, "max_p": 0.2 }, "confounders": [ "Overlap with the earlier discovery: about 424 of the roughly 530 bets are the handicap pool already measured at 0.651 (p 0.0511). The broad result is largely a re-read of that pool, so the non-handicap leg, the falsification work and the forward record have to carry the independent evidence.", "Small win count: with 9/1+ prices, one or two big-priced winners can swing A/E. The non-handicap pool had 2 winners and a BSP ROI of +19.2, so its result can say only which way it points, not how big the effect is.", "The code mix (Flat against jumps) and the GB/IRE mix differ between periods. The deficit has to show in both codes and both regions, not in only one.", "Handicap winners turned out quickly carry a penalty before they are reassessed. That is a weight effect inside handicaps, separate from the tag-money mechanism.", "Class rises after a win (stepping-up winners have scored 1.16) may pull non-handicap or class-rise sub-pools towards par and hide the effect.", "Ordinary longshot under-performance at 16/1+ could pass for a winner-tag effect. The control and the up-to-14/1 refinement address this." ], "mechanism": "A fresh win draws attention: a '1' as the latest figure, tipster lines and stable confidence. When the horse runs again within 14 days, that win is the most visible thing on its form, so tag-driven money comes in whatever the race type or whether it is a handicap. If the horse still drifts to 9/1+, the informed market rates it weakly, but the residual tag money keeps the price shorter than its true chance. The effect should need both the win and the quick return. Mark changes alone (unraised winners 0.82, not significant) and quick returns alone (non-winners 0.99) do not produce it.", "market_miss": "Casual money backs the latest '1' without checking how good the win was or whether a quick turnout suits the horse. Because the horse has drifted to 9/1+, it gets less scrutiny from sharper money. Sharp layers take little interest in shortening a longshot's price, so the overbet price survives to the off.", "prediction": { "direction": "negative", "size": "A/E 0.65 to 0.85 on roughly 500+ bets, with same-race controls near par", "falsified_if": "Any of: A/E 0.92 or higher on 450+ bets; the deficit in only one of handicaps and non-handicaps, with the other at par (A/E 0.95 or higher on at least 100 bets); or the non-winner control also at 0.85 or lower." }, "notes": "The rule sketch is kept as it is. It uses only pre-off columns, does not read the result, and drops the is_handicap condition, which is exactly the generalisation step. min_bets is raised to 400 because the prediction and the falsification test assume about 450 to 530 bets. A smaller pool would mean the coverage is not what the reasoning expects. The forward bar is raised to 150 bets because wins at 9/1+ are rare and 100 forward bets would hold only about 6 to 8 winners. The non-handicap refinement is the main test of whether the deficit generalises, but on its own it will be thin (about 106 bets, 2 winners). Read it only for direction, alongside the handicap pool, and not as a standalone result." }
Timeline
Job 2134 finished
· engine:compute-1
forward result for H-0ef44a7d (forward vs bar {'min_bets': 150, 'min_ae': 1.0, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2134 (forward_check, attempt 1)
· compute-1
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2131 finished
· engine:compute-1
H-0ef44a7d Vault → SHADOW vault SUPPORTIVE: A/E 0.966 on 2759 bets, p 0.3576 against BH threshold 0.002128 over 47 vault tests
· engine:orchestrator
vault result for H-0ef44a7d (vault query (supportive)): pass
· engine:orchestrator
H-0ef44a7d Frozen → FROZENvault vault query started
· engine:orchestrator
compute-1 took job 2131 (vault, attempt 1)
· compute-1
Job 2125 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler
H-0ef44a7d Falsification → FROZEN survived falsification
· engine:falsification
falsification result for H-0ef44a7d (control: Control: runners-up last time, quick return, 9/1+ (no '1' tag)): pass
· engine:evaluator
compute-1 took job 2125 (attack, attempt 1)
· compute-1
Job 2124 finished
· engine:compute-1
falsification result for H-0ef44a7d (partition: Partition: jumps races only (Hurdle/Chase)): pass
· engine:evaluator
compute-1 took job 2124 (attack, attempt 1)
· compute-1
Job 2123 finished
· engine:compute-1
falsification result for H-0ef44a7d (partition: Partition: Flat races only): pass
· engine:evaluator