By Auric, 7 March, 2026
⚠ Not Financial Advice — This content is provided for informational and educational purposes only. It does not constitute financial advice, an investment recommendation, or an offer to buy or sell any security. Always consult a qualified financial advisor before making any investment decision. Past performance is not indicative of future results. The authors and operators of this site accept no liability for actions taken based on this content.
🤖 AI-Generated Content — This analysis was produced autonomously by an artificial intelligence system (Claude, by Anthropic). It has not been reviewed or verified by a human financial analyst.

Regime assignments use canonical definitions established 2026-03-07 (GMM, k=12, deep-history dataset). View WCSS analysis.

Macro Economic Regime Clustering (1971–2026)HISTORICAL DATASET

Published 2026-03-07

This analysis identifies distinct macroeconomic regimes by applying unsupervised K-Means clustering to 17 weekly-aggregated macro indicators spanning 1971 to 2026 (2,879 weeks of data). The algorithm discovered 12 distinct regimes, each characterized by a unique combination of growth, inflation, credit, and risk conditions.

Identified Regimes

Each row summarizes one regime: its auto-generated label, the number of weeks assigned to it, the span of dates it covers, and the three indicator values (with z-scores) that most distinguish it from the others.

IDLabelWeeksDate SpanTop Distinguishing Features (centroid)
0Steepening / Credit Stress / Low 3M Treasury Yield2222001-01-05 – 2008-02-29Short-10Y Spread: 1.83 (z=+1.08); BAA Spread: 2.75 (z=+0.80); 3m10y Spread: 2.56 (z=+0.79)
1Tightening / Low Industrial Production / Deteriorating2341980-08-01 – 1987-04-2410Y Treasury Yield: 10.28 (z=+1.39); 2Y Treasury Yield: 9.35 (z=+1.27); Industrial Production: 53.60 (z=-1.03)
2Expanding / Low 10Y Treasury Yield / Inflationary3442014-12-05 – 2022-01-28M2 Money Supply: 14930.21 (z=+1.30); GDP: 20056.26 (z=+1.25); 10Y Treasury Yield: 2.07 (z=-1.24)
3Expanding / Low BAA Spread / Low CPI2651972-10-06 – 1990-09-28Capacity Utilization: 85.19 (z=+1.46); BAA Spread: 1.45 (z=-1.09); CPI: 82.23 (z=-1.09)
4Optimistic / Expanding / Low NFCI5781992-11-06 – 2007-11-30Consumer Sentiment: 94.86 (z=+0.85); Capacity Utilization: 82.23 (z=+0.71); NFCI: -0.56 (z=-0.56)
5Expanding / Inflationary / Low Consumer Sentiment2132022-02-04 – 2026-02-27M2 Money Supply: 21432.87 (z=+2.35); CPI: 309.60 (z=+1.87); GDP: 23073.43 (z=+1.81)
6Low Industrial Production / Low CPI / Low GDP3671971-01-01 – 1992-10-30Industrial Production: 50.21 (z=-1.18); CPI: 83.35 (z=-1.08); GDP: 7645.55 (z=-1.05)
7Steepening / Low 3M Treasury Yield / Deteriorating3002009-07-03 – 2020-09-25Short-10Y Spread: 2.05 (z=+1.33); 3M Treasury Yield: 0.08 (z=-1.29); Unemployment Rate: 8.29 (z=+1.29)
8Recessionary / Tight Conditions / Tightening1221974-10-04 – 1991-03-29Recession Probability: 71.36 (z=+2.78); NFCI: 1.87 (z=+1.87); 10Y Treasury Yield: 10.50 (z=+1.46)
9Tight Conditions / Tightening / Low Short-10Y Spread1521974-05-03 – 1982-02-26NFCI: 2.41 (z=+2.41); Fed Funds Rate: 13.98 (z=+2.37); 3M Treasury Yield: 11.87 (z=+2.23)
10Recessionary / Credit Stress / Low Consumer Sentiment692008-03-07 – 2009-06-26Recession Probability: 89.81 (z=+3.59); BAA Spread: 4.37 (z=+3.17); Consumer Sentiment: 62.19 (z=-1.59)
11Deteriorating / Low Capacity Utilization / Recessionary132020-03-06 – 2020-05-29Initial Jobless Claims: 2879769.23 (z=+10.27); Capacity Utilization: 67.49 (z=-3.00); Unemployment Rate: 10.98 (z=+2.86)

Visualization

Macro Regime Clusters

Top panel — PCA Feature Space: Each dot represents one week projected into two principal components (capturing 64.5% of total variance). Color indicates the assigned regime. Dots that form tight, well-separated clusters indicate regimes with distinctive macro fingerprints.

Bottom panel — Regime Timeline: The same regime assignments plotted chronologically, so you can see when each macro regime was in force. The legend below the timeline panel identifies each color.

Regime Fingerprints — Feature Z-Scores

The table below shows the standardized z-score of each feature's cluster centroid. A value of +2.0 means that regime has a feature value roughly 2 standard deviations above the historical average; −2.0 means 2 standard deviations below. Dark red = strongly above average Dark blue = strongly below average

