La data science pour le SEO et le marketing digital: un guide pour les débutants

7 décembre 2021 - 39  min de lecture - par Elias Dabbas
Accueil > SEO Technique > Data Science pour le SEO et le marketing digital

Comme la plupart de nos travaux tournent autour des données et que le domaine de la data science prend de l’ampleur et devient beaucoup plus accessible aux débutants, j’aimerais partager quelques réflexions sur la façon dont vous pourriez vous lancer dans ce domaine pour augmenter vos compétences en SEO et en marketing en général.

Qu’est-ce que la data science ?

Le diagramme de Venn de Drew Conway est très connu pour donner une vue d’ensemble de ce domaine. Il montre que la data science est à l’intersection des statistiques, du piratage informatique (compétences avancées en programmation en général, et pas nécessairement la pénétration de réseaux et le fait de causer des dommages), et de l’expertise substantielle ou « connaissance du domaine » :


Source: oreilly.com

Lorsque j’ai commencé à apprendre, j’ai rapidement réalisé que c’est exactement ce que nous faisons déjà. La seule différence est que je le faisais avec des outils plus basiques et manuels.
Si vous regardez le schéma, vous verrez facilement comment vous faites probablement déjà cela. Vous utilisez un ordinateur (compétences en piratage), pour analyser des données (statistiques), pour résoudre un problème pratique en utilisant votre expertise de fond en SEO (ou toute autre spécialité sur laquelle vous vous concentrez).
Votre « langage de programmation » actuel est probablement un tableur (Excel, Google Sheets, etc.), et vous utilisez très probablement Powerpoint ou un outil similaire pour communiquer vos idées. Développons un peu ces éléments.

  • Connaissance du domaine : Commençons par votre principal atout, puisque vous connaissez déjà votre domaine d’expertise. Gardez à l’esprit qu’il s’agit d’une partie essentielle du métier de data scientist, et c’est là que vous pouvez vous appuyer sur vos connaissances et les protéger. Il y a quelques mois, je discutais de l’analyse d’un ensemble de données crawlé avec un de mes amis. C’est un physicien qui fait des recherches post-doctorales sur les ordinateurs quantiques. Ses connaissances et ses compétences en mathématiques et en statistiques dépassent largement les miennes, et il sait vraiment comment analyser les données bien mieux que moi. Un seul problème. Il ne savait pas ce qu’était un « 404 » (ou pourquoi nous devrions nous intéresser à un « 301 »). Ainsi, malgré toutes ses connaissances en mathématiques, il n’était pas en mesure de donner un sens à la colonne « status » de l’ensemble de données de crawl. Naturellement, il ne savait pas quoi faire de ces données, à qui s’adresser et quelles stratégies élaborer en fonction de ces codes de statut (ou s’il fallait chercher ailleurs). Vous et moi savons ce qu’il faut en faire, ou du moins nous savons où chercher si nous voulons creuser davantage.
  • Maths et statistiques : Si vous utilisez Excel pour obtenir la moyenne d’un échantillon de données, vous utilisez des statistiques. La moyenne est une statistique qui décrit un certain aspect d’un échantillon de données. Des statistiques plus avancées vous aideront à comprendre vos données. C’est également essentiel, et je ne suis pas un expert dans ce domaine. Plus vous êtes familier avec les distributions statistiques, plus vous avez d’idées sur la façon d’analyser les données. Plus vous connaissez de sujets fondamentaux, plus vous serez à même de formuler vos hypothèses et de faire des déclarations précises sur vos ensembles de données.
  • Compétences en programmation : J’en parlerai plus en détails ci-dessous, mais c’est surtout là que vous gagnez la flexibilité nécessaire pour dire à l’ordinateur de faire exactement ce que vous voulez qu’il fasse, au lieu d’être bloqué avec des outils faciles à utiliser mais légèrement restrictifs. C’est votre principal moyen d’obtenir, de remodeler et de nettoyer vos données, comme vous le souhaitez, ce qui vous permet d’avoir des « conversations » ouvertes et flexibles avec vos données.

Voyons maintenant ce que nous faisons habituellement en data science.

Le cycle de la data science

Un projet ou une tâche typique de data science ressemble généralement à quelque chose comme ceci :


Source: r4ds.had.co.nz

Je recommande vivement la lecture de ce livre de Hadley Wickham et Garrett Grolemund, qui constitue une excellente introduction à la science des données. Il est écrit avec des exemples tirés du langage de programmation R, mais les concepts et le code peuvent être facilement compris si vous ne connaissez que Python.

Comme vous pouvez le voir dans le diagramme, nous devons d’abord importer nos données d’une manière ou d’une autre, les mettre en ordre, puis commencer à travailler sur le cycle interne de transformation, de visualisation et de modélisation. Enfin, nous communiquons les résultats aux autres.
Ces étapes peuvent être extrêmement simples ou très complexes. Par exemple, l’étape « Importer » peut être aussi simple que la lecture d’un fichier CSV, et dans certains cas, elle peut consister en un projet de scraping web très compliqué pour obtenir les données. Plusieurs des éléments du processus sont des spécialités à part entière.

