How retail-analytical-platform/retail-analytics-ml works
This repository is an early-stage retail-demand forecasting project, but its implemented workflow currently centers on a CLI data-validation stage: it loads configured tables from a PostgreSQL-compatible database, checks their schema and date coverage, and reports failures. The CLI exposes feature, training, backtest, selection, forecast, and report stages, but those handlers are placeholders. The README describes a broader intended forecasting workflow; the graph preserves those planned capabilities without implying they are implemented. The substantial ETL files describe a separate pollution-forecast workflow, so they are shown as a distinct legacy branch. Evidence for unsampled planned subsystems is limited to the README.
Main entry points: main.py Stage dispatcher · ingestion.py Table ingestion · transform.py Cleaning and features · run_id.py Run ID
Components 17
Retail CLI
- Stage dispatcher
main.py - Run ID
src/run_id.py - Logging setup
src/logging_setup.py
Retail Data
- Config loader
src/config.py - Table ingestion
src/data/ingestion.py - Supabase database
- Data validation
src/data/validation.py
Planned Forecasting
- Feature engineering
main.py - Model training
main.py - Backtesting
main.py - Model selection
main.py - Demand forecasts
main.py - Forecast reporting
main.py
Pollution ETL
- CSV extraction
src/ETL/extract.py - Cleaning and features
src/ETL/transform.py - Modeling and forecasts
src/ETL/load.py
Other components
- CLI operator
Connections 14
- CLI operator → Stage dispatcher: invokes
README.md - Stage dispatcher → Run ID: creates
main.py - Stage dispatcher → Logging setup: configures
main.py - Stage dispatcher → Table ingestion: loads tables
main.py - Stage dispatcher → Config loader: loads config
main.py - Stage dispatcher → Data validation: validates tables
main.py - Table ingestion → Supabase database: queries tables
src/data/ingestion.py - Stage dispatcher → Feature engineering: dispatches
main.py - Stage dispatcher → Model training: dispatches
main.py - Stage dispatcher → Backtesting: dispatches
main.py - Stage dispatcher → Model selection: dispatches
main.py - Stage dispatcher → Demand forecasts: dispatches
main.py - Stage dispatcher → Forecast reporting: dispatches
main.py - Cleaning and features → CSV extraction: loads extracted data
src/ETL/transform.py