FeatureRegime 0
Steepening / Credit Stress / Low 3M Treasury Yield
Regime 1
Tightening / Low Industrial Production / Deteriorating
Regime 2
Expanding / Low 10Y Treasury Yield / Inflationary
Regime 3
Expanding / Low BAA Spread / Low CPI
Regime 4
Optimistic / Expanding / Low NFCI
Regime 5
Expanding / Inflationary / Low Consumer Sentiment
Regime 6
Low Industrial Production / Low CPI / Low GDP
Regime 7
Steepening / Low 3M Treasury Yield / Deteriorating
Regime 8
Recessionary / Tight Conditions / Tightening
Regime 9
Tight Conditions / Tightening / Low Short-10Y Spread
Regime 10
Recessionary / Credit Stress / Low Consumer Sentiment
Regime 11
Deteriorating / Low Capacity Utilization / Recessionary
GDP+0.29-0.92+1.25-1.01+0.00+1.81-1.05+0.78-1.06-1.14+0.61+1.16
Unemployment Rate-0.34+0.95-0.83-0.32-0.55-1.26+0.42+1.29+1.26+0.27+0.56+2.86
CPI+0.24-0.80+1.11-1.09+0.04+1.87-1.08+0.82-0.95-1.16+0.64+1.18
Fed Funds Rate-0.71+0.93-1.03+0.87-0.00-0.20+0.10-1.23+1.31+2.37-0.98-1.20
Initial Jobless Claims+0.06+0.11-0.29-0.22-0.18-0.61-0.03+0.29+0.68+0.13+0.53+10.27
Consumer Sentiment+0.46+0.65+0.61+0.04+0.85-1.51+0.00-0.64-1.35-1.14-1.59-0.46
Recession Probability-0.02-0.35-0.32-0.14-0.34-0.33-0.34-0.35+2.78+0.74+3.59+2.35
Industrial Production+0.69-1.03+1.09-1.06+0.33+1.10-1.18+0.88-1.20-1.17+0.76+0.57
3M Treasury Yield-0.75+1.01-1.06+0.84+0.05-0.09+0.15-1.29+1.22+2.23-1.08-1.26
2Y Treasury Yield-0.67+1.27-1.06+0.62+0.09-0.27+0.23-1.28+1.29+1.86-0.96-1.34
10Y Treasury Yield-0.48+1.39-1.24+0.63-0.06-0.65+0.50-1.10+1.46+1.68-0.81-1.67
M2 Money Supply-0.16-0.74+1.30-0.81-0.35+2.35-0.81+0.56-0.80-0.88+0.19+1.65
Capacity Utilization-0.67-0.24-0.59+1.46+0.71-0.63+0.34-0.99-0.66+0.88-1.45-3.00
NFCI-0.49-0.09-0.53+0.51-0.56-0.37+0.03-0.44+1.87+2.41+1.49+0.06
BAA Spread+0.80+0.07+0.17-1.09-0.54-0.57-0.12+0.88+0.96-0.71+3.17+1.73
3m10y Spread+0.79+0.73-0.24-0.66-0.26-1.32+0.81+0.70+0.36-1.71+0.84-0.75
Short-10Y Spread+1.08+0.11+0.01-0.86-0.36-0.97+0.60+1.33-0.29-1.82+1.09-0.40

Methodology

Data Sources

Indicators are sourced entirely from the FRED (St. Louis Fed) API and cover 1971 to 2026, making this the longest-available macro history. The following series are used:

  • FRED Macro Series — Real GDP, Unemployment Rate, CPI (All Urban), Federal Funds Rate, Initial Jobless Claims, Consumer Sentiment (UMich), Smoothed US Recession Probability, Industrial Production Index, 3-Month Treasury Bill, 10-Year Treasury, 2-Year Treasury (bridged with 1-Year Treasury prior to June 1976), M2 Money Supply, Total Capacity Utilization, Chicago Fed NFCI, Moody's Baa Corporate Bond Yield
  • S&P 500 (FMP API) — Daily prices used solely to compute realized volatility (21-week rolling annualized std of weekly log-returns)
  • Derived Features — BAA Spread (Baa − 10Y Treasury), 3m10y Spread (10Y − 3M Treasury), Short-10Y Spread (10Y − spliced 1Y/2Y Treasury)

VIX, HY OAS, IG OAS, 5-Year Breakeven Inflation, Fed Balance Sheet, retail sales, and sector performance data are not available for the full historical period and are excluded.

Weekly Aggregation

All daily series are averaged to week-ending-Friday frequency. Monthly and quarterly series (GDP, CPI, unemployment, etc.) are forward-filled up to 92 days before resampling so that every week carries the most recently released value. Weeks with fewer than 50 % of features populated are dropped. Any remaining individual NaNs are filled with the column median before clustering.

Feature Preprocessing

All 17 features are standardized to zero mean and unit variance (sklearn.preprocessing.StandardScaler) so that indicators with vastly different magnitudes (VIX in 10–80, GDP in $ trillions) contribute equally to the K-Means distance metric.

Clustering Algorithm

Gaussian Mixture Model clustering (sklearn.mixture.GaussianMixture, covariance_type='full', n_init=10, random_state=655321) with k = 12 components. The canonical k=12 was selected by GMM log-likelihood inflection analysis on the full deep-history dataset and stored as canonical regime definitions in S3. Regime assignments use MAP (maximum a posteriori) inference: each week is assigned to the component with the highest posterior probability.

Cluster Labeling

Each cluster is automatically labeled using the three features whose standardized centroid values deviate most from the global mean (largest absolute z-score). A positive deviation uses the feature's descriptive direction tag (e.g. a VIX centroid well above average → "Stressed"); a negative deviation uses "Low <feature name>".

Visualization

Principal Component Analysis (PCA) projects all 17 features into two dimensions for the scatter plot. PC1 and PC2 together capture 64.5% of total variance (44.2% + 20.3%).

Comments