D02 · L3 · 01 — Demand Planning & ForecastingPlaneación de la Demanda y Pronóstico

Statistical forecasting & model selectionPronóstico estadístico y selección de modelos

The model is not a default you inherit; it is a decision you make per SKU. A uniform forecasting method across a non-uniform portfolio is a uniform bias dressed up as standardization.

El modelo no es un default que heredas; es una decisión que tomas por SKU. Un método de pronóstico uniforme sobre un portafolio no uniforme es un sesgo uniforme disfrazado de estandarización.

01What it isQué es

Statistical forecasting selects and parameterizes a quantitative model per demand pattern — exponential smoothing for smooth series, Croston/SBA for intermittent, regression or ARIMAX where drivers and autocorrelation are real — instead of imposing one default method across the whole portfolio.

El pronóstico estadístico selecciona y parametriza un modelo cuantitativo por patrón de demanda — suavizamiento exponencial para series suaves, Croston/SBA para demanda intermitente, regresión o ARIMAX donde hay drivers y autocorrelación reales — en lugar de imponer un solo método por default a todo el portafolio.

02Why it mattersPor qué importa

Croston 1972 (Croston, 1972 — peer-reviewed) proved that standard exponential smoothing applied to intermittent demand is structurally biased: it updates the estimate only when demand occurs, inflating the forecast right after an event and starving it between events. A portfolio where 30–60% of SKUs are intermittent — typical in spares, MRO, and long-tail finished goods — carries a hidden positive bias the aggregate MAPE never reveals, because the smooth A-items dominate the weighted error. The cost is structural: safety stock sized against a biased mean over-buffers the wrong SKUs by 15–30% while leaving the smooth movers under-protected.

Croston 1972 (Croston, 1972 — peer-reviewed) demostró que el suavizamiento exponencial estándar aplicado a demanda intermitente está estructuralmente sesgado: actualiza el estimado solo cuando ocurre demanda, inflando el pronóstico justo después de un evento y hambreándolo entre eventos. Un portafolio donde 30–60% de los SKUs son intermitentes — típico en refacciones, MRO y cola larga de producto terminado — carga un sesgo positivo oculto que el MAPE agregado nunca revela, porque los A-items suaves dominan el error ponderado. El costo es estructural: el inventario de seguridad calculado contra una media sesgada sobre-amortigua los SKUs equivocados en 15–30% mientras deja desprotegidos a los de demanda suave.

03How it is doneCómo se hace

1
Classify every SKU by demand pattern before choosing any model. Use ADI (average inter-demand interval) and CV² to split smooth / erratic / intermittent / lumpy — the Syntetos-Boylan cut sits near ADI 1.32 and CV² 0.49. Pattern, not ABC value, drives method.
2
Assign the model to the pattern, not the planner's habit. Smooth → Holt-Winters; intermittent and lumpy → Croston or SBA; erratic with known drivers → regression/ARIMAX. A default applied uniformly is a bias applied uniformly.
3
Select on out-of-sample error, not in-sample fit. Hold out the last N periods and run a rolling-origin backtest. In-sample MAPE rewards overfitting and lies about live accuracy.
4
Choose the error metric per pattern. MAPE is undefined at zero demand — worthless for intermittent series. Use MASE or RMSSE so the metric does not silently discard the SKUs that carry the bias.
5
Re-fit on a cadence and re-classify on a slower one. Refit parameters monthly; re-run the pattern classification quarterly. Demand patterns migrate as products age — a smooth mover becomes intermittent on its way to end-of-life.
6
Govern the override as a forecast input. Log every planner override, attribute it, and measure FVA (forecast value-add) against the statistical baseline so judgment that destroys accuracy becomes visible instead of invisible.
Worked example — illustrativeA distributor with 12,000 SKUs ran single-method Holt-Winters across the catalog — baseline: aggregate MAPE 18%, $34M inventory, 94% fill rate. Reclassification found 41% of SKUs intermittent (4,920 SKUs), moved to SBA, with erratic movers shifted to ARIMAX. Results: intermittent-class bias -22% → -3%, safety stock on that class $8.1M → $6.2M (-23%), fill rate 94% → 96% — while aggregate MAPE barely moved (18% → 17%), proving the aggregate number was hiding the money the whole time.
1
Clasifica cada SKU por patrón de demanda antes de elegir modelo. Usa ADI (intervalo promedio entre demandas) y CV² para separar suave / errático / intermitente / grumoso — el corte Syntetos-Boylan está cerca de ADI 1.32 y CV² 0.49. El patrón, no el valor ABC, define el método.
2
Asigna el modelo al patrón, no a la costumbre del planeador. Suave → Holt-Winters; intermitente y grumoso → Croston o SBA; errático con drivers conocidos → regresión/ARIMAX. Un default aplicado uniformemente es un sesgo aplicado uniformemente.
3
Selecciona por error fuera de muestra, no por ajuste dentro de muestra. Reserva los últimos N periodos y corre un backtest de origen rodante. El MAPE in-sample premia el sobreajuste y miente sobre la precisión real.
4
Elige la métrica de error por patrón. El MAPE es indefinido cuando la demanda es cero — inútil para series intermitentes. Usa MASE o RMSSE para que la métrica no descarte en silencio los SKUs que cargan el sesgo.
5
Re-ajusta con una cadencia y re-clasifica con otra más lenta. Re-ajusta parámetros mensual; re-corre la clasificación de patrón trimestral. Los patrones migran al envejecer el producto — un mover suave se vuelve intermitente camino al fin de vida.
6
Gobierna el override como un input de pronóstico. Registra cada ajuste del planeador, atribúyelo y mide el FVA (valor agregado del pronóstico) contra la base estadística para que el juicio que destruye precisión se vuelva visible en lugar de invisible.
Ejemplo trabajado — ilustrativoUn distribuidor con 12,000 SKUs corrió Holt-Winters de método único en todo el catálogo — base: MAPE agregado 18%, $34M de inventario, 94% de fill rate. La reclasificación encontró 41% de SKUs intermitentes (4,920 SKUs), los movió a SBA, y pasó los erráticos a ARIMAX. Resultados: sesgo de la clase intermitente -22% → -3%, inventario de seguridad de esa clase $8.1M → $6.2M (-23%), fill rate 94% → 96% — mientras el MAPE agregado apenas se movió (18% → 17%), probando que el número agregado escondía el dinero todo el tiempo.

