Hypotheses · trajectory · H-6e4258ac
Test-mechanism: chase unseaters that were well fancied last time beat their price
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
Part of the thread “H85: fell when going well” 20 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- test-mechanism
- Created
- 17 Oct, 03:43
- Tests logged
- 16
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-3ea4ba62 (Test-mechanism: chase fallers that drift from their last SP also beat ) passed discovery as a niche: A/E 1.06 on 130 bets (p 0.457), same-race control 1.01. O-4b8a2c0a
- H-f5df804d (Test-mechanism: chase unseaters that drift from their last SP carry th) survived falsification: 5 of 5 attacks left it standing; it is frozen for its one vault query. O-7c91137d
- H-9d7727db (Rival: the drift lift is any chase non-finish, including pulled-up hor) was predicted positive but came out the other way: A/E 0.96 on 363 bets (p 0.501 for the opposite direction). O-ba89d177
- AskedIs the unseater lift carried by horses the market rated last time (short last_sp_decimal), so the edge is an unearned discount on proven market regard rather than the drift itself? answered
- MechanismAn unseat usually ends the run through a slip, a peck or rider error, and says little about the horse's ability. A horse sent off at a short price last time had market regard based on its earlier form. That regard should carry over, because the unseat added no evidence against it. Fallers and pulled-up horses did not show the drift lift (1.06 and 0.96), which suggests only uninformative non-finishes are mispriced.
- Why the market misses itThe form line shows U with no position, and the next price is set from the blank figure and the recent failure, not from the strong market view of the previous run. Ratings-based compilers have nothing new to work from, and casual money avoids the U.
- Predicted
Mechanism and rationale
An unseat usually ends the run through a slip, a peck or rider error, and says little about the horse's ability. A horse sent off at a short price last time had market regard based on its earlier form. That regard should carry over, because the unseat added no evidence against it. Fallers and pulled-up horses did not show the drift lift (1.06 and 0.96), which suggests only uninformative non-finishes are mispriced.
The rule
race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal <= 7
Reads: race_type, last_non_finish_code, last_sp_decimal
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 2d92ac94926b3b7d1bdba2f4a63e9e41ba3aa5dc82e51de21f0380d01703d399
- Frozen
- 17 Oct, 03:51
- Nothing in the definition can change after this.
- Confounders
- Price-level tilt: fancied last time usually means short today, where A/E varies less and edges are smaller. Read the result against the long-last-SP unseater control and the same-race rivals, not against the raw 1.0.
- Overlap with the drift split (A/E 2.10 on 110): fancied horses have more room to drift, so any lift may be the drift effect showing up again. Refinements 1 and 2 separate the two.
- Class change between runs: a fancied horse may have been fancied in a weaker race and be stepping up today, or the reverse.
- Data window: last_non_finish_code starts in 2025, so the pool will probably fall short of 150 bets. Five UR-based rules have spent their vault query on 0 bets, so validation has to come from the forward record.
- Rider error and the horse's own error both count as UR. Last time's jumping error is not used to filter, so a mix of uninformative and informative unseats dilutes the mechanism.
- Control
{ "description": "Two comparisons. (1) Same-race rivals of the selected horses: we expect A/E near 1.0 (0.95-1.02), which would show the lift is not a property of the races. (2) The falsification comparison the hypothesis names: chase unseaters sent off longer than 6/1 last time, measured over the same window. If prior market regard is the mechanism, the fancied group should beat this group clearly (by 0.15+ A/E). If the long-priced group matches or beats it, the mechanism fails, even if the broad rule clears 1.05.", "rule": "race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal > 7" }
Discovery result
pass broad rule (niche) · 17 Oct, 03:50
- Bets
- 76
- 18 winners
- A/E
- 1.50
- 95%: 0.89 to 2.37
- SP return
- +73.2%
- level stakes
- Betfair SP return
- +156.8%
- 76 bets with a BSP
Strike rate 23.7%. p = 0.064. Same-race control: the other runners in these races had A/E 0.91, so the selection 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. 4 of 5 survived.
- perturbation: Tighter fancied cut: last SP 9/2 or shorterpass
58 bets · A/E 1.63 (0.91 to 2.68) · control 0.89 · 17 Oct, 03:51
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27411.63after 2026-04-2717–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - perturbation: Looser fancied cut: last SP 15/2 or shorterpass
86 bets · A/E 1.40 (0.83 to 2.21) · control 0.93 · 17 Oct, 03:51
Breakdown
Sealed holdout (vault)
- Bets
- 0
- 17 Oct, 03:51
- A/E
- –
- p = 1.0
- BH threshold then
- 0.0019
- over every vault test so far
- Outcome
- Failed
- vault query (supportive)pass
0 bets · · 17 Oct, 03:51
Breakdown
betsA/E0.71.01.32020-220–2023 to Sept 20250–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}info
0 bets · · 17 Oct, 04:05
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: <= 7 -> 6 (-20%)pass
63 bets · A/E 1.65 (0.94 to 2.67) · control 0.89 · 17 Oct, 04:05
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-27441.54after 2026-04-2719–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: <= 7 -> 8 (+20%)pass
83 bets · A/E 1.44 (0.85 to 2.27) · control 0.93 · 17 Oct, 04:05
Breakdown
Lineage
Agent runs
designer v1ok · 28s · 17 Oct, 03:43
Output (schema-checked)
{ "rule": "race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal <= 7", "refinements": [ { "label": "fancied last time and drifting today (overlap with the drift split)", "rule": "race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal <= 7 AND sp_decimal > last_sp_decimal" }, { "label": "fancied last time and not drifting today (prior-regard effect without drift)", "rule": "race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal <= 7 AND sp_decimal <= last_sp_decimal" } ], "control": { "description": "Two comparisons. (1) Same-race rivals of the selected horses: we expect A/E near 1.0 (0.95-1.02), which would show the lift is not a property of the races. (2) The falsification comparison the hypothesis names: chase unseaters sent off longer than 6/1 last time, measured over the same window. If prior market regard is the mechanism, the fancied group should beat this group clearly (by 0.15+ A/E). If the long-priced group matches or beats it, the mechanism fails, even if the broad rule clears 1.05.", "rule": "race_type = 'Chase' AND last_non_finish_code = 'UR' AND last_sp_decimal > 7" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Price-level tilt: fancied last time usually means short today, where A/E varies less and edges are smaller. Read the result against the long-last-SP unseater control and the same-race rivals, not against the raw 1.0.", "Overlap with the drift split (A/E 2.10 on 110): fancied horses have more room to drift, so any lift may be the drift effect showing up again. Refinements 1 and 2 separate the two.", "Class change between runs: a fancied horse may have been fancied in a weaker race and be stepping up today, or the reverse.", "Data window: last_non_finish_code starts in 2025, so the pool will probably fall short of 150 bets. Five UR-based rules have spent their vault query on 0 bets, so validation has to come from the forward record.", "Rider error and the horse's own error both count as UR. Last time's jumping error is not used to filter, so a mix of uninformative and informative unseats dilutes the mechanism." ], "mechanism": "An unseat usually ends a run through a slip, a peck or a rider error, and says little about the horse's ability. A horse sent off at 6/1 or shorter last time had market regard built on its earlier form. The unseat added no evidence against that form, so the regard should carry over to the next run. Fallers (drift split 1.06) and pulled-up horses (0.96) do not show the lift, which points to only the uninformative non-finish being mispriced. If this is right, the lift should be concentrated in unseaters the market rated before, whether or not they drift today.", "market_miss": "The form line shows a U with no position or beaten distance. The next price is set from that blank and the recent failure, not from the strong market view of the previous run. Ratings-based compilers have no new figure to work from, and casual money avoids the U. So a horse the market rated highly gets an unearned discount.", "prediction": { "direction": "positive", "size": "A/E 1.25 to 1.50 on roughly 80 or more bets, at least 0.15 above chase unseaters that were longer than 6/1 last time", "falsified_if": "A/E at or below 1.05, or no higher than the control group of chase unseaters with last_sp_decimal > 7. Either result would mean prior market regard does not explain the unseater and drift lift, and that the 2.10 drift split more likely reflects selection." }, "notes": "The rule sketch is kept as written. It uses pre-off columns only, and last_sp_decimal <= 7 means 6/1 or shorter last time. I tightened the discovery A/E from the floor of 1.05 to 1.10, and the forward A/E from 1.0 to 1.05, because the parent pool already runs at 1.40 and a result just above 1.05 would not show a regard-specific effect. The full chase UR pool is about 213 bets, so this subset will very likely fall short of 150. It should go to falsification and forward tracking on direction plus the control gap. I added no price-cap refinement, because the reasoning gives no long-price concern for a group that is mostly short-priced." }
Timeline
Job 2792 finished
· engine:compute-1
hypothesis note H-6e4258ac
· engine:perturb
perturbation result for H-6e4258ac (neighbour: drop: last_sp_decimal <= 7): pass
· engine:perturb
perturbation result for H-6e4258ac (neighbour: drop: last_non_finish_code = 'UR'): fail
· engine:perturb
perturbation result for H-6e4258ac (neighbour: drop: race_type = 'Chase'): pass
· engine:perturb
perturbation result for H-6e4258ac (neighbour: <= 7 -> 8 (+20%)): pass
· engine:perturb
perturbation result for H-6e4258ac (neighbour: <= 7 -> 6 (-20%)): pass
· engine:perturb
compute-1 took job 2792 (mutate, attempt 1)
· compute-1
Job 2789 finished
· engine:compute-1
forward result for H-6e4258ac (forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2789 (forward_check, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2787 finished
· engine:compute-1
H-6e4258ac Vault → SHADOW vault SUPPORTIVE: A/E None on 0 bets, p 1 against BH threshold 0.001852 over 54 vault tests
· engine:orchestrator
vault result for H-6e4258ac (vault query (supportive)): pass
· engine:orchestrator