Google Trends y R

Cómo acceder a Google Trends con R

R dispone de multitud de paquetes o bibliotecas que nos facilitan la consulta a distintas fuentes de datos web. En concreto, para poder consultar y analizar Google Trends existe el paquete gtrendsR.

En un artículo anterior hablábamos de la utilidad de la herramienta Google Trends en el momento de la investigación de las palabras clave. Hoy vamos a ver un modo de analizar rápidamente sus datos gracias al lenguaje de programación R, especializado en la manipulación y análisis estadístico de datos.

Está alojado en CRAN y su descarga y uso es gratuita. Instálalo en tu entorno de trabajo R y veamos cuales son su posibilidades.

install.packages("gtrendsR")

El paquete gtrendsR

gtrendsR nos permite consultar al API de Google Trends de forma sencilla y rápida mediante la función gtrends. Esta es una consulta tipo:

gtrends(keyword = NA, geo = "", time = "today+5-y", gprop = c("web", "news", "images", "froogle", "youtube"), category = 0, hl = "en-US", low_search_volume = FALSE)

Veamos ahora qué posibilidades nos da cada uno de los parámetros de la consulta:

  • keyword. Un vector de caracteres con las palabras clave que se quieren consultar en Google Trends. Por ejemplo:
    gtrends(c("españa", "portugal", "francia"))
    .
  • geo. Un vector de caracteres con los países o regiones geográficas que se quieren consultar. Estos códigos siguen el estándar ISO-3166-2. Por defecto tienen el valor all, para consultas globales. Por ejemplo
    gtrends("NHL", c("CA", "US"))
    consulta la tendencia de la palabra NHL en Canadá y Estados Unidos. IMPORTANTE: Hay que poner el código en mayúsculas.
    Una vez cargado el paquete podemos consultar el listado de regiones geográficas disponibles simplemente tecleando
    countries
  • time. Un cadena de caracteres que especifica el período temporal de consulta. Por defecto son los últimos cinco años. Estos son sus posibles valores:
    • “now 1-H”. Última hora.”now 4-H”. Últimas cuatro horas.”now 1-d”. Último día.”now 7-d”. Últimos siete días.”today 1-m”. Últimos 30 días.”today 3-m”. Últimos 90 días.”today 12-m”. Últimos 12 meses.”today+5-y”. Últimos cinco años (por defecto).”all”. Todo desde el comienzo de Google Trends (2004).”Y-m-d Y-m-d”. Rango temporal entre dos fechas (ej.: “2010-01-01 2010-04-03”)
  • gprop. Un cadena de texto definiendo el producto de Google para el cual se pide información. Las opciones válidas son: “web” (por defecto), “news”, “images”, “froogle” y “youtube”.
  • category. Un caracter indicando el identificador de categoría de búsqueda que queremos filtrat. Por defecto es 0 y significa que incluye Todas las categorías.  Hay más de 1400 categorías y pueden ser consultadas, una vez cargado el paquete gtrendsR con el comando:
    categories
    Si por ejemplo queremos filtrar la búsqueda por el ámbito de las motocicletas podemos especificar category=”273″.
  • hl. Una cadena de texto especificando el código ISO-639-1 y que puede ser seguido del código de país. Por defecto es hl=”en-US”. Para español es hl=”es”; para español de España: “es-ES”. Solo afecta a los resultados obtenidos en los temas o búsquedas relacionadas.
  • low_search_volume. Lógico. Se indica si se debe incluir o no en los resultados los de regiones de bajo volumen de búsquedas. Es muy útil ponerlo a true cuando estamos analizando palabras poco buscadas.
  • cookie_url, una cadena especificando la URL de la que obtener las cookies. No se debe usar por defecto. Solo para usuarios avanzados.

Ejemplos de búsqueda

Vamos aprobar varios ejemplos de búsqueda en gtrendsR.

  1. Búsqueda de la palabra “televisor 4K” en España durante el último año
gtrends(keyword="televisor 4K", geo="ES", time="today 12-m")

2. Buscamos ahora dos palabras: “smart TV” y “televisor 4K” en España y México en los últimos 30 días.

gtrends(keyword=c("televisor4K", "smart TV"), geo=c("ES","MX"), time="today 1-m")

3. Ahora vamos a ver la búsqueda “Celtas Cortos” en Youtube realizadas en España en los últimos 90 días.

gtrends(keyword="Celtas Cortos", geo="ES", gprop="youtube", time="today 3-m")

Los resultados de cada búsqueda

Una búsqueda sencilla en Google Trends con el paquete gtrendsR nos proporciona siete listas de datos que describimos a continuación a partir de la siguiente consulta:

tendencias = gtrends("Celtas Cortos", time="today 3-m")

Interés en el tiempo (interest_over_time). Este data frame nos proporciona datos temporales de una o varias palabras clave. Esta lista contiene los siguientes campos:

  • fecha (date), de clase Date, en formato yyyy-mm-dd.
  • interés (hits), de clase character, es el interés de la búsqueda, siendo 100 el momento de mayor interés y todos los demás valores relativos a él. Es decir, si en septiembre de 2010 hubo un interés 100 y en enero de 2011 un interés 50, quiere decir que el interés por esa búsqueda en enero de 2011 fue la mitad que en septiembre de 2010. IMPORTANTE: En ocasiones, para hits menores de 1 pero que no son 0 se devuelve la cadena “<1”. Habrá que tratarla convenientemente para poder usar este dato como número. Por ejemplo con un comando como este  a$interest_over_time$hits[a$interest_over_time$hits == “<1”] <- 0 lo convertimos en el caracter 0.
  • palabra clave (keyword), de clase character, la palabra clave que ha sido buscada
  • localización (geo), de clase character, puede ser world o un código de país.
  • gprop, de clase character, producto seleccionado. En consonancia con lo explicado anteriormente. Por defecto es web.
  • categoría (category). Identificador de clase integer que identifica la categoría de búsqueda. Por defecto siempre será 0.