Nous pouvons facilement faire correspondre ce processus à certains processus familiers que nous connaissons. Par exemple, vous pouvez commencer par obtenir des métadonnées sur un site Web, en téléchargeant son fichier robots.txt et ses sitemap(s) XML. Vous pourriez ensuite crawler et éventuellement obtenir des données sur les positions dans les SERPs, ou des données sur les liens, par exemple. Maintenant que vous disposez de quelques ensembles de données, vous souhaitez probablement fusionner certains tableaux, imputer des données supplémentaires et commencer à explorer/comprendre. La visualisation des données peut révéler des modèles cachés, vous aider à comprendre ce qui se passe ou soulever d’autres questions. Vous souhaitez probablement aussi modéliser vos données à l’aide de statistiques de base ou de modèles de machine learning, en espérant en tirer des enseignements. Bien entendu, vous devez communiquer les résultats et les questions aux autres parties prenantes du projet.
Une fois que vous êtes suffisamment familiarisé avec les différents outils disponibles pour chacun de ces processus, vous pouvez commencer à construire vos propres pipelines personnalisés qui sont spécifiques à un certain site Web, parce que chaque entreprise est unique, et a un ensemble spécial d’exigences. Vous finirez par trouver des modèles et vous n’aurez plus à refaire tout le travail pour des projets/sites Web similaires.

Il existe de nombreux outils et bibliothèques disponibles pour chaque élément de ce processus et il peut être assez difficile de choisir l’outil qui vous convient (et d’investir votre temps dans son apprentissage). Jetons un coup d’œil à une approche possible que je trouve utile pour choisir les outils que j’utilise.

Choix des outils et compromis (3 façons de manger une pizza)

Devriez-vous utiliser Excel pour votre travail quotidien de traitement des données, ou vaut-il la peine d’apprendre Python ?
Vaut-il mieux visualiser avec quelque chose comme Power BI, ou faut-il investir dans l’apprentissage de la grammaire des graphiques et apprendre à utiliser les bibliothèques qui la mettent en œuvre ?
Produiriez-vous un meilleur travail en créant vos propres tableaux de bord interactifs avec R ou Python, ou devriez-vous vous contenter de Google Data Studio ?

Explorons d’abord les compromis que suppose le choix de divers outils à différents niveaux d’abstraction. Voici un extrait de mon livre sur la création de tableaux de bord interactifs et d’applications de données avec Plotly et Dash, et je trouve cette approche utile :

Considérez trois approches différentes pour manger une pizza :

  • L’approche par la commande : Vous appelez un restaurant et commandez votre pizza. Elle arrive devant votre porte en une demi-heure, et vous commencez à manger.
  • L’approche du supermarché : Vous allez au supermarché, achetez la pâte, le fromage, les légumes et tous les autres ingrédients. Vous faites ensuite la pizza vous-même.
  • La méthode de la ferme : Vous faites pousser des tomates dans votre jardin. Vous élevez des vaches, les trayez et transformez le lait en fromage, et ainsi de suite.

Lorsque nous passons à des interfaces de plus haut niveau, vers l’approche de la commande, la quantité de connaissances requises diminue considérablement. Quelqu’un d’autre assume la responsabilité, et la qualité est contrôlée par les forces du marché que sont la réputation et la concurrence.

Le prix à payer pour cela est une diminution de la liberté et des options. Chaque restaurant propose un ensemble d’options parmi lesquelles vous devez choisir.

En descendant aux niveaux inférieurs, la quantité de connaissances requises augmente, nous devons gérer une plus grande complexité, nous sommes plus responsables des résultats et cela prend beaucoup plus de temps. Ce que nous gagnons ici, c’est beaucoup plus de liberté et de pouvoir pour personnaliser nos résultats comme nous le voulons. Le coût est également un avantage majeur, mais uniquement à une échelle suffisamment grande. Si vous ne voulez manger une pizza qu’aujourd’hui, il est probablement moins cher de la commander. Mais si vous prévoyez d’en manger une tous les jours, vous pouvez vous attendre à des économies importantes si vous la faites vous-même.

C’est le genre de choix que vous devrez faire lorsque vous choisirez les outils à utiliser et à apprendre. L’utilisation d’un langage de programmation comme R ou Python demande beaucoup plus de travail et est plus difficile qu’Excel, avec l’avantage de vous rendre beaucoup plus productif et puissant.

Le choix est également important pour chaque outil ou processus. Par exemple, vous pouvez utiliser un crawler de haut niveau et facile à utiliser pour collecter des données sur un site web, et pourtant vous pouvez préférer utiliser un langage de programmation pour visualiser les données, avec toutes les options disponibles. Le choix du bon outil pour le bon processus dépend de vos besoins et le compromis décrit ci-dessus peut, nous l’espérons, vous aider à faire ce choix. Cela permet également de répondre à la question de savoir si (ou combien) de Python ou de R vous souhaitez apprendre.

Poussons un peu plus loin cette question et voyons pourquoi apprendre Python pour le SEO n’est peut-être pas le bon mot-clé.

Pourquoi « Python pour SEO » est trompeur ?

Voulez-vous devenir un grand blogueur ou voulez-vous apprendre WordPress ?
Voulez-vous devenir un graphiste ou votre objectif est-il d’apprendre Photoshop ?
Souhaitez-vous donner un coup de fouet à votre carrière SEO en faisant passer vos compétences en matière de données au niveau supérieur, ou voulez-vous apprendre Python ?

Dans les cinq premières minutes de la première conférence du cours d’informatique du MIT, le professeur Harold Abelson ouvre le cours en expliquant aux étudiants pourquoi « informatique » est un si mauvais nom pour la discipline qu’ils sont sur le point d’apprendre. Je pense qu’il est très intéressant de regarder les cinq premières minutes de ce cours :

Lorsqu’un domaine vient de démarrer et que vous ne le comprenez pas vraiment, il est très facile de confondre l’essence de ce que vous faites avec les outils que vous utilisez. – Harold Abelson

