Predictium · Bubble Watch
Methodology · transparent by design
As of 17 Aug 2026
How every score is built

Methodology

Every headline number shows its work. No black-box needle-by-feel. Each raw metric becomes a 0–100 sub-score by where it sits between a cheap anchor and a bubble-peak anchor; buckets are weighted into the composite. Anchors and weights are calibration parameters kept in config, so the track record stays auditable.

The scoring function
score = clamp( ( value − floor ) / ( ceiling − floor ) × 100, 0, 100 )
For inverted metrics (low value = hot — credit spreads, ERP) the floor is the wide/cushioned anchor and the ceiling is the tight/complacent anchor.
The four weighted buckets & their anchors
BucketMetricFloorCeilingSeedSub-score
Equity valuation 45%Shiller CAPE54496
Buffett Indicator33%240%234.3%97
Nasdaq-100 fwd P/E12×60×22.08×21
Credit & complacency 30%HY OASinverted8%2.4%2.7%94
IG OASinverted2.5%0.50%0.8%86
Equity risk premiuminverted8%3%4.2%75
Housing 15%Home price ÷ median income3.2×4.90505×45
Concentration 10%Mag 7 weight in S&P 50015%35%33.2%91
Composite Bubble Index = Σ ( bucket weight × bucket sub-score ).
0.45×72 + 0.30×85 + 0.15×45 + 0.10×91 = 74  (“Elevated / Frothy”).
Zone bands
RangeLabelMarker
020Cheap / Fear
2040Calm
4060Fair-to-full
6080Elevated / Frothy
80100Mania / Bubble
The drawdown probability

The bold secondary stat is P(≥20% S&P 500 drawdown within 12 months). We publish it as the measured historical base rate (~14% over 1871–present) with a wide 80% range (~6–26%), tagged BASE RATEnot a forecast. We built and back-tested a model to time drawdowns from valuation, credit, and volatility; across 70+ years none of them carry a reliable leading signal at this horizon (the apparent volatility signal is coincident — it rises once a drawdown is already underway). Rather than publish false precision, we anchor on the unconditional base rate and keep the range honest. (For context: from valuations as stretched as today's, a ≥20% drawdown historically followed within a year closer to 1-in-5 — but that conditioning does not reliably forecast timing, so we don't headline it.)

The three principles

Transparency

Every headline number shows which inputs produced it and how they were weighted.

Calibration over confidence

We publish probabilities and archive them, so the record is public and Brier-scorable.

Honesty about limits

A high reading signals fragility and weak long-run returns — not an imminent crash.

Sources: FRED (ICE BofA OAS series, Wilshire 5000, GDP, MSPUS, median household income); multpl / Shiller dataset (CAPE); GuruFocus / buffettindicator.org (mkt cap/GDP); Siblis / MacroMicro (Nasdaq-100 fwd P/E); Damodaran (ERP); JCHS / Census (home price-to-income); Slickcharts / Stock Analysis (Mag 7 weight); company filings + Yahoo Finance (capex, per-stock P/E).
Calibration changelog: anchors, weights, and zone bands live in versioned config; any change is logged here so historical readings stay auditable.
Not investment advice. A high reading signals fragility and weak long-run expected returns — not a near-term crash call.