Saltar al contenido principal

Safety stock — teoría y cálculo

Qué es el safety stock, por qué la fórmula clásica falla cuando los supuestos no se cumplen, y cómo lo calcula AInventory a partir de los escenarios.

Qué es el safety stock

El safety stock es el inventario que se mantiene por encima de la demanda esperada durante el lead time y el periodo de revisión, como amortiguador frente a la incertidumbre. Intuitivamente:

SS ≈ stock objetivo B − demanda esperada en la ventana W

Para las políticas que usan el factor k, esto equivale a:

SS = k · σ_W

donde σ_W es la variabilidad de la demanda en la ventana W = lead time + periodo de revisión. Un k más alto produce más safety stock y, por tanto, mayor fill rate; un k más bajo reduce el inventario inmovilizado a costa de mayor riesgo de stockout.

La fórmula clásica y sus supuestos

La formulación estándar que aparece en la mayoría de ERP y libros de texto es:

SS = z · σ_d · √L

donde z es el cuantil Normal para el nivel de servicio deseado, σ_d es la desviación estándar de la demanda diaria/semanal, y L es el lead time en los mismos periodos.

Esta fórmula descansa en tres supuestos que rara vez se verifican en la práctica:

  1. Demanda normal y simétrica. La demanda real de muchos SKUs —especialmente en baja rotación, demanda estacional o mercados B2B— es asimétrica o tiene colas más gruesas que la Normal. Usar z · σ subestima el safety stock necesario para cubrir los percentiles altos.

  2. Pronóstico insesgado. Si el forecast sistemáticamente sobreestima o subestima la demanda, la fórmula clásica traslada ese sesgo directamente al stock objetivo. Un pronóstico sesgado con σ pequeña puede ser más peligroso que uno ruidoso pero centrado.

  3. Tratamiento uniforme independiente del histórico. La fórmula clásica aplica la misma estructura a un producto nuevo con tres semanas de ventas y a uno maduro con tres años. En el primero, σ_d está estimada con mucha incertidumbre; en el segundo, esa incertidumbre es manejable. Ignorar esta diferencia produce safety stocks aparentemente rigurosos pero sistemáticamente sub-óptimos.

Cuando esos supuestos no se cumplen —que es casi siempre en la práctica— la fórmula produce decisiones que se ven correctas pero están sesgadas.

Cómo lo resuelve AInventory

En lugar de estimar σ directamente del histórico de demanda y multiplicarla por z, AInventory calcula σ_W desde los escenarios Monte Carlo:

  1. La cascada estadística de cuatro niveles determina el método apropiado según el histórico del SKU (bootstrap paramétrico o no paramétrico).
  2. Se generan ~1.000 escenarios de demanda futura sobre la ventana W, coherentes con la incertidumbre observada del SKU.
  3. σ_W se calcula como la desviación estándar de las demandas totales simuladas en esos escenarios.

El resultado es una σ_W que:

  • Refleja la distribución real de la demanda (incluyendo asimetrías y colas), no una aproximación Normal.
  • Es coherente con el histórico disponible: con poco histórico usa supuestos distribucionales explícitos; con mucho histórico deja que los datos hablen.
  • Incorpora la incertidumbre del pronóstico de manera integrada, porque los escenarios se generan a partir de los errores históricos del forecast, no de la demanda bruta.
σ_W vs σ de la fórmula clásica

σ_W no es la desviación estándar de la demanda histórica escalada por √W. Es la desviación estándar de la demanda total simulada en W, obtenida del bundle de escenarios. Las dos cantidades coinciden cuando la demanda es Normal e i.i.d.; en todos los demás casos, σ_W es más precisa.

El safety stock como resultado, no como objetivo

En AInventory, el safety stock no se configura directamente. Es un resultado de la política que minimizó el costo total esperado: el optimizador elige la política y el valor de k que equilibran el costo de holding (tener inventario que quizás no se vende) con el costo de shortage (no tener inventario cuando se necesita). El safety stock que resulta de ese equilibrio puede ser mayor o menor que lo que indicaría la fórmula clásica, según los costos relativos y la distribución real de la demanda.

Esto significa que el planificador puede observar el safety stock implícito en la recomendación, pero no hay un campo "ingrese su safety stock deseado": ese diseño trasladaría al planificador una decisión de optimización que el modelo puede tomar con más información.