lunes, 15 de diciembre de 2014

Visualización con un heatmap en Excel para evolución ventas por rango horario a lo largo del tiempo

Basándome en el libro "Data Analysis using SQL and Excel" de Gordon S. Linoff mostramos un ejemplo que, a través de un mapa de calor en Excel, nos permite visualizar información de la tendencia de venta de cada spot en distintas franjas horarias durante los últimos 15 días.

En el capítulo 8 de libro de Gordon ("Customer Purchases and other repeated events") plantea una solución para ver la evolución de las compras de los clientes en la BBDD de ejemplo del libro.
(Los 3 primeros pantallazos que adjunto están sacados de este extraordinario libro.)


El eje de las Y recoge el amount (cantidad vendida en $), las X recogen el mes y el año de la venta. Realmente más que una recta de regresión se trata de una serie temporal. El caso es que sirve para ver la evolución (creciente o decreciente) de cada cliente a lo largo del tiempo y ver si esta incrementando su gasto o disminuyéndolo.






La solución que yo planteo se basa en la lógica que acabo de describir. Necesito obtener una medida que nos resuma la evolución de los resultados de los distintos pases que emitimos a distintas horas de un determinado spot.

Para ellos tomados los últimos 15 días y para cada spot en las distintas horas en las que se ha emitido medimos en número de ventas que ha tenido el producto asociado a ese spot. Y de esto obtengo el slope o pendiente de la recta de regresión que forman los días en el eje de la X y la rentabilidad de ese spot.

La query resultante tiene un aspecto parecido a lo que muestro a continuación:



El principio básico es el mismo que para la query anterior, pero genero un slope para cada programa y para cada hora del día (cogemos emisiones desde las 7 de la mañana hasta las 23 de la noche.

Todos estos valores me los llevo a PowerPivot:

que finalmente lo representamos mediante una tabla dinámica a la que formateamos mediante una escala de color:



Observamos que además del programa, se añaden dos niveles de agregación, Categoría y si se trataba o no de una acción de marketing, con lo que las posibilidades de segmentar basados en criterios de negocio se multiplican en función de las necesidades que surjan.

Conseguimos así, el objetivo de la llamada data visualization, citando a Des Traynor,  exempleado de google y socio cofundador de Intercom:

"The purpose of a data visualisation is to highlight what can’t be otherwise seen. 
[...] In some cases it’s more important that the viewer sees the comparison, not the data."

En una sola hoja de Excel podemos analizar la situación de los resultados de una parrilla de programación.

Saludos.