Analítica web
Reflexiones sobre madurez digital, datos y tecnología

Torturando los datos: capítulo I

Se lee en 4 minutos

La analítica digital incluye entre su alcance, la aplicación de métodos estadísticos a los datos que recabamos. Eso nos ayuda a entender y obtener conclusiones mucho más ricas y valiosas que si nos limitásemos a la simple observación de informes.

Algunas herramientas de medición nos permiten hacer estos análisis mediante cruce y relación de variables, pero en muchos casos (la mayoría) acabamos teniendo que exportar estos datos a programas que nos ofrecen métodos y funciones estadísticas de las que las herramientas de analítica digital carecen.Para el análisis que os presento hemos hecho uso del histograma y me remito a la Wikipedia donde se explica meridianamente lo que es:

Def. Representación gráfica de una variable en forma de barras, donde la superficie de cada barra es proporcional a la frecuencia de los valores representados.

Los histogramas nos muestran la distribución y densidad de una serie de datos, donde las barras más altas identifican los valores más comunes en la muestra. Aquellas gráficas donde los datos se agrupan alrededor de un valor central se dice que son simétricas, mientras que aquellas que tienen más datos a un lado que a otro del máximo se dice que están sesgadas,  presentando “sesgo a la derecha” cuando las barras más altas se posicionan al principio de la gráfica y “sesgo a la izquierda” cuando las barras más grandes aparecen a la derecha de la gráfica.

Sesgos Histograma

Son importantes estas tres definiciones ya que nos permitirán ,una vez sepamos de que tipo es el histograma, poder identificar y ver anomalías en los sesgos,  esto se representa por barras aisladas en la tendencia de sesgo que destacan sobre otras. La nomenclatura sería en este caso unimodal cuando destaca un pico, bimodal cuando destacan dos picos y multimodal cuando la gráfica presenta varios picos en su distribución.

El histograma demuestra su utilidad cuando se estudia una variable continua, como puede ser  el tiempo en el sitio y veremos con un ejemplo como el histograma nos puede ayudar a llegar al detalle y trabajar a la vez con grandes series de datos de una manera muy sencilla.

Visualizando el tiempo en el sitio con y sin histograma

Estamos acostumbrados a ver el típico informe de rangos de tiempo como dimensión y la métrica visitas, representados gráficamente con la perseguida y denostada gráfica de tipo tarta, os aconsejo leer más sobre la maldad intrínseca de esta gráfica. Aquí un ejemplo :

Gráfico de Tarta

Por más que miro esa tarta y le doy vueltas me dice muy poco, ¿a vosotros?, vayamos a la tabla, si nos fijamos en los datos de la tabla nos encontramos con lo siguiente:

Time Spent

Ya en un primer vistazo, vemos que las agrupaciones de tiempos en las dimensiones son bastante amplias y si lo visualizamos en un gráfico de barras veremos que toda la información queda escondida en tres barras que agrupan el 79% de las visitas (referidas a los usuarios que permanecen en el portal entre 0 y 30 minutos) , mientras que otras tres barras describen el 1,7% de los casos (rangos extremos de 1 a 10 o más horas) .

diagrama de barras

Queremos aprovechar todo el potencial del histograma y para eso debemos obtener un dato granular, que obtendremos exportando por cada visitante y por el tiempo que ha invertido en el sitio. Abróchense los cinturones, nos enfrentamos al manejo de grandes cantidades de datos, pero lo haremos de manera legible.

En el periodo de un mes pueden ser en torno a millones de líneas (1 por cada usuario) y necesitaremos una herramienta/lenguaje que permita crear gráficas y manejar dicha cantidad de datos (hoja de cálculo, Phyton, R, etc). Yo lo haré en una hoja de cálculo con el complemento de herramientas para análisis de datos activadas ya que seguro que todos tenéis acceso a Excel u OpenOfice/LibreOficce y trabajaré sobre un dato menor de un mes, en total son unas 10 mil líneas.

Tomando como partida un set de datos con el formato que os muestro (solamente se muestran los 8 primeros valores),

visitor_id_sec

Realizando agrupaciones de 10 segundos / 8e , el histograma generado sería el siguiente:

histograma tiempo

El eje x muestra los segundos en rangos de 10 en 10, el eje y izquierdo muestra el número de usuarios y el eje y derecho el porcentaje para el acumulado de visitantes.

Podemos decir que es sesgado a la derecha y bimodal ya que presenta un máximo en torno a los 140 segundos y un pico secundario en torno a los 1180 segundos. El 80% de los visitantes están por debajo de los 1240 segundos (20 minutos), el dato que tenemos ahora es más concreto del que veíamos en un principio.

Detalle a tener en cuenta es el pico que se ve en torno a los 1180 segundos y que merece que demos unos pasos atrás en el análisis, obtengamos el identificador de usuario de estos visitantes y volvamos con ellos a la herramienta de analítica para intentar descubrir quiénes son y por qué se ha generado ese pico. Podría tratarse de algún problema en la medición o algún comportamiento del que no teníamos constancia.

Lo que debemos tener muy en cuenta al usar el histograma es que ni mucho menos será la herramienta que responda de manera clara y concisa a nuestras preguntas sobre el tiempo en el sitio pero lo que sí hará será ayudarnos a entender mejor cómo son los datos con los que trabajamos y como están estructurados. Será el primer paso en el análisis sobre el tiempo que invierten nuestros visitantes en el sitio web.

Espero que una vez llegados a este punto, los que no conocíais el histograma hayáis obtenido una herramienta más en vuestro día a día como analistas de datos y los que ya los conocíais os invito a participar y compartir sobre qué uso le dais.

En el siguiente capítulo os explicaré como podemos valernos de herramientas que nos permitan depurar los datos para afinar y obtener uno de mayor calidad, pudiendo eliminar los rangos de tiempos extremos, detectarlos, aislarlos y analizarlos por separado.

Nota del autor: Ningún dato sufrió daño durante la elaboración de este artículo.

2 Comentarios

    • Paulino González Responder

      Hola!,

      Lo comentaba justamente con un compañero que estaría bien hablar de las dependencias relación al Testing y como afecta (y todo lo que algunas herramientas se saltan por alto al hacer la evaluación de resultados!), sería un buen ejemplo.

      Sobre análisis predictivo, si te soy sincero, no soy muy amigo de aplicarlo por diversas razones (salvando excepciones) que darían para otro post o unos cuantos :). Sobre esto he estado viendo lo que ofrece Adobe y que ellos llaman “Anomaly Detection” y aunque básico es un buen punto de partida, es fácil de comprender y te lo dan “hecho”, además he leído y probado, que a través de la API puedes exportar los datos y a parte de mostrar lo que ya te muestra la herramienta te permite trabajar sobre el set de datos como quieras, ahí es donde le sacas el verdadero partido.

      Si quieres investigar por tu cuenta, te recomiendo este post que te introduce en esto que te comento http://randyzwitch.com/anomaly-detection-adobe-analytics-api/ y es un buen punto de acercamiento tanto a la API de adobe como a importar datos de Sitecatalyst en R (con otras otras herramientas será muy similar por lo que puedes aplicar el mismo método si no usas la herramienta de Adobe o R).

      ¿En tu día a día usas algo de esto en tus análisis?

      Pau

Escribe tu comentario

quince + diecinueve =

Navegar