Bloque III · Los dominios en profundidad · Módulo 13 de 20

Demanda intermitente: inventarios y ceros

Modelar demanda intermitente en logística usando distribuciones de conteo con ceros inflados, calcular stocks de seguridad con cuantiles condicionales, y optimizar niveles de servicio.

Datos: demanda_skus

1. El dolor de cabeza de Logística El Dorado

Carlos Méndez gestiona 200 SKUs en Logística El Dorado. Muchos son intermitentes: semanas sin ninguna demanda seguidas de picos impredecibles. La clasificación de Syntetos & Boylan (2005) los divide en:

  • Suaves: demanda regular, baja varianza.
  • Erráticos: demanda frecuente pero muy variable.
  • Intermitentes: muchas semanas en cero, picos esporádicos.
  • Lumpys: muy intermitentes y muy variables.

El stock de seguridad para un nivel de servicio del 95% es el cuantil 0.95 de la distribución de demanda semanal condicional. Si la demanda es intermitente, la Normal no funciona: hay una masa de ceros que ninguna campana puede reproducir.

Objetivo

Modelar demanda intermitente con ZIP, ZINBI y ZANBI en GAMLSS, calcular stocks de seguridad con cuantiles condicionales, y comparar con la receta tradicional (Normal + 1.65σ).

2. El dataset de demanda

Dataset: demanda_skus.csv

Demanda semanal de 200 SKUs durante 52 semanas. Incluye promoción y estacionalidad. 10.400 filas. Simulado con semilla 2026.

VariableTipoDescripción
skufactor (200)Identificador del SKU
fechadateFecha de la semana
demandaentero ≥ 0Unidades demandadas en la semana
promocionbinaria (0/1)Semana con promoción activa
estacionalidadnuméricaÍndice de estacionalidad
Fuente: Simulado con semilla 2026 (ver src/data-gen/demanda_skus_logistica.R) · Licencia: CC BY 4.0

3. Diagnóstico: clasificación ABC-XYZ

4. Modelado con ZINBI para un SKU intermitente

¿Por qué la Normal sobreestima?

La receta Normal asume que toda la variabilidad proviene de una distribución simétrica. En demanda intermitente, la variabilidad tiene dos fuentes: (1) la probabilidad de demanda cero, y (2) la variabilidad del tamaño cuando sí hay demanda. La Normal mezcla ambas en una sola σ\sigma, inflando el cuantil. El ZINBI las separa: ν\nu modela los ceros, σ\sigma modela la dispersión condicional.

5. Estacionalidad con splines cíclicos

Para SKUs con estacionalidad anual, usamos cy() (spline cíclico):

6. Cierre

¿Por qué la receta Normal (media + 1.65σ) sobreestima el stock de seguridad para SKUs intermitentes?

Opciones de respuesta

¿Qué modelarías tú?

¿Tienes SKUs o productos con demanda intermitente? Calcula el ADI y el CV². ¿Qué porcentaje es intermitente? Ajusta un ZINBI y compara el stock de seguridad con la receta tradicional.


Referencias: Syntetos & Boylan (2005), IJPE 92; Stasinopoulos et al. (2017), Cap. 9; Hyndman & Athanasopoulos (2018), Forecasting: Principles and Practice.