04The concept in depthEl concepto a fondo

🎯The demand-pattern taxonomy›
Four patterns, defined by ADI and CV²: smooth (frequent, low-variance), erratic (frequent, high-variance), intermittent (infrequent, low-variance when it occurs), and lumpy (infrequent and high-variance). Each demands a different model class. The mistake is letting ABC value choose the method — value tells you how much attention to pay, pattern tells you which math to use.
🔬In-sample fit vs out-of-sample error›
A model that fits history perfectly has often memorized noise. The only honest accuracy test is a rolling-origin backtest: forecast a held-out window the model never saw, roll the origin forward, average the error. In-sample R² and MAPE flatter the model and punish you in production.
⚠️Why MAPE breaks on zeros›
MAPE divides by actual demand. When demand is zero — the defining feature of intermittent series — the term is undefined or explodes. Teams quietly drop those periods, which silently removes the exact SKUs carrying the structural bias. MASE and RMSSE are scale-free and defined at zero; they keep the intermittent half of the portfolio in the scorecard.
🎯La taxonomía de patrones de demanda›
Cuatro patrones, definidos por ADI y CV²: suave (frecuente, baja varianza), errático (frecuente, alta varianza), intermitente (infrecuente, baja varianza cuando ocurre) y grumoso (infrecuente y alta varianza). Cada uno exige una clase de modelo distinta. El error es dejar que el valor ABC elija el método — el valor te dice cuánta atención poner, el patrón te dice qué matemática usar.
🔬Ajuste dentro de muestra vs error fuera de muestra›
Un modelo que ajusta la historia a la perfección con frecuencia memorizó ruido. La única prueba honesta de precisión es un backtest de origen rodante: pronosticar una ventana reservada que el modelo nunca vio, rodar el origen hacia adelante, promediar el error. El R² y MAPE in-sample halagan al modelo y te castigan en producción.
⚠️Por qué el MAPE se rompe en ceros›
El MAPE divide entre la demanda real. Cuando la demanda es cero — el rasgo definitorio de las series intermitentes — el término es indefinido o explota. Los equipos descartan esos periodos en silencio, lo que remueve justo los SKUs que cargan el sesgo estructural. MASE y RMSSE son libres de escala y están definidos en cero; mantienen la mitad intermitente del portafolio en el scorecard.

05In practiceEn la práctica

