Interactive forecasting dashboard for raw material demand and inventory optimization.
Description
A Streamlit-based web application that forecasts daily demand for key raw materials using time-series modeling.
Supports scenario simulation (e.g., construction boom, currency fluctuation) and provides actionable procurement insights.
The dashboard visualizes historical trends, seasonal patterns, and future demand with confidence intervals.
Goal
Enable data-driven procurement decisions to minimize overstock, stockouts, and supply chain costs in volatile markets.
In diversified industrial groups like AMG Holdings (steel manufacturing, coffee export, energy):
- Raw material demand is volatile due to seasonal patterns (construction cycles, coffee harvest), currency fluctuations (USD/ETB), and external factors (construction activity, energy prices).
- Poor forecasting leads to excess inventory (high holding costs), shortages (production halts), and missed opportunities.
- Ethiopia’s forex shortages, import delays, and construction boom make supply chain planning especially challenging.
- Manual planning or basic spreadsheets cannot capture multi-material seasonality and external drivers.
Business impact
- Excess holding costs and capital tied up in inventory
- Production downtime from shortages (steel & energy operations)
- Missed export targets (coffee)
- Increased procurement costs due to reactive buying at peak prices
End-to-end forecasting pipeline and interactive dashboard:
-
Synthetic Data Generation
- Simulated 2 years (730 days) of daily demand for 4 key materials: Steel Coils, Zinc Ingots, Coffee Beans, Coal/Fuel
- Incorporated realistic seasonality, noise, and external drivers (USD/ETB rate, construction index)
- Created lag features and date components for modeling
-
Exploration & Preprocessing
- Visualized trends, monthly seasonality, and correlations
- Confirmed construction index as strongest driver (r ≈ 0.129)
- Added lag features (7-day, 30-day) and filled initial gaps
-
Forecasting & Modeling
- Prophet model — best performer (MAE 18.77 tons, RMSE 25.18 tons)
- Captures strong seasonality automatically (yearly + weekly)
- XGBoost as alternative (MAE 20.04 tons, RMSE 29.36 tons)
- Trained per material; saved model for Steel Coils demo
-
Interactive Dashboard
- Material selector
- Forecast horizon slider (30–180 days)
- What-if construction index adjustment
- Interactive Plotly forecast with uncertainty bands
- Key metrics and trends visualization
Technology Stack
- Python 3.10+
- pandas, numpy (data processing)
- Prophet (time-series forecasting)
- XGBoost (alternative regression model)
- Streamlit (interactive dashboard)
- Plotly (visualizations)
- joblib (model saving — XGBoost)
- prophet.serialize (model saving — Prophet)