A data-driven, multi-pillar early-warning system estimating pressure building inside the modern AI-driven economic cycle.
Combines market signals, credit conditions, hyperscaler + semiconductor capex, infrastructure build-out, enterprise AI adoption, and sentiment intensity into one 0–100 composite.
AIBPS answers a simple question:
“How stretched is the AI ecosystem right now compared to its own historical patterns?”
👉 Streamlit App: https://aibps-v0-1.streamlit.app
Updates automatically via GitHub Actions (daily at ~07:00 UTC).
aibps-v0-1/
├── app/
│ └── streamlit_app.py # Interactive dashboard
├── src/aibps/
│ ├── compute.py # Composite assembly, normalization, weighting
│ ├── normalize.py # Rolling Z, percentile, sigmoid transforms
│ ├── fetch_market.py # Market data (yfinance)
│ ├── fetch_credit.py # Credit spreads (FRED)
│ ├── fetch_macro_capex.py # Hyperscaler, semiconductor, fab, infra CAPEX
│ ├── fetch_infra.py # Infrastructure build-out (electricity, cooling, grid)
│ ├── fetch_adoption.py # Enterprise software, digital labor, cloud adoption
│ ├── fetch_sentiment.py # News/text sentiment (synthetic + API-ready)
│ └── config.yaml # Pillar definitions, weights, normalization settings
├── data/
│ ├── raw/ # Raw pulls from APIs
│ └── processed/ # Normalized monthly indicators and composite
├── .github/workflows/
│ └── update-data.yml # Automated daily refresh
├── docs/
│ ├── METHODS.md # How each pillar is built
│ ├── OVERVIEW.md # Conceptual framing + economic logic
│ ├── ARCHITECTURE.md # Dataflow + processing pipeline
│ └── REFERENCES.md # Literature & citation support
├── requirements.txt
└── README.md
AIBPS is composed of six equally weighted pillars (weights configurable):
| Pillar | What It Measures | Source Examples |
|---|---|---|
| Market | AI-tilted asset returns & valuations | SOXX, QQQ, NVDA basket |
| Credit | Funding stress & corporate risk appetite | FRED HY OAS, IG OAS |
| Capex | Hyperscaler + semiconductor + fab investment cycle | FRED PNFI, hyperscaler CSV |
| Infrastructure | Power, grid build-out, cooling & data-center density | FRED ELECGEN, IPN313 |
| Adoption | Enterprise software, digital labor, productivity | FRED productivity, labor costs |
| Sentiment | Media hype, keyword fever, attention cycles | NLP-ready sentiment pipeline |
Each pillar is normalized using either:
- Rolling Z-score
- Rolling Z-Sigmoid
- Percentile rank
- (configurable in
config.yaml)
All subcomponents → normalized → averaged → pillar score → composite.
AIBPS represents the relative extremity of AI-related conditions:
- 0–25 → 🔵 Cold / Undervalued / Early-cycle
- 25–50 → 🟢 Stable / Neutral
- 50–75 → 🟡 Elevated / Late-cycle
- 75–90 → 🟠 Stretched / Fragile
- 90–100 → 🔴 Bubble conditions historically seen before unwinds
Bands adapt to the selected normalization scheme (default: rolling Z-sigmoid).
A GitHub Actions workflow:
- Pulls fresh data (yfinance + FRED + CSV hyperscaler capex)
- Normalizes using rolling windows
- Recomputes composite & pillars
- Commits new artifacts into
/data/processed/ - Streamlit automatically reloads them
You can inspect the workflow at:
.github/workflows/update-data.yml
pip install -r requirements.txt
python src/aibps/compute.py
streamlit run app/streamlit_app.py
A rising score typically reflects:
- Rapidly accelerating hyperscaler / semiconductor capex
- Tightening credit conditions
- Surging market valuations
- High media attention or hype intensity
- Infrastructure bottlenecks (power, cooling, grid)
- Low-friction AI adoption in enterprises
- AI cycles cooling off
- Funding risk improving
- Capex plateauing / deferred
- Sentiment moderation
- Market de-risking
All full documents stored in /docs/:
- OVERVIEW.md – economic logic, comparisons to dot-com & housing bubbles
- METHODS.md – detailed pillar construction + normalization math
- ARCHITECTURE.md – ETL/dataflow diagrams
- REFERENCES.md – peer-reviewed citations (APA 7)
Pull requests welcome!
Please open an issue before adding new pillars, subcomponents, or APIs.
MIT License — free to fork, modify, and build upon.
Maintainer: Matt Monnot, PhD
Industrial–Organizational Psychologist | People Analytics | Applied Econometrics
GitHub: https://github.com/mjmonnot