✅Rolling-origin backtest as the selection gate›
No model enters production without beating the naive seasonal benchmark on a rolling-origin backtest across the relevant horizon. Tournament the candidates per pattern class and let out-of-sample error pick — not the planner's preference, not the vendor's default.
📊FVA governance of overrides›
Track forecast value-add: compare the final forecast to the statistical baseline and to the naive forecast. Overrides that worsen accuracy are common and expensive; FVA makes them visible and lets you switch off the steps that destroy value.
🔁Re-classification cadence›
Re-run pattern classification quarterly. Products migrate across patterns over their life; a model frozen at launch is forecasting a SKU that no longer exists. Tie re-classification to the lifecycle stage in your PLM/master data.
🪜Hierarchical reconciliation›
Forecast at the level where the signal is statistically stable, then reconcile up and down the hierarchy. An intermittent SKU may be unforecastable alone but stable as part of a family — forecast the family, disaggregate with a coherent reconciliation method.
✅El backtest de origen rodante como compuerta de selección›
Ningún modelo entra a producción sin vencer al benchmark estacional ingenuo en un backtest de origen rodante a lo largo del horizonte relevante. Haz un torneo de candidatos por clase de patrón y deja que el error fuera de muestra elija — no la preferencia del planeador ni el default del vendor.
📊Gobernanza FVA de los overrides›
Mide el valor agregado del pronóstico: compara el pronóstico final contra la base estadística y contra el pronóstico ingenuo. Los overrides que empeoran la precisión son comunes y caros; el FVA los hace visibles y permite apagar los pasos que destruyen valor.
🔁Cadencia de re-clasificación›
Re-corre la clasificación de patrón trimestral. Los productos migran entre patrones durante su vida; un modelo congelado al lanzamiento pronostica un SKU que ya no existe. Liga la re-clasificación a la etapa del ciclo de vida en tu PLM/datos maestros.
🪜Reconciliación jerárquica›
Pronostica al nivel donde la señal es estadísticamente estable, luego reconcilia hacia arriba y abajo de la jerarquía. Un SKU intermitente puede ser impronosticable solo pero estable como parte de una familia — pronostica la familia, desagrega con un método de reconciliación coherente.

06What you would useQué se usa

📌 STATISTICAL FORECASTING ENGINES
🟦SAP IBP / o9 — enterprise tier-1›
Full statistical libraries with pattern-aware model selection, best-fit tournaments, and FVA reporting native. (SAP, o9 — vendor) The platform choice for portfolios where forecasting feeds an integrated S&OP/IBP plan.
🟩Blue Yonder Luminate Demand / Kinaxis›
Strong demand engines with ML-assisted model selection and segmentation. (Blue Yonder, Kinaxis — vendor) Tier-2 by footprint, not by capability — frequently the better fit for a single-region demand process.
🟥Forecast Pro / specialized statistical tools›
Purpose-built statistical forecasting with deep intermittent-demand methods (Croston, SBA, TSB). (Forecast Pro — vendor) The vertical choice when statistical rigor matters more than end-to-end planning integration.
⬜For operations that don't need a platform›
A documented model-selection procedure plus an open-source library — Python statsforecast (AutoETS, Croston, TSB) or R fable — run on a rolling-origin backtest. Standard tool, disciplined procedure: beats a misconfigured platform every time.
📌 MOTORES DE PRONÓSTICO ESTADÍSTICO
🟦SAP IBP / o9 — enterprise tier-1›
Librerías estadísticas completas con selección de modelo consciente del patrón, torneos best-fit y reportería FVA nativa. (SAP, o9 — vendor) La opción de plataforma para portafolios donde el pronóstico alimenta un plan S&OP/IBP integrado.
🟩Blue Yonder Luminate Demand / Kinaxis›
Motores de demanda robustos con selección de modelo asistida por ML y segmentación. (Blue Yonder, Kinaxis — vendor) Tier-2 por huella, no por capacidad — con frecuencia la mejor opción para un proceso de demanda de una sola región.
🟥Forecast Pro / herramientas estadísticas especializadas›
Pronóstico estadístico de propósito específico con métodos profundos de demanda intermitente (Croston, SBA, TSB). (Forecast Pro — vendor) La opción vertical cuando el rigor estadístico importa más que la integración end-to-end.
⬜Para operaciones que no necesitan plataforma›
Un procedimiento documentado de selección de modelo más una librería open-source — Python statsforecast (AutoETS, Croston, TSB) o R fable — corrida sobre un backtest de origen rodante. Herramienta estándar, procedimiento disciplinado: le gana a una plataforma mal configurada siempre.
The bottom lineEn corto

Operations that match the model to the demand pattern surface the bias the aggregate MAPE hides; operations that run one default method ship that bias straight into safety stock. The aggregate accuracy number is the most expensive comfort in planning — it stays flat while the intermittent half of the portfolio quietly over- and under-buffers. Choosing the model per pattern is not statistical hygiene; it is where the working capital is.

Las operaciones que ajustan el modelo al patrón de demanda exponen el sesgo que el MAPE agregado esconde; las que corren un solo método por default lo mandan directo al inventario de seguridad. El número de precisión agregado es el consuelo más caro de la planeación — se mantiene plano mientras la mitad intermitente del portafolio sobre- y sub-amortigua en silencio. Elegir el modelo por patrón no es higiene estadística; es donde está el capital de trabajo.

All D02 componentsTodos los componentes de D02D02 artifactsArtifacts de D02SCRA