Comment visualiser les parcours de Google Analytics avec un sunburst via R ?


R permet de créer de nombreuses visualisations de données, tout en permettant une personnalisation avancée. Pour les analyses de parcours, il est souvent efficace de visualiser les données avec un sunburst (plutôt qu'un tableau de données ou un diagramme de sankey). Les avantages sont :

  • Une lecture plus rapide des parcours principaux qui "sautent aux yeux"
  • Une interaction facilitée avec les données (zoom in/out)
  • Un graphique compact qui ne prend pas trop de place

Je vais montrer avec cet article comment créer un sunburst à partir des données de Google Analytics. Ce qui peut servir dans une analyse exploratoire avant de faire une analyse avec plus de focus sur un point particulier. Par exemple pour voir rapidement les parcours bruts de tout le trafic sur un site, mais aussi pour visualiser tous les parcours menant à une page donnée ou partant de cette page donnée.

4 grandes étapes sont à réaliser :
- Import des données de BigQuery
- Definition des parametres de l'analyse
- Transformation des données pour faire ressortir le parcours de chaque session
- Création d'un sunburst à partir des données transformées

sunburst_R

Je vais detailler ci-dessous comment réaliser ces 4 étapes.
Et je terminerai l'article en mettant à disposition le fichier HTML du sunburst, ainsi que les données et scripts R utilisés.

Etape 1 : Import des données de BigQuery

Les données de BigQuery à importer sont les suivantes : session_id, hitNumber et page (pour notre exemple, nous allons étudier les parcours avec les sequences de pages, mais il est tout à fait possible d'étudier les sequences d'une autre variable).
Pour le session_id, il est recommandé de le definir dans BigQuery en combinant les variables date, visitId et fullVisitorId
Pour hitNumber, il s'agit de la variable hits.hitNumber.
Pour page, il s'agit de la variable hits.page

La construction de la requête BigQuery doit se faire en "mettant à plat" les hits, c'est à dire avoir une ligne pour chaque hit. Plus d'information dans cet article : http://www.webanalytix.fr/comment-ecrire-une-requete-google-analytics-dans-bigquery/

Il est possible d'importer directement dans R les données BigQuery avec la librairie bigrquery. Sinon, il suffit d'exporter les données de BigQuery dans un fichier CSV, puis d'importer ce fichier dans R. Plus d'information dans cet article : http://www.webanalytix.fr/comment-exporter-les-donnees-dune-requete-bigquery/

Pour l'exemple, le code du script est fait à partir de l'import d'un fichier Excel contenant les données BigQuery. Et ces données sont retraités pour ne prendre en compte que les hits de type "PAGE" (car les autres types de hits ne sont pas utiles pour une analyse de parcours de pages). A noter que les données du fichier exemple sont des fausses données.

Etape 2 : Definition des parametres de l'analyse

Il s'agit de définir le cadre et l'objectif de l'analyse avec des parametres qui seront pris en compte dans la construction du rapport.
Il y a 3 parametres :

  • Sens de la sequence : Il s'agit de savoir quel sens des parcours on souhaite visualiser. Les valeurs possibles sont "brut" pour visualiser les parcours depuis la première page de chaque session, "normal" pour voir les sequences qui partent d'une page précise et "inverse" pour les sequences qui amènent à une page donnée.
  • Page à étudier : Il s'agit de la valeur de la variable page qu'on souhaite étudier. Si on souhaite voir les parcours bruts, il n'est pas nécessaire de remplir cette variable (elle ne sera pas prise en compte)
  • Nombre de niveaux de pages : Il s'agit du nombre de niveaux maximum à afficher dans les sequences. Cela permet d'optimiser le temps de calcul et la visualisation. Il est conseillé de commencer avec une valeur entre 10 et 20. Au-delà, le temps de calcul peut prendre plus d'une dizaine de minutes et la visualisation peut devenir trop morcellée (malgré les interactions possibles de zoom in/out)

Etape 3 : Transformation des données pour faire ressortir le parcours de chaque session

Cette étape est réalisée par un script R (master script). Après avoir préparé le fichier avec les données BigQuery et avoir défini les paramètres (code au début du master script), il ne reste plus qu'à lancer l'execution du master script.

Le master script va regrouper les informations, puis faire appel à un script de transformation des données qui va réaliser les tâches suivantes nécessaires pour construire le sunburst :

  • Recuperation du hit de la page à etudier pour chaque session selon le sens de la sequence demandée
  • Recuperation du nombre de niveaux maximum dans les sequences des sessions. Utile pour parcourir les sequences ensuite
  • Definition des "hitNumber" retraités. Pour garantir une continuité parfaite en commencant les niveaux par 1, puis 2, puis 3, etc, sans "trou". Ajout d'une page "FIN" quand une séquence se termine
  • Restructuration en ajoutant une colonne pour chaque niveau (N+1, N+2, etc). La colonne prenant les valeurs des pages correspondantes. Chaque ligne correspondant à une session

Etape 4 : Création d'un sunburst à partir des données transformées

Une fois que la transformation des données est finie, le master script fait appel à un autre script qui va s'occuper de construire le sunburst avec ces données. La librairie R utilisée est sunburstR, ainsi que d3r (qui correspond aux visualisations d3.js).

Les étapes sont la conversion des données en arbre JSON, la generation du sunburst au format d2b et l'enregistrement dans un fichier HTML. Cette étape peut prendre du temps. Une pop-up s'affiche quand tout est terminé pour permettre à l'utilisateur de travailler sur une autre tâche pendant ce temps.

Ce fichier HTML permettra une interaction avec le sunburst en cliquant sur les différents niveaux pour zommer (in/out) et voir les étiquettes avec les données (nom de page, volume de sessions correspondantes et ratio en %).

Je mets ci-contre un lien de sunburst correspondant : http://www.webanalytix.fr/Sunburst-R/R_sunburst_file_2020.html

Pour lire le sunburst : Le sunburst a été paramétré pour montrer le parcours (inverse) menant à la page Panier. Le rond central correspond à la page Panier. Et les autres cercles montrent les pages précédentes. Quand un parcours contient peu d'etapes, il se termine par une etape FIN (si il n'y a pas FIN c'est qu'il faut plus de niveaux pour afficher le parcours en entier). On constate avec ce sunburst que la majorité des parcours qui amenent aux paniers passent par les pages de liste de produits. Il y a également 7,3% des sessions qui commencent directement sur le panier (la page precedente étant FIN) et 5,3% des sessions qui n'ont vu qu'une seule page qui était Fiche Produit avant d'arriver au Panier.

Liens vers les fichiers pour test

Je mets ci-dessous les liens vers les fichiers :
- Fichier Excel avec les données BigQuery : http://www.webanalytix.fr/Sunburst-R/BQ_GA_results.xls
- Master script : http://www.webanalytix.fr/Sunburst-R/Sunburst_script_master.R
- Script de transformation des données : http://www.webanalytix.fr/Sunburst-R/BQ_data_structure_optimised_v2.R
- Script de création du sunburst : http://www.webanalytix.fr/Sunburst-R/sunburst_building.R
Ce qui vous permet de pouvoir les utiliser dans RStudio. Le fichier HTML final est normalement enregistré dans "Mes Documents".

Lien vers le fichier HTML du sunburst : http://www.webanalytix.fr/Sunburst-R/R_sunburst_file_2020.html

 

Pour + d'infos :
- https://github.com/timelyportfolio/sunburstR
- https://bl.ocks.org/kerryrodden/7090426

 

0.00 avg. rating (0% score) - 0 votes

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *