00:00:05 Pronóstico de ventas estacionales.
00:00:35 Explicación de los patrones principales de estacionalidad.
00:02:23 Desafíos con el pronóstico de estacionalidad, vida útil del producto.
00:04:33 Exploración de problemas adicionales con la estacionalidad.
00:06:53 Superar problemas con datos históricos faltantes.
00:07:16 Solución: considerar colecciones de productos para la estacionalidad.
00:08:49 Dynamic time warping.
00:09:06 Transición al deep learning para el pronóstico.
00:10:02 Dynamic time warping en el pronóstico de la demanda.
00:12:09 Manejo de picos de datos históricos y promociones.
00:13:01 Necesidad de datos precisos y machine learning.
00:16:01 Popularidad del deep learning en el machine learning.
00:16:30 Limitaciones de los datos pasados para predicciones futuras.
00:17:40 Estacionalidad en los asuntos humanos para el modelado.
00:19:42 Mejorar el pronóstico con machine learning.
00:21:39 Beneficios del machine learning a lo largo del tiempo.
Resumen
En una entrevista, Joannes Vermorel está discutiendo los desafíos de incorporar la estacionalidad en el pronóstico de ventas. La estacionalidad, definida como patrones cíclicos de ventas influenciados por la época del año, la semana y el día, contribuye a las fluctuaciones de la demanda. Las ciclicidades secundarias, como el “efecto del salario” y la “cuasi estacionalidad”, también son significativas. Comprender la línea de base de la demanda, las tendencias y el ruido estadístico en los datos está ayudando a la precisión del pronóstico. Los desafíos incluyen la corta vida útil de muchos productos y la variabilidad anual de eventos como la Navidad. Vermorel sugiere adoptar una perspectiva colectiva sobre productos similares para predecir el rendimiento de nuevos productos y utilizar configuraciones de machine learning para el mantenimiento automático de los grupos estacionales.
Resumen Extendido
Kieran Chandler está entrevistando a Joannes Vermorel sobre el concepto de estacionalidad en el pronóstico de ventas y sus desafíos asociados.
La estacionalidad es uno de los patrones centrales utilizados para mejorar la precisión de los pronósticos de ventas, pero a menudo se malinterpreta y se aplica incorrectamente. Vermorel identifica la estacionalidad como una ciclicidad importante en los patrones de ventas. Divide estas ciclicidades en tres tipos clave: la época del año, el día de la semana y la hora del día, que contribuyen a las variaciones en la demanda del consumidor.
Vermorel también habla sobre ciclicidades secundarias como el “efecto del salario”, que es el ciclo mensual de las personas que reciben sus salarios y su impacto resultante en su comportamiento de compra. Además, introduce las “ciclicidades minerales” o “cuasi estacionalidad”, que incluyen eventos como la Pascua, el Ramadán y el Año Nuevo Chino, que se repiten pero no siempre caen en la misma fecha cada año según el calendario gregoriano.
Comprender la línea de base de la demanda, las tendencias y el nivel de ruido estadístico en los datos es otro aspecto crucial que Vermorel destaca. Reconocer estos patrones ayuda a diferenciar entre el ruido aleatorio y los patrones estadísticos auténticos, lo cual es esencial para un pronóstico efectivo.
A pesar de la aparente simplicidad de la estacionalidad, Vermorel habla sobre por qué las personas a menudo luchan con ella. El primer desafío es la corta vida útil de la mayoría de los productos en el mercado. Por ejemplo, la vida útil promedio de un producto de bienes de consumo de movimiento rápido (FMCG) es de entre tres y cinco años. Esto implica que una gran parte del catálogo de productos puede ni siquiera existir durante un año completo, lo que complica la aplicación de la estacionalidad.
Vermorel introduce el concepto de “distorsión del tiempo” en la estacionalidad, refiriéndose a los cambios en los patrones estacionales debido a diversos factores. Los cambios en los patrones climáticos pueden animar a los consumidores a comenzar sus compras de invierno antes o después de lo habitual. El clima político y el sentimiento del consumidor también pueden influir en el momento de las compras, como las compras navideñas. Estos cambios pueden distorsionar los patrones estacionales típicos, lo que dificulta la predicción.
A continuación, habla sobre la interferencia de patrones adicionales con la estacionalidad. Vermorel enfatiza la importancia de distinguir entre estas influencias externas y las verdaderas tendencias estacionales. Se adentra en cómo abordar los desafíos causados por la falta de datos históricos para una parte significativa de un catálogo. Propone una perspectiva colectiva, identificando patrones estacionales comunes en una variedad de productos similares. Este patrón compartido se puede aplicar a nuevos productos, permitiendo el pronóstico de estacionalidad desde el primer día, incluso para productos sin historial de ventas.
En respuesta a una pregunta sobre el pronóstico en condiciones climáticas inciertas, Vermorel presenta el concepto de alineación dinámica del tiempo. Sin embargo, admite que la implementación de la alineación dinámica del tiempo es muy compleja, lo que llevó a Lokad, al igual que la comunidad de reconocimiento de voz, a cambiar a deep learning para su motor de pronóstico.
Para diferenciar entre la demanda estacional y los picos promocionales, Vermorel propone un enfoque de descomposición paramétrica. Sin embargo, reconoce las limitaciones de este método, ya que los datos históricos suelen estar entrelazados, lo que dificulta el aprendizaje de patrones de forma independiente.
Para abordar esto, Vermorel propone dos estrategias. Primero, registrar todos los eventos que distorsionan la observación de la demanda, incluyendo promociones, faltantes de stock y otros factores que afectan las ventas. Segundo, utilizar una configuración de aprendizaje automático para aprender todos estos patrones conjuntamente, en lugar de tratar de aprenderlos por separado. Sugiere que por eso el deep learning se ha vuelto popular en la comunidad de aprendizaje automático.
Vermorel reconoce el desafío de tener plena confianza en los resultados debido a las distorsiones de los datos. Sin embargo, sostiene que la mayoría de los mercados tienen mucha inercia y que el pasado reciente es una aproximación razonable del futuro cercano.
También destaca la importancia de la estacionalidad en el pronóstico de la demanda, reconociendo su estabilidad pero enfatizando su falta de fijeza. Esto significa que la estacionalidad puede evolucionar de un año a otro, y un buen modelo estadístico debería ser capaz de predecir esta tasa promedio de evolución.
A medida que la conversación concluye, Vermorel recomienda a las empresas que buscan mejorar sus enfoques de pronóstico que tengan en cuenta la estacionalidad y que pasen a configuraciones de aprendizaje automático, alejándose de los métodos tradicionales que requieren la creación manual de perfiles de estacionalidad. El aprendizaje automático permite el mantenimiento automático de los intervalos estacionales, lo que resulta en una mayor precisión con el tiempo.
Transcripción completa
Kieran Chandler: Joannes, a menudo hablamos de la estacionalidad como uno de los patrones principales que se aplican para mejorar la precisión de los pronósticos. Pero, ¿qué queremos decir realmente con esto? ¿Cuáles son los patrones principales?
Joannes Vermorel: La estacionalidad es uno de los principales patrones cíclicos. Hay tres ciclos principales, que son el tiempo del año, el día de la semana y la hora del día. Estos son los tres principales. Luego tienes un par de ciclos secundarios, como el efecto del salario, que es básicamente un patrón cíclico mensual donde tienes efectos con personas que cobran o cosas que suceden al principio o al final del mes. Luego, tienes lo que yo llamaría una cuasi-estacionalidad, cosas como la Pascua, el Ramadán, el Año Nuevo Chino. Estos eventos ocurren todos los años, pero no exactamente en el mismo momento del año, al menos según el calendario gregoriano. Tenemos todos estos patrones cíclicos, y la estacionalidad es uno de los más importantes. Además de los ciclos, tenemos la línea de base de la demanda, la tendencia de cuánto están creciendo o disminuyendo las cosas con el tiempo, y finalmente, la cantidad de ruido estadístico, que también es un patrón muy importante. Necesitas entender realmente la variabilidad y determinar si lo que estás viendo es ruido o un patrón estadístico real.
Kieran Chandler: Hablemos entonces de la estacionalidad en sí misma. ¿Por qué es algo con lo que la gente tiene dificultades? Parece bastante obvio saber que en Navidad las ventas van a aumentar y que en las temporadas de vacaciones se verán diferentes ventas para diferentes cosas. Entonces, ¿por qué es algo con lo que la gente tiene dificultades?
Joannes Vermorel: La estacionalidad es difícil de hacer bien. Veamos los desafíos. El primer desafío es que la mayoría de los productos tienen una vida corta en el mercado. La vida útil promedio de un producto de consumo masivo es algo entre tres y cinco años. Esto significa que si estás vendiendo productos que en promedio duran tres años en el mercado, significa que la mitad de tus productos solo tienen un año y medio de existencia. Incluso tienes un tercio de tus productos que tienen menos de un año. Entonces, si quieres tener un modelo estacional ingenuo, un modelo estadístico en el que dices que las ventas que voy a hacer para la próxima Navidad van a ser similares a las que hice para la Navidad anterior, resulta que para un tercio de tus productos, no hubo una Navidad anterior. No tienes ninguna referencia. Entonces, el primer desafío es que debido a la novedad del producto en el mercado, terminas con una parte significativa de tu catálogo que no tiene un año de existencia. Digamos, por ejemplo, para las piezas de automóviles, que tienden a tener una vida útil más larga de unos seis años, incluso entonces, un sexto de tus productos ni siquiera tiene un año de ventas. Entonces, no podrás aplicar esta bonita estacionalidad a una parte considerable de tu catálogo. Ese es uno de los problemas a los que nos enfrentamos con la estacionalidad.
Kieran Chandler: ¿Cuáles son algunos de los otros problemas a los que nos enfrentamos con la estacionalidad?
Joannes Vermorel: Otro problema es que la estacionalidad no es necesariamente exactamente la misma de un año a otro. Sí, la Navidad es el 25 de diciembre todos los años, pero si pasas de un año a otro, la temporada navideña, desde la perspectiva de un comerciante.
Kieran Chandler: Un año, comenzó a hacer mucho frío a principios de octubre, lo que llevó a las personas a comenzar sus compras de invierno antes en la temporada. Por el contrario, a veces las temperaturas se mantuvieron suaves durante más tiempo, por lo que las personas comenzaron a comprar más tarde. A veces, incluso el clima político afecta los hábitos de compra. Por ejemplo, si las personas están muy preocupadas por el futuro, pueden decidir posponer las compras navideñas hasta el último minuto. Estos son solo algunos de los factores que pueden causar lo que normalmente nos referimos como distorsión del tiempo. Aún tienes el pico de Navidad, por ejemplo, pero el comienzo de la temporada navideña puede variar unas semanas de un año a otro. Este tipo de distorsión puede ocurrir con todos los patrones estacionales. ¿Estarías de acuerdo?
Joannes Vermorel: Absolutamente, y esa es probablemente la segunda clase de problemas. La tercera clase es que desafortunadamente tu estacionalidad se ve afectada por otros patrones. ¿Qué pasa si, por ejemplo, el año pasado en septiembre tuviste una promoción masiva que no estás repitiendo este año? No debes confundir el impacto de esa promoción con la estacionalidad. Necesitas desentrañar la estacionalidad de otros patrones. Y todos estos cambios combinados hacen que la estacionalidad sea mucho más esquiva que si estuvieras lidiando con una situación ingenua en la que tienes una estacionalidad pura para un producto que es duradero, estable y todo funciona sin problemas.
Kieran Chandler: Hablemos entonces de cómo superar algunos de estos problemas. Si no tienes datos históricos para, digamos, un tercio de tu catálogo, ¿puedes realmente usar la estacionalidad en la previsión para esos productos?
Joannes Vermorel: Sí, pero necesitas comenzar a ver tus productos como una colección en lugar de examinar los productos uno por uno. Lo que quiero decir es, digamos que tienes botas de invierno. Es probable que haya un patrón estacional compartido para todos esos productos. Puedes asumir razonablemente que existe una estacionalidad compartida. Entonces, si puedes identificar esta estacionalidad compartida, no importa si estás vendiendo diferentes botas de invierno este año en comparación con el año pasado. Podrías decir: “Sé que para las botas de invierno en conjunto, tengo este patrón”. Por lo tanto, cuando introduzco un nuevo producto en el mercado, para el cual no tengo historial de ventas, puedo aplicar un patrón estacional desde el primer día. Puedo reciclar algo que se basó en un conjunto de todas las botas de invierno. La idea clave es mirar la amplitud de los productos en lugar de la profundidad del historial.
Kieran Chandler: Si estás pronosticando con meses de anticipación, ¿cómo sabrías si el verano se va a prolongar un mes más? ¿Cómo puedes pronosticar eso?
Joannes Vermorel: Aquí es donde entramos en la siguiente etapa, que es cómo lidiamos con todas las distorsiones. Se puede hacer de forma analítica, utilizando una técnica conocida como dynamic time warping. Si a las personas les interesa, pueden buscarlo en Wikipedia. Implementar dynamic time warping es extremadamente complicado desde el punto de vista del software. Hace unos 10 años, la comunidad de reconocimiento de voz, que estaba haciendo aprendizaje automático para el reconocimiento de voz, tuvo que lidiar con dynamic time warping. Lo encontraron demasiado complicado, se rindieron y pasaron al deep learning. Curiosamente, Lokad hizo exactamente lo mismo para la estacionalidad. Implementamos dynamic time warping en nuestro motor de pronóstico, pero eventualmente reemplazamos todo con deep learning en la última generación de nuestros motores de pronóstico.
Kieran Chandler: Suena muy de ciencia ficción, time warping. ¿Podrías darnos una descripción general rápida?
Joannes Vermorel: La descripción general es que sabes que tu temporada probablemente va a terminar pronto, pero no sabes exactamente cuándo. Sin embargo, puedes tener en cuenta la variabilidad.
Kieran Chandler: Hemos llegado al final de la temporada, así que sé que la demanda seguirá, pero mucho más baja. Sin embargo, ¿cómo se ve - un análisis de estacionalidad sin este tipo de dynamic time warping? ¿Qué sucede si la temporada termina temprano?
Joannes Vermorel: Cuando la temporada termina temprano, tienes tu nuevo punto de referencia o nivel, y según tu perfil de estacionalidad, se supone que la demanda para la primera semana de diciembre será la mitad de la última semana de agosto. Ese es tu perfil estático y rígido. Pero el problema es que si el verano terminó temprano y para la última semana de agosto ya estás fuera de la temporada de verano, no quieres dividir tu demanda nuevamente por un factor de 2 en la primera semana de septiembre. Esto se debe a que desde la última semana de agosto hasta la primera semana de septiembre, la demanda estaba disminuyendo y te encuentras en una situación en la que la demanda ya ha disminuido.
Dynamic time warping es una técnica que ayuda a evitar errores acumulativos cuando la temporada comienza tarde o temprano y aplicas tu perfil de estacionalidad dos veces. Terminas teniendo una primera caída de la demanda y luego vuelves a aplicar tu patrón estacional que parece indicar que habrá una caída adicional, o lo contrario: la demanda ya ha aumentado a un nuevo nivel porque la temporada comenzó temprano, y luego vuelves a aplicar este factor encima. Dynamic time-warping no predice una mejor transición entre temporadas, pero te permite evitar estos errores acumulativos.
Kieran Chandler: Entonces, la idea es que vas a tener el mismo tipo de perfil de demanda, pero comprimido o alargado dependiendo de la temporada, ¿verdad?
Joannes Vermorel: Exactamente.
Kieran Chandler: Y luego, lo último de lo que hablamos fueron los picos históricos en los datos y no transferir esos picos para la estacionalidad de este año. ¿Cómo funciona eso en realidad? ¿Cómo no tienes en cuenta esos picos? ¿Cómo sabes cuál es la demanda estacional y qué es solo un pico debido a una promoción o algo así?
Joannes Vermorel: El enfoque clásico para la previsión de series temporales es una descomposición paramétrica. Tienes tu historial de demanda y dirías que de esta demanda, esta cantidad es básicamente el punto de referencia, esta cantidad es el factor de estacionalidad, esta cantidad se puede explicar con la tendencia, etc. Este enfoque es débil en el sentido de que quieres poder aprender todos tus patrones de forma independiente, pero la realidad es que en tus datos históricos, todo está completamente mezclado.
Hay al menos dos aspectos en este problema. Primero, necesitas registrar correctamente en tus datos históricos tus promociones, tus faltantes de stock y todos los demás eventos que afectaron no la demanda, sino tu observación de la demanda, que son las ventas. Las ventas no son iguales a la demanda. Por ejemplo, cuando quieres hacer una previsión, típicamente quieres decir: “Quiero prever la demanda al precio regular, no quiero prever la demanda al precio súper bajo de una promoción”. Pero lo que tienes en tu historial son tus ventas y las ventas están distorsionadas debido a las promociones y posiblemente a los faltantes de stock y otras cosas.
Entonces, lo primero es que necesitas registrar todos los factores que distorsionaron tu percepción de la demanda, lo cual es más complicado de lo que parece. Muy pocas empresas tienen un registro muy preciso de todos los eventos que influyeron en sus ventas. Esto puede ser cosas como si eres una empresa de comercio electrónico, recordar si un producto formaba parte de la página de inicio o se destacaba en una sección, si un producto formaba parte de un boletín informativo, si hubo movimientos de precios para los productos e incluso si tienes inteligencia competitiva, recordar el precio de los productos de tus competidores.
Kieran Chandler: Mencionaste que los competidores podrían haber causado una disminución en la demanda, no porque tuvieras un faltante de stock, sino porque estaban haciendo una promoción masiva y no alineaste tu precio con el de ellos. Eso explicaría una disminución en la demanda.
Joannes Vermorel: Sí, esa es una parte de la receta. La segunda parte es la necesidad de una configuración de aprendizaje automático donde puedas aprender conjuntamente todos estos patrones. El aprendizaje automático moderno no intenta aprender patrones estadísticos de forma aislada. No aprendes primero la estacionalidad, luego la tendencia y luego el efecto promocional. En cambio, tienes un modelo que intenta capturar todos estos patrones a la vez. Esto significa que el modelo necesita la capacidad de aprender una amplia variedad de patrones. Requiere un modelo muy expresivo. Es por eso que muchas personas en la comunidad de aprendizaje automático han adoptado el deep learning. Es un enfoque que puede generar un modelo capaz de capturar una amplia variedad de patrones.
Kieran Chandler: Sigues mencionando distorsiones. Parece que hay tantas formas posibles de distorsionar los datos, lo que hace que la estacionalidad sea muy difícil de implementar. ¿Realmente podemos tener plena confianza en los resultados dados el potencial de distorsiones en los datos?
Joannes Vermorel: Absolutamente, y la pregunta es, ¿cuánto te permite el pasado predecir el futuro? Esa es la suposición fundamental detrás del pronóstico estadístico de la demanda. Desafortunadamente, el futuro no siempre puede ser predicho por el pasado. Sin embargo, esto no es completamente cierto cuando hablamos de pronósticos que están a unos meses de distancia. La mayoría de los mercados tienen mucha inercia. El pasado reciente sigue siendo una aproximación razonable del futuro cercano. Eso es lo que aprovechamos.
Los patrones estacionales son relativamente fuertes. Se ven en todos los asuntos humanos. Todo sigue este ciclo anual, y probablemente ha sido así durante miles de años. Los humanos somos criaturas de hábito, y estos hábitos fuertes se reflejan en casi todas las series de tiempo que representan los asuntos humanos.
Por ejemplo, el número de pasajeros de avión seguirá una curva anual. La cantidad de leche comprada en cualquier día del año tendrá una curva de estacionalidad. Lo mismo ocurre con la compra de videojuegos, el consumo de electricidad, y así sucesivamente.
Estos patrones han sido muy estables y se pueden aprovechar. Pero siempre hay cierta incertidumbre irreducible sobre el futuro.
Kieran Chandler: Hemos estado discutiendo el enfoque probabilístico en la optimización de la supply chain. Por lo que entiendo, este enfoque también puede manejar la estacionalidad. ¿Puedes explicar cómo maneja los cambios en los patrones estacionales de un año a otro?
Joannes Vermorel: Ciertamente. Nuestro modelo estadístico está diseñado para adaptarse a la estacionalidad en evolución. Aunque es posible que no podamos predecir cambios exactos, podemos pronosticar la tasa promedio de evolución. Esto nos permite introducir la cantidad adecuada de incertidumbre en nuestros pronósticos. Es importante recordar que estos pronósticos son distribuciones de probabilidad que incorporan el patrón de estacionalidad. Sin embargo, esta no es una representación perfecta. Hay cierto grado de borrosidad en términos de amplitud. Consideramos cuánto aumento habrá durante las temporadas pico, así como el momento de estos picos. Realmente es una combinación de estos dos factores.
Kieran Chandler: Eso tiene mucho sentido. A medida que concluimos, ¿podrías decirnos qué pasos pueden tomar las empresas para mejorar su enfoque en el pronóstico, especialmente en lo que respecta a la estacionalidad?
Joannes Vermorel: Bueno, lo primero que se me ocurre es que se pongan en contacto con nosotros en Lokad. Bromas aparte, creo que el paso más significativo sería pasar a configuraciones de aprendizaje automático. El enfoque tradicional para gestionar la estacionalidad implica crear perfiles de estacionalidad manualmente. Básicamente, agrupas los productos en categorías en función de la estacionalidad compartida. Sin embargo, este método depende en gran medida de la intervención humana y es difícil de mantener a lo largo del tiempo.
Kieran Chandler: ¿Podrías ampliar sobre los problemas de este enfoque tradicional?
Joannes Vermorel: Por supuesto. El problema principal no es necesariamente que las suposiciones del experto sean incorrectas. Un experto en cadena de suministro podría evaluar con precisión que un grupo de productos comparte la misma estacionalidad. El problema es que con el tiempo, mantener este sistema se convierte en una pesadilla. Cada vez que lanzas un nuevo producto, debes asegurarte de que caiga en la categoría correcta. Si bien el agrupamiento inicial puede ser bueno, tiende a degenerar y volverse ineficiente con el tiempo.
Kieran Chandler: Entonces, ¿cómo ayuda la transición al aprendizaje automático con esto?
Joannes Vermorel: Con una configuración de aprendizaje automático, puedes mantener tus categorías estacionales automáticamente. Esto mejorará significativamente tu precisión porque tus categorías, aunque no sean perfectas, no degenerarán con el tiempo. Se regeneran cada vez que las necesitas.
Kieran Chandler: Eso es muy perspicaz. Desafortunadamente, tenemos que concluir por hoy. Gracias por tu tiempo, Joannes.
Joannes Vermorel: De nada, fue un placer.
Kieran Chandler: Eso es todo por esta semana. Volveremos la próxima semana con otro episodio. Hasta entonces, gracias a todos por ver.