Nous essayons d’améliorer notre présence en ligne et nos résultats, et une grande partie de ce que nous faisons est basée sur la compréhension, la visualisation, la manipulation et le traitement des données en général, et c’est là notre objectif, quel que soit l’outil utilisé. La science des données est le domaine qui dispose des cadres intellectuels nécessaires à cet effet, ainsi que de nombreux outils pour mettre en œuvre ce que nous voulons faire. Python est peut-être votre langage de programmation (outil) de prédilection, et il est certainement important de bien l’apprendre. Il est tout aussi important, sinon plus, de se concentrer sur « l’essence de ce que vous faites », le traitement et l’analyse des données, dans notre cas.
L’accent doit être mis sur les processus évoqués ci-dessus (importation, classement, visualisation, etc.), plutôt que sur le langage de programmation choisi. ), plutôt que sur le langage de programmation choisi. Ou mieux encore, sur la façon d’utiliser ce langage de programmation pour accomplir vos tâches, plutôt que d’apprendre simplement un langage de programmation.

Qui se soucie de toutes ces distinctions théoriques si je dois apprendre Python de toute façon ?

Voyons ce qui pourrait se passer si vous vous concentrez sur l’apprentissage de l’outil, plutôt que sur l’essence de ce que vous faites. Ici, nous comparons la recherche de « learn wordpress » (l’outil) à celle de « learn blogging » (la chose que nous voulons faire) :

Le diagramme montre les sujets possibles dans le cadre d’un livre ou d’un cours qui traite du mot-clé en haut. La zone d’intersection au milieu montre les sujets qui pourraient être abordés dans les deux types de cours/livres.

Si vous vous concentrez sur l’outil, vous finirez sans doute par devoir apprendre des choses dont vous n’avez pas vraiment besoin, surtout en tant que débutant. Ces sujets risquent de vous déconcerter et de vous frustrer, surtout si vous n’avez pas de connaissances techniques ou de programmation.

Vous apprendrez également des choses utiles pour devenir un bon blogueur (les sujets de la zone d’intersection). Ces sujets sont extrêmement faciles à enseigner (comment créer un billet de blog), mais ne vous disent pas grand-chose sur la raison pour laquelle vous devriez bloguer, quand et sur quoi. Ce n’est pas un défaut dans un livre axé sur les outils, car lorsqu’on se familiarise avec un outil, il suffit d’apprendre à créer un billet de blog et de passer à autre chose.
En tant que blogueur, vous êtes probablement plus intéressé par le quoi et le pourquoi du blogging, et cela ne serait pas couvert par des livres axés sur les outils.
De toute évidence, les aspects stratégiques et importants tels que le SEO, la recherche d’un créneau, etc., ne seront pas abordés.

Quels sont les sujets de data science que vous n’apprendrez probablement pas dans un livre de programmation ?

Comme nous l’avons vu, choisir un livre sur Python ou sur la programmation signifie probablement que vous souhaitez devenir ingénieur en logiciel. Les thèmes abordés seront naturellement orientés dans ce sens. Si vous recherchez un livre sur la science des données, vous obtiendrez des sujets et des outils davantage axés sur l’analyse des données.

Nous pouvons utiliser le premier diagramme (montrant le cycle de la Data Science) comme guide, et rechercher de manière proactive ces sujets : « importer des données avec python », « trier des données avec r », « visualiser des données avec python », etc. Jetons un coup d’œil plus approfondi à ces sujets et explorons-les davantage :

Import

Nous devons naturellement commencer par obtenir des données. Cela peut être :

  • Un fichier sur notre ordinateur : Le cas le plus simple où vous ouvrez simplement le fichier avec le langage de programmation de votre choix. Il est important de noter qu’il existe de nombreux formats de fichiers différents, et que vous disposez de nombreuses options pour ouvrir/lire les fichiers. Par exemple, la fonction read_csv de la bibliothèque pandas (un outil essentiel de manipulation des données en Python) dispose de cinquante options parmi lesquelles choisir pour ouvrir le fichier. Il s’agit notamment du chemin d’accès au fichier, des colonnes à choisir, du nombre de lignes à ouvrir, de l’interprétation des objets de type date, de la façon de traiter les valeurs manquantes, etc. Il est important de se familiariser avec ces options et les différentes considérations à prendre en compte lors de l’ouverture de différents formats de fichiers. En outre, pandas dispose de dix-neuf fonctions différentes commençant par read_ pour différents formats de fichiers et de données.
  • Exportation à partir d’un outil en ligne : Vous êtes probablement familier avec cela, et ici vous pouvez personnaliser vos données et ensuite les exporter, après quoi vous les ouvrirez comme un fichier sur votre ordinateur.
  • Appels API pour obtenir des données spécifiques : Ceci est à un niveau inférieur, et plus proche de l’approche de la ferme mentionnée ci-dessus. Dans ce cas, vous envoyez une demande avec des exigences spécifiques et vous obtenez en retour les données que vous souhaitez. L’avantage ici est que vous pouvez personnaliser exactement ce que vous voulez obtenir, et le formater d’une manière qui pourrait ne pas être disponible dans l’interface en ligne. Par exemple, dans Google Analytics, vous pouvez ajouter une dimension secondaire à un tableau que vous analysez, mais vous ne pouvez pas en ajouter une troisième. Vous êtes également limité par le nombre de lignes que vous pouvez exporter. L’API vous offre une plus grande flexibilité et vous pouvez également automatiser certains appels qui se produisent périodiquement, dans le cadre d’un pipeline de collecte/analyse de données plus large.
  • Crawling et scraping de données : Vous avez probablement votre crawler préféré et vous connaissez bien le processus. Il s’agit déjà d’un processus flexible, qui nous permet d’extraire des éléments personnalisés des pages, de ne crawler que certaines pages, etc.
  • Une combinaison de méthodes impliquant l’automatisation, l’extraction personnalisée, et éventuellement le machine learning pour des utilisations spéciales.

