Miridia Planner
Miridia Planner is the demand planning and forecasting studio of Miridia. It makes a forecast for each SKU, and it measures whether each change by a person made the forecast better or worse.
The demand model has five layers. Miridia stores each layer, and you can reverse each change:
- Raw actuals: the demand as it occurred.
- Cleansed history: the actuals after corrections for outliers, gaps, and stockouts.
- Statistical baseline: the forecast of the champion model.
- Planner adjustments: overrides and promoted scenarios.
- Consensus: the number that sales, finance, and operations agree.
Get the demand data
Miridia Planner reads its data from Miridia Core through a read-only data contract. The contract gives daily demand, the product list, the price history, and the stock positions.
- Sync now copies the latest data from Miridia Core.
- Upload a CSV file adds demand history from before you used Miridia. Start a new forecast run after the upload, so that the forecast uses the new rows.
Clean the history
Miridia Planner finds three types of problem in the weekly history:
- an outlier, for example one very large order
- a gap at the end of a series
- a stockout week, in which demand was low because you had no stock
For each problem, Miridia Planner makes a proposal. You accept it or dismiss it. You can also add a manual correction. The raw history never changes.
A correction changes the training data. Thus it applies at the next forecast run.
Run the forecast
A forecast run does these steps for each SKU.
Put the SKU in a group
- Short history, fewer than 20 weeks: only Seasonal Naive runs.
- Intermittent, more than 50% of the weeks are zero: only Croston and Seasonal Naive run.
- Normal: all the enabled models run.
Do a backtest
Miridia Planner holds back the last weeks of history, up to 3 times. It calculates WAPE, MAPE, and bias for each model.
Select a champion
The champion is the model with the lowest WAPE. It must be better than Naive and Seasonal Naive. If it is not better, the better benchmark becomes the champion.
Fit and forecast
Miridia Planner fits the champion on the full history. It makes the forecast with a prediction band.
The models
| Model | Family | Notes |
|---|---|---|
| AutoARIMA | Statistical | A stepwise ARIMA search. |
| AutoETS | Statistical | Selects the best exponential smoothing form. |
| Holt-Winters | Statistical | Level, trend, and a 52-week season. |
| Theta | Statistical | AutoTheta. |
| Seasonal Naive | Benchmark | Always on. You cannot disable it. |
| XGBoost | Machine learning | One global model for all normal SKUs. |
| LightGBM | Machine learning | One global model for all normal SKUs. |
| Ensemble | Ensemble | The top 3 candidates for the SKU, weighted by 1 / WAPE. |
Croston runs for intermittent demand. The machine learning models use lags 1 to 4, rolling means over 4 and 12 weeks, the calendar week, and the month.
Settings
| Setting | Values | Default |
|---|---|---|
| Horizon | 1 to 52 weeks | 13 weeks |
| Band width | 80%, 90%, or 95% | 90% |
| Selection mode | champion or manual | champion |
| Status "watch" | WAPE above this value | 14% |
| Status "at risk" | WAPE above this value | 30% |
| Bias tolerance | 10% |
You can also enable or disable each model, exclude a SKU, and pin a model to a SKU.
Read and adjust the forecast
The forecast list shows, for each SKU: the champion, WAPE, MAPE, bias, the status, the trend, and the ABC/XYZ segment.
The SKU page shows the history, the fitted values, the forecast band, each candidate model with its scores, and the split into trend, season, and residual.
An override changes the forecast of a SKU at once. It does not need a new run. You can also recalculate one SKU.
Scenarios
A scenario tests a change before you commit to it. It has five drivers:
- price
- promotion
- marketing spend
- weather
- holiday
Each driver takes a change from -100% to +100%. The page shows the uplift against the baseline, in units and in percent.
To use a scenario, promote it. Promotion adds one planner adjustment to the forecast.
Consensus planning
A consensus cycle covers a window of 4 weeks. It has five steps:
- Baseline: a snapshot of the adjusted statistical forecast.
- Sales: the sales team adds its numbers.
- Finance: the finance team adds its numbers.
- Consensus: the teams agree one number.
- Publish: Miridia Planner stores the agreed forecast.
After the window ends, Miridia Planner calculates the forecast value added (FVA). It compares the actual demand with the statistical number, the planner number, and the consensus number. FVA shows whether each human change made the forecast better or worse.
Accuracy
The accuracy page shows WAPE and bias for the portfolio, for each backtest cutoff, from the champion models. The models page shows the model catalogue, and it starts a new training run.
Replenishment
For each SKU, Miridia Planner calculates:
- the lead-time demand
- the safety stock
- the reorder point
- the days of cover
- a suggested order quantity, rounded to the minimum order quantity
The inputs are the adjusted forecast, the forecast error, the latest stock position, and the supply settings of the SKU: lead time, minimum order quantity, and supplier.
| Setting | Values | Default |
|---|---|---|
| Default lead time | Days | 14 days |
| Service level | 90%, 95%, or 98% | |
| Target cover | Days | 28 days |
| Cover alerts | Days | 21 and 14 days |
Export an order sheet as a CSV file, grouped by supplier.
Segmentation
- ABC by share of volume: A up to 80%, B up to 95%, C for the rest.
- XYZ by the coefficient of variation: X up to 0.25, Y up to 0.5, Z above 0.5.
Exceptions
The notifications page of Miridia Planner shows these conditions:
- accuracy at risk, or accuracy that needs review
- bias out of tolerance
- a sync that is old or that failed
- a stockout risk, or low cover
- stock data that is not complete
Miridia Planner calculates the exceptions again each time you open the page.