Pronóstico a través de Deep Learning (2018)

Como parte de nuestro compromiso fundamental de ofrecer los pronósticos más precisos que la tecnología pueda producir, nos enorgullece anunciar que nuestra 5ta generación del motor de pronóstico ya está en funcionamiento en Lokad. Este motor está brindando la mayor mejora de precisión que hemos logrado en una sola versión.

Desde el pronóstico probabilístico hasta el deep learning

power-clouds
El diseño del motor se basa en un tipo de aprendizaje automático relativamente reciente llamado deep learning. Para las cadenas de suministro, las grandes mejoras en la precisión del pronóstico pueden traducirse en grandes retornos, atendiendo a más clientes, atendiéndolos más rápido y enfrentando menos riesgos de inventario. Hace aproximadamente 18 meses, anunciamos la 4ta generación de nuestra tecnología de pronóstico. La 4ta generación fue la primera en ofrecer verdaderos pronósticos probabilísticos. Los pronósticos probabilísticos son esenciales en las cadenas de suministro porque los costos se concentran en los extremos estadísticos, cuando la demanda resulta ser inesperadamente alta o baja. En contraste, los métodos de pronóstico tradicionales, como los pronósticos diarios, semanales o mensuales tradicionales, que solo se centran en entregar pronósticos medios o promedios, son ciegos ante el problema. Como consecuencia, esos métodos suelen fracasar en ofrecer retornos satisfactorios para las empresas. La 5ta generación no niega sus orígenes; también abarca los pronósticos probabilísticos y se basa en la experiencia adquirida con la generación anterior.

En parte por casualidad, resulta que el deep learning resulta estar fuertemente orientado hacia los pronósticos probabilísticos por diseño. Sin embargo, la motivación de esta perspectiva fue completamente ajena a las preocupaciones de la cadena de suministro. Los algoritmos de deep learning favorecen la optimización basada en una perspectiva probabilística / bayesiana con métricas como la entropía cruzada porque estas métricas proporcionan valores de gradiente enormes que son especialmente adecuados para el descenso de gradiente estocástico, el “único” algoritmo que hace posible el deep learning.

¡En el caso específico de las cadenas de suministro, resulta que los fundamentos del deep learning están completamente alineados con los requisitos comerciales reales!

Más allá de la exageración de la inteligencia artificial

La inteligencia artificial, impulsada por el deep learning en la práctica, ha sido la palabra de moda del año en 2017. Las afirmaciones son audaces, cautivadoras y, bueno, confusas. Desde el punto de vista de Lokad, observamos que la mayoría de estas tecnologías de IA empresarial no cumplen con las expectativas. Muy pocas empresas pueden asegurar más de medio billón de dólares en financiamiento, como Instacart, para reunir un equipo de deep learning de clase mundial y abordar con éxito un desafío de cadena de suministro.

Con esta versión, Lokad está poniendo a disposición de cualquier empresa razonablemente “digitalizada” una tecnología de pronóstico de calidad de IA. Obviamente, todo el sistema sigue siendo impulsado por datos históricos de la cadena de suministro, por lo que los datos deben ser accesibles para Lokad, pero nuestra tecnología no requiere experiencia en deep learning. A diferencia de casi todas las tecnologías de IA “empresariales”, Lokad no se basa en la ingeniería manual de características. En lo que respecta a nuestros clientes, la actualización desde nuestros pronósticos probabilísticos anteriores hasta el deep learning será perfecta. Lokad es la primera empresa de software en proporcionar una tecnología de pronóstico de calidad de IA llave en mano, accesible tanto para pequeños comercios electrónicos de una sola persona como para redes de cadena de suministro más grandes que pueden incluir miles de ubicaciones y un millón de referencias de productos.

La era de la computación GPU

power-clouds El deep learning se mantuvo en cierta medida como un nicho hasta que la comunidad logró mejorar su propio bloque de construcción de software para aprovechar las GPUs (unidades de procesamiento gráfico). Estas GPUs difieren en gran medida de las CPUs (unidades de procesamiento central), que todavía alimentan la gran mayoría de las aplicaciones en la actualidad, con las excepciones notables de los juegos de computadora, que dependen intensamente tanto de las CPUs como de las GPUs. Junto con la reescritura completa de nuestro motor de pronóstico para esta quinta iteración, también hemos mejorado significativamente la infraestructura de bajo nivel de Lokad. De hecho, para servir a las empresas, la plataforma de Lokad ahora aprovecha tanto las GPUs como las CPUs. Lokad ahora aprovecha las máquinas con GPU que se pueden alquilar en Microsoft Azure, la plataforma de computación en la nube que admite Lokad. A través del enorme poder de procesamiento de las GPUs, no solo estamos haciendo nuestros pronósticos más precisos, sino que también los estamos haciendo mucho más rápidos. A través de una cuadrícula de GPUs, ahora obtenemos los pronósticos aproximadamente de 3 a 6 veces más rápido, para cualquier conjunto de datos de tamaño considerable (*).

(*) Para conjuntos de datos ultra pequeños, nuestro motor de pronóstico de quinta generación en realidad es más lento y tarda unos minutos más, lo cual es en gran medida inconsecuente en la práctica.

Lanzamientos de productos y promociones

