Model Card
Training Data
The demand forecasting model learns from the shop's weekly usage of its stocked items. It scores 1,336 of the 1,339 stocked items; the other three are successor parts with no usage history yet. Each training row is one item on one forecast date. Its features describe the item's usage and order book up to that date, and its target is the usage over the following lead time, rounded to whole weeks.
The historical data is split by date and never shuffled. Training rows start at week 52 of the history, because every forecast needs a full year of usage behind it. A 26-week validation block before 2025 was used to tune and compare the candidates, and 2025 was held out to score the winner. Each split keeps its whole forecast horizon before the next window starts, so no training target overlaps a validation week and no validation target overlaps 2025.
The first six months of 2026 are the model's live output; the model is retrained monthly on every forecast date whose outcome is known.
| Split | Forecast dates | Forecasts | Items | Median target (units) | Zero-usage share |
|---|---|---|---|---|---|
| Train | 2024-01-01 to 2024-07-01 | 27,862 | 1,336 | 25 | 14% |
| Validation | 2024-07-08 to 2024-12-30 | 26,526 | 1,336 | 24 | 14% |
| Test | 2025-01-06 to 2025-12-22 | 59,926 | 1,336 | 27 | 13% |
| Live | 2025-12-29 to 2026-06-22 | 26,401 | 1,334 | 26 | 14% |
The model's 26 features fall into four groups. The first is Rolling Usage, including usage windows (4, 13, 26 and 52 weeks), the count of weeks with any usage, the time since the last usage and the recent variability. The second is Calendar Features, to let the model learn seasonal demand patterns. The third is Item Attributes, including cost, lead time, demand pattern, value class and category, to tell the model how to read each item's usage history. The fourth is the Order Book: the component requirements of jobs booked on or before the forecast date, namely the requirements due inside the lead-time window and in the four weeks after it, the subset already released, the open job count, the book's cover of average usage, and the product-family backlog. The correlation figures presented are Spearman rank correlations with the target on the training rows, which suit the skewed, zero-heavy usage.
| Feature | Description | Type | Corr. with target |
|---|---|---|---|
| s4 | Usage, last 4 weeks | Rolling usage | +0.35 |
| s13 | Usage, last 13 weeks | Rolling usage | +0.60 |
| s26 | Usage, last 26 weeks | Rolling usage | +0.61 |
| s52 | Usage, last 52 weeks | Rolling usage | +0.61 |
| nz13 | Weeks with usage, last 13 | Rolling usage | +0.41 |
| nz52 | Weeks with usage, last 52 | Rolling usage | +0.43 |
| since_nz | Weeks since last usage | Rolling usage | -0.20 |
| cv13 | Week-to-week variability, last 13 weeks | Rolling usage | -0.19 |
| trend | Recent trend (4-week rate less 13-week rate) | Rolling usage | -0.15 |
| ly | Usage in the same weeks last year | Rolling usage | +0.73 |
| mean_all | Average weekly usage since history began | Rolling usage | +0.61 |
| woy | Week of year | Calendar | -0.11 |
| month | Month | Calendar | -0.11 |
| std_cost | Standard unit cost | Item attribute | -0.36 |
| lead | Supplier lead time (days) | Item attribute | +0.40 |
| annual | Annual usage | Item attribute | +0.51 |
| seg_code | Demand pattern | Item attribute | -0.19 |
| abc_code | Value class (ABC) | Item attribute | +0.03 |
| cls_code | Item category | Item attribute | -0.18 |
| h | Forecast horizon (lead time, weeks) | Item attribute | +0.40 |
| firm_h | Component requirements of booked jobs due inside the lead-time window | Order book | -0.00 |
| firm_rel_h | Of those, the requirements of jobs already released | Order book | -0.01 |
| firm_next4 | Requirements of booked jobs due in the four weeks after the window | Order book | -0.08 |
| open_jobs | Open booked jobs drawing the item | Order book | -0.01 |
| book_cover | Booked requirements as a share of average usage over the window | Order book | -0.07 |
| fam_backlog | Product-family backlog of booked jobs | Order book | -0.05 |
The rolling usage windows are strongly correlated with one another, since they overlap in time. The
weeks-since-last-usage and variability features move against the usage windows, as expected for intermittent items.
Unit cost runs against usage (-0.44 to -0.48), because
expensive items are used in smaller quantities. Last year's usage correlates only +0.71 with the
52-week total, so its timing adds information beyond the average level. The order-book features correlate weakly
with the target because the target is usage net of booked requirements; their value is in the booked quantity itself,
which enters the forecast directly, and in book_cover, which the model uses to read how much of an item's
usage the book already explains.
The target is heavily right-skewed: most lead-time windows use a few dozen units, while fasteners and consumables run to thousands. The model is therefore trained on log(1 + usage), so the few very high-volume items do not dominate the fit and the model learns proportional patterns across items of very different sizes. This distribution is stable across the three splits, as shown below.
Known Demand and the Forecast Target
Part of an item's usage over its lead time is known on the forecast date: the component requirements of jobs already booked. On the parts that sit on a bill of materials, those requirements cover 36% of usage over the lead time; parts on no bill have none. The order book's own timing error against what the floor actually backflushed in the window is 16.7% (WAPE). The model forecasts only the remainder, because the ERP nets the booked requirements itself: forecasting them too would count them twice.
| Parts | Items | Share of lead-time usage covered by booked jobs |
|---|---|---|
| Parts on a bill of materials | 516 | 36% |
| Parts on no bill | 820 | 0% |
Model Selection & Performance
Model Selection
Three candidates, a ridge regression, a random forest and an XGBoost gradient-boosted model, were each tuned with Optuna (12 trials per model) on the validation weeks, using weighted absolute percentage error (WAPE) on total lead-time demand (the booked requirements plus the forecast remainder) as the objective. The selection rule picks the lowest validation WAPE on total demand; the booster is preferred only when it finishes within half a point of the best, and within 0.3 points the smaller feature set wins. The models were then refit on train plus validation and scored once on the held-out 2025 year. The random forest had the lowest validation error and was selected.
| Model | Validation WAPE | Held-out 2025 WAPE | Tuned hyperparameters |
|---|---|---|---|
| Random forest ✔ Selected | 45.6% | 43.0% | n_estimators 300, max_depth 16, min_samples_leaf 8 |
| XGBoost | 47.6% | 45.7% | n_estimators 250, max_depth 4, learning_rate 0.0219, subsample 0.798, colsample_bytree 0.755, min_child_weight 3, reg_lambda 3.4 |
| Linear regression (ridge) | 74.2% | 78.6% | alpha 76.1 |
The best random forest model has 300 trees with a maximum depth of 16 and at least 8 rows per leaf. The relatively large leaf-size floor keeps the model from fitting individual spikes and instead learning the items' typical usage patterns.
Model Performance
Accuracy is measured as WAPE: the total absolute gap between forecast and actual usage across all forecasts, divided by total actual usage. The fair comparison is the order book plus the best simple method by demand pattern, which knows the same booked requirements: on the held-out 2025 year it scores 47.2%, against 43.0% for the model's raw forecast. The reorder points use the bias-corrected forecast (Section 5), which trades some accuracy (43.0% to 46.5% on the held-out year) for forecasts that do not run systematically low. Live figures are the monitor's latest matured month.
| Metric | Validation | Held-out 2025 | Live, Apr 2026 |
|---|---|---|---|
| Order book + best simple method by pattern, WAPE | n/a | 47.2% | 44.7% |
| Model, raw forecast, WAPE | 45.6% | 43.0% | n/a |
| Model, bias-corrected forecast (used for reorder points), WAPE | n/a | 46.5% | 44.7% |
| Best simple method by pattern (usage history only), WAPE | n/a | 49.7% | n/a |
| Forecast bias, after correction | n/a | +4.2% | +5.7% |
| Forecasts scored | 26,526 | 59,926 | 4,669 |
A live WAPE of 45% means that for every 100 units an item used over its lead time, the forecast was off by about 45 units in either direction. Across the matured months from January to April it ran 42.5% to 45.6%. That is typical for item-level forecasts of lumpy, job-driven demand, where a single job or spare-parts order can double an item's usage in a week. The errors largely cancel across items: over all live forecasts scored by June 30, total forecast usage was within 1.3% of actual. Most of the operational improvement comes from how the forecast is used, covered in Section 5.
The learning curve refits the selected model on growing random shares of the training and validation rows. The held-out error flattens well before the full training set, so more of the same history adds little.
Calibration compares the mean forecast with the mean actual usage within each tenth of the forecasts, from smallest to largest. Points on the diagonal mean a forecast of, say, 50 units really does average about 50 units of usage. After the bias correction described in Section 5, the live forecasts track actual usage within 10% from about 23 units up, with the largest tenth running 6% high. Below that, actual usage runs above the forecast: the smallest tenth of live forecasts average 1.1 units against 2.4 used, and the held-out year shows the same shape more strongly. The safety buffer absorbs that gap on the smallest items.
Error varies by demand pattern. Smooth items are forecast best and intermittent items worst, since an item used a few times a year at random offers little to learn from. The table compares the model with the order book plus the best simple method for each pattern, in the held-out year and live. The model's gain over the order book plus the best simple method is concentrated in lumpy and intermittent items in the held-out year; on smooth items the simple method is as good.
| Demand pattern | Model, 2025 | Order book + simple, 2025 | Model, 1H26 | Order book + simple, 1H26 | Bias, 1H26 |
|---|---|---|---|---|---|
| Smooth | 34% | 32% | 34% | 33% | -2% |
| Erratic | 53% | 53% | 51% | 52% | +5% |
| Lumpy | 48% | 53% | 45% | 51% | -3% |
| Intermittent | 68% | 74% | 62% | 61% | +14% |
Plotted against actual usage on log scales, the live forecasts cluster around the diagonal across four orders of magnitude, meaning the same model tracks items that use a handful of units per lead time as well as those that use thousands. The spread around the diagonal is the item-level error that the safety buffer absorbs.
Feature Study
Before go-live, groups of candidate features were added one at a time to the usage-history set: the order book, product families, shortage history, item lifecycle (also on a longer training history), supply, and calendar effects. Each rung was tuned and scored the same way, on total demand over the lead time. Only the order book improved held-out accuracy on the raw forecast, and it had the lowest validation error (45.3%); the later groups added features without improving the held-out raw forecast, so the smaller set was kept. The per-rung tables are in the appendix.
Feature Importance (SHAP)
SHAP values measure each feature's average contribution to a forecast, here on a sample of the held-out 2025 forecasts and in units of log usage. The model leans most on usage in the same weeks last year, supplier lead time and the order book's cover of average usage. Last year's usage over the same weeks is by far the strongest, because it is the only feature measured over exactly the window being forecast. Lead time comes second, since it sets how long a window the forecast covers. The order book's cover of average usage comes third; the other order-book inputs, beyond the booked quantity itself, add little.
Calendar and category features contribute little. About 30% of items are seasonal, but each peaks at its own time of year, and last year's same-weeks usage already carries each item's own seasonal timing; a shared week-of-year or month feature adds little on top of it. Category adds little for a similar reason, since cost, usage level and demand pattern already capture most of what distinguishes the categories.
From Forecast to Reorder Decision
The model makes one prediction: the usage forecast, how many units each item will use over its supplier lead time. The reorder point and order quantity presented in the ERP are then calculated from that usage forecast using the rules below.
| Element | Rule |
|---|---|
| Reorder point | The component requirements of booked jobs plus the forecast of remaining usage over the lead time, plus safety buffer; the ERP nets the booked requirements against released jobs |
| Fill-rate targets | Production items 99%, spare parts 98.5%, shop supplies 98.5% |
| Safety buffer | k × σ, with k the smallest multiple whose expected shortfall per cycle, on the model's own error distribution, fits (1 - fill target) × order quantity |
| σ (uncertainty, in units) | The typical size of the gap between the usage forecast and actual usage over the item's lead time (one standard deviation): √(forecast error² + (daily usage × lead-time standard deviation)²). The forecast error is the standard deviation of the item's own forecast misses, scaled to its lead time; the second term is the variability of the supplier's delivery time |
| Order-book visibility | Customer orders are booked 28 to 56 days before their jobs are released, and jobs require their components 10 to 46 days after release, so the order book shows a component requirement 38 to 102 days ahead (about 5 to 15 weeks) |
| Order quantity | Economic lot: √(2 × annual usage × $35 per order line ÷ (25% holding × unit cost)), kept between 14 and 120 days of usage. Annual usage: the model's usage forecast, at a yearly rate. Unit cost: standard cost from the item master. $35 per order line (assumption): the fully loaded cost of placing and processing one line (buyer time, receiving and inspection, putaway, invoice matching); published estimates for manufacturers run roughly $20 to $100+ per purchase order, less per line. 25% holding (assumption): the usual 20 to 30% rule of thumb covering cost of capital, storage, handling, insurance and obsolescence. 14 to 120 days (judgment): no item ordered more often than about every two weeks, and no more than four months of a cheap item at once, below the buyers' manual 135-day lot. Supplier minimum order quantities, price breaks and freight are not modeled. |
| Change threshold | A reorder point moves only when the new value differs by more than 20% |
| Lead times | The corrected supplier lead time from the item master, refreshed from receipts; a supplier-level lead-time review in monitoring flags masters that have drifted |
| Inbound orders | Pushed back when not yet needed; never on production items |
Bias correction. Trained on log usage, the model's back-transformed forecasts estimate the median rather than the mean, so they run low. Each demand pattern's forecasts are scaled by a factor re-estimated at each monthly retrain from the trailing 52 weeks of out-of-sample errors. The table shows the factors at the first live retrain and the corrected bias by month from the monitor. The correction removes the systematic under-forecasting for smooth, erratic and lumpy items; intermittent items were over-corrected in March and April.
| Demand pattern | Factor, Jan 2026 retrain | Corrected bias, Jan | Corrected bias, Feb | Corrected bias, Mar | Corrected bias, Apr |
|---|---|---|---|---|---|
| Smooth | ×1.22 | -1% | -4% | -1% | +2% |
| Erratic | ×1.47 | +1% | +3% | +7% | +9% |
| Lumpy | ×1.25 | -7% | -5% | +5% | +2% |
| Intermittent | ×1.70 | +3% | +6% | +27% | +24% |
Order quantity. The recommended order quantity for each item, calculated from its usage forecast, balances the cost of placing an order line against the cost of holding stock. Expensive, heavily used items are ordered every few weeks, and cheap items a few times a year.
The chart below groups items by value class. The classes are set by annual usage value (units used × unit cost): A items are those that together make up the first 80% of usage value, B items the next 15% and C items the last 5%. In 2025 the typical A item used about $11.5K of stock a year (most above $5.4K) at a median unit cost of $36; a typical B item about $3.1K a year at $11; and a typical C item about $640 a year at $2. The A items, where most of the money sits, are bought in the smallest lots. See the ML Model Overview report for more detail on this order quantity approach.
Safety buffer. The buffer is calculated as k standard errors of the item's own forecast error: k × σ, where σ combines the forecast's miss over the lead time with the variability of the supplier's delivery time, and k sets how many of those standard errors to hold. k is not taken from a normal curve. It is set on the model's actual errors so that the expected shortfall per replenishment cycle stays within the fill-rate target for the item's criticality group. The errors have much fatter tails than a normal curve: at k = 2 the expected shortfall is 2.5 times what a normal distribution implies, and at k = 3, 7.1 times. This is important to ensure an adequate buffer size. Because the shortfall allowance scales with the order quantity, an item ordered in large lots needs less buffer (its own lot protects most of the cycle), and an item ordered often needs more.
Known Limitations
- Irreducible item-level error. Lumpy and intermittent demand carries randomness no model can learn, and about two-fifths of items (507 of 1,339) are lumpy or intermittent; much of the item-level WAPE of 45% reflects that rather than the fit.
- Accuracy and operating result are not the same measure. The order book's gain in forecast accuracy did not move the forward results by as much, because the ERP already netted released jobs before the model saw them.
- Item-level lead times are not observable at low receipt counts. At 2 to 5 receipts a year, a 26-week statistic cannot track a drift in an item's lead time; supplier-level pooling can, and is used for review rather than for the reorder point.
- Bias on intermittent items in live use. After bias correction, the forecasts for intermittent items ran high in March and April, which the monitor flagged for retraining; the buffers on those items were larger than needed in those months.
- Superseded parts. The policy sets reorder points on superseded parts until their stock is used up; the ERP suppresses the order.
- Fill rate, not stockouts. The buffer targets the share of units supplied. It does not directly target the probability of a stockout or of a job being held, though these important metrics are closely monitored.
- Supply is taken as given. Lead times are refreshed from recent receipts and their variability enters the buffer, but late deliveries are not forecast.
- Simulated data. The model is trained and evaluated on generated ERP data; accuracy on a shop's own records depends on the signal in them.
Deployment & Operations
How the model runs in production and where its inputs come from.
| Specification | Detail |
|---|---|
| Scoring cadence | Weekly (Monday): a usage forecast, reorder point and order quantity for all 1,336 scored items; the ERP checks every item against its point daily |
| Retraining | Monthly, on a Lakeflow job (pipeline_update → train → promote → score → monitor). Promotion gates: selection, parity, completeness, beats-baseline and bias. A new version moves the champion alias in the Unity Catalog model registry only when every gate passes |
| Run time | One single-node job cluster: pipeline update 3 to 4 minutes, train 32 to 35, score 14 to 15, monitor about 2 |
| Outputs | gold.reorder_schedule (per item and week: the reorder level, safety stock, forecast, horizon, reorder point and order quantity) and gold.reorder_queue (the as-of view the ERP's reorder queue reads) |
| Data lineage | Landed extracts → Lakeflow pipeline (bronze; silver, with the data-quality flags; gold) → the dfm package → gold tables → ERP reorder queue. MLflow logs the input tables of every model version |
| Retraining triggers | Judged on matured months (at least 80% of forecasts scored). Investigate when live WAPE is above its 2025 level, overall or for any demand pattern. Full re-tune when overall WAPE is more than 3 points above the 2025 reference, WAPE for a demand pattern is more than 5 points above its 2025 level, or corrected bias, overall or for a pattern, is outside ±10%. Safety buffers are recalibrated when achieved fill rate is more than 1 point below target for a criticality group; stockout episodes or jobs held for material above the 2025 monthly average call for investigation. The promotion's bias gate applies the monitor's bias rule to the schedule in force. See the monitoring report |
Getting the numbers into the ERP takes two planning fields per item per week, the reorder point and the order quantity. They are written through the ERP's API where it offers one, and otherwise through its import utility after the purchasing manager reviews the queue; the buyers review the queue in both cases.
Every reported figure comes from a fixed-seed run, archived with a checksum manifest and reproduced on the platform.
Feature Study Tables
Held-out 2025 WAPE on total demand for the selected model at each rung, raw / bias-corrected.
| Demand pattern | Reference | Order book | Families | Shortage | Lifecycle | Lifecycle on longer history | Supply | Calendar |
|---|---|---|---|---|---|---|---|---|
| smooth | 34.4% / 36.8% | 32.2% / 34.1% | 32.4% / 33.9% | 32.8% / 34.1% | 33.2% / 34.0% | 32.6% / 33.0% | 32.9% / 33.9% | 33.4% / 33.5% |
| erratic | 49.8% / 54.7% | 47.8% / 53.0% | 48.0% / 53.0% | 48.5% / 53.0% | 48.6% / 52.6% | 49.2% / 53.4% | 49.6% / 53.7% | 48.1% / 51.0% |
| lumpy | 44.8% / 48.1% | 44.0% / 48.2% | 44.4% / 47.8% | 44.2% / 48.5% | 45.2% / 48.3% | 45.2% / 46.8% | 45.5% / 47.4% | 53.2% / 45.6% |
| intermittent | 70.4% / 72.6% | 66.6% / 68.3% | 66.4% / 68.6% | 67.0% / 69.4% | 66.2% / 67.7% | 69.1% / 73.0% | 69.5% / 73.7% | 69.2% / 68.0% |
| Criticality | Reference | Order book | Families | Shortage | Lifecycle | Lifecycle on longer history | Supply | Calendar |
|---|---|---|---|---|---|---|---|---|
| line | 41.9% / 46.3% | 36.8% / 42.2% | 36.9% / 41.9% | 37.2% / 42.0% | 37.1% / 41.7% | 37.7% / 41.7% | 37.8% / 42.6% | 37.4% / 41.6% |
| service | 46.6% / 49.6% | 47.9% / 50.1% | 47.7% / 49.5% | 48.2% / 49.6% | 49.0% / 49.4% | 47.7% / 49.2% | 48.1% / 49.2% | 51.6% / 46.9% |
| standard | 46.2% / 49.2% | 46.2% / 48.8% | 46.7% / 48.9% | 46.9% / 49.5% | 47.5% / 49.0% | 47.8% / 48.7% | 48.3% / 49.3% | 51.0% / 46.9% |
| Item category | Reference | Order book | Families | Shortage | Lifecycle | Lifecycle on longer history | Supply | Calendar |
|---|---|---|---|---|---|---|---|---|
| Consumables | 39.5% / 40.8% | 39.2% / 39.7% | 39.2% / 39.8% | 39.6% / 40.8% | 40.1% / 40.8% | 38.6% / 38.7% | 38.8% / 39.3% | 39.9% / 38.0% |
| Electrical | 45.8% / 47.9% | 41.7% / 47.3% | 41.8% / 46.1% | 41.8% / 46.6% | 42.7% / 46.8% | 43.0% / 47.3% | 43.1% / 48.4% | 45.7% / 47.6% |
| Fasteners | 41.6% / 45.3% | 40.5% / 43.2% | 40.5% / 43.0% | 41.0% / 43.2% | 41.3% / 42.9% | 41.3% / 42.6% | 41.8% / 43.2% | 43.6% / 41.6% |
| Fittings | 46.0% / 51.3% | 43.9% / 49.9% | 44.6% / 50.1% | 44.7% / 50.2% | 45.2% / 49.3% | 46.0% / 48.7% | 45.8% / 48.6% | 48.4% / 47.5% |
| Hardware | 51.0% / 54.9% | 48.9% / 53.3% | 49.3% / 53.2% | 49.3% / 53.5% | 49.2% / 53.1% | 50.7% / 52.9% | 51.1% / 54.0% | 51.7% / 50.9% |
| MISC | 46.0% / 48.9% | 43.8% / 46.6% | 44.1% / 46.9% | 44.6% / 47.2% | 45.1% / 46.6% | 45.6% / 48.7% | 46.1% / 49.9% | 47.2% / 46.7% |
| Mechanical | 49.7% / 55.0% | 46.0% / 52.8% | 46.1% / 52.2% | 46.4% / 52.7% | 47.0% / 52.5% | 46.8% / 52.7% | 47.4% / 53.9% | 48.7% / 51.4% |
| Outside Service | 42.9% / 44.8% | 44.3% / 44.0% | 45.4% / 43.8% | 46.0% / 43.5% | 46.9% / 43.0% | 45.2% / 43.5% | 45.3% / 43.1% | 46.7% / 42.9% |
| Raw Material | 42.3% / 46.6% | 39.4% / 44.4% | 39.7% / 44.7% | 39.8% / 44.6% | 40.3% / 44.0% | 40.4% / 43.6% | 40.6% / 43.8% | 43.0% / 42.2% |
| Value class | Reference | Order book | Families | Shortage | Lifecycle | Lifecycle on longer history | Supply | Calendar |
|---|---|---|---|---|---|---|---|---|
| A | 44.8% / 46.9% | 42.5% / 44.7% | 42.7% / 44.4% | 43.1% / 45.0% | 43.9% / 45.2% | 43.5% / 44.6% | 43.7% / 44.9% | 46.7% / 44.5% |
| B | 43.8% / 46.5% | 42.1% / 44.6% | 42.1% / 44.0% | 42.8% / 44.5% | 43.0% / 43.9% | 42.9% / 43.4% | 43.2% / 44.1% | 45.7% / 43.7% |
| C | 45.0% / 50.0% | 43.4% / 48.8% | 43.9% / 49.1% | 43.7% / 49.0% | 44.0% / 48.6% | 44.8% / 48.9% | 45.2% / 49.8% | 45.3% / 45.8% |
Bias-correction factors by demand pattern for the selected model at each rung, estimated on validation.
| Rung | Smooth | Erratic | Lumpy | Intermittent |
|---|---|---|---|---|
| Reference | 1.201 | 1.347 | 1.349 | 1.420 |
| Order book | 1.220 | 1.400 | 1.369 | 1.382 |
| Families | 1.219 | 1.388 | 1.366 | 1.368 |
| Shortage | 1.236 | 1.404 | 1.379 | 1.361 |
| Lifecycle | 1.243 | 1.411 | 1.397 | 1.398 |
| Lifecycle on longer history | 1.192 | 1.365 | 1.451 | 1.351 |
| Supply | 1.247 | 1.394 | 1.498 | 1.364 |
| Calendar | 1.277 | 1.441 | 1.490 | 1.509 |
Simple methods on the feature-study rows.
| Simple method (feature-study rows) | Held-out 2025 WAPE |
|---|---|
| 4-week rate | 87.8% |
| 13-week rate | 56.3% |
| 52-week rate | 54.1% |
| Same weeks last year | 61.4% |
| Best of the four by pattern | 49.9% |
| Order book + 13-week rate of the remaining usage | 53.7% |
| Order book + best of the four on the remaining usage, by pattern | 47.3% |
Leakage tests: the order-book inputs replaced by their values four weeks earlier. A forecast that leaned on information not yet available on the forecast date would lose much of its accuracy when lagged; these lose 0.2 to 1.3 points.
| Lagged four weeks | Held-out WAPE, as observed | Held-out WAPE, lagged | Change |
|---|---|---|---|
| Order book (selected set): inputs | 42.8% | 43.1% | +0.3 pts |
| Order book (selected set): inputs and booked total | 42.8% | 44.1% | +1.3 pts |
| All groups: order-book inputs | 45.8% | 46.0% | +0.2 pts |
| All groups: order-book inputs and booked total | 45.8% | 46.7% | +0.9 pts |