Analytics Premium ComScore ClickTale Analytics Certified Partner Klipfolio Coremetrics
Tags populares:

Como empezar a usar R statistics

15/06/2016 a las 10:51

Muchos ya habréis notado, por anteriores posts, que nosotros estamos acostumbrados a usar R. Pero ello no hace que nos olvidemos de nuestros inicios y de la notable curva de aprendizaje que conlleva empezar a usar R de cero.

Pero si os encontráis en vuestros inicios con R no os preocupéis, la comunidad de usuarios/desarrolladores de packages de R ha pensado una buena ayuda para empezar a usar R haciendo más amena la primera toma de contacto con la herramienta, y nosotros estamos aquí para contároslo.

La solución que os queremos presentar hoy es el package/tutorial Swirl. Se trata de un package del mismo R que consta de un tutorial interactivo de dicha herramienta.

Para acceder al tutorial debemos:

  1. Tener R instalado y abrirlo.
  2. Instalar y cargar el package “Swilr” usando los siguientes comandos:
                          install.packages(“swirl”)
                          library(swirl)
  3. Llamar la función correspondiente para iniciar el tutorial:
                           swirl()

Llegados a este punto, ya habremos empezado.

img R swirl 1

A partir de aquí, las diferentes explicaciones y actividades nos irán apareciendo en la consola de R mediante texto en inglés. En cada bloque explicativo o ejercicio se esperará nuestra interacción mediante la respuesta de dicho ejercicio propuesto, pulsando “enter” para saltar a la siguiente explicación o utilizando comandos específicos para guardar la progresión o abandonar el tutorial, por ejemplo.

El programa consta de los siguientes puntos:

img R swirl 2

Se pueden seguir los diferentes steps uno a uno en orden, realizar solo aquel que nos interese, ir haciendo poco a poco guardando el progreso y recuperándolo en otro momento… vamos, toda la flexibilidad que tanto nos gusta que tengan este tipo de tutoriales.

Además, cada uno de estos bloques consta de diferentes apartados. Por ejemplo, este es el contenido correspondiente al bloque de análisis exploratorio de datos (bloque 4):

img R swirl 3

Como podéis ver se trata de un completo tutorial interactivo que os animamos a probar y a compartir vuestra experiencia con todos en los comentarios.

Good luck and Statistics 😉

El algorítmico y absorbente mundo de Facebook

09/06/2016 a las 13:29

Algoritmo de Facebook como funciona que es EdgeRank

El tiempo de media, según The New York Times, que se invierte entre Facebook, Messenger e Instagram es de 50 minutos al día. Las plataformas de Zuckerberg (no tiene en cuenta WhatsApp pese a ser de su propiedad) superan con creces las cifras de YouTube (17 minutos), LinkedIn (2 minutos) o Twitter (1 minuto).

Más allá de su precisión, suban o bajen, los números marcan una explícita tendencia que sonríe claramente a Facebook. Aún así, la empresa quiere más. Más tiempo entre sus algodones implica obtener más datos sobre el comportamiento de los usuarios, más control y al mismo tiempo más engagement y por tanto más alicientes para atraer a la publicidad.

Estamos hablando que de 24 horas que tiene el día, si descartamos el promedio de 8,8 horas que se consumen durmiendo, invertimos un dieciseisavo en Facebook y sus aliados, prácticamente lo mismo que a comer (1 hora). De la lectura o practicar deporte mejor ni hablar. Nadie nos obliga a ello, estar en Facebook es una elección libre que si se realiza es porque nos satisface. Y Zuckerberg lo sabe, por lo que no duda en ofrecer más y más opciones para atraparnos con sus hechizos (y los que podrían están por llegar, como un nuevo navegador dentro de la app, las imágenes en 360º o la categorización del feed).

Dimensiones personalizadas Tiempo y Temperatura en Tealium

09/06/2016 a las 12:35

