Pronosticando 4.0 con previsiones probabilísticas
Hace poco más de un año, presentamos las quantile grids como nuestra tecnología de previsión 3.0. Más que nunca, Lokad sigue comprometida con ofrecer las mejores previsiones que la tecnología puede producir y, hoy, nuestra cuarta generación de tecnología de previsión, es decir, nuestro motor de previsión probabilística, está activa y disponible en producción para todos los clientes. Este nuevo motor consiste en una reescritura completa de nuestra pila tecnológica de previsión y aborda muchos desafíos de larga data a los que nos enfrentábamos.
Probabilidades verdaderas
El futuro es incierto sin importar cuán buena sea la tecnología de previsión. En 2012, cuando Lokad se aventuró por primera vez en las profundidades de la previsión de cuantiles, nos dimos cuenta rápidamente de que la incertidumbre no debe ser descartada como se hace en el enfoque clásico de previsión, sino que debe ser aceptada. Dicho de manera simple, los costos en la supply chain se concentran en los extremos estadísticos: es la demanda sorprendentemente alta la que provoca un faltante de stock, y la demanda sorprendentemente baja la que genera inventario muerto. En el medio, la supply chain tiende a operar de forma bastante fluida.
Con las cuadrículas de cuantiles, Lokad ofrecía una visión mucho más detallada de los posibles resultados futuros. Sin embargo, como sugiere el nombre, nuestras cuadrículas de cuantiles se construyeron sobre la base de nuestras previsiones de cuantiles, en realidad, múltiples capas de cuantiles. Estas cuadrículas de cuantiles demostraron ser tremendamente útiles durante el último año, pero mientras nuestro motor de previsión producía probabilidades, internamente, casi toda su lógica no trabajaba directamente con probabilidades. Las probabilidades que calculamos fueron un subproducto de un sistema de previsión de cuantiles.
Debido a estas raíces en los cuantiles, nuestro motor de previsión 3.0 tenía múltiples limitaciones sutiles. Y aunque la mayoría de estas limitaciones eran demasiado sutiles para ser notadas por los clientes, no pasaron desapercibidas para el equipo de I+D de Lokad. Así, decidimos reiniciar toda nuestra tecnología de previsión con una verdadera perspectiva nativa de previsión probabilística; y este fue el comienzo del motor de previsión 4.0.
Previsión del tiempo de entrega
Los tiempos de entrega frecuentemente se asumen como dados. Sin embargo, mientras los tiempos de entrega pasados son conocidos, los tiempos de entrega futuros solo pueden ser estimados. Durante años, Lokad había subestimado el desafío de aproximar con precisión los tiempos de entrega futuros. Los tiempos de entrega son sutiles: la mayoría de los patrones estadísticos, como la estacionalidad (y el Año Nuevo Chino en particular), que impactan la demanda, también impactan el tiempo de entrega.
En nuestro motor de previsión 4.0, los tiempos de entrega se han convertido en ciudadanos de primera clase con su propio modo de previsión del tiempo de entrega. Ahora, los tiempos de entrega se benefician de modelos integrados de previsión dedicados. Naturalmente, al ser nuestro motor un motor probabilístico, las previsiones del tiempo de entrega son una distribución de probabilidades asociadas a un período de tiempo incierto.
Previsión integrada de demanda
Los tiempos de entrega varían, y sin embargo, nuestro motor de previsión 3.0 estaba atascado con tiempos de entrega fijos. Desde una perspectiva tradicional, el análisis clásico de safety stock asume que el tiempo de entrega sigue una distribución normal, mientras que casi todas las mediciones que hemos realizado indican que los tiempos de entrega variables claramente no se distribuyen normalmente. Aunque nuestros experimentos rutinariamente demostraron que tener un tiempo de entrega fijo era mejor que tener un modelo defectuoso, quedar atrapado con tiempos de entrega estáticos, sin embargo, no era la solución perfectamente satisfactoria que buscábamos.
El motor de previsión 4.0 introduce el concepto de previsión integrada de demanda, donde integrated significa integrado en el lead time. El motor toma una distribución completa de probabilidades de tiempo de entrega y produce la previsión de demanda probabilística correspondiente. En la práctica, la distribución de tiempo de entrega también es calculada por el motor de previsión, como se vio anteriormente. La previsión integrada de demanda finalmente ofrece una respuesta satisfactoria al desafío de manejar tiempos de entrega variables.
Previsión de nuevos productos
La previsión de la demanda para un producto nuevo es sencillamente difícil. Dado que, en este caso, la previsión obviamente no puede apoyarse en el historial de ventas, el motor de previsión tiene que basarse en otros datos conocidos sobre el producto antes de su lanzamiento. Nuestro motor de previsión 3.0 ya contaba con un sistema de tags, diseñado precisamente para este caso de uso específico. Sin embargo, lamentablemente, los tags no aportaban tanta información como nos hubiera gustado y se dejó cierta precisión sobre la mesa.
Con 4.0, este desafío específico se revisa con la introducción de categorías y jerarquías. Las categorías y jerarquías son más expresivas y estructuradas que los tags, y transmiten mucha más información. El motor de previsión 4.0 aprovecha al máximo este marco de datos más rico para ofrecer previsiones más precisas, siendo la previsión para nuevos productos el caso de uso más agudo.
Faltante de stock y promociones
La intención del motor de previsión es prever la demanda futura. Sin embargo, nuestro conocimiento de la demanda pasada es típicamente imperfecto, ya que solo se conocen realmente las ventas pasadas. Las ventas suelen ser una aproximación razonable de la demanda, pero vienen acompañadas de múltiples sesgos, siendo los casos más comunes el faltante de stock y las promociones. Nuestro motor 3.0 ya contaba con algunas heurísticas para abordar este sesgo, además las previsiones de cuantiles son intrínsecamente más robustas que las previsiones promedio (clásicas). Sin embargo, una vez más, la situación no era enteramente satisfactoria para nosotros.
El motor 4.0 introduce la noción de demanda sesgada, que puede ser censurada o inflada. Cuando la demanda de un producto determinado en un día dado se marca como censurada, le estamos indicando al motor de previsión que la demanda debería haber sido mayor, y que la verdadera demanda de ese día permanece desconocida. El motor aprovecha esta información para refinar las previsiones, incluso cuando el historial está lleno de eventos que han distorsionado la señal de la demanda.
Demanda ultra-escasa
Si bien las previsiones de cuantiles son enormemente superiores a las previsiones promedio o medianas clásicas cuando se trata de estimar las probabilidades de eventos raros, los cuantiles comienzan a demostrar sus límites al tratar de estimar eventos super-raros. Por ejemplo, nuestros modelos de cuantiles tenían dificultades para manejar adecuadamente artículos que se venden solo una o dos veces al año, así como para gestionar niveles de servicio superiores al 98%.
Los modelos probabilísticos nativos, tal como se implementaron en nuestro motor 4.0, se comportan mucho mejor cuando se trata de demanda ultra-escasa y eventos “raros” en general. Estos modelos podrían haberse implementado dentro de un marco de previsión de cuantiles (una previsión probabilística se puede convertir fácilmente en una previsión de cuantiles); pero nuestro motor 3.0 no tenía la infraestructura para soportarlos. Por ello, se implementaron en el motor 4.0.
Integrado en Envision
Las versiones 2.0 y 3.0 de nuestro motor de previsión contaban con una interfaz de usuario web. A primera vista, parecía fácil. Sin embargo, la interfaz de usuario estaba, en realidad, ignorando el factor que representa el verdadero desafío de utilizar cualquier motor de previsión, que es proporcionar un control completo de los datos transferidos al motor de previsión. De hecho, el principio de garbage-in, garbage-out sigue siendo un problema demasiado frecuente.
El motor 4.0 se interconecta desde Envision, nuestro lenguaje específico de dominio orientado a la optimización cuantitativa para comercio. Invocar el motor de previsión requiere una serie de argumentos de datos proporcionados desde un script de Envision. Este enfoque requiere un poco más de esfuerzo inicial; sin embargo, los beneficios en productividad se hacen evidentes rápidamente tan pronto como se realizan ajustes en los datos de entrada.
El lanzamiento de nuestro motor de previsión 4.0 es solo la primera parte de una serie de importantes mejoras que se han traído a Lokad en las últimas semanas. Estate atento para más.