Se tiende a asociar Data Science con grandes proyectos de meses en empresas multinacionales.

Pero realmente si uno sabe cómo analizar datos, y sobre todo tiene mentalidad práctica se pueden conseguir buenoso resultados de forma muy rápida y con técnicas muy sencillas de Data Science.

Por ejemplo en este post te voy a explicar como con un análisis que me llevó menons de 30 minutos y 15 líneas de R conseguí acceder a una información que me permitío eliminar el 10% de mi inversión publicitaria que no estaba generando resultados.

John Wanamaker decía “el 50% de mi inversión en publicidad va directamente a la basura, el problema es que no sé qué 50% es”.

Pues ese es el problema que vamos a abordar en este post. No llegamos a localizar el 50%, pero te aseguro que ahorrar un 10% para una empresa pequeña se nota!

CASO DE NEGOCIO:

Para llegar a nuevos clientes para mi empresa utilizo entre otras cosas publicidad en redes sociales.

Hace un par de semanas terminé una campaña en Facebook con una inversion signiticativa, y antes de lanzar la siguiente he analizado dónde y cuando convierte mejor, etc.

El tema es que Facebook tiene un report para desglosar por ejemplo los datos por horas. Pero sinceramente no me termina de convencer, porque no me cuadra 100%.

Por ejemplo en las horas que dice que no funciona, yo sí noto entrada de leads (clientes potenciales) ya que lo puedo monitorizar en tiempo real.

Entonces pensé, que si pudiera acceder a otra fuente, como mi gestor de emails, que guarda exactamente la hora de entrada del lead, y analizar esa info podría tener un dato mucho más fiable.

Esta es la pinta que tienen los datos. Extraer lo que queremos no será directo, es info semi-estructurada.

PROCESO FUNCIONAL QUE VAMOS A SEGUIR

– Descargar los emails del gestor de correo: en mi caso uso Thunderbird y tiene una opción muy fácil para descargar en bloque todos los correos

– Cargar esos datos en R

– Ver en qué formato están las fechas y las horas (que es lo que queremos analizar)

– Crear un patrón que localice y extraiga esas fechas-horas

– Agregar el número de leads por hora

– Ver si existen franjas horarias en las que la captación no sea buena, pero sin embargo estén consumiendo presupuesto

VAMOS A R!:

Este es el script que creé en R, y que vamos a ir repasando paso a paso:

1 – Vamos a usar los siguientes paquetes:

– tidyverse para procesamiento de datos

– ggplot2 para representar gráficamente

– rebus para usar expresiones regulares de forma más fácil

2- Simplemente cargamos los datos, los examinamos y le ponemos nombre a la variable que contiene todos los datos

3- Y aquí viene la parte divertida, cómo accedemos a los datos que nos interesan y los extraemos entre el total de info semi-estructurada:

La clave está en usar expresiones regulares. Para el que no sepa qué es esto, es una forma de crear “patrones” que son buscados entre todos los datos.

Por ejemplo en nuestro caso queremos sacar la fecha y la hora.

Por tanto el patrón de la fecha podría ser: localiza cualquier número seguido de un guión, seguido de otro número, seguido de otro guión y seguido de otro número.

Y con la hora lo mismo pero cambiando el guión por los dos puntos.

(por supuesto esto depende de cada caso que estés haciendo)

El problema es que la sintaxis de las expresiones regulares es complicada y difícil de aprender.

Pero aquí es donde entra Rebus, un paquete de R que nos va a poner las cosas mucho más fáciles, ya que nos permite crear esos patrones casi en inglés coloquial.

Por ej puedes ver que el patrón de fecha lo definimos como one_or_more(DGT)%R%’-‘%R% etc

Los más complejo es saber que %R% se lee como “y después”.

Así que le estamos diciendo a R que localice “uno o más dígitos y después un guión y después …”

Y este es el resultado:

Como ves en la imagen el patrón funciona, porque está localizando sólo las fechas, entre el total de info contenida en los emails.

Luego la función str_extract simplemente extrae ese patrón y listo.

Por último simplemente agregamos el número de leads por hora y hacemos un gráfico muy simple.

Pero que nos da la info que queríamos: las horas en las que estamos invirtiendo dinero pero no obtenemos buen retorno.

CONCLUSIÓN

Tras esto simplemente comprobé qué % de mi gasto publicitario se hacía en esas horas (entre la 1 y las 7 de la mañana), y era aprox un 10%

Por supuesto voy a programar la próxima campaña para que no haya inversión en ellas, y esa inversión se dedique a horas más productivas.

El análisis es muy sencillo, pero la moraleja es que muchas veces tenemos mucha info, que podemos explotar de una forma relativamente sencilla, y que, sin necesidad de hacer arcos de iglesia nos puede ayudar a mejorar nuestros resultados.

Espero que el caso te haya gustado, y que puedas pensar qué tipo de aplicación puedes darle en tu empresa o proyecto!