La cantidad y variedad de datos que podemos obtener hoy en día es cada vez mayor. Esos datos, limpios y organizados, pueden ayudarnos a mejorar nuestras acciones o nuestra imagen, a conocer mejor nuestro público y la competencia o incluso a reducir costes. No obstante, hay cientos de métricas, de las que cada plataforma en la que tiene presencia nuestra empresa tiene sus propias definiciones, si es que coinciden en las mismas. Por no hablar de que cada plataforma ofrece sus datos en distintos formatos. Recopilar y utilizar todos estos datos en bruto no solo requiere muchísimo tiempo, y por tanto dinero, sino que probablemente compararlos entre sí sin tratarlos antes dé lugar a equívocos al ser diferentes las unidades de medida. Por ello, se hace necesario el uso la implantación del Big Data en nuestra empresa, pero antes de eso debemos realizar otras acciones.

Define tus objetivos y qué datos son relevantes para tu empresa

Antes de ponerte a tratar todos los datos, tienes que definir cuáles son relevantes para los objetivos de tu empresa. Tus KPI’s  y los datos que necesitas (además de los que tienes) no serán los mismos si quieres implantar una marca nueva que si ya lleva años consolidada y posicionada, ni serán iguales si buscas vender un producto o solo incrementar tu notoriedad. Por ello, el primer paso es saber qué es lo que quieres y qué métricas son relevantes en el camino para alcanzar esa meta.

Descubre los datos de los que dispones y aquellos que te faltan

Una vez que has decidido qué es lo que quieres y qué datos necesitas, debes preguntarte cuáles tienes (teniendo en cuenta todas las plataformas en las que estás presente y otras fuentes a las que puedas acceder de forma más o menos fácil). Además, por supuesto, debes saber cuáles no están a tu disposición y, de esos, cuáles puedes conseguir y cómo hacerlo al menor coste (comprándolos, desarrollando una API propia…).

Utiliza el Big Data para limpiar, organizar y sacar conclusiones de esos datos

Una vez tenemos los datos, debemos proceder a limpiarlos, organizarlos y realizar visualizaciones para sacar conclusiones que nos ayuden a cumplir nuestros objetivos. Esto no es fácil, por supuesto, ya que se necesita dominar una serie de herramientas y programas en continuo desarrollo pero ¡no temas! En nuestro máster de Big Data & Analytics aprenderás a desarrollar todas las tecnologías necesarias para hacer de tus datos información útil que te ayude a cumplir tus objetivos.

MÁSTER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

Tras ver qué podemos hacer conectando twitter y R y cómo hacerlo, además de algunas de las funciones más importantes, y cómo segmentamos seguidores, toca mostrar algunas de las funciones que nos permiten analizar publicaciones y hashtags.

ANÁLISIS DE PALABRAS MÁS REPETIDAS JUNTO A UN HASHTAG

Ver qué palabras tienen asociadas ciertos hashtags relevantes nos permiten no solo encontrar más hashtags para añadir a nuestra publicación, sino a detectar nuevas temáticas relacionadas y afinar las palabras que usamos en nuestras publicaciones. Lo primero que debemos hacer es instalar y llamar todas las librerías que vimos anteriormente, conectar con la API de twitter, usar la función para sacar la información del hashtag que nos interesa y convertirlo en un dataframe. Luego, lo convertimos en un string y hacemos todas las operaciones que mencioné en el artículo anterior para limpiar el texto al máximo y sacar una tabla de frecuencias con las palabras más repetidas ordenadas. Todas las instrucciones para hacer esto están en los artículos anteriores, por eso pasamos rápido por este punto.

QUÉ USUARIOS SON LOS QUE MÁS USAN ESE HASHTAG

Detectar los usuarios más activos en un tema nos ayuda no solo a detectar seguidores potenciales, sino también a influencers en el tema y a personas que pueden generar contenidos que nos interesa compartir con nuestra audiencia. Hacerlo es muy sencillo: sobre el dataframe que creamos inicialmente para sacar las publicaciones de un determinado hashtag, hacemos lo siguiente:

#qué usuarios son los que más han empleado el hashtag:
#eliminamos los retweet y nos quedamos sólo con los nombres de los usuarios que han escrito el tweet
usuarios <-subset(dataframehashtag,isRetweet==FALSE)$screenName
#Opción 1: los tabulamos y ordenamos.
usuarios<-sort(table(usuarios),decreasing=T)
#Opción 2: ver directamente los x iniciales
usuarios[1:x]

QUÉ CONTENIDOS DE UN HASHTAG SON MÁS POPULARES

En twitter, la medida de popularidad de una publicación está en la interacción que tiene (respuestas, favoritos y retweets, en especial estos dos últimos) así que sacar las publicaciones más populares de un hashtag es tan sencillo como crear un filtro en el dataframe para sacar las publicaciones en las que haya al menos x interacciones

#contenido más retuiteado
#retuiteado + fav
contenido_popular<-filter(dataframehashtag, dataframehashtag[["favoriteCount"]]>x, dataframehashtag[["retweetCount"]]>x)
#solo retuiteado
contenido_popular2<-filter(dataframehashtag, dataframehashtag[["retweetCount"]]>x)

Hay que tener presente que, según el sector, a veces la gente no hace retweet pero sí fav, o al revés, o no hace ninguna de las dos pero sí responde a las publicaciones. También, según el tipo de hashtag, x deberá ser mayor o menor. Así pues, es tan fácil como ajustar el código a las circunstancias. Luego, sobre eso, podemos hacer un nuevo filtro para sacar las palabras más populares del contenido más popular, lo que nos indicará qué no debe faltar en nuestras publicaciones para tener potencial de éxito.

ANÁLISIS DE SENTIMIENTOS DE UN HASHTAG

El análisis de sentimientos nos permite monitorizar opiniones sobre determinados temas, saber hasta qué punto en un sector se utilizan un tipo de mensajes u otros (aprovechando miedos de los consumidores para vender determinados productos frente a ventas atrayendo a los seguidores con los beneficios, por ejemplo)... Para hacerlo, además de las anteriores, necesitamos instalar y ejecutar las librerías SnowballC, tm y syuzhet. Con ellas hay que tener un poco de paciencia, a veces fallan y hay que ejecutarlas varias veces, aunque suelen funcionar de forma correcta. Hecho esto, creamos un dataframe con los datos del hashtag que nos interesa y, quedándonos solo con la columna text, eliminamos hashtags, @, url y toda la información que no es relevante para el análisis mediante la función gsub, que mostré en el artículo anterior. Luego comenzamos a trabajar con definiciones de sentimientos. Por ejemplo, podemos crear una tabla en la que nos muestre si las publicaciones contienen palabras asociadas a los sentimientos principales y cuántas hay.

#Insertando palabras de definición de sentimientos
word.df <- as.vector(dataframehashtag)
emotion.df <- get_nrc_sentiment(word.df)
emotion.df2 <- cbind(bigdata.df2, emotion.df)

Saldrá algo parecido a esto:

análisis datos twitter

También podemos sacar publicaciones donde predomine un sentimiento mediante este código:

#extrayendo puntuación de sentimientos
sent.value <- get_sentiment(word.df)
#más positivos (si queremos los más negativos, cambiamos max por min
most.positive <- word.df[sent.value == max(sent.value)]
#simplemente positivos (si queremos negativos o neutros, poner < o == respectivamente)
positive.tweets <- word.df[sent.value > 0]
#tabla resumen
category_senti <- ifelse(sent.value < 0, "Negative", ifelse(sent.value > 0, "Positive", "Neutral"))
table(category_senti)

Y este es el resumen del código utilizado en la charla de Analizando datos de twitter con R, impartida por Déborah Fernández el pasado día 27. Si queréis ver la charla completa con explicaciones más detalladas y ejecución de parte del código en directo, podéis visitar nuestro canal de youtube.

¿QUIERES APLICAR TODO ESTE CONOCIMIENTO? COMIENZA A A PROGRAMAR EN R

En nuestro curso de Análisis de datos con R aprenderás de forma rápida a utilizar este lenguaje.

Ya hemos hablado en otra entrada de qué es R y de su potencial. Hoy, nos centraremos en cómo puede esta herramienta ayudarnos a sacar el máximo partido de nuestros datos de twitter. Cada vez hay más librerías relacionadas con twitter que podemos utilizar para extraer y analizar estos datos, pero para este caso utilizaremos Twitter. ANÁLISIS DE DATOS DE TWITTER CON R

DATOS DE LOS TEXTOS GENERADOS

Cada tweet creado nos da mucha información relevante: desde su origen en según qué plataformas hasta cuántas interacciones posee, aparte del propio texto. En esta imagen, podemos ver qué información nos dan algunos de los tweets de datahack. ANÁLISIS DE DATOS DE TWITTER CON R

datos que podemos sacar de un tweet para análisis

DATOS DE LOS USUARIOS

Entre los datos más relevantes de cada usuario, podemos sacar desde su propia autodescripción, su nivel de influencia (seguidores-seguidos), cómo de activo es, procedencia… En esta imagen podemos ver la información de nuestro usuario @datahack_

datos que podemos sacar de un usuario para análisis

ANÁLISIS RELEVANTES

Con todo lo recogido, podemos sacar información bastante útil para optimizar nuestro posicionamiento y el tipo de mensajes que mandamos en las redes sociales y podemos realizar:

CÓMO EMPEZAR EL ANÁLISIS DE DATOS DE TWITTER CON R

Para conectar twitter con el programa en el que estemos ejecutando el lenguaje R, lo primero que necesitamos es una cuenta en la API de twitter. Una vez que la tengamos, podremos conectarnos gracias a las claves que nos proporcione.

La API de twitter tiene algunas limitaciones, como un número máximo de tweets recuperados por consulta y una limitación de tiempo mínimo entre consulta y consulta. Si nos pasamos podemos ser bloqueados, así que tenemos que tener cuidado y poner siempre un tamaño de muestra inferior a 200, sin hacer varias consultas en la misma ejecución. Si necesitamos muestras más grandes, podemos hacer varias consultas periódicamente en las que vayamos descargando datos (son en orden cronológico) y uniéndolos, por ejemplo. ANÁLISIS DE DATOS DE TWITTER CON R

En cualquier caso, lo más interesante del análisis de datos en twitter es la inmediatez, para ver las tendencias de cada momento, ya que los hashtags populares y las palabras asociadas a los mismos, por ejemplo, pueden cambiar de un día para otro, por lo que con una muestra de 100 es más que suficiente.

Conectaremos la API de twitter con R mediante el siguiente código:

# Cargar las credenciales
consumer_key <- "xxx"
consumer_secret <-"xxx"
access_token <-"xxx"
access_secret <-"xxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token=access_token, access_secret=access_secret)

FUNCIONES BÁSICAS

Una vez hecho esto, podemos ponernos a trabajar. Algunas de las funciones más básicas que debemos aprender son las llamadas para recuperar información y cómo convertirlas en dataframes   con los que trabajar. No olvidemos que, para trabajar con los datos de twitter, tendremos que instalar y llamar las librerías twitteR, base64enc y tidyverse

SACAR TODA LA INFORMACIÓN DEL TIMELINE Y CARACTERÍSTICAS DE UN USUARIO

#sacar tweets de un usuario:
usuario<- userTimeline('usuario',n=100)

Para conseguir solo algunos de los datos más importantes, como seguidores y seguidos, podemos usar este código (sin olvidar convertirlo después en un dataframe):

#Sacar información de un usuario:
usuario<- getUser('usuario')
#conseguir sus seguidores
usuario_seguidores <- usuario$getFollowers(retryOnRateLimit=120)
#conseguir sus seguidos
usuario_seguidores <- usuario$getFriends(retryOnRateLimit=120)

SACAR TODA LA INFORMACIÓN DE UN HASHTAG

#buscamos el hashtag, limitamos la búsqueda a 100 tweets desde el 01 de junio de 2018.
hashtag<-searchTwitter("#hashtag", n=100, since='2018-06-01')

HACER LOS DATAFRAMES

No hay que olvidar que toda esta información que saquemos, para trabajar con ella, hay que convertirla en un dataframe con la función do.call o twListToDF. Esta es la estructura de ambas:

