Comment étendre la portée de vos analyses data ?

Analyse data, l’exhaustivité des données en question

Dans nos projets, il est courant que les métiers nous interrogent sur l’usage effectif de la solution digitale en place ou d’une fonctionnalité spécifique. Pour y répondre nous devons mener des analyses data disponibles dans la solution de digital Analytics utilisée. C’est à cet instant que des lacunes peuvent apparaître : les données ne sont pas présentes ou seulement partiellement.

Les causes possibles peuvent être :

  • Le plan de marquage n’a pas été réalisé pour répondre à cette demande ;
  • Au sprint précédent les UI  (user interfaces) ont été revues et le marquage n’a pas suivi ;
  • C’est un nouveau besoin ;
  • C’est un besoin identifié, mais :
    • Non défini comme important et prioritaire dans le product backlog ;
    • L’effort de marquage est trop important et la fonctionnalité pas suffisamment pérenne pour investir du temps au déploiement d’un tracking.

Dans ce contexte, la première réponse faite aux métiers est de dire que le marquage actuel ne couvre pas ce besoin, puis, dans un seconde temps, de dire que la correction par l’ajout d’un tracking efficace permettra de disposer des données dans quelques semaines…

Cependant, lorsque les métiers nous posent cette question, ils espèrent une réponse de préférence dans un laps de temps raisonnable sur la période de temps écoulée. Or, un ajout de tracking ne permettra pas d’obtenir des données rétroactives directement.

En utilisant les données d’UX Metric nous allons vous proposer une simulation de ce cas de figure et vous présenter une solution technologique à même de résoudre quelques cas similaires.

Le pré-requis immédiat de cette solution est que la mesure à effectuer nécessite l’usage de données présentes dans les pages et écrans du support digital ou accessibles par réconciliation (interrogation d’API ou d’un web service pour obtenir l’information manquante :  relation Clés -> valeur).

Analyse de données, le cas pratique

Sur UX Metric, nous avons un marquage basique sur Google Analytics, nous suivons les KPi standards. Récemment, nous nous sommes questionnés sur notre rubrique contenant des livres qui s’intitule “références” ou “bibliothèque” selon la version du de la page disponible (Test A/B en cours pour valider les noms de nos rubriques).

Nous souhaitons savoir :

  • Qui des deux auteurs (Guillaume Deconde et Grégory loth) du site propose les pages livres les plus vues ?
  • Quel est l’éditeur qui obtient le plus de visibilité par le biais des fiches livre ?

Pour répondre à ces questions il faut que le marquage prenne en compte les données “Auteur de chaque contenu” et “éditeur de chaque livre”, ce qui n’est pas le cas.  Cette mesure doit être mise en oeuvre par l’ajout de deux dimensions personnalisées supplémentaires pour qualifier la dimension page et ainsi permettre de transposer les métriques (pages vues, vues uniques, etc.) initialement associées à la page vers l’auteur et l’éditeur.
Si nous intégrons ces éléments tels quels, nous n’aurons pas de données exploitables avant quelques semaines. Pour autant, nous savons que les informations nécessaires à ces analyses sont disponibles dès à présent, dans le contenu de chaque page.

Nous allons donc enrichir les données Analytics disponibles avec les informations présentes dans les pages mesurées et utiliser l’outil de data wrangling Google Open Refine pour consolider le tout.

Qu’est-ce que Open Refine ?

Open Refine est un projet initialement lancé par Google en 2010  sous la forme d’un logiciel libre (BSD : Berkeley Software Distribution License) et destiné à la préparation et au nettoyage des données. Deux “langages” sont mis à disposition pour traiter les données le Jython (croisement entre Java et Python) et le GREL (General refine expression language, une sorte de javascript).

Comment allons-nous utiliser Open refine ?

Préparation de notre expérience

Pour les traitements de cet exemple nous utiliserons le GREL.

Pour chacun des deux auteurs et pour tous les éditeurs, nous voulons quantifier :

  • Les pages / fiches livres vues
  • Les vues uniques
  • Les entrées

Nous commençons par exporter les données de Google Analytics concernant les pages présentant des livres. ¨Pour plus de clarté, nous ajoutons le titre de la page qui nous permettra d’obtenir le tire du livre par extraction.

Data extraction - digital analytics

Nous exportons ensuite les données Google Analytics au format CSV, par l’interface ou via l’API

Data extraction - digital analytics

