Cómo el Machine Learning predice roturas de stock 3 semanas antes de que ocurran
Un retailer de belleza de tamaño medio que gestionaba unos 3.500 SKUs tenía un problema persistente. Cada mes, entre el 8 y el 12% de sus productos más vendidos llegaban a inventario cero antes de que llegara la reposición. Cada rotura de stock en un producto popular les costaba aproximadamente $2.800 por día en ventas perdidas, sin contar el daño a la confianza del cliente y la inversión publicitaria desperdiciada dirigiendo tráfico a páginas de productos sin existencias.
Su equipo de inventario revisaba los niveles de stock diariamente y realizaba pedidos cuando el inventario alcanzaba un umbral predeterminado. El problema era que el umbral era estático, un número fijo de unidades basado en el promedio de ventas diarias de los últimos 90 días. Cuando la demanda se disparaba debido a una mención viral en TikTok o a un competidor que se quedaba sin stock de un producto similar, el umbral estático no podía reaccionar con la rapidez suficiente.
Por qué los puntos de reorden estáticos fallan
Un punto de reorden estático asume que la demanda futura se parecerá a la demanda pasada y que los tiempos de entrega de los proveedores son consistentes. Ambas suposiciones se rompen con regularidad. La demanda de SKUs individuales en ecommerce es irregular. Un producto puede vender 20 unidades por día durante tres semanas y luego vender repentinamente 60 unidades por día porque un influencer lo mencionó, un competidor subió su precio o un cambio estacional entró en juego. Para cuando notas la aceleración en tu revisión diaria de inventario, podrías llevar ya dos semanas con demanda elevada y un tiempo de entrega del proveedor de tres semanas por delante.
Los tiempos de entrega de los proveedores son igualmente variables. Un proveedor que normalmente entrega en 14 días podría tardar 21 días durante su temporada alta, tras una escasez de materia prima o debido a retrasos en el envío. Si tu punto de reorden asume un tiempo de entrega de 14 días y el tiempo real es de 21 días, tienes una brecha de siete días en la que estás vendiendo inventario que pensabas que ya estaría repuesto.
Qué monitoriza el modelo de ML
Un modelo de predicción de roturas de stock procesa múltiples flujos de datos simultáneamente. La entrada principal es la velocidad de ventas, no como un simple promedio sino como una serie temporal con componentes de tendencia y estacionalidad. El modelo detecta aceleración (vendiendo más rápido que la semana pasada), desaceleración y patrones cíclicos específicos de cada SKU.
La posición de inventario (stock actual disponible más unidades en tránsito menos unidades asignadas a pedidos pendientes) le da al modelo el lado de la oferta de la ecuación. Combinado con la demanda prevista, el modelo calcula una métrica estimada de días de suministro que se actualiza dinámicamente.
Los datos de rendimiento de proveedores añaden una dimensión crucial. Al rastrear las fechas de entrega reales frente a las esperadas para cada proveedor a lo largo del tiempo, el modelo construye una distribución de tiempos de entrega probables en lugar de usar una estimación puntual única. Si el Proveedor A entrega en 12-18 días con una mediana de 14, el modelo utiliza la distribución completa al calcular la probabilidad de rotura de stock.
Las señales externas proporcionan alertas tempranas de cambios en la demanda. El volumen de búsquedas del producto o categoría en Google, las menciones en redes sociales, los niveles de stock de competidores (a menudo detectables a través de sus páginas de producto mostrando disponibilidad limitada) y los calendarios estacionales alimentan el pronóstico de demanda. Un pico repentino en el volumen de búsquedas de Google para un producto suele preceder un pico de ventas en 5-10 días, lo que le da al modelo una señal temprana de que la trayectoria actual del inventario podría no mantenerse.
La ventana de alerta de tres semanas
El modelo genera una probabilidad de rotura de stock para cada SKU en varios horizontes temporales: 7 días, 14 días y 21 días. Una alerta típica podría verse así: SKU #4892 (Sérum de Vitamina C 30ml) actualmente tiene 340 unidades disponibles. A la velocidad de ventas actual de 28 unidades por día, el stock se agota en aproximadamente 12 días. Sin embargo, la tendencia de demanda muestra una aceleración del 15% semana a semana. La estimación ajustada de agotamiento es de 9 días. El próximo envío de reposición de 500 unidades tiene una llegada esperada en 16 días según la distribución de tiempos de entrega del proveedor. La probabilidad de rotura de stock en 14 días es del 78%.
Con esta ventana de tres semanas, el equipo de inventario tiene opciones. Pueden acelerar el pedido existente con el proveedor, potencialmente pagando un extra por envío más rápido. Pueden realizar un pedido puente más pequeño con un proveedor alternativo que tenga tiempos de entrega más cortos. Pueden reducir la inversión en marketing del producto para frenar la demanda mientras mantienen las ventas orgánicas. Pueden configurar una notificación de vuelta en stock para captar la demanda durante cualquier período de rotura.
Sin la alerta temprana, ninguna de estas opciones de mitigación está disponible. Para cuando un humano nota que el inventario está bajo a través de revisiones manuales, el tiempo de entrega ya ha consumido el stock restante.
Construcción del modelo
La implementación técnica utiliza una combinación de pronóstico de series temporales para la demanda (típicamente Prophet o un modelo LSTM personalizado) y un modelo de clasificación para la probabilidad de rotura de stock. El modelo de clasificación toma el pronóstico de demanda, la posición actual de inventario y la distribución de tiempos de entrega del proveedor como entradas y genera una probabilidad de rotura de stock dentro de cada ventana temporal.
Los datos de entrenamiento provienen de tus registros históricos de inventario. Cada rotura de stock pasada es un ejemplo positivo, y cada SKU que mantuvo stock adecuado durante un período determinado es un ejemplo negativo. Necesitas al menos 12-18 meses de instantáneas diarias de inventario con los datos de ventas correspondientes para entrenar un modelo útil. Si no has estado almacenando niveles de inventario diarios, empieza ahora porque estos datos son sorprendentemente difíciles de reconstruir retroactivamente.
La ingeniería de características es donde se crea la mayor parte del valor. Los números de ventas en bruto son menos útiles que las características derivadas como la velocidad promedio móvil de 7 días, el cambio de velocidad semana a semana, el coeficiente de variación en las ventas diarias (una medida de la volatilidad de la demanda) y la proporción entre la velocidad actual y el promedio de 90 días. Estas características derivadas ayudan al modelo a distinguir entre un producto de venta constante que se acerca a su punto de reorden y un producto que experimenta un pico de demanda que agotará el inventario mucho más rápido de lo esperado.
Integración con los sistemas existentes
El modelo necesita integrarse en tu flujo de trabajo de gestión de inventario, no reemplazarlo. El enfoque más común es un panel de alertas diario que muestra los SKUs clasificados por riesgo de rotura de stock, con acciones recomendadas para cada uno. Los planificadores de inventario revisan el panel cada mañana y actúan sobre los artículos de alto riesgo.
Las implementaciones más avanzadas automatizan la respuesta para acciones de bajo riesgo. Si el modelo predice una rotura de stock y la acción recomendada es realizar un pedido estándar con un proveedor existente, el sistema puede generar la orden de compra automáticamente y ponerla en cola para aprobación con un solo clic por parte del responsable de inventario. Esto mantiene a un humano en el proceso de decisión mientras elimina el trabajo manual de crear el pedido.
Para los retailers de ecommerce que gestionan miles de SKUs, el monitoreo manual de inventario simplemente no escala. Un humano revisando 3.500 SKUs por día inevitablemente pasará por alto los que están acelerándose silenciosamente hacia una rotura de stock. El modelo de ML revisa cada SKU cada hora, detecta los patrones sutiles y destaca los que necesitan atención. El retailer de belleza que inició esta conversación redujo su tasa de roturas de stock del 8-12% a menos del 3% en seis meses tras implementar su modelo de predicción, lo que se tradujo en aproximadamente $940.000 en ingresos anuales recuperados.