ForecastAI 2026.01 — Mirabelle¶
ForecastAI Mirabelle is a supply-chain intelligence platform that combines statistical and deep-learning demand forecasting, multi-echelon inventory optimisation (MEIO), supply planning, causal/asset-driven forecasting, automated alerts, and exception management — all within a multi-tenant, pipeline-based architecture.
What Mirabelle Does¶
Mirabelle ingests your historical demand data and produces:
- Demand forecasts — 24-week rolling horizon using 10+ statistical and neural models (AutoARIMA, AutoETS, MSTL, Croston, NHITS, NBEATS, PatchTST, TFT, DeepAR, TimesFM).
- Best-method selection — composite weighted backtesting automatically picks the winning model per SKU.
- MEIO / Inventory optimisation — safety-stock, reorder points, EOQ exchange curves using fitted demand distributions (Normal, Gamma, Negative Binomial, Lognormal, Weibull).
- Supply planning — MRP-style supply runs generating BUY / BUILD / REPAIR / TRANSFER orders with pegging, capacity constraints, and inventory projections.
- Score-based allocation — deterministic priority-based distribution of limited supply across competing demands.
- Replay engine — iterative re-run of supply + allocation over a configurable historical horizon for fill-rate and stock-evolution analysis.
- Causal forecasting — asset-usage-driven demand for MRO / aerospace, maintenance scheduling, failure-rate waterfalls.
- Exceptions & alerts — configurable ontology-based alert rules with workflow (open → reviewed → snoozed → actioned).
- Multi-tenant SaaS — each customer gets their own PostgreSQL database; a master database holds tenant accounts and the shared JWT secret.
Key Capabilities at a Glance¶
| Capability | Where |
|---|---|
| 10 forecasting models | files/forecasting/ |
| Rolling-window backtesting | files/evaluation/ |
| Composite best-method scoring | files/selection/best_method.py |
| Demand characterisation (intermittency, seasonality, trend) | files/characterization/ |
| Distribution fitting for safety stock | files/distribution/fitting.py |
| Multi-echelon inventory optimisation | files/meio_runner.py, files/MEIO_v2/ |
| Supply planning engine | files/api/supply_router.py |
| Score-based allocation | files/allocation_runner.py |
| Replay engine | files/replay/replay_engine.py |
| Causal / asset-driven forecasting | files/forecasting/causal/ |
| Alert ontology engine | files/alerts/engine.py |
| 88+ REST API endpoints | files/api/main.py (port 8002) |
| React 18 SPA | files/frontend/ (port 5173) |
| Multi-tenancy | forecastai_master PostgreSQL DB |
Full Pipeline Flow¶
flowchart TD
ERP["ERP / Source DB\n(demand_db)"]
ETL["ETL\nfiles/etl/\nWeekly aggregation"]
CHAR["Characterisation\nfiles/characterization/\nSeasonality · Trend · Intermittency"]
FORE["Forecasting step\nfiles/forecasting/\n① Outlier detection (IQR · z-score · STL) → demand_corrected\n② StatsForecast · NeuralForecast · TimesFM\n(Dask parallel)"]
EVAL["Evaluation\nfiles/evaluation/\nRolling-window backtesting"]
BEST["Best Method Selection\nfiles/selection/best_method.py\nComposite weighted scoring"]
DIST["Distribution Fitting\nfiles/distribution/fitting.py\nNormal · Gamma · NegBin · Lognormal · Weibull"]
PG["PostgreSQL\nscenario schema\nTenant database"]
API["FastAPI\nfiles/api/main.py\nPort 8002 · 200+ endpoints"]
REACT["React 18 Frontend\nfiles/frontend/\nPort 5173"]
MEIO["MEIO / Inventory Optimisation\nfiles/meio_runner.py\nSafety stock · EOQ · ROP"]
SUPPLY["Supply Planning\nfiles/api/supply_router.py\nBUY / BUILD / REPAIR / TRANSFER orders"]
ALLOC["Allocation Engine\nfiles/allocation_runner.py\nScore-based priority allocation"]
REPLAY["Replay Engine\nfiles/replay/replay_engine.py\nIterative supply+allocation replay"]
CAUSAL["Causal Forecasting\nfiles/forecasting/causal/\nAsset-driven · Maintenance"]
ALERTS["Alert Engine\nfiles/alerts/engine.py\n32 rule ontology"]
ERP --> ETL --> CHAR --> FORE --> EVAL --> BEST --> DIST --> PG
PG --> API --> REACT
DIST --> MEIO --> PG
PG --> SUPPLY --> PG
SUPPLY --> ALLOC --> PG
PG --> REPLAY
CAUSAL --> PG
PG --> ALERTS
Documentation Sections¶
- User Guide — Overview, architecture, quickstart, daily workflows for demand, supply, and inventory planners
- Algorithms — Forecasting models, backtesting, distribution fitting, MEIO maths
- Developer Guide — Backend code, database schema, auth, multi-tenancy, ports
- Configuration — Parameter sets, segments, pipeline setup
- Administration — Tenant provisioning, user management, SuperAdmin panel
Quick links
- API Swagger UI: http://localhost:8002/docs
- React frontend: http://localhost:5173
- Start everything:
start.batfrom the project root