Si l’export est effectué via l’interface de Google Analytics, nous devrons éditer le fichier sous Excel ou Google Sheet  et nettoyer les lignes superflues (nous préférons Google Sheet pour son ouverture sa complémentarité avec les autres produits Google et la puissance de la solution GG complète, cf. Google Data Studio (Looker) par exemple).

Dans l’exemple ci-dessus, les 6 premières lignes du fichier et le second tableau de détail quotidien situé en dessous du tableau principal.

En passant par l’API, ce premier nettoyage n’est pas utile, nous accédons aux informations nécessaires directement.

Comment importer les données dans Open Refine ?

Pour les besoins de cette présentation et pour effectuer les analyses courantes nous disposons d’instances locales d’Open Refine sur nos Mac.Analyse de données - Open Refine - Data marketing - UX Metric

Nous importons ensuite notre fichier CSV et initialisons notre projet. Une fois les paramètres réglés, nous validons à l’aide du bouton de validation situé en haut à droite “Create Project”.

Analyse de données - Open Refine - Data marketing - UX Metric

Nous observons au passage les options que nous propose la solution, la documentation complète d’Open Refine est disponible sur GitHub: https://github.com/OpenRefine/OpenRefine/wiki/Documentation-For-Users

Pour enrichir les données nous créons de nouvelles colonnes de données. Chaque création de colonne s’effectue sur la base d’une colonne de référence. La valeur de la donnée de la nouvelle colonne sera pour chaque ligne égale à la transformation de la valeur de la ligne de la colonne de référence.

Les traitements simples avec GREL

Opérons un traitement simple pour commencer, nous allons extraire le titre du livre du titre de la page. Nous déclarons une nouvelle colonne dont les données seront l’extraction de la valeur de la colonne précédente.
“Ajouter une colonne sur la base de cette colonne”

Analyse de données - Open Refine - Data marketing - UX Metric

Nous souhaitons conserver la première valeur du tableau retourné par l’instruction de découpage de chaine “split” sur le caractère “-“.

Analyse de données - Open Refine - Data marketing - UX Metric

Formule : value.split(“-“)[0];

Open Refine et le web scrapping

Pour continuer, nous avons besoin d’enrichir notre jeu de données avec des données externes. Nous disposons des URL des pages , nous allons donc aspirer le contenus de ces pages web.

Nous créons donc une nouvelle colonne sur la base de la colonne “page”, et nous précisons que nous allons récupérer le contenu d’une URL.

Analyse de données - Open Refine - Data marketing - UX Metric

L’aspiration d’une page HTML s’effectue en faisant un GET sur cette page et en attribuant la valeur de ce GET à une nouvelle cellule, soit “https://www.uxmetric.com”+value

Analyse de données - Open Refine - Data marketing - UX Metric
Une fois le paramétrage effectué, en cliquant sur “Ok” nous appliquons ce paramétrage à l’ensemble de notre jeu de données

Analyse de données - Open Refine - Data marketing - UX Metric

En résultat, voici la nouvelle colonne créée :

Analyse de données - Open Refine - Data marketing - UX Metric

Nous allons ensuite parcourir le HTML récupéré à l’aide de la fonction “parseHtml” et de la fonction “select”, pour réaliser l’extraction de l’auteur du post. Nous ajoutons une colonne sur la base de la colonne contenant le code HTML, ensuite nous ferons de même avec l’éditeur.

Analyse data - Open Refine - Data marketing - UX Metric

Utilisons maintenant l’inspecteur de code de chrome pour parcourir l’arbre HTML des pages du site uxmetric.com et ainsi définir les sélecteurs qui permettent d’accéder à la donnée (chemin arborescent du code du haut du document vers la donnée). Nous accédons à la donnée auteur par le chemin  de class CSS “.vcard .fn”
Analyse de données - Open Refine - Data marketing - UX Metric

Une fois les sélecteurs définis, nous les utilisons dans notre fonction “select()” pour sélectionner notre donnée.

Analyse de données - Open Refine - Data marketing - UX Metric

Nous pouvons ensuite ajouter une “navigation à facette” dans nos données pour obtenir une première lecture rapide.
A gauche une zone est apparue, elle présente le nombre de résultats pour les deux auteurs.

Analyse de données - Open Refine - Data marketing - UX Metric

Nous effectuons ensuite un travail de même nature pour les éditeurs, en ajoutant une colonne sur la base du HTML récupéré, puis en filtrant ce code pour obtenir la valeur souhaitée.

