Hace poco más de un año, presentamos las cuadrículas de cuantiles como nuestra tecnología de pronóstico 3.0. Más que nunca, Lokad se compromete a ofrecer los mejores pronósticos que la tecnología pueda producir, y hoy, nuestra cuarta generación de tecnología de pronóstico, es decir, nuestro motor de pronóstico probabilístico, está en funcionamiento y disponible en producción para todos los clientes. Este nuevo motor consiste en una reescritura completa de nuestra tecnología de pronóstico y aborda muchos desafíos de larga data que enfrentábamos.

Verdaderas probabilidades

El futuro es incierto sin importar cuán buena sea la tecnología de pronóstico. En 2012, cuando Lokad se aventuró por primera vez en las profundidades del pronóstico de cuantiles, nos dimos cuenta rápidamente de que la incertidumbre no debería ser descartada como se hace con el enfoque clásico de pronóstico, sino que debería ser abrazada. En pocas palabras, los costos de la cadena de suministro se concentran en los extremos estadísticos: es la demanda sorprendentemente alta la que causa faltantes de stock, y la demanda sorprendentemente baja la que causa inventario muerto. En el medio, la cadena de suministro tiende a funcionar bastante bien.

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 nuestros pronósticos de cuantiles, en realidad, múltiples capas de cuantiles. Estas cuadrículas de cuantiles resultaron ser tremendamente útiles durante el último año, pero mientras nuestro motor de pronóstico estaba produciendo probabilidades, internamente, casi toda su lógica no estaba trabajando directamente con probabilidades. Las probabilidades que calculamos eran un subproducto de un sistema de pronóstico de cuantiles.

Debido a estas raíces de cuantiles, nuestro motor de pronóstico 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. Por lo tanto, decidimos reiniciar toda nuestra tecnología de pronóstico con una perspectiva verdaderamente nativa de pronóstico probabilístico; y este fue el comienzo del motor de pronóstico 4.0.

Pronóstico de tiempo de entrega

Los tiempos de entrega se asumen con frecuencia como un dato dado. Sin embargo, si bien se conocen los tiempos de entrega pasados, los tiempos de entrega futuros solo se pueden estimar. Durante años, Lokad subestimó 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 afectan la demanda, también afectan el tiempo de entrega.

En nuestro motor de pronóstico 4.0, los tiempos de entrega se han convertido en ciudadanos de primera clase con su propio modo de pronóstico de tiempos de entrega. Ahora, los tiempos de entrega se benefician de modelos de pronóstico incorporados dedicados. Naturalmente, con nuestro motor siendo un motor de pronóstico probabilístico, los pronósticos de tiempo de entrega son una distribución de probabilidades asociada con un período de tiempo incierto.

Pronóstico de demanda integrado

Los tiempos de entrega varían y, sin embargo, nuestro motor de pronóstico 3.0 estaba limitado a tiempos de entrega fijos. Desde una perspectiva tradicional, el análisis clásico de existencias de seguridad 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 siguen una distribución normal. Si bien nuestros experimentos rutinariamente mostraron que tener un tiempo de entrega fijo era mejor que tener un modelo defectuoso, estar limitado a tiempos de entrega estáticos no era la solución perfectamente satisfactoria que estábamos buscando.

El motor de pronóstico 4.0 introduce el concepto de pronóstico de demanda integrado, con integrado significando integrado en el tiempo de entrega. El motor toma una distribución completa de probabilidades de tiempo de entrega y produce el correspondiente pronóstico de demanda probabilístico. En la práctica, la distribución de tiempos de entrega también es calculada por el motor de pronóstico como se vio anteriormente. El pronóstico de demanda integrado finalmente ofrece una respuesta satisfactoria al desafío de lidiar con tiempos de entrega variables.

Pronóstico de nuevos productos

Pronosticar la demanda de nuevos productos es realmente difícil. En este caso, dado que obviamente no se puede basar en el historial de ventas, el motor de pronóstico debe confiar en otros datos conocidos sobre el producto antes de su lanzamiento. Nuestro motor de pronóstico 3.0 ya tenía un marco de etiquetas, diseñado específicamente para este caso de uso. Sin embargo, desafortunadamente, las etiquetas no llevaban tanta información como nos hubiera gustado y se dejaba cierta precisión en el camino.

Con la versión 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 las etiquetas, y transmiten mucha más información. El motor de pronóstico 4.0 aprovecha al máximo este marco de datos más rico para ofrecer pronósticos más precisos, siendo el pronóstico de nuevos productos el caso de uso más agudo.

Faltantes de stock y promociones

El objetivo del motor de pronóstico es pronosticar la futura demanda. Sin embargo, nuestro conocimiento de la demanda pasada suele ser imperfecto, ya que solo se conoce realmente las ventas pasadas. Las ventas tienden a ser una aproximación razonable de la demanda, pero las ventas vienen con múltiples sesgos, siendo los casos más comunes los faltantes de stock y las promociones. Nuestro motor 3.0 ya tenía algunas heurísticas para lidiar con este sesgo, además los pronósticos de cuantiles son intrínsecamente más robustos que los pronósticos (clásicos) promedio. Sin embargo, una vez más, la situación no era completamente 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 en un día determinado se marca como censurada, le estamos diciendo al motor de pronóstico que la demanda debería haber sido mayor y que la verdadera demanda para ese día sigue siendo desconocida. El motor aprovecha esta información para refinar los pronósticos, incluso cuando el historial está lleno de eventos que han distorsionado la señal de demanda.

Demanda ultra escasa

Si bien los pronósticos de cuantiles son mucho mejores que los pronósticos promedio o medianos clásicos cuando se trata de estimar las probabilidades de eventos raros, los cuantiles comienzan a mostrar sus límites cuando se trata de estimar eventos súper raros. Por ejemplo, nuestros modelos de cuantiles tenían dificultades para manejar adecuadamente los artículos que se venden solo una o dos veces al año, así como para manejar niveles de servicio superiores al 98%.

Los modelos probabilísticos nativos, implementados 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 haber sido implementados dentro de un marco de pronóstico de cuantiles (un pronóstico probabilístico se puede convertir fácilmente en un pronóstico de cuantiles); pero nuestro motor 3.0 no tenía la infraestructura para admitirlos. Por lo tanto, se implementaron en el motor 4.0 en su lugar.

Integrado en Envision

Las versiones 2.0 y 3.0 de nuestro motor de pronóstico venían con una interfaz de usuario web. A primera vista, parecía fácil. Sin embargo, la interfaz de usuario en realidad estaba descartando el factor que representa el verdadero desafío de usar (cualquier) motor de pronóstico, que es proporcionar un control completo de los datos transferidos al motor de pronóstico. De hecho, la basura que entra, basura que sale sigue siendo un problema demasiado frecuente.

El motor 4.0 se interconecta desde dentro de Envision, nuestro lenguaje de dominio específico orientado a la optimización cuantitativa para el comercio. Llamar al motor de pronóstico 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 de productividad se activan rápidamente; tan pronto como se realicen ajustes en los datos de entrada.

El lanzamiento de nuestro motor de pronóstico 4.0 es solo la primera parte de una serie de mejoras importantes que se han realizado en Lokad en las últimas semanas. Estén atentos para más información.