Une fois que nous avons des données, nous voulons passer au niveau suivant.

Ordonner

Un jeu de données « ordonné » est un jeu de données organisé d’une certaine manière. On parle également de données « long format ». Le chapitre 12 du livre R for Data Science aborde le concept de données ordonnées de manière plus détaillée si cela vous intéresse.
Jetez un coup d’œil aux trois tableaux ci-dessous et essayez de trouver des différences :

Exemples de tableaux provenant du tidyr.

Vous constaterez que les trois tableaux contiennent exactement les mêmes informations, mais organisées et présentées de différentes manières. Nous pouvons avoir les cas et la population dans deux colonnes séparées (tableau 1), ou avoir une colonne pour nous dire quelle est l’observation (cas ou population), et une colonne « count » pour compter ces cas (tableau 2). Dans le tableau 3, ils sont présentés sous forme de taux.

Lorsque vous traitez des données, vous vous apercevrez que les différentes sources organisent les données différemment et que vous devrez souvent passer de/à certains formats pour améliorer et faciliter l’analyse. Il est crucial de se familiariser avec ces opérations de nettoyage, et le paquet tidyr de R contient des outils spéciaux à cet effet. Vous pouvez également utiliser pandas si vous préférez Python, et vous pouvez consulter les fonctions melt et pivot que nos données sont dans un certain format, nous pouvons souhaiter les manipuler davantage.

Transformer

Une autre compétence cruciale à développer est la capacité à apporter les modifications que vous souhaitez aux données avec lesquelles vous travaillez. Le scénario idéal est d’atteindre le stade où vous pouvez avoir des conversations avec vos données, et être capable de les découper comme vous le souhaitez pour poser des questions très spécifiques et, espérons-le, obtenir des informations intéressantes. Voici quelques-unes des tâches de transformation les plus importantes dont vous aurez probablement souvent besoin, avec quelques exemples de tâches qui pourraient vous intéresser :

Après avoir récupéré, trié et mis nos données dans le format souhaité, il est bon de les visualiser.

Visualiser

La visualisation des données est un sujet vaste, et il existe des livres entiers sur certains de ses sous-thèmes. C’est l’une des choses qui peut fournir beaucoup d’informations sur nos données, notamment parce qu’elle utilise des éléments visuels intuitifs pour communiquer des informations. La hauteur relative des barres dans un diagramme à barres nous indique immédiatement leur quantité relative, par exemple. L’intensité de la couleur, l’emplacement relatif et de nombreux autres attributs visuels sont facilement reconnaissables et compris par les lecteurs.
Un bon graphique vaut mille mots (clés) !

Comme il y a de nombreux sujets à aborder sur la visualisation des données, je vais simplement partager quelques exemples qui pourraient être intéressants. Plusieurs d’entre eux constituent les éléments de base de ce tableau de bord de données sur la pauvreté, si vous voulez en connaître tous les détails.

Un simple diagramme à barres est parfois tout ce dont vous avez besoin pour comparer des valeurs, les barres pouvant être affichées verticalement ou horizontalement :

Vous pourriez être intéressé par l’exploration de certains pays, et creuser plus profondément, en voyant comment ils ont progressé sur certaines métriques. Dans ce cas, vous pourriez vouloir afficher plusieurs diagrammes à barres dans le même graphique :

La comparaison de plusieurs valeurs pour plusieurs observations peut également se faire en plaçant plusieurs barres dans chaque position de l’axe des X, voici les principales façons de le faire :

Choix de la couleur et des échelles de couleur : Une partie essentielle de la visualisation des données, et quelque chose qui peut communiquer des informations extrêmement efficacement et intuitivement si cela est fait correctement.

Échelles de couleurs catégorielles : Utile pour exprimer des données catégoriques. Comme son nom l’indique, il s’agit du type de données qui indique à quelle catégorie appartient une certaine observation. Dans ce cas, nous voulons des couleurs aussi distinctes que possible les unes des autres pour montrer des différences claires entre les catégories (surtout pour les éléments visuels qui sont affichés les uns à côté des autres).
L’exemple suivant utilise une échelle de couleurs catégorique pour montrer quel système de gouvernement est mis en œuvre dans chaque pays. Il est assez facile de relier les couleurs des pays à la légende qui montre quel système de gouvernement est utilisé. Cette carte est également appelée carte choroplèthe :


Source: Wikipedia

Parfois, les données que nous voulons visualiser concernent la même métrique, et chaque pays (ou tout autre type d’observation) se situe à un certain point d’un continuum compris entre les points minimum et maximum. En d’autres termes, nous voulons visualiser les degrés de cette métrique.
Dans ces cas, nous devons trouver une échelle de couleurs continue (ou séquentielle). Dans l’exemple suivant, on voit immédiatement quels sont les pays les plus bleus (et donc les plus fréquentés), et on peut intuitivement comprendre les différences nuancées entre les pays.

Vos données peuvent être continues (comme le graphique de la carte du trafic ci-dessus), mais l’élément important des chiffres peut être leur divergence à partir d’un certain point. Les échelles de couleurs divergentes sont utiles dans ce cas.

Le graphique ci-dessous montre les taux de croissance nette de la population. Dans ce cas, il est intéressant de savoir d’abord si un certain pays a un taux de croissance positif ou négatif. Ou bien, nous voulons savoir à quelle distance de zéro chaque pays se trouve (et de combien). En jetant un coup d’œil à la carte, nous voyons immédiatement quels sont les pays dont la population augmente et ceux dont la population diminue. La légende nous indique également que le taux positif maximum est de 3,5% et que le taux négatif maximum est de -0,5%. Cela nous donne également une indication sur la fourchette des valeurs (positives et négatives).