Analyse data - Open Refine - Data marketing - UX Metric

Une fois la commande appliquée, nous obtenons :

Analyse de données - Open Refine - Data marketing - UX Metric

A ce stade, en exportant notre travail, on obtient un fichier présentant les données nécessaires pour répondre aux questions posées initialement.

PageEditeursAuteurTitre de pagePages vuesVues uniquesTemps moyen passé sur la pageEntrées
/livres/uxdesign/DunodGuillaume DecondeUX design & ergonomie des interfaces - Design - Mesurer l'expérience utilisateur - UX Metric301400:00:582
/livres/the-design-of-everyday-things/Basic BooksGuillaume DecondeThe Design of Everyday Things - Design - Mesurer l'expérience utilisateur - UX Metric161000:01:246
/livres/statistiques-appliquees/ellipsesGuillaume DecondeStatistiques appliquées -14700:00:046
/livres/show-me-the-numbers/Analytics PressGuillaume DecondeShow me the numbers - Data - Mesurer l'expérience utilisateur - UX Metric10700:00:256
/livres/comprendre-et-realiser-les-tests-statistiques-a-laide-de-r/de BoeckGuillaume DecondeComprendre et réaliser les tests statistiques à l'aide de R - Data - Mesurer l'expérience utilisateur - UX Metric9500:00:033
/livres/lean-analytics/O’Reilly MediaGrégory LothLean Analytics - Data, English, Marketing - Mesurer l'expérience utilisateur - UX Metric8300:01:020
/livres/python-pour-le-data-scientist/DunodGrégory LothPython pour le data scientist -8400:00:050
/livres/statistiques-appliquees/ellipsesGuillaume DecondeStatistiques appliquées - Data - Mesurer l'expérience utilisateur - UX Metric8400:00:033
/livres/statistiques-en-sciences-humaines-avec-r/de BoeckGuillaume DecondeStatistiques en sciences humaines avec R - Data, Sciences sociales - Mesurer l'expérience utilisateur - UX Metric8300:00:112
/livres/927/DunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric7300:00:061
/livres/eloge-du-changement/Pearson – Village MondialGrégory LothEloge du changement - Changement, management - Mesurer l'expérience utilisateur - UX Metric7400:00:282
/livres/lauto-qui-nexistait-pas/DunodGrégory LothL'auto qui n'existait pas - management, Projets - Mesurer l'expérience utilisateur - UX Metric7300:00:201
/livres/methodes-statistiques-en-sciences-humaines/de BoeckGuillaume DecondeMéthodes statistiques en sciences humaines - Data, Sciences sociales - Mesurer l'expérience utilisateur - UX Metric7400:00:043
/livres/python-pour-le-data-scientist/DunodGrégory LothPython pour le data scientist - Data - Mesurer l'expérience utilisateur - UX Metric7400:01:290
/livres/la-laideur-se-vend-mal/GallimardGrégory LothLa laideur se vend mal - Design - Mesurer l'expérience utilisateur - UX Metric6300:00:042
/livres/penser-la-communication/Grégory LothPENSER LA COMMUNICATION - management - Mesurer l'expérience utilisateur - UX Metric6500:07:022
/livres/psychologie-statistique-avec-r/edp sciencesGuillaume DecondePsychologie statistique avec R - Data, Sciences sociales - Mesurer l'expérience utilisateur - UX Metric6300:00:032
/livres/intelligence-marketing/EyrollesGrégory LothIntelligence marketing - Digital, Innovation, Marketing - Mesurer l'expérience utilisateur - UX Metric5200:00:041
/livres/psychologie-sociale/Presses Universitaires de FranceGrégory LothPsychologie sociale - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric5200:00:041
/livres/usability-engineering/Morgan KaufmannGuillaume DecondeUsability engineering - Design - Mesurer l'expérience utilisateur - UX Metric5200:00:060
/livres/psychologie-experimentale/Guillaume DecondePsychologie expérimentale - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric4100:00:030
/livres/multimedia-learning/Cambridge University PressGuillaume DecondeMultimedia Learning - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric3200:10:030
/livres/927DunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric2100:00:351
/livres/comprendre-et-realiser-les-tests-statistiques-a-laide-de-r/de BoeckGuillaume DecondeComprendre et réaliser les tests statistiques à l'aide de R -2100:00:030
/livres/the-design-of-everyday-things/Basic BooksGuillaume DecondeThe Design of Everyday Things -2200:00:122
/livres/927/?fbclid=IwAR0agv32CSm4aKIGLu4M-zJJuB5ZBh0b-_fet3JMRE-jfXubZLMK1-YsoxQDunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/927/?fbclid=IwAR1fD8GgDBWl5rwVSCmdpNucIQh9DJXnjdHg7j2Vz5Ak9nCZGUHcSafEvZ8DunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/927/?fbclid=IwAR3Utf4UBGo9kIba3QWCiSGFd1XK7kI9m0gEonq9T6Nzq7WRoWnTfcRiTxADunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/927/?fbclid=IwAR3VcyQl9Iv6O6erLlYtZcDbkBlFSt0ZbxjuQ3uDJGpiniHNLg5ycF3mlNYDunodGuillaume DecondePsychologie cognitive - Sciences sociales - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/la-laideur-se-vend-mal/GallimardGrégory LothLa laideur se vend mal -1100:00:580
/livres/lauto-qui-nexistait-pas/?fbclid=IwAR2QzF4r3XcES60mkLCc4-AkOxYda-n4NuqBqq17VIXOJNKLPsA_0GuvT_QDunodGrégory LothL'auto qui n'existait pas - management, Projets - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/lauto-qui-nexistait-pas/?fbclid=IwAR3dEm39fguF3EcBLtvJNo2TDN2IwmEpmedG1gFa3vfIzXyjsQcxDy0QtTUDunodGrégory LothL'auto qui n'existait pas - management, Projets - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/lauto-qui-nexistait-pas/?fbclid=IwAR3rQaUDfSI1rMjItSwvhSdr6Oc9mb9cA7HDW7Y8Tbcy5hFziuzbX56v7kUDunodGrégory LothL'auto qui n'existait pas - management, Projets - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/penser-la-communication/?fbclid=IwAR1m0v698q_G7c1i3NjGll5XRR5jpnHAFL8KCCcPVVWIkJQgG6UQp4d3kxYGrégory LothPENSER LA COMMUNICATION - management - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/penser-la-communication/?fbclid=IwAR3W4A1lpDSgXvtM0OALiVGQ05RpwT1XkzlcUE2jIQ2st8jliwDjS3aLFpcGrégory LothPENSER LA COMMUNICATION - management - Mesurer l'expérience utilisateur - UX Metric1100:00:001
/livres/psychologie-experimentale/Guillaume DecondePsychologie expérimentale -1100:02:031
/livres/psychologie-sociale/Presses Universitaires de FranceGrégory LothPsychologie sociale -1100:00:001
/livres/statistiques-en-sciences-humaines-avec-r/de BoeckGuillaume DecondeStatistiques en sciences humaines avec R -1100:00:001