¿Tienes un ecommerce o tienes a tu cargo el análisis de los datos de alguno?

Seguro que más de una vez has escuchado algo como que los días de lluvia son una bendición para el comercio electrónico ya que la gente suele quedarse en casa y realizar sus compras a través de la red.
Pues bien, el gran Simo Ahava nos daba una idea en este post para poder comprobar si realmente se cumplía dicha teoría mediante una implementación en GTM.

Nosotros hemos comprobado que su implementación funciona perfectamente en Google Tag Manager, sin embargo teníamos la duda de cómo realizar esta misma implementación en Tealium.

¿Qué es Tealium?

Para los que no sepáis qué es Tealium os diré de manera rápida que se trata de otro gestor de etiquetas, similar a GTM pero con diferentes características. Tealium utiliza el objeto utag_data para proporcionar información desde el site, además una de sus mayores fuerzas es la integración con un gran número de herramientas de terceros, lo que facilita mucho el trabajo con este gestor de etiquetas.

La Suite Analytics 360 por fin para todos los Premiums

24/05/2016 a las 09:58

Para los que aún no se hayan enterado, hoy 24 de mayo se hace oficial el lanzamiento de la nueva suite de analítica digital de Google. Con el nombre de Analytics 360 esta nueva suite incluye 6 productos, algunos nuevos y otros ya conocidos, que deberían servirnos entre otras cosas para entender a nuestros usuarios, mejorar el rendimiento de las campañas, visualizar la información de manera gráfica o realizar pruebas de contenido para mejorar la experiencia de uso.

