Demand Forecasting App
Predict product demand with ensemble ML, confidence intervals, and an interactive dashboard.

Overview
This Streamlit app helps teams forecast demand using an ensemble of models (XGBoost, LightGBM, Random Forest). It supports 1–12 month horizons, shows confidence bands, and keeps data fresh with a scheduled daily run.
Key Features
- Smart ensemble predictions with interactive charts & insights.
- Data freshness indicator and system monitoring panel.
- Auto-processing of new data daily at 02:00.
- Deploy via Docker or run in a Python env; includes demo data to try quickly.
What You’ll See
- Live Dashboard: real-time metrics, top products, trends, freshness.
- Forecasting: per-product forecasts, 1–12 months, CSV export.
- Monitoring: job status, manual refresh, health checks.
Quick Start
- Clone the repo and run
docker-compose up -d
, then openhttp://localhost:8501
. - To use your data, provide a CSV with
product_id, date, sales_quantity, unit_price
and set the path in.env
.