El resultado de nuestra búsqueda es

 tendencias$interest_over_time
date		hits       keyword   geo gprop category
2018-07-01   17 Celtas Cortos 	world   web        0
2018-07-02   13 Celtas Cortos 	world   web        0
2018-07-03   15 Celtas Cortos 	world   web        0

Interés por país (interest_by_country). Esta lista no se creará siempre. Si especificamos uno o más países con la opción geo esta lista será NULL pues todos los datos ya aparecerán filtrados por dicho país. En nuestra consulta, como no hemos especificado un país, si obtenemos datos. Son:

  • location, el país en inglés.
  • hits
  • keyword
  • geo, el valor será siempre world.
  • gprop, por defecto web.

El resultado en nuestra búsqueda es:

 tendencias$interest_by_country
location 	hits       keyword   geo 	gprop
Andorra  	100 Celtas Cortos 	world   web
Spain   	87 Celtas Cortos 	world   web
Portugal	1 Celtas Cortos 	world   web
France		1 Celtas Cortos 	world   web

Interés por región (interest_by_region). Desglosa las búsquedas en las regiones de un país dado. Solo aparece si hemos especificado algún país en la búsqueda dentro del parámetro geo. En caso contrario será NULL. Los datos que proporciona son:

  • location, se trata de una región dentro de un país (geo). El nombre aparecerá en inglés.
  • hits
  • keyword
  • geo, el país al que pertenece la región
  • gprop, por defecto web.

En nuestra búsqueda no obtendremos datos así que vamos a hacer la misma pero especificando un país

tendencias = gtrends("Celtas Cortos", time="today 3-m", geo="ES")

Y el resultado es:

tendencias$interest_by_region
location 			hits       keyword 		geo 	gprop
Castile and Leon  	100 	Celtas Cortos  ES   web
La Rioja   			69 		Celtas Cortos  ES   web
Asturias   			64 		Celtas Cortos  ES   web
Aragon   			55 		Celtas Cortos  ES   web
Navarre   			52 		Celtas Cortos  ES   web

Interés por ciudad (interest_by_city). Desglosa las búsquedas en las ciudades de un país dado. Solo aparece si hemos especificado algún país en la búsqueda dentro del parámetro geo. que ademá  disponga de las ciudades catalogadas En caso contrario será NULL. Los datos que proporciona son:

  • location, el nombre de la ciudad
  • hits
  • keyword
  • geo, el país al que pertenece la ciudad.
  • gprop, por defecto web.

Interés por DMA (interest_by_dma). De forma similar, desglosa las búsquedas en subregiones o áreas metropolitanas. Para que dé un resultado debe de estar definidas en countries. No es el caso de España pero si cambiamos el país a Francia si obtenemos resultados. En caso contrario será NULL. Los datos que proporciona son:

  • location, el nombre de la ciudad
  • hits
  • keyword
  • geo, el país al que pertenece la ciudad.
  • gprop, por defecto web.
tendencias = gtrends("Celtas Cortos", time="today 3-m", geo="FR")
tendencias$interest_by_dma
                  location hits       keyword geo gprop
1          Ille-et-Vilaine   NA Celtas Cortos  FR   web
2                     Nord   NA Celtas Cortos  FR   web
3           Seine-et-Marne   NA Celtas Cortos  FR   web
4         Loire-Atlantique   NA Celtas Cortos  FR   web
5                    Paris   NA Celtas Cortos  FR   web

Temas relacionados (related_topics). Proporciona información sobre temas relacionados con la palabra clave. Realmente nos presenta dos tipos de resultados:

  • Top topics. Los temas más populares con un valor relativo de 100 a 0.
  • Rising topics, es decir, los temas que más están creciendo en interés. Algunos temas están marcados con la palabra Breakout, lo que indica que están creciendo de forma muy acelerada. Para el resto se indica un porcentaje de ascenso.

La información de la lista es:

  • related_topics, puede ser top o rising
  • subject, el valor de la tendencia según el tipo de dato. Si es top será un número. Si es rising o Breakout o un porcentaje.
  • value, una cadena de texto con el tema relacionado
  • geo, solo aparece sis e han especificado países en la búsqueda
  • keyword
  • category, por defecto a 0.

El resultado es nuestro caso:

tendencias$related_topics
subject related_topics                 value       keyword category
100            top             Celtas Cortos Celtas Cortos        0
27            top                     Celts Celtas Cortos        0
6            top                   Concert Celtas Cortos        0
2            top       La senda del tiempo Celtas Cortos        0
Breakout       rising              Barcelona Celtas Cortos        0
Breakout       rising                 Oviedo Celtas Cortos        0
Breakout       rising           Torrelodones Celtas Cortos        0
+350%         rising        Musical ensemble Celtas Cortos        0
+250%         rising                  Singer Celtas Cortos        0

Búsquedas relacionadas (related_queries). De forma similar al caso anterior muestra las búsquedas relacionadas.

  • subject
  • related_queries
  • value
  • geo
  • keyword
  • category
 tendencias$related_queries
subject   related_queries     value             keyword       category
100       top                 los celtas cortos Celtas Cortos        0
77        top         celtas cortos 20 de abril Celtas Cortos        0
Breakout  rising        celtas cortos barcelona Celtas Cortos        0
+150%     rising celtas cortos energia positiva Celtas Cortos        0

En un segundo artículo estudiaremos casos de uso y representaciones de interés de estos datos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.