do.call("rbind", lapply(xxx, as.data.frame))
twListToDF(xxx)

ANÁLISIS DE DATOS DE TWITTER CON R. Una vez que tenemos todo esto, podemos comenzar a trabajar en el análisis de toda esa información, que es lo que mostraremos en los próximos artículos:

¿QUIERES APLICAR TODO ESTE CONOCIMIENTO? COMIENZA A A PROGRAMAR EN R

En nuestro curso de Análisis de datos con R aprenderás de forma rápida a utilizar este lenguaje.

 

No cabe duda de que el mundo de la analítica avanzada de datos requiere de técnicas complejas, donde se puede tardar bastante tiempo en llegar a conclusiones interesantes para el negocio. A veces se olvida que las herramientas informáticas, así como la estadística, son un medio de obtener valor, y no un fin en sí mismas. El valor para el negocio se obtiene cuando, a partir de conclusiones basadas en datos, se toman decisiones consecuentes.  Normalmente también hay que trazar un plan de acción (cambios a introducir) para llevarlas a cabo y, posteriormente, medir si se obtiene el valor esperado. Cuando hablamos de valor, habitualmente nos referimos a un concepto que se puede expresar en cifras económicas. No obstante es extensible a otro tipo de valor, como el aumento de la esperanza de vida o la reducción de la delincuencia.

Una de las claves para obtener valor medible es partir de las preguntas adecuadas, y dedicar un cierto tiempo a formularlas y reflexionar, antes de ponerse manos a la obra con la implementación. En este artículo presento ciertas características de dichas preguntas, para que se pueda completar todo el ciclo de retorno del valor, y ejemplos pensando en contextos de actividad comercial.

Preguntas que debemos hacernos para obtener valor y sus características:

¿Son relevantes para cierta audiencia?

Debemos estudiar si las preguntas están orientadas a unos destinatarios determinados. También quiénes tienen potestad para tomar decisiones y esponsorizar los cambios posteriores. No es lo mismo orientarse a los inversores de una startup, al equipo de ventas, o al de tecnología. Por ejemplo, un responsable de ventas puede estar interesado en esta pregunta: ¿Cómo afectará a nuestras ventas el aumento de un 5% de precios de unos determinados productos? Mientras, el inversor quiere saber: ¿Cuál es el retorno de la inversión previsto si el ciclo económico sigue expansivo?

¿Para qué preguntas actualmente no hay respuesta establecida?

Esto resulta muy claro en los estudios científicos. Si nos preguntamos por la correlación entre los niveles de CO2 en la atmósfera y la incidencia de ciertas enfermedades respiratorias, vamos a poder encontrar muchos estudios rigurosos con evidencias al respecto. Y si es necesario podemos seguir profundizando sin partir de cero, por ejemplo, restringir el estudio a una ciudad específica donde todavía no haya estadísticas fiables.

Llevado al mundo de los negocios, una pregunta del tipo "¿Cuáles son nuestros 10 mejor clientes?" seguramente es una lista que alguien ya ha elaborado en el pasado. Se trata de saber bajo qué hipótesis se realizó, e incluso si existe ya un procedimiento automatizado para disponer de la información. Además, es una pregunta que quizás se pueda contestar sin recurrir  a técnicas analíticas avanzadas y, partiendo de ella, calcular el valor del ciclo de vida completo del cliente, que sí que requiere realizar estimaciones de futuro.

Nota: No saquemos la conclusión de que listar los 10 principales clientes es siempre algo sencillo. Poner de acuerdo a varios departamentos sobre qué se considera un mejor cliente, y de una manera medible para que sea automatizable, puede ser una tarea de semanas. Recopilar datos con la suficiente calidad para medirlo de manera efectiva también supondrá semanas o meses. E incluso un cálculo básico puede hacer conveniente el uso de Big Data, para ganar velocidad de proceso y alta disponibilidad. No se trata de no entregar información durante meses, podremos tener resultados antes. Pero que se admita cómo válida, corporativa  y estable requiere mucho esfuerzo y gestión.

¿Son preguntas plausibles?

