An end-to-end Python economic-intelligence platform for studying inflation, employment, economic growth, interest rates, wages, and consumer spending. It combines public API ingestion, SQLite, Pandas/NumPy analysis, and an interactive Plotly Dash dashboard.
- Integrates FRED, World Bank, and BLS public economic data into normalized SQLite tables.
- Cleans missing values, removes duplicates, aligns time series, and engineers year-over-year changes and z-score anomaly signals.
- Supports correlations, trends, country comparisons, downloadable data, KPI cards, a searchable table, and visual analysis.
- Runs with synthetic demo data if an API is unavailable, so reviewers can launch it immediately.
Public APIs → fetchers.py → cleaning/feature engineering → SQLite → Dash dashboard
- Install Python 3.10+.
- Create a virtual environment:
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt
- Copy
.env.exampleto.envand place your newly regenerated FRED key in it. - Load public data:
python scripts/load_data.py
- Start the dashboard:
python app.py
- Open
http://127.0.0.1:8050in your browser.
indicators holds canonical metadata. observations stores one country, indicator, date, value, and source per row. The primary key prevents duplicate observations during repeated loads.
## Data sources
- FRED: US CPI, unemployment, GDP, federal funds rate, PCE, and earnings.
- World Bank: international GDP growth, inflation, unemployment, and consumption.
- BLS: US total nonfarm employment.
Public APIs can revise historical values. This project is for analysis and education, not investment advice.