Driver-based CapEx forecasting + an interactive performance dashboard for hardware / manufacturing programs.
🔗 Open Live Dashboard • 📓 Forecast Notebook • 🧠 Model Explanation • 📄 Sample Input • 📦 Exports
This project turns CapEx line-items into decision-ready insights:
- Forecasting engine (Python / notebook): driver-based planning (demand, lead times, ramps, depreciation) with scenarios
- Interactive dashboard (HTML / GitHub Pages): KPIs, trends, mix, heatmaps, program/supplier concentration, drill-down detail
Use it for: CapEx planning, NPI/ramp readiness reviews, supplier risk focus, and exec-friendly summaries.
Live dashboard:
👉 https://quantumaster007.github.io/capex-forecasting-engine/CapEx%20Performance%20Dashboard.html
What you can do
- Filter by quarter / program / supplier / fab / process / criticality
- Click charts to cross-filter (treemap, heatmap, trend, etc.)
- Export filtered CSV for analysis
- Drill into the detail table (sort + search)
These numbers come from
data/sample_capex_input.xlsxand the generated tables underexports/.
- Base: $20,683,800
- Upside: $3,130,000
- Downside: $1,590,000
- 2025Q1: $14,043,800
- 2025Q2: $5,950,000
- 2025Q3: $690,000
Top programs by CapEx
- 3nm Logic NPI — $6,970,000
- Yield Improvement 5nm — $3,450,000
- LPDDR6 DRAM — $2,940,000
Top suppliers by CapEx
- ASML — $4,200,000
- KLA — $3,220,000
- Tokyo Electron — $2,940,000
- Avg lead time: 14.5 weeks
- Weighted avg lead time (CapEx-weighted): 24.9 weeks
- Avg unit cost: $699,790
- Input:
data/sample_capex_input.xlsx(or your dataset with the same schema) - Model logic:
models/capex_forecast_model.ipynb+src/helpers.py - Exports: CSV outputs in
exports/(quarterly CapEx + depreciation tables) - Dashboard:
CapEx Performance Dashboard.htmlconsumes your CSV (via upload) and visualizes KPIs + breakdowns
capex-forecasting-engine/
├─ CapEx Performance Dashboard.html # Interactive HTML dashboard (GitHub Pages)
├─ app.py # Streamlit app (optional local UI)
├─ data/
│ └─ sample_capex_input.xlsx
├─ exports/
│ ├─ quarterly_capex.csv
│ ├─ quarterly_depreciation.csv
│ └─ annual_depreciation_by_program.csv
├─ models/
│ ├─ capex_forecast_model.ipynb
│ ├─ capex_forecast_model.html
│ └─ capex_forecast_model.pdf
├─ src/
│ └─ helpers.py
└─ docs/
└─ model_explanation.md
- Open: Live Dashboard
- Use Upload CSV inside the dashboard to load your CapEx export
- Open
models/capex_forecast_model.ipynb - Load
data/sample_capex_input.xlsx - Run all cells
- Review outputs in
exports/(CapEx + depreciation tables)
pip install pandas numpy streamlit altair openpyxl
streamlit run app.pyThe notebook expects fields like:
- Asset details:
Asset_ID,Asset_Type,Asset_Class,Supplier_Name,Process_Area - Financials:
Quantity,Unit_Cost_USD,Currency - Timing:
Order_Quarter,Need_Quarter,Ramp_Start_Quarter,Ramp_Profile - Finance:
Depreciation_Years - Grouping:
Project_Code,Program_Name - Risk:
Criticality,Region,Fab_Location,Scenario
See: docs/model_explanation.md
- Add budget vs actual variance
- Add scenario toggles inside the HTML dashboard (Base/Upside/Downside)
- Add risk scoring (lead time × criticality × spend exposure)
- Add one-click “Exec Summary” export (PNG/PDF)