Aquí se trata de entender cómo funciona el negocio. Por ejemplo, plantear hipótesis sobre relaciones causa-efecto que se puedan justificar. Por poner algún caso extremo, en internet se encuentran correlaciones absurdas, como los datos de importación de crudo noruego vs los accidentes de tren. En el fondo esto tiene que ver con poner el foco correcto en qué datos son relevantes a priori para tomar decisiones basadas en los mismos.

Aunque tiene sentido implementar un “data lake” en ciertos contextos, no debemos caer en el llamado “síndrome de Diógenes de los datos”. Si empezamos a hacer cálculos estadísticos al azar con todos los datos disponibles, acabaremos por encontrar correlaciones irrelevantes para el negocio. Recordemos aquí una máxima fundamental, correlación no implica causalidad. Por esto es importante que los perfiles científicos de datos tengan un cierto conocimiento del negocio, o bien trabajen de manera muy cercana con otros perfiles mixtos.

¿Qué preguntas pueden ser respondidas?

Esto parece una obviedad, pero lo cierto es que los proyectos tienen como mínimo restricciones de coste y tiempo. Una vez excedidos, lo normal es que se consideren fracasados. También es posible que no contemos con datos relevantes para responder esas preguntas, y que recopilarlos no sea factible.

De nuevo un caso extremo puede ser el buscar un método para viajar hacia atrás en el tiempo. Si bien es una pregunta interesante, y donde tengo entendido que las leyes de la relatividad podrían permitirlo, es algo que con casi total seguridad no se va a implementar a 50 años vista, empezando por la falta de materiales adecuados. Podría ser algo peor, y que al final se demuestre inviable. Volviendo a ejemplos más cotidianos, una pregunta del tipo "¿cuál es la probabilidad de fuga de cada uno de mis clientes a un mes vista?" no es algo que vayamos a responder en dos semanas contratando a un Científico de Datos y a un Ingeniero de Big Data, si es la primera vez que abordamos un proyecto de este tipo. Quizás podamos establecer una prueba de concepto ayudándonos de tecnologías en la nube, pero no esperemos una precisión récord.

¿Son preguntas concretas y específicas?:

Es muy diferente preguntar "¿Cómo es el sentimiento de cliente acerca de nuestra marca?" a preguntar "¿Qué porcentaje de opiniones de twitter son negativas respecto a nuestro nuevo modelo de producto?" Ambas preguntas son legítimas en el contexto de negocio. Pero, en el segundo caso, es algo que vamos a poder empezar a implementar antes, ya que acota mejor las tecnologías a utilizar y los datos relevantes. Es decir, hemos acotado el alcance. Y cabe esperar que en el segundo caso podamos tomar también decisiones más rápidas, en el supuesto de que haya excesivas opiniones negativas, detectando si las mismas se asocian a aspectos de precio, calidad, soporte, incluso si existen o no intereses particulares, etc.

¿Qué preguntas permiten respuestas accionables?

Imaginemos que nos interesa conocer los segmentos “clusters” de nuestros clientes, para dirigir una campaña comercial específica a algunos de ellos. Mediante aprendizaje no supervisado descubrimos que hay un segmento que principalmente nos compra cuando hay descuentos disponibles, y raramente lo hace a precios normales. Sin embargo, a la empresa no le es posible técnicamente enviar un cupón de descuento solo a estos clientes, porque no dispone de los correos electrónicos actualizados de los mismos, sino que publicita cupones de descuento mediante banners de publicidad en sitios de terceros.

Aunque el conocer los segmentos tiene interés, y quizás se puede intentar un envío parcial o que el banner se muestre solo en ciertas circunstancias, al final se pierde gran parte del valor potencial al no poder contactar con muchos de los clientes de manera directa. En esta ocasión queremos utilizar técnicas avanzadas pero todavía no hemos resuelto otros aspectos más básicos como disponer de datos de calidad.


 José Julio López, Business Intelligence, Data Science, IT Project Manager. SCRUM Master, PMP y exalumno del máster de Big Data & Analytics de datahack

Nota: Este artículo es de mi autoría original, si bien las propias características de las preguntas han sido obtenidas de un vídeo de la Universidad Johns Hopkins en Coursera.

MÁSTER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

chevron-down