Usamos cookies. Tienes opciones. Las cookies nos ayudan a mantener el sitio funcionando sin problemas e informar sobre nuestra publicidad, pero si deseas realizar ajustes, puedes visitar nuestro Aviso de cookies para más información.
Uso de cookies en su dispositivo. Las cookies nos ayudan a mantener esta página web funcionando correctamente y a personalizar nuestra publicidad, pero el uso que hacemos de las cookies depende de usted. Acepte nuestra configuración o personalícela.
×

Modelos de series temporales aplicados a datos de Google Analytics

A menudo los data scientists utilizamos modelos complejos que requieren arquitecturas sofisticadas para llevar a cabo nuestro trabajo, como en los casos en los que utilizamos modelos de clasificación o regresión. Sin embargo, no es tan frecuente el aprovechamiento del histórico de datos, tomando en consideración que el pasado tiene relación de alguna manera con el futuro. En este caso estamos hablando de modelos de series temporales.

Los modelos de series temporales pueden ser útiles para casos en los que se disponga de un histórico de datos amplio y la disponibilidad otras variables sea limitada. Como ejemplos tenemos los siguientes:

  • Suavizado exponencial (ETS)
  • ARIMA
  • GARCH
  • Redes neuronales

De estos modelos, los más conocidos son los modelos ARIMA (Box-Jenkins, 1976), compuestos por 3 componentes (autoregresivo, integrado y media móvil) que tendrán un orden determinado en función de los 3 parámetros correspondientes (p,d,q). Este método será más fiable cuanto menor sea su coeficiente AICc; por eso siempre se debe comparar entre los modelos creados y elegir el adecuado.

Dentro de BigQuery es posible utilizar de manera muy sencilla este tipo de modelos ARIMA sin tener que realizar ensayos prueba-error, puesto que usando BigQuery Machine Learning (BigQuery ML) podemos conseguir de manera automática el mejor modelo de entre 42 posibles.

Para ejemplificar cómo podemos sacar partido a estos modelos en el campo del marketing digital vamos a utilizar los datos de merchandising de Google, disponibles en el proyecto libre ‘bigquery-public-data’ para predecir las visitas totales por sistema operativo. No en vano, las visitas pueden ser un buen indicador del upper funnel de cualquier proceso de contratación, y es conveniente tener una monitorización de las mismas, pudiendo ser esto útil para desplegar un sistema de alarmas, analizar tendencias o prever picos de demanda.

A continuación, se muestra cómo se podría conseguir crear un modelo de series temporales con un simple código en BigQuery ML.

ARIMA-1

El modelo ARIMA solo necesita unas pocas líneas de código en BigQuery donde se le indique, para cada día, los datos, la fecha y, si aplica, una columna identificadora de los datos. Además, podría utilizarse la opción HOLIDAY_REGIONS, para detectar cambios estacionales por países cuando se dispone de, al menos, un año de histórico de datos, pero en este caso nos encontramos con una especie de caja negra, por lo que no recomiendo su uso.

El siguiente paso es la evaluación del modelo. En este caso tenemos un ARIMA (0,1,1) para la serie de Android y un ARIMA (1,1,1) para la de iOS. Otra opción es utilizar la siguiente consulta:

ARIMA-2

Finalmente, podemos realizar predicciones con la siguiente consulta, donde indicamos el periodo que queremos predecir desde la última fecha (horizon) y el intervalo de confianza (confidence_level).

ARIMA-3

Realizar una predicción resulta una tarea sencilla con este método, pues solo requiere de un histórico consolidado y amplio (no es imprescindible Big Data, pero sí recomendable) y unas pocas queries. Además, no debes preocuparte de la existencia de datos faltantes en el histórico, puesto que BigQuery inferirá el valor en función del resto.

Una vez que el modelo funcione, podríamos desplegarlo para automatizar el proceso y monitorizarlo en Data Studio, Power BI, Tableau o Qlik mediante la conexión con BigQuery. Debemos tener en cuenta que el performance de estos modelos decae cuanto más lejana sea la predicción, por lo que no se recomienda predecir de más de 15 periodos.

ARIMA-4

Los modelos de series temporales son una realidad muy fácilmente aplicable dentro de Google Cloud Platform para cualquiera que esté familiarizado con el lenguaje SQL gracias a BigQuery Machine Learning. Sin embargo, si buscamos algo más sofisticado, como crear modelos SARIMA (ARIMA con estacionalidad) u otro tipo de modelos de los expuestos al inicio o buscamos mayor flexibilidad para elegir los parámetros de un ARIMA, debemos acudir a AI platform y desplegar un Jupyter Lab donde poder trabajar con R o Python y sus librerías enfocadas a este tipo de análisis.

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

*Fuente imagen destacada: Unsplash

Unirse al debate
En nuestra compañía