Pronóstico con deep learning

Como parte de nuestro compromiso central de entregar los pronósticos más precisos que la tecnología es capaz de elaborar, nos enorgullece anunciar que ya está activa la quinta generación de nuestro motor de pronóstico en Lokad. Este motor aporta la mayor mejora de precisión que hayamos logrado en una sola versión.




Del pronóstico probabilístico al deep learning

El diseño del motor se vale de un tipo de machine learning bastante reciente llamado deep learning (o aprendizaje profundo). Para las cadenas de suministro, mejoras significativas en la precisión del pronóstico pueden traducirse en ganancias igualmente importantes, pudiendo servir a más clientes, más rápidamente y con menos riesgos de inventario. Hace aproximadamente 18 meses, anunciábamos el lanzamiento de la cuarta generación de nuestra tecnología de pronóstico. La cuarta generación fue la primera en entregar verdaderos pronósticos probabilísticos. Los pronósticos probabilísticos son esenciales en las cadenas de suministro, porque, cuando la demanda resulta ser inesperadamente alta o baja, los costos se concentran en los extremos estadísticos. En cambio, los métodos de pronóstico tradicionales —como los pronósticos diarios, semanales o mensuales tradicionales— que solo se concentran en entregar pronósticos de mediana o de media, no ven este problema. Como consecuencia, es habitual que esos métodos no logren entreguen resultados satisfactorios para las empresas. La quinta generación no reniega de sus orígenes: también adopta los pronósticos probabilísticos y construye sobre la experiencia obtenida con la generación anterior.

En parte por casualidad, resulta que el deep learning está muy orientado hacia los pronósticos probabilísticos por diseño. El motivo de esto, sin embargo, no tiene se relaciona en absoluto con las cuestiones de la cadena de suministro. Los algoritmos de deep learning tienden a favorecer la optimización apoyada sobre una perspectiva probabilística/bayesiana con métricas como la entropía cruzada porque estas métricas proporcionan un amplio rango de valores que son especialmente adecuados para el descenso estocástico de gradiente, el algoritmo que hace posible el deep learning por excelencia.

En el caso específico de las cadenas de suministro, resulta que las bases del deep learning se alinean totalmente con las necesidades reales del sector.

Más allá del furor de la inteligencia artificial

La inteligencia artificial —potenciada por el deep learning en la práctica— ha sido la palabra de moda del año 2017. Las promesas son ambiciosas, tentadoras y, bueno, vagas. Desde la posición privilegiada de Lokad, observamos que la mayoría de estas tecnologías empresariales de IA no cumplen con las expectativas. Muy pocas empresas logran obtener más de medio millón de dólares de financiación, como Instacart, para reunir a un equipo de deep learning altamente cualificado para afrontar con éxito un desafío de cadena de suministro.

Con esta versión, Lokad hace accesible una tecnología de pronóstico de nivel de inteligencia artificial a cualquier empresa razonablemente "digitalizada". Claramente, todo está potenciado por los datos históricos de la cadena de suministro, por lo que Lokad debe tener acceso a esos datos, pero nuestra tecnología no requiere conocimiento experto de deep learning alguno. A diferencia de casi todas las tecnologías "empresariales" de IA, Lokad no recurre a la ingeniería manual de funciones. En lo que concierne a nuestros clientes, el pasaje de nuestros pronósticos probabilísticos al deep learning será totalmente fluido. Lokad es la primera empresa de software que ofrece una tecnología de pronóstico de nivel de IA llave en mano, accesible tanto a empresas de e-commerce de una persona como a las redes de las mayores cadenas de suministro, que pueden incluir miles de ubicaciones y millones de referencias de productos.

La era de la computación por GPU