Source : Dashboardom.com

Malheureusement, les couleurs choisies pour cette échelle ne sont pas idéales, car les daltoniens pourraient ne pas être en mesure de distinguer correctement le rouge du vert. Il s’agit d’une considération très importante lors du choix de nos échelles de couleurs.

Le nuage de points est l’un des types de graphiques les plus utilisés et les plus polyvalents. La position des points (ou de tout autre marqueur) transmet la quantité que nous essayons de communiquer. En plus de la position, nous pouvons utiliser plusieurs autres attributs visuels comme la couleur, la taille et la forme pour communiquer encore plus d’informations. L’exemple suivant montre le pourcentage de la population vivant avec 1,9 $/jour, que nous pouvons clairement voir comme la distance horizontale des points.
Nous pouvons également ajouter une nouvelle dimension à notre graphique en utilisant la couleur. Cela correspond à la visualisation d’une troisième colonne du même ensemble de données, qui dans ce cas montre les données de population.
Nous pouvons maintenant voir que le cas le plus extrême en termes de population (les États-Unis), est très bas sur la métrique du niveau de pauvreté. Cela ajoute de la richesse à nos graphiques. Nous aurions également pu utiliser la taille et la forme pour visualiser encore plus de colonnes de notre ensemble de données. Nous devons cependant trouver un bon équilibre entre la richesse et la lisibilité.

Nous pourrions être intéressés à vérifier s’il existe une relation entre la population et les niveaux de pauvreté, et nous pouvons donc visualiser le même ensemble de données d’une manière légèrement différente pour voir si une telle relation existe :

Nous avons une valeur aberrante dans la population, à environ 1,35 milliard, ce qui signifie que nous avons beaucoup d’espace blanc dans le graphique, ce qui signifie également que de nombreuses valeurs sont comprimées dans une zone très réduite. Nous avons également de nombreux points qui se chevauchent, ce qui rend très difficile la détection des différences ou des tendances.
Le graphique suivant contient les mêmes informations, mais visualisées différemment à l’aide de deux techniques :

  1. L’échelle logarithmique : Nous voyons généralement les données sur une échelle additive. En d’autres termes, chaque point sur l’axe (X ou Y) représente une addition d’une certaine quantité des données visualisées. Nous pouvons également avoir des échelles multiplicatives, auquel cas pour chaque nouveau point sur l’axe des X nous multiplions (par dix dans cet exemple). Cela permet d’étaler les points et de penser à des multiples plutôt qu’à des additions, comme dans le graphique précédent.
  2. Utilisation d’un marqueur différent (cercles vides plus grands) : Le choix d’une forme différente pour nos marqueurs a permis de résoudre le problème du « surtraçage », qui consiste à superposer plusieurs points au même endroit, ce qui rend très difficile de voir combien de points nous avons.

Nous pouvons maintenant voir qu’il existe un groupe de pays autour de la marque des 10 millions, ainsi que d’autres groupes plus petits.

Comme je l’ai mentionné, il existe de nombreux autres types de graphiques et d’options de visualisation, et des livres entiers ont été écrits sur le sujet. J’espère que cela vous donnera quelques idées intéressantes à expérimenter.

Modeliser

Nous devons simplifier nos données, et trouver des modèles, faire des prédictions, ou simplement mieux les comprendre. Il s’agit là d’un autre vaste sujet, qui peut aller de la simple obtention de statistiques sommaires (moyenne, médiane, écart type, etc.) à la modélisation visuelle de nos données, en passant par l’utilisation d’un modèle qui résume ou trouve une tendance, ou encore l’utilisation de techniques plus complexes pour obtenir une formule mathématique pour nos données. Nous pouvons également utiliser le machine learning pour nous aider à découvrir plus d’informations dans nos données.
Encore une fois, il ne s’agit pas d’une discussion complète sur le sujet, mais j’aimerais partager quelques exemples où vous pourriez utiliser certaines techniques de machine learning pour vous aider.

Dans un ensemble de données crawlées, j’essayais d’en savoir un peu plus sur les pages 404, et si je pouvais découvrir quelque chose à leur sujet. Ma première tentative a été de vérifier s’il y avait une corrélation entre la taille de la page et son code d’état, et il y en avait une – une corrélation presque parfaite !
Je me suis senti comme un génie, pendant quelques minutes, puis je suis rapidement revenu sur Terre.
Les pages 404 se situaient toutes dans une fourchette très étroite de taille de page : presque toutes les pages d’un certain nombre de kilo-octets avaient un code d’état 404. J’ai alors réalisé que, par définition, les pages 404 n’ont pas d’autre contenu que « page d’erreur 404 » ! Et c’est pourquoi elles avaient la même taille.