Nuestro motor de pronóstico de quinta generación está aportando mejoras sustanciales a situaciones difíciles de pronóstico, especialmente lanzamientos de productos y promociones. Desde nuestra perspectiva, los lanzamientos de productos, aunque muy difíciles, siguen siendo un poco más fáciles que los pronósticos de promociones. La diferencia en la dificultad se debe a la calidad de los datos históricos, que es invariablemente más baja para las promociones en comparación con los lanzamientos de productos. Los datos de promoción mejoran con el tiempo una vez que se implementan los procesos adecuados de aseguramiento de calidad.

En particular, vemos el deep learning como una gran oportunidad para las marcas de moda que luchan con lanzamientos de productos que dominan sus ventas: lanzar un nuevo producto no es la excepción, es la regla. Luego, a medida que las variantes de color y tamaño inflan en gran medida el número de SKU, la situación se vuelve aún más compleja.

Nuestras preguntas frecuentes sobre pronósticos

¿Qué modelos de pronóstico estás utilizando?

Nuestro motor de pronóstico profundo utiliza un solo modelo construido a partir de principios de deep learning. A diferencia de los modelos estadísticos clásicos, es un modelo que cuenta con decenas de millones de parámetros entrenables, lo que equivale a aproximadamente 1000 veces más parámetros que nuestro modelo de aprendizaje automático no profundo más complejo anterior. El deep learning supera ampliamente los enfoques de aprendizaje automático antiguos (bosques aleatorios, árboles de refuerzo de gradiente). Sin embargo, vale la pena señalar que estos enfoques de aprendizaje automático antiguos ya superaban a todos los clásicos de series de tiempo (Box-Jenkins, ARIMA, Holt-Winters, suavización 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 disponibles para Lokad. Los datos históricos se aprovechan a través de un proceso conocido como backtesting. Por lo tanto, cuanto más datos históricos estén disponibles para el modelo, más oportunidades tiene el modelo de aprender de sus propios errores.

¿Su motor de pronóstico maneja la estacionalidad, las tendencias, los días de la semana?

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

¿Qué datos necesitan?

Como fue el caso con nuestra generación anterior de tecnología de pronóstico, para pronosticar la demanda, el motor de pronóstico necesita que se le proporcione, al menos, la demanda histórica diaria, y proporcionar un historial de pedidos desagregado es aún mejor. En cuanto a la longitud del historial, cuanto más largo sea, mejor. Si bien no se puede detectar estacionalidad con menos de 2 años de historial, consideramos que 3 años de historial son buenos y 5 años son excelentes. Para pronosticar los tiempos de entrega, el motor generalmente requiere que las órdenes de compra contengan tanto las fechas de pedido como las fechas de entrega. Especificar los atributos de su producto o SKU también ayuda a refinar considerablemente los pronósticos. Además, proporcionar sus niveles de stock también nos ayuda mucho para realizar un primer análisis de stock significativo.

¿Pueden pronosticar mi hoja de Excel?

Como regla general, si todos sus datos caben en una hoja de Excel, generalmente no podemos hacer mucho por usted, y siendo honestos, nadie puede hacerlo tampoco. Los datos de la hoja de cálculo probablemente estén agregados por semana o por mes, y la mayor parte de la información histórica se pierde a través de dicha agregación. Además, en este caso, su hoja de cálculo tampoco va a contener mucha información sobre las categorías y jerarquías que se aplican a sus productos. Nuestro motor de pronóstico aprovecha todos los datos que tiene, y hacer una prueba con una muestra pequeña no va a dar resultados satisfactorios.

¿Qué pasa con los faltantes de stock y las promociones?

Tanto los faltantes de stock como las promociones representan sesgos en las ventas históricas. Dado que el objetivo es pronosticar la demanda, y no las ventas, este sesgo debe tenerse en cuenta. Una forma frecuente, pero incorrecta, de lidiar con estos eventos consiste en reescribir el historial, para llenar los vacíos y truncar los picos. Sin embargo, no nos gusta este enfoque, porque consiste en alimentar pronósticos al motor de pronóstico, lo que puede resultar en problemas importantes de sobreajuste. En cambio, nuestro motor admite nativamente “flags” que indican dónde se ha censurado o inflado la demanda.

¿Pueden pronosticar nuevos productos?

Sí, podemos hacerlo. Sin embargo, para pronosticar nuevos productos, el motor requiere las fechas de lanzamiento de los otros productos “más antiguos”, así como su demanda histórica en el momento del lanzamiento. También se recomienda especificar algunas de las categorías de productos y/o una jerarquía de productos. El motor de hecho pronostica nuevos productos mediante la detección automática de los productos “más antiguos”, que se pueden considerar comparables a los nuevos. Sin embargo, como aún no se ha observado demanda para los nuevos artículos, los pronósticos se basan completamente en los atributos asociados a ellos.

¿Utilizan datos externos para refinar los pronósticos?

Podemos utilizar datos de precios competitivos obtenidos típicamente a través de empresas de terceros que se especializan en web scraping, por ejemplo. También se pueden utilizar datos de tráfico web, y posiblemente adquirirlos, para enriquecer los datos históricos y aumentar 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 una tubería de datos de alta calidad conectada a esas fuentes de datos externas.