Reading a Rainbow Score
Eight visible components, gated so weak out-of-sample evidence cannot hide. · 8 min
Components (always shown)
- Effect — |d| / 0.5
- Confidence — −log10(p) / 3, using the row's BH-adjusted p once a search produced one, never the raw p on its own
- Sample — log n toward 200
- OOS — 1 − |decay|, zero if sign flips — an out-of-sample mean many times the in-sample one is penalised exactly like one that shrank to a fraction of it, not scored as if nothing changed
- Cross-market — neutral until more than one market
- Regime — walk-forward sign consistency
- Simplicity — 1 / predicates
- Snooping — 1 / (1 + log10(candidates))
Gates
- No OOS events → cap 35
- OOS sign flip → cap 25
- n < 20 → cap 30
Caveat
A high ungated total with a gate is a warning, not a trophy. Status is REJECTED / PROMISING / VALIDATED from the score and OOS sign, not from a vibe — and for a campaign-sourced row, "the score" means the score computed from its adjusted p, because a raw p of 0.001 out of an 800-candidate search is not evidence of anything by itself.
Key points
- Waveform runs reuse the same score with effect = |corr| / 0.3 and sample = n_effective.
- Demo results can compute a number; they still cannot be promoted.
References
- RAINBOW score — src/domain/research/rainbow-score.ts
- Research methodology — docs/RESEARCH-METHODOLOGY.md