J’ai alors décidé de vérifier si le contenu pouvait me renseigner sur le code d’état, j’ai donc divisé les URL en leurs éléments et j’ai exécuté un classificateur à arbre de décision à l’aide de sklearn. Il s’agit essentiellement d’une technique qui produit un arbre de décision, dont les règles peuvent nous permettre d’apprendre comment trouver notre cible, les pages 404 dans ce cas.
Dans l’arbre de décision suivant, la première ligne de chaque case indique la règle à suivre ou à vérifier, la ligne « samples » est le nombre d’observations trouvées dans cette case, et la ligne « class » nous indique la classe de l’observation actuelle, dans ce cas, si son code d’état est 200 ou 404.
Je ne vais pas entrer dans plus de détails, et je sais que l’arbre de décision peut ne pas être clair si vous n’y êtes pas familier, et vous pouvez explorer l’ensemble de données brutes de crawl et l’analyse de code si vous êtes intéressé.
En gros, ce que l’arbre de décision a découvert, c’est comment trouver presque toutes les pages 404, en utilisant la structure de répertoire des URLs. Comme vous pouvez le voir, nous avons trouvé 3 617 URLs, simplement en vérifiant si le deuxième répertoire de l’URL était ou non « /dev/ » (première case bleu clair dans la deuxième ligne en partant du haut). Nous savons donc maintenant comment localiser nos 404, et il semble qu’elles se trouvent presque tous dans la section « /dev/ » du site. C’est un gain de temps considérable. Imaginez passer manuellement en revue toutes les structures et combinaisons d’URLs possibles pour trouver cette règle.
Nous ne connaissons pas encore tous les tenants et aboutissants de ce phénomène, qui peut être approfondi, mais au moins, nous avons maintenant localisé très facilement ces URLs.

Une autre technique qui pourrait vous intéresser est le KMeans clustering, qui regroupe les points de données en divers groupes/clusters. Il s’agit d’une technique d' »apprentissage non supervisé », où l’algorithme nous aide à découvrir des modèles dont nous ignorions l’existence.

Imaginez que vous ayez un tas de chiffres, disons la population de pays, et que vous vouliez les regrouper en deux groupes, grand et petit. Comment feriez-vous ? Où traceriez-vous la ligne ?
Il ne s’agit pas d’obtenir les dix premiers pays, ou les X % de pays les plus importants. Ce serait très facile, nous pouvons trier les pays par population, et obtenir les X premiers pays que nous voulons.
Ce que nous voulons, c’est les regrouper comme « grands » et « petits » par rapport à cet ensemble de données, et en supposant que nous ne savons rien sur les populations des pays.
On peut aller plus loin et essayer de regrouper les pays en trois catégories : petits, moyens et grands. Cela devient beaucoup plus difficile à faire manuellement, si nous voulons cinq, six, ou plus de groupes.
Notez que nous ne savons pas combien de pays se retrouveront dans chaque groupe, puisque nous ne demandons pas les X premiers pays. En groupant en deux groupes, nous pouvons voir que nous n’avons que deux pays dans le grand groupe : la Chine et l’Inde. Cela a un sens intuitif, car ces deux pays ont une population moyenne très éloignée de tous les autres pays. Ce groupe de pays a sa propre moyenne et ses pays sont plus proches les uns des autres que les pays de l’autre groupe :

Les pays regroupés en deux groupes selon leur population

Le troisième plus grand pays en termes de population (USA ~330M) a été regroupé avec tous les autres, y compris les pays qui ont une population d’un million d’habitants. Cela s’explique par le fait que 330 millions d’habitants est beaucoup plus proche de 1 million que de 1,3 milliard. Si nous avions demandé trois groupes, nous aurions obtenu une image différente :
Les pays regroupés en trois groupes par population

Et voici comment les pays seraient regroupés si nous avions demandé quatre groupes :
Pays regroupés en quatre groupes par population

Source: povertydata.org (“Cluster Countries” tab)

Il s’agissait d’un regroupement utilisant une seule dimension – la population – dans ce cas, et vous pouvez ajouter d’autres dimensions également, et voir où les pays se retrouvent.
Il existe de nombreuses autres techniques et outils, et il ne s’agissait que de quelques exemples qui, nous l’espérons, sont intéressants et pratiques.

Nous sommes maintenant prêts à communiquer nos résultats à notre public.

Communiquer

Après tout le travail effectué au cours des étapes précédentes, nous devons finalement communiquer nos résultats aux autres parties prenantes du projet.
L’un des outils les plus importants en data science est le carnet de notes interactif. Le Jupyter notebook est le plus utilisé et prend en charge pratiquement tous les langages de programmation. Vous préférerez peut-être utiliser le format spécial de carnet de RStudio, qui fonctionne de la même manière.
L’idée principale est de regrouper les données, le code, la narration et les visualisations en un seul endroit, afin que d’autres personnes puissent les vérifier. Il est important de montrer comment vous êtes parvenu à ces conclusions et recommandations pour des raisons de transparence et de reproductibilité. D’autres personnes devraient être en mesure d’exécuter le même code et d’obtenir les mêmes résultats.
Une autre raison importante est la possibilité pour d’autres personnes, y compris le « futur vous », d’approfondir l’analyse et de s’appuyer sur le travail initial que vous avez effectué, de l’améliorer et de le développer de nouvelles façons.
Bien entendu, cela suppose que le public soit à l’aise avec le code et qu’il s’y intéresse !
Vous avez également la possibilité d’exporter vos carnets de notes au format HTML (et à plusieurs autres formats), à l’exclusion du code, afin d’obtenir un rapport convivial, tout en conservant le code complet pour reproduire la même analyse et les mêmes résultats.

Un élément important de la communication est la visualisation des données, qui a également été brièvement abordée ci-dessus.
Mieux encore, la visualisation interactive des données permet à votre public de sélectionner des valeurs et de vérifier diverses combinaisons de graphiques et de mesures pour explorer les données plus en profondeur.
Voici quelques tableaux de bord et data apps (le chargement de certains d’entre eux peut prendre quelques secondes) que j’ai créé pour vous donner une idée de ce qui peut être fait.
Enfin, vous pouvez également créer des applications personnalisées pour vos projets, afin de répondre à des besoins et des exigences spécifiques. Voici une autre série d’applications SEO et de marketing qui pourraient vous intéresser.

Nous avons parcouru les principales étapes du cycle de la data science, et nous allons maintenant explorer un autre avantage de « l’apprentissage de Python ».