El deep learning se ha mantenido como una especie de nicho hasta que la comunidad logró actualizar su base de software para aprovechar las ventajas de las GPU (unidades de procesamiento gráfico). Esas GPU difieren enormemente de las CPU (unidades centrales de procesamiento) que aún siguen potenciando a la gran mayoría de las aplicaciones modernas, con la notable excepción de los juegos de computadora, que utilizan de forma intensiva tanto CPU como GPU. Junto con la reescritura completa de nuestro motor de pronóstico para su quinta iteración, hemos actualizado significativamente la infraestructura subyacente de Lokad. De hecho, para servir a las empresas, la plataforma de Lokad ahora utiliza tanto GPU como CPU. Lokad aprovecha actualmente las ventajas de las máquinas potenciadas por GPU que pueden alquilarse en Microsoft Azure, la plataforma de computación en la nube que respalda a Lokad. Gracias a la enorme potencia de procesamiento de las GPU, estamos logrando que nuestros pronósticos sean no solo más precisos, sino también más rápidos. A través de una red de GPU, ahora obtenemos pronósticos entre tres y seis veces más rápidamente, para conjuntos de datos de grandes dimensiones(*).

(*) En el caso de conjuntos de datos ultrapequeños, la quinta generación de nuestro motor de pronóstico es, en realidad, más lenta y lleva varios minutos más, algo bastante intrascendente en la práctica.

Lanzamientos y promociones de producto

La quinta generación de nuestro motor de pronóstico está aportando mejoras significativas en las situaciones difíciles de pronosticar, principalmente en lanzamientos y promociones de producto. Desde nuestra perspectiva, los lanzamientos de producto, si bien son muy difíciles, resultan un poco más sencillos que los pronósticos de promociones. La diferencia en la dificultad reside en la calidad de los datos históricos, que es invariablemente menor para las promociones en comparación con los lanzamientos de producto. Los datos de promociones mejoran con el tiempo una vez que se han adoptado procesos de control o aseguramiento de calidad (QA).

En especial, estamos viendo que el deep learning representa una enorme oportunidad para las marcas de moda, que tienen dificultades con los lanzamientos de producto que dominan sus ventas: el lanzamiento de un producto no es la excepción, sino la regla. Y a medida que las variantes de color y tallas aumentan significativamente la cantidad de SKU, la situación se vuelve aún más compleja.

Nuestras preguntas frecuentes sobre pronósticos

¿Qué modelos de pronóstico utilizan?

Nuestro motor de pronóstico deep utiliza un solo modelo diseñado de acuerdo con los principios del deep learning. A diferencia de los modelos estadísticos clásicos, se trata de un modelo que incluye decenas de millones de parámetros que pueden entrenarse, lo que equivale a alrededor de 1000 veces más parámetros que nuestro modelos de machine learning no deep más complejo. El deep learning supera con creces a los métodos de machine learning anteriores (bosques aleatorios, árboles aumentados de gradiente). No obstante, vale la pena señalar que estos métodos anteriores de machine learning ya superaban a todos los métodos clásicos de series de tiempo (Box-Jenkins, ARIMA, Holt-Winters, alisado exponencial, etc.).

¿Aprenden de sus errores de pronóstico?

Sí. El proceso de entrenamiento estadístico —que, en última instancia, genera el modelo de deep learning—, aprovecha todos los datos históricos que Lokad tiene a disposición. Los datos históricos se aprovechan a través de un proceso conocido como análisis retrospectivo (o backtesting). Por lo tanto, cuantos más datos históricos haya a disposición, más oportunidades tendrá el modelo de aprender de sus errores.

¿Su motor de pronóstico gestiona estacionalidad, tendencias, días de la semana, etc.?