Todas las empresas que actualmente tienen una licencia de Google Analytics Premium, pasarán automáticamente a partir de hoy (es posible que el proceso se demore unos días)  a tener una licencia de Analytics 360 y TagManager 360,  siendo opcional el uso del resto de productos (opcionalmente puede contratarlos 😉

El esquema o papel que cada uno de los productos tiene dentro de la suite queda explicado en esta imagen, que nos servirá además para ir introduciendo los diferentes productos:

Google Tag Manager 360

Como podemos ver en la imagen, el Tag manager 360 se encuentra en la “base” de la suite. Este producto, al igual que ocurre con el actual Google Tag Manager, nos servirá para “desplegar” o implementar el resto de productos de la suite con poca o ninguna dependencia de IT (con la excepción, por el momento, de Optimize 360 y el Audience Center 360 que no necesita tag) con lo que será el compañero ideal para el Analytics 360.

A día de hoy, el Tag Manager 360 no supondrá más que un cambio de nombre del actual Google Tag Manager (seguirá existiendo una versión gratuita), aunque a medida que avance el año se le irán incorporando nuevas funcionalidades.

Todos los clientes de Google Analytics Premium actuales tendrán incluido el Tagmanager 360 cuando la licencia de Premium pase a ser una licencia de Analytics 360.

Google Analytics 360

Lo que se conocía antes como Google Analytics Premium. En el momento del lanzamiento, solo se se espera un cambio de nombre, aunque a medida que avance el año se le irán añadiendo nuevas funcionalidades.

En esencia será donde “comience todo”, es decir, donde recogeremos la información de nuestros usuarios que luego integraremos en el resto de productos de la suite.

Para los que no recuerden las diferencia entre el Analytics “normal” y el analytics 360, les dejo una tabla comparativa.

GA Standard

Analytics 360

Procesamiento de datos y límites
  • Muestreo de datos en la UI
  • 24-48 horas en mostrar datos actualizados
  • Límite 10M de hits/mes
  • Datos sin muestrear en la interfaz
  • Actualización en 4h máximo
  • 2B hits/mes (se puede pedir hasta 20B) *
Integración con otros productos de Google
  • AdWords, AdSense
  • AdWords, AdSense, DBM/DCM, DFP
  • Exportación a BigQuery
Herramientas de análisis avanzado
  • Modelo de atribución standard.
  • Data-Driven Attribution
Soporte/Servicio
  • Sin soporte de entrada, salvo que se contacte con un partner para contratar el mismo.
  • Soporte por parte del vendedor de la licencia o bien, en el caso de compra directa a Google, por sus técnicos según las condiciones de la SLA

Google Optimize 360

Por fin Google saca una herramienta de testing y personalización profesional (¡y con editor integrado!). La idea de esta nueva herramienta es la de no solo ofrecer la posibilidad de crear test sobre nuestros contenidos sino ser capaz de, en base a las audiencias que podamos crear, personalizar los contenidos que visualizan los usuarios para que tengan una mejor experiencia de uso.

Además, siguiendo la filosofía de integración entre los distintos elementos de la suite, los datos de esta herramienta provienen directamente de Analytics 360. Con lo cual se acabaron las discrepancias que actualmente aparecen entre los datos de content experiment y Analytics. También implica que podremos lanzar experimento sobre audiencias que hayamos creado en Analytics.

Lo contrario también será posible, es decir, aparecerán en Analytics 360 las dimensiones que indican el experimento y la variante que ha visto un usuario por si queremos realizar estudios en profundidad.

En definitiva, el “flow” ideado por google para su 360 es que mediante el Analytics 360 identifiquemos las páginas con problemas y las necesidades de audiencias concretas. Una vez hecho esto, usaremos el Optimize 360 para crear test que corrijan los problemas o preparar contenidos que se adapten a las necesidades de los visitantes.

Google Data Studio 360

Este es el nuevo producto de visualización de datos de Google, el objetivo es conseguir mostrar los datos de manera visual de forma que sean más fáciles de interpretar y leer. La ventaja es que es completamente personalizable con lo que podremos olvidarnos de crear cuadros de mando usando el spreadsheets (al menos para aquellos que puedan pagar la herramienta 😉

Con el Data Studio se persigue solventar la “dificultad” que, de entrada, supone utilizar Google Analytics para los menos expertos. Gracias a la capacidad de convertir la información relevante en gráficos, podemos hacer llegar los datos a un mayor número de personas en la organización y ayudarles tanto a interpretar como a tomar decisiones basadas en estos mismos datos.

Actualmente el Google Data Studio tiene conectores tanto para Analytics 360 como para el Audience 360 así como BigQuery y Google Spreadsheets (se esperan más a lo largo del año), de forma que podemos importar, combinar y visualizar los datos de estos productos en Data Studio.

Google Attribution 360

Llegamos a uno de los pesos pesados de la nueva suite, este nuevo producto se llamaba anteriormente Adometry. Para los que no lo conozcan el objetivo de Adometric es ayudar a los responsables de marketing o anunciantes a evaluar correctamente el rendimiento de diferentes medios y campañas tanto online como offline.

La potencia de este producto es que además de analizar el rendimiento a través de diferentes canales es capaz de hacerlo también a través de diferentes dispositivos y sistemas (TV, radio, web etc.) de forma que podremos tener no solo un embudo multicanal sino también un embudo multidispositivo.

Entrando en detalle, el producto tendrá 3 componentes:

  • Digital Core (Digital Attribution): Versión mejorada de los actuales modelos de atribución de Google Analytics orientado a campañas online
  • TV: Nos servirá para medir el impacto de las campañas o apariciones en televisión a la hora de atraer tráfico a nuestro negocio
  • MMM (Marketing Mix Model): Nos permite identificar el impacto tanto de las acciones online como offline a la hora de generar ventas por ejemplo (ver imagen)

Google Audience Center 360

El Audience 360 es el DMP de Google o data management platform. La idea “traer” datos de diferentes fuentes como Analytics, DCM, AdWords, Youtube, información demográfica y de afinidad etc. Una vez que los datos están en la herramienta, podemos analizar nuestras audiencias para identificar las más valiosas y usar estos datos para crear otras audiencias similares. Estas audiencia podrán ser usadas en otras herramientas de Google como por ejemplo toda la suite de DoubleClick.

Si aún te quedan dudas o preguntas, no dudes en dejarlas en los comentarios!

ROI, IOR y otras siglas para valorar las redes sociales

03/05/2016 a las 09:51
roi ior calcular valor redes sociales

aisletwentytwo / Flickr (cc)

El concepto básico del ROI (Retorno de la Inversión) es muy sencillo: cuánto beneficio obtengo tras realizar una inversión. Existen negocios, especialmente los comercios electrónicos, que gracias a herramientas como Google Analytics y sus embudos multicanal nos permiten conocer hasta qué punto cada canal contribuye a sus objetivos, ya sea de modo directo o como asistentes, incluidas las redes sociales.

En principio, la finalidad de estas redes debe ser mucho más que la venta. Los estímulos ofrecidos y las reacciones que busquemos tienen que ser principalmente para relacionarnos y ser uno más entre la comunidad, sin duda el mejor modo para fidelizar. Esta es la teoría, en la práctica la realidad suele ser diferente.

La escucha activa y el análisis de las métricas sociales permiten, entre otras muchas ventajas, tener insights para enfocar mejor las campañas futuras, saber con detalle qué hacer y cómo le funciona a la competencia sus estrategias o de qué temas hablan nuestros simpatizantes/detractores.  ¿Cuánto vale que te recomiende un usuario? ¿Y qué nos ayuden a mejor productos y servicios? ¿Qué precio tiene para nosotros todo este conocimiento? ¿Cómo intentar medirlo?

Analiza tus productos con todo lujo de detalle

29/03/2016 a las 11:06

Analiza tus productos con todo lujo de detalle

 

Google Analytics, y especialmente con el comercio electrónico mejorado que ya os ayudamos a saber implementar,  nos permite medir el desempeño de los productos o servicios individuales que ofrecemos en nuestra web.

En los informes estándar, podremos analizar cuánto hemos vendido de cada uno de ellos, por ejemplo. Y con el comercio electrónico mejorado, incluso el porcentaje de veces que un producto visto fue añadido al carrito o comprado.

 

POST_DR_METRICS_Dimensiones personalizadas de producto_2

 

Pero en muchas ocasiones, los análisis los haremos agrupando dichos productos en categorías u otra clase de agrupaciones con algo en común.

Podemos segmentar o filtrar en base a la información que recogemos de los productos:

  • Nombre
  • Identificador
  • Precio (usando como criterio que estén en una franja u otra, por ejemplo)
  • Marca
  • Categoría (en el comercio electrónico, la categoría puede estar compuesta de hasta 5 niveles).
  • Variante (colores, tallas, etc.)
  • Cantidad
  • Cupón (para cuantificar la influencia de ofrecer o no descuentos)

Pero, ¿y si esta información se nos quedara corta? ¿Y si nuestro producto es muy complejo y está definido por una gran cantidad de variables por las que podría interesarnos analizar su desempeño?

Imaginemos que nuestro negocio es una inmobiliaria, y nuestra transacción, la solicitud de visita a un inmueble. A la hora de buscar vivienda o local, se van a tener en cuenta factores como el número de habitaciones, la superficie útil, cercanía a ciertos servicios, si tiene ascensor o no, etc. Si disponemos de esa información y permitimos al usuario realizar búsquedas filtrando por ella, ¿por qué no recogerla también en las transacciones? Podríamos, de manera sencilla y sin salir de Google Anaytics, analizar la influencia en la tasa de conversión de todos y cada uno de los posibles valores para esas variables.

Aquí es donde entran en juego las dimensiones personalizadas, que tanta flexibilidad aportan a la herramienta. La aparición de las dimensiones y métricas personalizadas de ámbito “producto” facilitan mucho su uso en el ecommerce a la hora de la implementación.

 

POST_DR_METRICS_Dimensiones personalizadas de producto_3

 

¿Cómo pasamos sus valores a Google Analytics?

Si estamos implementando con Google Tag Manager (lo más recomendable), el código para un producto en el comercio electrónico mejorado o enhanced ecommerce tendría este aspecto:

‘products’: [{  

        ‘name’: ‘Nombre del producto’,

        ‘id’: ‘123456’,

        ‘price’: ‘1000.00’,

        ‘brand’: ‘Marca del producto’,

        ‘category’: ‘Textil/Hombre/Camisas/Manga larga/Algodón’, // categoría (hasta 4 posibles niveles de subcategoría)

        ‘variant’: ‘Blanca’, // variación que no implica un cambio de identificador de producto

        ‘quantity’: 1, // Cantidad del producto adquirida

        ‘coupon’: ” // Descuento a nivel de producto individual

       }]

Si quisiéramos “enriquecer” la información recogida mediante dimensiones personalizadas de ámbito “producto”, tan sólo tendríamos que añadirlas a la lista de variables estándar:

‘products’: [{  

        ‘name’: ‘Nombre del producto’,

        ‘id’: ‘123456’,

        ‘price’: ‘1000.00’,

        ‘brand’: ‘Marca del producto’,

        ‘category’: ‘Textil/Hombre/Camisas/Manga larga/Algodón’, // categoría (hasta 4 posibles niveles de subcategoría)

        ‘variant’: ‘Blanca’, // variación que no implica un cambio de identificador de producto

        ‘quantity’: 1, // Cantidad del producto adquirida

        ‘coupon’: ”, // Descuento a nivel de producto individual

        ‘dimension1’: ‘valor para la dimensión 1’,

        ‘dimension2’: ‘valor para la dimensión 2’,

        ‘dimension3’: ‘valor para la dimensión 3’

      //y así con todas las dimensiones que necesitemos (y de las que dispongamos).        

       }]

La correspondiente etiqueta de GTM, cuando detecte la transacción y la envíe a Google Analytics, enviará automáticamente y sin que tengamos que hacer nada, toda la información adicional que hemos asociado a los productos.

Es decir, no habrá que definir variables en GTM que recojan esa información adicional ni tendremos que especificar en la etiqueta de la transacción qué variable corresponde con cada dimensión personalizada. Es por esto que sea necesario referirnos en el datalayer a las dimensiones de esa manera (‘dimension1’ por ejemplo) y no por su nombre (‘Número de habitaciones’ en el ejemplo de la inmobiliaria).

Ahora solo quedaría analizar nuestros productos utilizando estas nuevas variables como dimensiones secundarias en los informes estándar o mediante informes personalizados.

Desde luego, si el producto tiene cierta complejidad y disponéis de dimensiones personalizadas libres, os animamos a “enriquecer” de esta manera tan sencilla pero potente vuestras implementaciones.

 

Google Analytics 360 Suite hoy su gran lanzamiento

15/03/2016 a las 20:28

Os adjunto la carta que Paul Muret, responsable  y creador de Google Analytics, nos ha enviado para presentarnos la evolución de la herramienta en su Suite 360.

Hola,

Hoy estoy encantado de compartir la próxima evolución de Google Analytics: Google Analytics 360 suite.

Una revolución en el marketing está en marcha – las empresas se enfrentan a una explosión de nuevos dispositivos, canales, audiencias fragmentadas y compra programática – que lleva a un aumento exponencial en el volumen de datos. Con un creciente número de señales a monitorizar, es más difícil que nunca manejar todo, encontrar información útil, y convertir esas ideas en acción.

Es por eso que hemos construido el Analytics 360 Suite. Un sistema que integra sus datos con herramientas de marketing análisis, diseñadas específicamente para cubrir las necesidades de responsables del marketing o análisis dentro de una empresa y ayudarles a:

  • Visibilidad completa de la conducta del consumidor. Los responsables de marketing necesitan la visión completa de los datos de forma inmediata para ver lo que está sucediendo con sus usuarios en todos los puntos de contacto, canales y dispositivos. Comprender el contexto completo del viaje de un usuario en lugar de medir solamente una sesión, un único dispositivo, o el último-clic.
  • Obtener información útil, no más datos. Los profesionales del marketing necesitan una enorme potencia de cálculo, data science y algoritmos inteligentes, todos trabajando juntos para ayudar a dar sentido a los datos. Esa inteligencia hace el trabajo pesado y entrega rápidamente hallazgos de valor para que el equipo se dedique su tiempo a actuar.
  • Compartir conocimientos y colaborar con todo el mundo. Poniendo los datos en manos de todos fortalece objetivos en común y potencia las sinergias para conducir a una toma de decisiones más inteligente. Reducir el tiempo invertido en informes para crear rápidamente bellas visualizaciones de los acontecimientos más significativos del negocio, y luego compartirlo con toda la organización.
  • Ofrecer experiencias atractivas a las personas adecuadas. Hacer que su marca sea útil para los consumidores. Con integraciones a través de múltiples tecnologías de Google, la suite de productos que no sólo funciona bien con éstas, sino también con otros productos, incluyendo AdWords, DoubleClick y plataformas de terceros. Esto permite a los marketers tomar acciones inmediatas y mejorar la relevancia de los anuncios y las experiencias en sus webs.

 

Analytics 360 suite

¿Qué significa esto para usted?
No habrá ningún cambio inmediato en su cuenta. La suite 360 ​​Analytics BETA se irá introduciendo en clientes GA Premium a lo largo de 2016.

Es sólo el comienzo – vamos a seguir invirtiendo fuertemente en nuevos productos, características y funcionalidades. Es un momento emocionante para los que nos dedicamos al análisis de marketing, y esperamos compartir más información con usted pronto.

Para más información acerca de todos los nuevos productos y la suite 360 ​​Analytics, visite nuestro sitio web.

Cordialmente,
Paul Muret
VP, Analytics, video & display products

Analítica en redes sociales para cumplir objetivos

01/03/2016 a las 17:11
medir redes sociales herramientas analitica

Camille Rose (cc) Flickr

Al margen de la escucha activa, la monitorización y el sentimiento del que hablamos recientemente, como analistas del social media también debemos prestar una exquisita atención a las métricas que ofrecen las redes sociales de nuestros clientes (y las de la competencia), pues es el único modo de comprobar si la marca está cumpliendo con sus expectativas.

Y ese es precisamente el camino que hay que seguir: definir objetivos, medirlos, analizarlos, actuar en consecuencia para mejorarlos y vuelta a empezar para transformar los resultados. Así una y otra vez. Toda empresa con presencia en redes sociales debería tener una estrategia y un cuadro de mando con los indicadores que determinen su estado de salud. De no ser así, si no hay ninguna finalidad explícita ni intención de dar valor a la comunidad y crecer con ella, conviene no estar.

Mejorar la relación con los usuarios y consumidores no es una tarea sencilla, y el único modo para conseguirlo es medir. Medir, medir y después seguir midiendo. Creemos que no se nos ha olvidado citar la importancia de medir. No nos importa repetir: hay que medir el trabajo de los gestores online de las marcas para identificar sus carencias (para superarlas) y virtudes (para potenciarlas).

Escucha activa (o cuando Internet lo cambió todo)

02/02/2016 a las 10:30
escucha activa

Rick&Brenda Beerhorst | Flickr (cc)

Monitorización, escucha activa o social listening son algunos términos con los que las empresas conviven desde hace algún tiempo, más concretamente desde que Internet cambió las reglas del juego. La aparición, expansión y evolución de la red de redes supuso el nacimiento de los prosumidores, personas que consumen lo que ellos mismos producen: noticias en blogs, comentarios en redes sociales, contribución en wikis, desarrollo de software libre, etc.

Esta nueva realidad ha democratizado todo, de manera que cualquiera dispone de un altavoz con el que hacerse oír y tiene a su alcance un hueco público en el que tener visibilidad para compartir sus creaciones, opiniones e inquietudes.  La universalización no ha hecho más que equilibrar, al menos en apariencia, un sistema que durante décadas ha estado dominado por los medios y la industria tradicional.

La información y el conocimiento ya no son exclusivos de los mismos y limitados emisores. Hoy podemos hablar de una relación sin jerarquías, de un trato de igual a igual.  La interactividad y la autonomía propias de la web 2.0 hace de cada uno de nosotros un prosumidor, ese término que Toffler acuñó en 1980 y que tan bien encaja para describir la situación actual.

Ahora es esta figura quien elige el qué, el cómo y el cuándo, por lo que las empresas deben cambiar sus enfoques para adaptarse a la convivencia en el entorno digital. Estés o no en la web la gente va a hablar de ti, es inevitable, así que lo más práctico es aceptar las transformadas normas, construir tu identidad digital y poner los medios necesarios para ser uno más.

Dentro esa masa ingente de información que se genera en Internet hay un enorme valor que las marcas no deben dejar escapar. Es más, supone una fantástica oportunidad para conocer el mercado.

Si gracias a los recursos existentes y la actitud de los usuarios se ha modificado el ciclo de vida del marketing, ¿por qué no aprovechar esos mismos mecanismos para conocerles mejor? 

Query plan explanation: el nuevo informe de BigQuery para optimizar consultas

22/12/2015 a las 11:45

Como hemos comentado en ocasiones anteriores en doctormetrics, Google Bigquery nos permite realizar consultas muy rápidas sobre grandes conjuntos de datos.

No es raro el caso en el que el resultado de nuestra consulta tiene millones de filas y se han necesitado complejas operaciones intermedias para obtener cada una de sus columnas. A pesar de su potencia, en estos casos nuestras consultas suelen tardar más tiempo del que nos tiene acostumbrados BigQuery, e incluso podemos alcanzar los límites internos de la herramienta y obtener errores a la hora de ejecutar la query, especialmente si la consulta no está optimizada.

Y precisamente una cosa que echábamos en falta los que usamos Google BigQuery con frecuencia era tener la posibilidad de saber qué partes u operaciones de nuestras consultas se podían optimizar para poder sacar el máximo rendimiento de la herramienta. Pero esto ya es pasado, Google BigQuery acaba de sacar un nuevo report llamado query plan explanation. En este post explicaremos dónde podemos encontrarlo, qué información nos proporciona y cómo podemos utilizarlo para optimizar nuestras consultas.

Dicho esto, empecemos!

¿Qué es?

Es un nuevo informe que nos ofrece información detallada sobre el query plan:  los tiempos invertidos, las transformaciones/operaciones realizadas y el número de filas con las que ha trabajado BigQuery en cada una de las etapas que han compuesto el procesamiento de nuestra consulta. Tiene el aspecto siguiente:

BQexplanation4

 

¿Dónde podemos encontrarlo?

Cuando obtenemos los resultados de una consulta en la interficie web de BigQuery, actualmente nos aparece una nueva pestaña llamada Explanation con este informe (antes únicamente teníamos la opción de ver los Results). También se puede conocer el detalle del query plan directamente desde la API.

BQexplanation1

 

¿Qué información nos ofrece?

La información que nos proporciona este nuevo report se puede separar en tres partes:

 

BQexplanation5.2

  1. Stage timing

Cada query se divide en varias etapas y cada una de ellas consiste en una serie de pasos que se pueden agrupar en cuatro categorías: Wait, Read, Compute, Write. Cada barra de color nos da una idea del tiempo medio que han necesitado los subprocesos de cada paso y, además, del tiempo máximo.

BQexplanation2.2

Sin embargo, estas barras no representan el tiempo propiamente dicho, sino que representan el ratio entre el tiempo de ese paso y el tiempo máximo de todos los subprocesos. Por ejemplo, en la imagen anterior, como el subproceso que ha necesitado el tiempo más grande (barra más larga) pertenecía al paso de leer (Read) de la etapa 1 (Stage 1), todos los demás tiempos se han dividido respecto a este valor para obtener el ratio que se muestra. Por lo tanto, cualquier otra barra representa qué proporción de ese tiempo máximo ha necesitado el paso concreto. Así pues, una barra que llena la mitad de la barra significa que ha necesitado la mitad del tiempo que se ha necesitado para leer en la etapa 1.

Aun así, la interpretación del gráfico no cambia: una barra más larga significa que se ha invertido más tiempo en ese paso mientras que una barra más corta significa que el proceso ha sido más rápido.

  1. Rows

Al hacer una query, consultamos los datos de una tabla inicial (input) y acabamos obteniendo una tabla con resultados (output). Sin embargo, en el proceso de pasar de input a ouput, es probable que BigQuery haya tenido que crear tablas intermedias para ir haciendo los distintos cálculos que le hemos pedido. Por este motivo, la consulta se divide en varias etapas (stages). Con la query plan explanation, además de los tiempos relativos que hemos visto en el punto anterior, tenemos el número de filas de la tabla input y de la tabla output correspondiente a cada etapa.

  1. Steps metadata

Por si fuera poco todo lo que hemos comentado hasta ahora, podemos desplegar cada etapa para obtener información completa sobre los pasos que se han hecho en ella: las columnas que se han leído y su correspondiente tabla de origen, las funciones agregadas y condiciones aplicadas, la tabla donde se han almacenado los resultados de ese paso intermedio, etc.

Los posibles pasos son: READ, WRITE, COMPUTE, FILTER, SORT, AGGREGATE, LIMIT, JOIN, ANALYTIC_FUNCTION, USER_DEFINED_FUNCTION.

¿Por qué es útil?

Este informe nos puede servir para optimizar nuestras consultas si combinamos la información que nos proporciona el gráfico de tiempos relativos (stage timing) con la de steps metadata. Con el primero, podemos detectar las partes críticas de nuestra consulta (las que tengan la barra más larga) que podrían estar ralentizando su ejecución, mientras que con el segundo podemos conocer los pasos concretos que se realizan en esa parte y así saber para qué operaciones de la query necesitamos pensar alternativas más eficientes que nos permitan obtener la misma tabla de resultados final.

Únicamente hay que tener en cuenta un pequeño pero importante detalle: siempre habrá un tiempo máximo de todos los subprocesos, que es el que se utilizará para calcular los demás ratios. Por lo tanto, siempre habrá algún paso que llenará toda la barra. Sin embargo, eso no significa que ese paso no sea eficiente! Incluso en las consultas perfectamente optimizadas veremos barras más largas que otras… Es importante tenerlo en cuenta para no sacar conclusiones erróneas.

 

Esto es todo por hoy! Espero que este post os haya sido útil para aprender a interpretar este nuevo informe y también ver la importancia que puede llegar a tener a la hora de optimizar consultas, algo imprescindible y que hasta ahora no era posible en la interficie de BQ. Como siempre, si tenéis alguna duda relacionada con el post o no encontráis la forma de optimizar una consulta, podéis dejar vuestro comentario y os intentaré ayudar en la medida de lo posible. Por último, si os interesa saber más sobre cómo hacer consultas en BigQuery, os invito a que leáis este post que escribí hace un tiempo sobre el tema, explicando su estructura básica y las funciones más importantes que se suelen utilizar.

Hasta la próxima! 🙂

 

 

Se advierte al usuario del uso de cookies propias y de terceros de personalización y de análisis al navegar por esta página web para mejorar nuestros servicios y recopilar información estrictamente estadística de la navegación en nuestro sitio web. Política de cookies Acepto