viernes, 10 de septiembre de 2021

Jedox AIssisted Planning para Series de Tiempo

 A continuación un video demostrando la facilidad con la que se puede efectuar una predicción de ventas/demanda utilizando series de tiempo. El asistente de Series de Tiempo es uno de los cuatro disponibles actualmente. Los otros son los de Predicción Basada en Drivers, Preparación de Datos y Selección de Drivers.



lunes, 6 de septiembre de 2021

Preparación de Datos Para Forecasting con Jedox AIssisted Planning

El sueño de un usuario de negocio enfrentado a una herramienta de machine learning para efectuar sus proyecciones, es que una vez entregados los datos obtenga resultados inmediatos.

Al querer obtener una predicción de la posible demanda de sus productos por parte de sus clientes, un usuario de negocios podría verse tentado a simplemente alimentar de datos al algoritmo predictivo. Craso error.

Una de las principales consideraciones que debemos tener en cuenta antes de poder efectuar una predicción, es la calidad de los datos históricos que se utilizarán para la selección y entrenamiento de los algoritmos. Sin datos de calidad el resultado será malo resultando simplemente en un desperdicio de tiempo y recursos.

La preparación de datos es una parte fundamental pero también puede resultar compleja para un usuario de negocios no familiarizado con herramientas y algoritmos de machine learning.

  • Separar en Segmentos
  • Detectar anomalías (outliers) en las series de tiempo
  • Suavizar los datos
  • Extrapolar/Interpolar valores en donde estos no existan en la fuente 

Todo lo anterior puede resultar complejo, sobre todo si se hace sin las herramientas adecuadas, pero aquí es donde hace su aparición el asistente de Jedox AIssisted Planning.


Separar en Segmentos


Cuando vemos las ventas mensuales de todos nuestros clientes, a un nivel agregado las series tienden a verse regulares pero no será lo mismo cuando ahondamos en los niveles jerárquicos de los datos según su clasificación.



Si deseamos analizar las ventas de nuestros clientes, será útil segmentarlos por la cantidad de observaciones disponibles (6, 12, 24, 36, más), frecuencia de compra (todos los meses, algunos meses, esporádicamente), volumen de compra. Por ejemplo no tiene sentido, ni para la preparación como para la predicción, agrupar a clientes que solo tienen 6 meses de compras junto a los que tienen 36 meses. También es conveniente eliminar a todos los que tengan pocas o ninguna observación (en este caso venta mensual).

El asistente de Jedox solicita tener al menos 36 meses (observaciones) para producir un pronóstico confiable.

En la etapa de preparación de los datos, la segmentación es útil para detectar de mejor forma las anomalías, discriminar cuándo un valor es realmente anómalo, por que escapa a la tendencia o cuando un valor efectivamente debe ser cero. Esa venta extraordinaria en un mes del año, ¿se repite todos los años o es una excepción? ¿Cómo trataremos los datos de clientes que no compran todos los meses vs los que exhiben un comportamiento regular? ¿Debe interpolarse un valor o permanecer en cero? 

Una buena segmentación posteriormente nos servirá tanto para una mejor detección de anomalías como para seleccionar el mejor algoritmo predictivo para un determinado grupo de clientes.


Data Preparation Wizard de Jedox AIssisted Planning


Para facilitar el trabajo al usuario de negocios, Wizard de AIssisted Planning de Jedox agrega automáticamente los escenarios “Outlier”, “Interpolation”, “Extrapolation” y “Prediction” al cubo de datos seleccionado por el usuario. Los resultados son almacenados transparentemente para el usuario en los distintos escenarios sin necesidad de que el usuario se preocupe de exportar e importar datos. Un beneficio adicional es que Jedox permite que se entreguen datos a nivel agregado y que los resultados se distribuyan hacia los niveles inferiores ponderando los valores históricos de ventas por ejemplo para una categoría de clientes en los casos en que no se desea procesar cliente a cliente los datos.



Así si se selecciona “OnlyNodes” se está indicando que queremos proyectar la serie de datos agregados. Si seleccionamos “onlyBases” le estamos indicando que queremos que lo haga para todo los elementos base de la jerarquía. En el ejemplo si la dimensión “Customer” tiene mil elementos, el asistente hará la preparación para cada uno de los mil clientes.


Detección de Outliers e Interpolaciones


Como mencioné anteriormente, para obtener una buena predicción es indispensable tener datos históricos de buena calidad. También es necesario decidir si algunos valores faltantes deben ser reemplazados o “suavizados” para que no alteren la predicción.




En el cuadro anterior se aprecian peaks en las ventas que podrían ser excepciones y no necesariamente obedecen a un comportamiento habitual de compras del cliente.

Para detectar esos outliers y obtener sugerencias de reemplazo del dato, Jedox AIssisted Planning nos provee un asistente de preparación de datos con varios algoritmos de detección, el cual además nos permite generar los valores a ser interpolados o extrapolados en caso de ser necesario.



El asistente nos muestra gráficamente los datos fuente en el escenario “Actual” y nos permite reemplazar los valores utilizando los que están en la columna “Outlier” o “Interpolation”. Como mencioné en el artículo anterior aquí es donde el conocimiento del negocio por parte del usuario cobra importancia. La ausencia de ventas puede deberse a que falta el dato o a que realmente no se vendió y si no se vendió esto quizás fue una excepción en este cliente.



Ya obtenidos los “outliers” e interpolaciones podemos decidir si reemplazamos los valores de nuestro escenario “Actual Adj.” por las sugerencias del wizard.

Una vez preparados los datos ya estamos listos para realizar nuestro pronóstico pero eso es tema de un siguiente post.