Python est destiné à l’automatisation et à la productivité : vrai mais incomplet.

Il me semble qu’il existe une croyance selon laquelle l’apprentissage de Python sert principalement à devenir productif et/ou à automatiser des tâches.
C’est tout à fait vrai, et je ne pense pas que nous ayons besoin de discuter de la valeur de pouvoir faire quelque chose en une fraction du temps qu’il nous faudrait pour le faire manuellement.
L’autre partie manquante de l’argument est l’analyse des données. Une bonne analyse des données nous fournit des informations, et idéalement, nous sommes en mesure de fournir des informations exploitables pour guider notre processus de prise de décision, sur la base de notre expertise et des données dont nous disposons.

Une grande partie de notre travail consiste à essayer de comprendre ce qui se passe, d’analyser la concurrence, de déterminer où se trouve le contenu le plus précieux, de décider de ce qu’il faut faire, et ainsi de suite. Nous sommes des consultants, des conseillers et des décideurs. Pouvoir tirer des enseignements de nos données est clairement un avantage important, et les domaines et compétences mentionnés ici peuvent nous aider à y parvenir.

Et si vous appreniez que vos balises de titre ont une longueur moyenne de soixante caractères, est-ce bien ?
Et si vous creusez un peu plus et découvrez que la moitié de vos titres sont bien en dessous de soixante, tandis que l’autre moitié a beaucoup plus de caractères (ce qui fait que la moyenne est de soixante) ? Pour être plus concret et formuler de bonnes recommandations, vous avez besoin d’une vue à plus haute résolution de la longueur de vos balises de titre, probablement un histogramme qui montre la fréquence des longueurs de vos balises de titre à chaque intervalle afin que vous puissiez avoir une stratégie distincte pour la longueur. Un simple tableau ferait également l’affaire, par exemple :

La division de la longueur des titres par intervalles de vingt était une décision arbitraire, et vous pouvez les diviser comme vous le souhaitez. En regardant le tableau ci-dessus, et en voyant que nous avons trois fois plus de titres que la moyenne dans l’intervalle (0, 20), nous pourrions vouloir le diviser davantage pour mieux comprendre ce qui se passe.
Le fait d’avoir une meilleure vue que les résumés mono-statistiques par défaut que nous fournissent les outils standard nous permet d’employer différentes stratégies pour différentes longueurs. Par exemple, nous pouvons supprimer le nom de la marque des titres qui dépassent un certain nombre de caractères, et le conserver dans les autres titres.
Il s’agit d’un exemple d’observations très simples, qui sont possibles grâce à la flexibilité que nous procure l’utilisation d’un langage de programmation et d’un ensemble d’outils de data science. Cela nous permet également d’itérer et de modifier notre approche, jusqu’à ce que nous trouvions un point satisfaisant qui puisse faire passer notre analyse aux étapes suivantes.

Les compétences en matière de visualisation, de machine learning, de modélisation et de manipulation générale des données nous permettent d’obtenir de meilleures informations sur nos données, même si ces analyses ne sont généralement effectuées qu’une seule fois. Néanmoins, si vous utilisez du code pour obtenir ces informations, vous pouvez toujours en prendre certaines parties et les appliquer à d’autres projets, ou encore au même projet. Dans ce cas, les informations que nous avons obtenues nous ont aidés à automatiser encore plus notre travail. Ces informations nous ont permis de savoir ce qui doit être automatisé et ce qui ne l’est pas.

Devriez-vous apprendre Python ?

C’est une question inutile. La question la plus utile est la suivante : « Quel niveau de Python (ou de R) devriez-vous atteindre ? »

Ma vision de la façon dont nous utilisons les ordinateurs a évolué au cours des dernières années.
J’avais l’habitude de penser qu’il y avait deux façons principales d’utiliser les ordinateurs, soit vous êtes un utilisateur régulier, utilisant des applications « pointer-cliquer » pour effectuer certaines tâches, soit vous êtes un développeur qui crée ces applications que le reste d’entre nous utilise.

J’ai ensuite réalisé qu’il s’agissait plutôt d’un continuum entre une utilisation de très haut niveau (approche de la commande de pizza) et les niveaux inférieurs de l’approche agricole. Je me suis également rendu compte qu’il existe un juste milieu, où vous apprenez suffisamment de programmation pour être productif et renforcer vos compétences en matière d’analyse de données, sans avoir à devenir un développeur de logiciels ou un ingénieur.

Quelles sont les principales différences entre un programmeur (un utilisateur de logiciels) et un développeur de logiciels (ou un ingénieur) ?

Quelles sont les différences entre faire un bon café à la maison et ouvrir et gérer un café ?
Si faire un bon café est une compétence, gérer un café en requiert dix autres, dont la plupart n’ont rien à voir avec la préparation du café.
Vous devez choisir un bon emplacement (immobilier), embaucher des personnes (gestion et RH), gérer les flux de trésorerie et les finances (comptabilité et finances), faire du marketing, des démarches juridiques, gérer la livraison, respecter les normes de propreté et de santé, etc. Vous pouvez être un excellent cafetier sans rien connaître de ces domaines, mais si vous voulez passer au niveau supérieur, vous devrez gérer toutes ces tâches supplémentaires sans rapport avec la préparation du café.
Il en va de même pour être un bon programmeur ou un bon analyste de données par rapport à être un développeur/ingénieur de logiciels. Il y a tellement d’autres choses que vous devez savoir et dont vous devez vous préoccuper et dont vous n’avez pas besoin en tant que programmeur ordinaire faisant des choses pour vous-même, vos collègues et vos clients. Une fois que vous aurez suffisamment de connaissances et de compétences en programmation et en science des données, vous serez en bonne position pour choisir et décider si vous voulez continuer en tant qu’analyste, en vous concentrant sur la science des données, ou si vous voulez finir par créer des logiciels que d’autres personnes utiliseraient.