Il nous faudra ensuite utiliser les tableaux croisés dynamiques d’Excel ou les tables Pivot de Google Sheet pour finaliser notre étude et obtenir les graphiques ci-dessous.

Rappel de nos interrogations et éléments de réponse

Qui des deux auteurs du site proposent les livres les plus lus ?

Quel est l’éditeur qui obtient le plus de visibilité par le biais des fiches livre ?

 

Nous avons ici présenté cet outil très puissant à travers un exemple simple de préparation et consolidation de données. Il est également possible de l’utiliser pour augmenter la connaissance client  en réconciliant les données de parcours d’un utilisateur enregistrées dans un outils de web Analytics avec les données CRM (dans la mesure ou les deux jeux de données disposent d’une clés commune). Dans ce contexte, il est nécessaire d’interroger une API dans le but d’obtenir un flux de données, en jSon par exemple, et d’utiliser les composants GREL pour parcourir les flux d’une façon similaire à celle employée pour parcourir les codes HTML.

Quoiqu’il en soit, les possibilités de traitements de données sont vastes et les capacités de l’outil également. Open Refine est en perpétuelle évolution depuis 2010. Il compte quelques extensions pour étendre ses fonctionnalités et une API pour automatiser bon nombre d’opérations.

A propos de Grégory Loth 12 Articles
Je dispose d'une expérience professionnelle de plus de 20 ans dans le digital au sein d'agences, d'ESN ou d'annonceurs, et depuis les 10 dernières en tant que consultant digital, expert en performance. J'ai un cursus écoles de commerce sur les thématiques "Manager de la stratégie de la performance commerciale" et "Stratégie d'entreprise - management de transition", je souhaite, sur UX Metric, partager mes connaissances au plus grand nombre en simplifiant la complexité de l'univers marketing.