Sí, el motor de pronóstico gestiona todas las ciclicidades comunes, e incluso las cuasi ciclicidades, cuya importancia a menudo se subestima. En cuanto al código, el modelo de deep learning hace un uso intensivo de un método de múltiples series de tiempo para aprovechar las ciclicidades observadas en otros productos y mejorar así la precisión de pronóstico de cualquier producto específico. Naturalmente, dos productos pueden compartir la estacionalidad, pero no el mismo patrón de día de la semana. El modelo es capaz de captar este patrón. Además, una de las mayores ventajas del deep learning es la capacidad de captar adecuadamente la variabilidad de la estacionalidad misma. De hecho, una temporada puede comenzar antes o después dependiendo de variables externas, como el clima, y esas variaciones son detectadas y se reflejan en nuestros pronósticos.

¿Qué datos necesitan?

Así como con la generación anterior de nuestra tecnología de pronóstico, para pronosticar la demanda, el motor de pronóstico debe recibir, al menos, la demanda histórica diaria; y un historial de pedidos desagregado es aún mejor. En cuanto a la dimensión del historial, cuanto mayor sea, mejor. Si bien la estacionalidad puede detectarse con menos de dos años de historial, consideramos que un historial de tres años es bueno y uno de cinco es excelente. Para pronosticar los tiempos de entrega, el motor generalmente necesita que los pedidos de compra contengan tanto las fechas de pedido como las fechas de entrega. Especificar los atributos de su producto o SKU también ayuda significativamente a perfeccionar los pronósticos. También resulta de ayuda si proporciona sus niveles de stock, ya que con ellos podemos devolverle un primer análisis de stock que sea significativo.

¿Pueden pronosticar con mi planilla de Excel?

Como regla general, si todos sus datos caben en una planilla de Excel, generalmente no hay mucho que podamos hacer y, sinceramente, nadie podrá. Es probable que los datos de la planilla de cálculo estén agregados por semana o por mes, y la mayor parte de la información histórica acaba perdiéndose en la agregación. Además, en este caso, su planilla tampoco contendrá mucha información sobre las categorías y las jerarquías que se aplican a sus productos. Nuestro motor de pronóstico aprovecha todos los datos que tiene, y hacer un prueba con una pequeña muestra no arrojará resultados satisfactorios.

¿Qué sucede con los desabastecimientos y las promociones?

Tanto los desabastecimientos como las promociones representan sesgos en las ventas históricas. Debido a que el objetivo es pronosticar la demanda, no las ventas, este sesgo debe tenerse en cuenta. Un modo frecuente —pero incorrecto— de gestionar estos eventos consiste en reescribir el historial para rellenar las lagunas y truncar los picos. Sin embargo, no somos partidarios de este método, porque consiste en proporcionarle pronósticos al motor de pronóstico, lo que puede tener como resultado problemas significativos de sobreajuste. En cambio, nuestro motor respalda en forma nativa "marcas" (flags) que indican los puntos en los que la demanda se ha censurado o se ha exagerado.

¿Pronostican productos nuevos?

Así es. Sin embargo, para pronosticar productos nuevos, el motor requiere las fechas de lanzamiento de otros productos "anteriores", así como su demanda histórica en el momento del lanzamiento. Además, se recomienda especificar algunas de las categorías de su producto o una jerarquía de producto. El motor, de hecho, pronostica productos nuevos detectando automáticamente los productos "anteriores" que pueden considerarse comparables a los nuevos. Sin embargo, debido a que aún no se ha observado demanda para los nuevos artículos, los pronósticos recurren exclusivamente a los atributos que se asocian a ellos.

¿Utilizan datos externos para perfeccionar los pronósticos?

Podemos utilizar datos de precios competitivos generalmente obtenidos a través de empresas terceras que se especializan, por ejemplo, en web scraping (extracción de información de sitios web). También pueden utilizarse, y posiblemente adquirirse, los datos del tráfico web para enriquecer los datos históricos y así mejorar aún más la precisión estadística. En la práctica, el mayor cuello de botella en el uso de fuentes de datos externas no es el motor de pronóstico de Lokad —que es bastante capaz—, sino la configuración y el mantenimiento de un pipeline de datos de alta calidad conectados con esas fuentes de datos externos.