Comment se lancer dans la Data Science ?

Pour apprendre quelque chose, je pense que vous devez faire deux choses en parallèle :

  1. Apprendre correctement les principes fondamentaux et la théorie : Suivre des cours et lire des livres, et se plonger dans les fondamentaux peut vous faire avancer, car vous allez acquérir en quelques semaines, des connaissances qui ont mis des décennies à s’établir. Cela vous donnera aussi immédiatement des idées sur des choses que vous pensiez impossibles, ou dont vous n’aviez aucune idée de l’existence.
  2. Obtenir autant d’exposition au monde réel et d’expérience que possible : L’expérience est toujours importante, et ma suggestion est d’essayer dès que vous pouvez de lire_csv avec Python ou R, de le faire réellement avec votre ensemble de données GA, GSC, ou crawlé. Voyez ce que vous pouvez faire d’autre (visualiser, manipuler, modéliser, etc.). Voyez si vous obtenez des erreurs, essayez d’analyser les données en utilisant uniquement votre langage de programmation.

À quoi ressemble la frustration, et à quel moment vais-je devenir productif ?

C’est difficile à dire, et cela dépend de vos compétences, de vos antécédents, des heures que vous consacrez à votre travail, mais le fait de visualiser la situation de cette manière pourrait vous aider lors de ces journées frustrantes et improductives :

Ma suggestion est de prendre une tâche non triviale, par exemple faire un audit SEO pour un site, en utilisant uniquement Python. Votre première session sera le plus souvent frustrante, et la plupart du temps sera consacré à vérifier la documentation, et la définition des termes de base.
En parallèle, vous continuerez à suivre votre cours et à apprendre de nouvelles choses.
La valeur de cette session frustrante est qu’elle informe et motive votre apprentissage théorique. Vous aurez des questions en tête, et lorsque vous apprendrez de nouvelles choses, vous aurez immédiatement un endroit pour les mettre en œuvre.
Votre prochaine séance d’analyse sera probablement un peu plus productive, mais toujours pas assez pour être utilisée au travail. Vous retournez à votre apprentissage et à votre théorie.
Faites cela suffisamment de fois, et votre temps deviendra surtout productif, et vous finirez par faire un vrai travail pendant les heures de travail. Le scénario idéal est celui où vous êtes suffisamment productif pour travailler, mais où vous utilisez chaque fois un peu de temps pour rechercher de meilleures techniques, ce qui améliore également votre travail. À ce moment-là, vous commencerez à être payé pour apprendre, et vos clients seront heureux de vous sponsoriser !

Prochaines étapes suggérées

Pour le parcours d’apprentissage, un cours de Data Science serait idéal, surtout si vous obtenez un retour sur votre travail et que vous pouvez suivre les sujets dans l’ordre recommandé.

Si vous optez pour Python, je vous suggère les bibliothèques suivantes :

  • pandas: Le cheval de bataille de toutes vos tâches de préparation, nettoyage, remodelage des données comme vous le souhaitez. La maîtrise de pandas vous permet d’avoir un contrôle total sur vos données, ce qui vous aidera énormément dans la visualisation, l’analyse générale et le machine learning.
  • Plotly et Dash : C’est ma bibliothèque de visualisation de données préférée, bien qu’il y en ait beaucoup d’autres. Ce que j’aime surtout, c’est qu’elle produit par défaut des graphiques HTML interactifs et réactifs. Elle est très détaillée et complète dans ses options, tout en étant simple à utiliser. Plotly comprend également Plotly Express, un outil de traçage de haut niveau, dont l’utilisation est plus intuitive et qui adopte une approche orientée données (par opposition à une approche orientée graphiques). Plotly a également créé Dash, qui est l’outil de création de tableaux de bord interactifs, mais qui sert également de cadre de développement Web frontal complet. D’autres bibliothèques de visualisation de données importantes sont matplotlib, altair et bokeh, et pour les applications de données interactives, il y a panel et streamlit. Une autre caractéristique importante est que Plotly et Dash sont disponibles dans toutes les langues utilisées en Data Science. Vous pouvez utiliser d’autres bibliothèques, et ce n’est que ma préférence personnelle. En parlant de préférences personnelles :
  • advertools : Il s’agit d’une bibliothèque que j’ai créée pour fournir divers outils de marketing en ligne, notamment un crawler SEO, un analyseur et un compresseur de fichiers logs, un analyseur robots.txt multiple, un analyseur de sitemap récursif, un générateur de mots-clés et d’annonces textuelles SEM pour les campagnes à grande échelle, un compteur de mots à fréquence pondérée, un téléchargeur de SERP Google, une API de données YouTube et quelques autres outils. Il est encore en évolution, et vous êtes plus que bienvenu pour contribuer toutes les suggestions, les bugs, ou les problèmes que vous pourriez avoir avec lui.

Ces outils devraient suffire aux débutants, et lorsque vous serez familiarisé avec eux, vous pourrez faire vos propres recherches pour trouver des bibliothèques plus spécialisées, des outils de machine learning et de deep learning, ou des bibliothèques spécialisées dans la performance, ou un cas d’utilisation de niche particulier.

Elias est spécialisé dans le marketing digital et gère depuis plus de dix ans des comptes publicitaires pour des marques de toutes tailles et de tous secteurs. Il est convaincu que la data science est essentielle à la réussite du marketing digital. Il se concentre sur la création d'outils destinés à améliorer la productivité grâce à son Python package, advertools.
Sujets en lien :