Hypotheses · negative · H-7100c4c0
Test-mechanism: winners turned out quickly after a quick win at 9/1+ are over-bet
fails: p 0.1287 (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” 10 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- test-mechanism
- Created
- 17 Oct, 01:01
- 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-0ef44a7d (Generalise: quick-returning last-time winners at 9/1+ in any race are ) passed discovery: A/E 0.62 on 530 bets (p 0.987), same-race control 1.03. O-88119f74
- H-0ef44a7d (Generalise: quick-returning last-time winners at 9/1+ in any race are ) is unstable: 5 of 6 neighbouring rules lose the effect (base A/E 0.62; e.g. > 9 -> 7 (-20%) -> 0.68; > 9 -> 11 (+20%) -> 0.56; <= 14 -> 11 (-20%) -> 0.54). O-8c48c972
- AskedIs the quick-return winner deficit a dose effect of cumulative racing load, deeper when the winning run itself also came soon after the run before it? answered
- MechanismA winning effort takes a lot out of a horse. Turning it out again within two weeks, when the win itself came off a short break, stacks up hard runs without recovery, so the horse tends to bounce below its new form.
- Why the market misses itThe form figures show a fresh '1' and recent fitness, which bettors read as a horse in form. The cumulative load of two short gaps in a row is not shown in the headline form and is rarely priced.
- Predictednegative, A/E 0.50 to 0.75 on 250+ bets
- Falsified ifA/E 0.85 or higher on 250+ bets, or no deeper than horses whose win came off a longer break (more than 21 days).
- Rule sketch
last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run <= 21
The question's answer so far: No. Winners whose winning run also followed a short gap scored 0.70 on 328 (p 0.92), shallower than the parent's 0.62, so there is no dose effect from cumulative racing load.
Mechanism and rationale
A winning effort takes a lot out of a horse. Turning it out again within two weeks, when the win itself came off a short break, stacks up hard runs without recovery, so the horse tends to bounce below its new form.
The rule
last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run <= 21
Reads: last_position, sp_decimal, days_since_last_run, last_days_since_last_run
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 03a0fa97f3b143e67055e3a120efade4b857f9b17ce4b1210325e2ef442654f2
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Small winner count: the parent rests on about 17 winners and this subset will have fewer, so one or two winners can move A/E by 0.1 or more. Read the result alongside its confidence interval.
- Race-type mix: flat horses run back on short gaps far more often than jumpers, so the double-quick pool may be mostly flat. Check the deficit in Flat and in jumps separately before crediting load over code.
- Handicap penalties: winners turned out before reassessment carry a penalty or run off an old mark. The earlier mark-based cuts (raised 0.843, unraised 0.817) did not drive the deficit, but the penalty mix may differ in this pool.
- Trainer policy: a few yards that routinely run horses back quickly could dominate the pool. Check trainer concentration and whether the effect survives with the top yards left out.
- Selection of the control: horses whose win came off a break of more than 21 days may differ in class or profile (for example, a freshened horse that won first time back), so the gap between test and control is not a clean load contrast.
- Period instability: the parent's two periods were 0.36 and 0.80, so a passing result needs a check by period.
Discovery result
fail broad rule · 17 Oct, 01:04
- Bets
- 328
- 12 winners
- A/E
- 0.70
- 95%: 0.36 to 1.22
- SP return
- -57.2%
- level stakes
- Betfair SP return
- -44.9%
- 299 bets with a BSP
Strike rate 3.7%. p = 0.92. 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 · 35s · 17 Oct, 01:01
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 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run <= 21", "refinements": [ { "label": "tighter double-quick load: the winning run itself came within 14 days of the run before it", "rule": "last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run <= 14" }, { "label": "handicaps only: the parent deficit was measured mainly in handicaps (0.651 on 424), and this checks the load effect where most of the bets sit", "rule": "last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run <= 21 AND is_handicap = 1" } ], "control": { "description": "Same-race other runners should be near par (about 1.00 to 1.03, as in the parent's 1.03), which shows the deficit is not a property of the races. The mechanism-specific comparison is quick-returning 9/1+ last-time winners whose win came off a longer break (more than 21 days). Cumulative load predicts these sit nearer the parent (about 0.7 to 0.9) and clearly above the test rule. If the control shows the same or a deeper deficit, the load mechanism is falsified even if the broad rule passes.", "rule": "last_position = 1 AND sp_decimal > 9 AND days_since_last_run IS NOT NULL AND days_since_last_run <= 14 AND last_days_since_last_run IS NOT NULL AND last_days_since_last_run > 21" }, "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": [ "Small winner count: the parent rests on about 17 winners and this subset will have fewer, so one or two winners can move A/E by 0.1 or more. Read the result alongside its confidence interval.", "Race-type mix: flat horses run back on short gaps far more often than jumpers, so the double-quick pool may be mostly flat. Check the deficit in Flat and in jumps separately before crediting load over code.", "Handicap penalties: winners turned out before reassessment carry a penalty or run off an old mark. The earlier mark-based cuts (raised 0.843, unraised 0.817) did not drive the deficit, but the penalty mix may differ in this pool.", "Trainer policy: a few yards that routinely run horses back quickly could dominate the pool. Check trainer concentration and whether the effect survives with the top yards left out.", "Selection of the control: horses whose win came off a break of more than 21 days may differ in class or profile (for example, a freshened horse that won first time back), so the gap between test and control is not a clean load contrast.", "Period instability: the parent's two periods were 0.36 and 0.80, so a passing result needs a check by period." ], "mechanism": "A win is a hard effort. A horse turned out again within 14 days, when that win itself came within 21 days of the run before it, has had three hard runs packed together with no time to recover. Cumulative load predicts it bounces below its new winning form more often than a quick returner whose win came off a proper break. So the quick-return winner deficit should be concentrated in, and deeper for, the double-short-gap pool.", "market_miss": "The headline form shows a fresh '1' and a recent run, which bettors and pricing models read as 'in form and fit'. The gap before the winning run is not shown in the usual form figures, so the build-up of two short gaps in a row goes unpriced. At 9/1+ the price is set by public money, which follows the fresh win most strongly.", "prediction": { "direction": "negative", "size": "A/E about 0.50 to 0.75 on roughly 250+ bets, deeper than the parent's 0.62 and deeper than the more-than-21-day control", "falsified_if": "A/E 0.85 or higher on 250+ bets, or a test-rule A/E no lower than the control's (quick-returning 9/1+ winners whose win came off a break of more than 21 days)." }, "notes": "The draft rule is kept as it was: every column is pre-off (last_days_since_last_run is the gap before the previous run), and it adds only the one condition the mechanism needs to the parent H-0ef44a7d. Its main value is the contrast with the control. If the broad rule passes but the control is just as deep, record this as the parent effect re-found, not as support for load. The pool is a subset of the 530-bet parent, so reaching 150 bets is the main risk. A thin result pointing the right way goes on to forward tracking rather than being re-sliced; the earlier neighbourhood instability was about significance, not direction. The two refinements are only to be read if the broad rule shows evidence." }
Timeline
Job 2120 finished
· engine:compute-1
H-7100c4c0 Discovery → KILLED fails: p 0.1287 (lower tail), needs 0.05
· engine:evaluator
discovery result for H-7100c4c0 (broad rule): fail
· engine:evaluator
H-7100c4c0 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2120 (evaluate, attempt 1)
· compute-1
Job 2119 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-7100c4c0 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2119 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-7100c4c0: Test-mechanism: winners turned out quickly after a quick win at 9/1+ are over-bet (test-mechanism)
· 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.