---
name: xlow decision rule — power-corrected 2026-07-25 (n>=100 is a tripwire, real answer needs ~1000)
description: Superseded the original n>=100 "checkpoint". Per-bet SD is 1.99u, so n=100 can only detect an edge >= +32.7% -- it could never confirm the backtest's own +17.8% claim. Real decision point moved to n=1000 (detects +10.3%). n>=100 retained ONLY as a disaster tripwire. Losing days/weeks/leagues still never reject.
type: project
---

Original criteria written 2026-07-19 at n=49 (before the data existed) — that
pre-registration discipline stands. What changed 2026-07-25 is the STATISTICS, not
the resolve: the user pointed out the sample could not mean anything yet, and the
power calculation proved them right and me wrong.

## The power problem (computed from the actual forward price distribution)

Per-bet return SD = **1.99 units** (n=92, mean entry price 0.231). Longshot payouts
make each bet enormously variable, so:

| true edge | n to detect (1-sided 95%) | n for 80% power |
|---|---|---|
| +5%   | 4,280 | — |
| +10%  | 1,070 | 2,442 |
| +17.8% (backtest fee-adj) | 338 | 771 |
| +24.7% (backtest gross)   | 175 | 400 |

| n | smallest detectable edge |
|---|---|
| 100 | **+32.7%** |
| 200 | +23.1% |
| 500 | +14.6% |
| 1,000 | +10.3% |
| 2,000 | +7.3% |

**Consequence: the n>=100 checkpoint was never able to confirm the backtest.** It
resolves only edges >= +32.7%, while the backtest claimed +17.8% fee-adjusted. Even
a perfectly-performing strategy would have come back inconclusive. My earlier note
in this file ("significance needs 300-500 bets") was correct only for the full
+18-25% claim and is **wrong by 3-5x** against the ~+10% estimate that
[[project_xlow_test_segment_decomp]] argues is the honest figure.

## Revised decision rule

**n >= 1,000 = the real decision point** (detects +10.3%, matching the honest edge
estimate). Judge on: ROI/bet, and the WR-vs-implied gap (the per-bet statistic, which
the decomposition says to weight over ROI since ROI is hostage to whether a fat week
lands inside the window).
 - ROI clearly positive + WR gap positive -> real edge, scale deliberately.
 - ROI around zero -> no edge worth trading at this size; archive without drama.
 - ROI clearly negative with WR gap negative -> rejected.

**n >= 100 retained ONLY as a disaster tripwire** — it can catch catastrophe, nothing
else. Trip it (stop real money, investigate) iff BOTH: ROI <= -10% AND WR <= implied.
Tripping is NOT a verdict on the edge; it is "something may be structurally wrong,
go look." A gray/gentle result at 100 means *keep collecting*, full stop.

**EARLY kill (any n):**
- Mechanism inversion: unique/overlap forward spread closes or flips (n>=30 per
  bucket). The confirmation structure IS the theory.
- WR-vs-implied gap z < -2.
- Infrastructure death: feeds degrade so the signal can't be computed as designed.

**NEVER rejects:** losing days/weeks (0-for-5 has ~35% base rate); single-league cold
streaks (CN1 went 0-for-7 twice, then to par); drawdowns inside the ~20% envelope;
forward ROI positive-but-below-backtest; a single price-bucket going cold.

## Feasibility (why n=1,000 is not a fantasy)

Fire rate went from ~5-8/day to **22-34/day** in late July 2026 (21 leagues live
across Kalshi + Poly-US). At ~25/day: **n=1,000 in ~6 weeks, n=2,400 in ~3.5 months.**
At $1 flat with zero true edge, the whole experiment's expected cost is just fee drag,
order of **$100-150 total**. Cheap enough that "let it run" is the rational choice.

**How to apply:** when asked "is it dead" / "should we stop", cite this file. Do not
treat n=100 as a verdict in either direction. State ROI, the WR-vs-implied gap, and
progress toward 1,000 without spin. Related: [[project_xlow_test_segment_decomp]],
[[project_edge_significance_status]], [[project_t60_variant]].
