What each reading means, refreshed every trading morning — and how to use it without over-reading it.
The top of the dashboard opens with a one-line status — is a new rotation starting? — from the young-rotation flag (more below), then three readings, industry first:
"Rotation" means leadership is reordering broadly — not the whole market rising or falling together, and not one mega-cap dragging its group along. Both are removed before the model ever sees the data (see Methodology). The industry and sector probabilities are detection readings (where are we now); "is a new one starting" is the separate forward question the young-rotation flag answers.
An honest limit on the industry grain. Industries are the finer, more useful view of what is happening — but the aggregate industry probability is not a good "something is starting" signal on its own: it sits above its threshold on about half of all days, so it is almost never off. We measured its standalone forward edge at 1.02–1.15× random — i.e. none. Use the industry grain to see where leadership is shifting; use the young-rotation flag for whether a new one is starting.
The probability maps to a plain-language state:
| State | Probability | What it means |
|---|---|---|
| Calm | 0.00 – 0.50 | No active rotation. Sector leadership is stable; dispersion sits below episode thresholds. |
| Elevated | 0.50 – 0.70 | Pressure building. Dispersion rising and leadership starting to reorder — watch, don't act. |
| Rotation | 0.70 + | Active regime. Leadership reordering broadly, on breadth rather than a single name. |
These are display bands on a calibrated probability — when the model reads 0.30, rotation regimes have historically occurred about 30% of the time at that level (calibration error on the sealed test is 0.0046, essentially perfect).
The bands moved on 17 July 2026, and we owe you the reason. Elevated used to begin at 0.20. We finally measured what a 0.20 crossing was worth on data the model had never seen, and the answer was 1.26× random — very close to nothing, for a line this page was calling "the early-warning signal". A 0.50 crossing measures 1.78×: a rotation confirms within the month 54% of the time against a 31% base rate, with a median 15 trading days of warning. So Elevated now starts where a crossing actually changes the odds. Read that honestly: 46% of 0.50 crossings still do not pan out. This is a tilt in the odds, not a prediction.
Each sector's bar is its market-denoised residual return — the sector's move after removing its own beta to the index. What remains is genuine relative movement, not the market carrying everyone together. Positive (green) leads; negative (red) lags.
Breadth — the share of a sector's members actually participating — is the honesty check on each bar. A sector "leading" on thin breadth is usually one or two names, not a real rotation into it.
The model is one read. The Regime metrics panel adds a row of recognized rotation gauges — turbulence, relative-strength dispersion, volume intensity and more — each charted as its percentile versus its own history, so you can watch the ones you trust and toggle the rest on to compare. The score on each chip (ρ vs 13F) is how closely that gauge tracked the sector rotation institutions actually executed, reconstructed from their 13F filings.
Rotation Intensity is the standout — days that carry both a volume spike and elevated turbulence. It tracked the real 13F rotation better than any single measure, and it is fully independent of the model, so when the two agree that is genuine corroboration, not one lens fooling itself. It measures rotation intensity (that it is happening), not which sector wins.
Because it is a magnitude, not a regime probability, the model and Rotation Intensity can read differently — and that is useful, not a contradiction. A Calm model beside an Active intensity means no confirmed regime yet, but realized churn already above average — often the leading edge; the reverse (model elevated, intensity quiet) is a dispersion pattern not yet backed by heavy volume. We publish both rather than merge them: a naive combination we tested tracked the real rotation worse, not better, so collapsing them into one number would hide information.
Our rule is deliberately strict: it only calls a rotation after five straight qualifying days. That stops two noisy days being announced as a regime — but it also means that by the time the rule speaks, the first four days are already behind you.
The flag asks the forward question. When a candidate run is underway, it estimates the probability that this run survives to five days and confirms. Most do not: only about 21% make it. Runs die for unglamorous reasons — on 14 July 2026 one ended because participation printed 0.4396 against a 0.45 floor, a miss of one hundredth.
Why you can trust the number, and exactly how far. It is scored on 2021+ data the model was never fitted on: AUC 0.819, against 0.739 for a dumb benchmark knowing nothing but how many days the run has already lasted. Beating that benchmark is the whole test — runs that have lasted longer are likelier to continue, and that is arithmetic, not insight. It is calibrated too (error 0.0032): when it says 70%, it means 70%.
What it does not do. It forecasts our own definition of a rotation and nothing else. It will not tell you which sector wins — we measured that and found no skill at all. It will not tell you how big the move gets — a naive "today's dispersion continues" guess beats us there. It is not a return forecast. A high reading means a rotation is more likely to be declared, not that there is money in it.
The map lays out every industry as a tile, so you can see where the rotation is concentrated at a glance — something the headline readings can't show.
Put together: a big green tile is an established rotation into that industry (broad and weeks-long — possibly already late); a small, vividly-colored tile is a fresh move just beginning — the early signal. An industry drifting with the market (no real trend) stays small and neutral, so it never dominates the map by size alone.
The chart is the monthly probability since 1990, and every point uses only data available at the time — no look-ahead. Shaded months are model-flagged rotation episodes. The dashed line marks 2021: everything to its right is the sealed holdout the model was never fit on, so you can see how it behaves on data it never saw. The 2000 unwind, 2008, the 2020 shock, and the 2022 growth-to-value turn all read straight off it.
A latent-state model will fit something to any data, so the numbers below the chart are how you know this one is real:
It's a detector, not a crystal ball. Identifying whether we're in a rotation today is where the model is strong. Predicting one before it is visible is much harder, and we report that skill honestly as modest and short-lived. Don't read today's number as a forecast.
Research and educational content only — not investment advice, and not a recommendation to buy or sell any security. The reading is a statistical estimate with uncertainty.
The dashboard refreshes each trading morning (around 06:30 ET, Tuesday–Saturday), after the prior session's prices land. The "as of" date at the top always tells you the last data the reading is built on. If the price feed stalls, the page holds the last good date rather than showing a stale number dressed up as fresh.