Évaluation de la qualité des prédictions de CausalImpact

15 février 2022 - 13  min de lecture - par Jean-Christophe Chouinard
Accueil > SEO Technique > Évaluation des prédictions de CausalImpact

CausalImpact est l’un des packages les plus populaires utilisés dans l’expérimentation SEO. Sa popularité est compréhensible.

L’expérimentation en SEO fournit des informations intéressantes et permet aux spécialistes du référencement de mettre en avant leur travail.

Pourtant, la précision de tout modèle de machine learning dépend des informations d’entrée qui lui sont fournies.

Pour simplifier, une mauvaise entrée peut renvoyer une mauvaise estimation.

Dans cet article, nous allons montrer à quel point CausalImpact peut être fiable (et peu fiable). Nous allons également apprendre comment devenir plus confiant dans les résultats de vos expériences.

Tout d’abord, nous donnerons un bref aperçu du fonctionnement de CausalImpact. Ensuite, nous discuterons de la fiabilité des estimations de CausalImpact. Enfin, nous découvrirons une méthodologie qui peut être utilisée pour estimer les résultats de vos propres expériences SEO.

Qu’est-ce que CausalImpact et comment fonctionne-t-il ?

CausalImpact est un package qui utilise les statistiques bayésiennes pour estimer l’effet d’un événement en l’absence d’une expérience. Cette estimation est appelée inférence causale.

L’inférence causale estime si un changement observé a été causé par un événement spécifique.

Elle est souvent utilisée pour évaluer les performances des expériences SEO.

Par exemple, lorsqu’on lui donne la date d’un événement, CausalImpact (CI) utilise les points de données avant l’intervention pour prédire les points de données après l’intervention. Il comparera ensuite la prédiction aux données observées et estimera la différence avec un certain seuil de confiance.

De plus, des groupes de contrôle peuvent être utilisés pour rendre les prédictions plus précises.

Différents paramètres auront également un impact sur la précision de la prédiction :

  • Taille des données d’essai.
  • Durée de la période précédant l’expérience.
  • Choix du groupe de contrôle auquel il faut se comparer.
  • Hyperparamètres de la saisonnalité.
  • Nombre d’itérations.

Tous ces paramètres contribuent à donner plus de contexte au modèle et à renforcer sa fiabilité.

Pourquoi l’évaluation de l’exactitude des expériences SEO est-elle importante ?

Ces dernières années, j’ai analysé de nombreuses expériences de SEO et quelque chose m’a frappé.

Bien souvent, l’utilisation de groupes de contrôle et de délais différents sur des ensembles de tests et des dates d’intervention identiques a donné des résultats différents.

À titre d’illustration, voici deux résultats provenant du même événement.

Le premier a donné un déclin statistiquement significatif.

La seconde n’était pas statistiquement significative.

En d’autres termes, pour le même événement, des résultats différents ont été obtenus en fonction des paramètres choisis.

On peut se demander quelle prédiction est exacte.

En fin de compte, le terme « statistiquement significatif » n’est-il pas censé renforcer la confiance dans nos estimations ?

Définitions

Pour mieux comprendre le monde des expériences de SEO, le lecteur doit en connaître les concepts de base :

  • Expérience : une procédure entreprise pour tester une hypothèse. Dans le cas de l’inférence causale, elle a une date de début spécifique.
  • Groupe de test : un sous-ensemble de données auquel un changement est appliqué. Il peut s’agir d’un site web entier ou d’une partie du site.
  • Groupe de contrôle : un sous-ensemble de données auquel aucun changement n’a été appliqué. Vous pouvez avoir un ou plusieurs groupes de contrôle. Il peut s’agir d’un site distinct dans le même secteur ou d’une partie différente du même site.

L’exemple ci-dessous permet d’illustrer ces concepts :

La modification du titre (expérience) devrait augmenter le CTR organique de 1% (hypothèse) des pages produits dans cinq villes (groupe test). Les estimations seront améliorées en utilisant un titre inchangé sur toutes les autres villes (groupe de contrôle).

Les piliers d’une prédiction précise des expériences SEO

Pour simplifier, j’ai compilé quelques informations intéressantes pour les professionnels du SEO qui apprennent à améliorer la précision des expériences :

  • Certaines entrées dans CausalImpact renvoient des estimations erronées, même si elles sont statistiquement significatives. C’est ce que nous appelons les « faux positifs » et les « faux négatifs ».
  • Il n’existe pas de règle générale qui régisse le choix du contrôle à utiliser par rapport à un ensemble de tests. Une expérience est nécessaire pour définir les meilleures données de contrôle à utiliser pour un ensemble de tests spécifiques.
  • L’utilisation de CausalImpact avec le bon contrôle et la bonne longueur de données de pré-période peut être très précise, l’erreur moyenne pouvant être de 0,1 %.
  • À l’inverse, l’utilisation de CausalImpact avec le mauvais contrôle peut entraîner un fort taux d’erreur. Des expériences personnelles ont montré des variations statistiquement significatives allant jusqu’à 20%, alors qu’en fait il n’y avait aucun changement.
  • Tout ne peut pas être testé. Certains groupes de contrôle ne renvoient presque jamais d’estimations précises.
  • Les expériences avec ou sans groupe de contrôle nécessitent des données de longueur différente avant l’intervention.

Tous les groupes d’essai ne fourniront pas d’estimations exactes

Certains groupes de test renverront toujours des prédictions inexactes. Ils ne doivent pas être utilisés pour l’expérimentation.

Les groupes de test présentant de grandes variations anormales de trafic renvoient souvent des résultats peu fiables.

Par exemple, au cours de la même année, un site Web a subi une migration de site, a été touché par la pandémie et une partie du site a été « noindexée » pendant 2 semaines en raison d’une erreur technique. Faire des expériences sur ce site donnera des résultats peu fiables.

Les enseignements ci-dessus ont été recueillis grâce à une série de tests approfondis effectués selon la méthodologie décrite ci-dessous.

La non-utilisation de groupes de contrôle

  • L’utilisation d’un contrôle au lieu d’un simple pré-post peut augmenter jusqu’à 18 fois la précision de l’estimation.
  • L’utilisation de 16 mois de données préalables était aussi précise que l’utilisation de 3 ans.

Utilisation de groupes de contrôle

  • L’utilisation du bon contrôle est souvent préférable à l’utilisation de plusieurs contrôles. Cependant, un seul contrôle augmente les risques de prédiction erronée dans les cas où le trafic du contrôle varie beaucoup.
  • Le choix du bon contrôle peut décupler la précision (par exemple, l’un signalant +3,1% et l’autre +4,1% alors qu’il s’agissait en fait de +3%).
  • Les modèles de trafic les plus corrélés entre les données de test et les données de contrôle ne signifient pas nécessairement de meilleures estimations.
  • L’utilisation de 16 mois de données antérieures n’était PAS aussi précise que l’utilisation de 3 ans.

Méfiez-vous de la longueur des données avant les expériences

Il est intéressant de noter que, lors de l’expérimentation de groupes de contrôle, l’utilisation de 16 mois de données antérieures peut entraîner un taux d’erreur très élevé.

En fait, les erreurs peuvent être aussi importantes que l’estimation d’une augmentation de trafic de 3x alors qu’il n’y a eu aucun changement réel.

Cependant, l’utilisation de trois années de données a permis d’éliminer ce taux d’erreur.

Cela contraste avec les expériences simples de pré-post, où le taux d’erreur n’a pas augmenté en faisant passer la durée de 16 à 36 mois.

Cela ne signifie pas que l’utilisation de contrôles est mauvaise. C’est plutôt le contraire.

Cela montre simplement comment l’ajout de contrôles a un impact sur les prédictions.

C’est le cas lorsqu’il y a de grandes variations dans le groupe de contrôle.

Cette remarque est particulièrement importante pour les sites web qui ont connu des variations de trafic anormales au cours de l’année écoulée (erreur technique critique, pandémie COVID, etc.).

Comment évaluer la prédiction de CausalImpact ?

Il n’y a pas de score de précision intégré dans la bibliothèque CausalImpact. Il faut donc le déduire autrement.

On peut regarder comment d’autres modèles de machine learning estiment la précision de leurs prédictions et se rendre compte que la somme des erreurs au carré (Sum of Squares Errors ou SSE) est une mesure très courante.

La somme des erreurs au carré, ou somme résiduelle des carrés, calcule la somme de toutes les (n) différences entre les attentes (yi) et les résultats réels (f(xi)), au carré.

Plus le SSE est faible, meilleur est le résultat.

Le problème est qu’avec les expériences pré-post sur le trafic SEO, il n’y a pas de résultats réels.

Bien qu’aucun changement n’ait été effectué sur le site, certains changements ont pu se produire en dehors de votre contrôle (par exemple, une mise à jour de l’algorithme de Google, un nouveau concurrent, etc.) Le trafic SEO ne varie pas non plus selon un nombre fixe, mais varie progressivement à la hausse et à la baisse.

Les spécialistes du SEO peuvent se demander comment surmonter ce problème.

Présentation des fausses variations

Pour être certain de la taille de la variation causée par un événement, l’expérimentateur peut introduire des variations fixes à différents moments, et voir si CausalImpact a réussi à estimer le changement.

Mieux encore, l’expert en SEO peut répéter le processus pour différents groupes de test et de contrôle.

En utilisant Python, des variations fixes ont été introduites dans les données à différentes dates d’intervention pour la post-période.

La somme des erreurs quadratiques a ensuite été estimée entre la variation rapportée par CausalImpact et la variation introduite.

L’idée est la suivante :

  1. Choisissez un test et des données de contrôle.
  2. Introduisez de fausses interventions dans les données réelles à différentes dates (par exemple, une augmentation de 5 %).
  3. Comparez les estimations de CausalImpact à chacune des variations introduites.
  4. Calculez la somme des erreurs au carré (SSE).
  5. Répétez l’étape 1 avec plusieurs contrôles.
  6. Choisissez le contrôle avec la plus petite SSE pour les expériences du monde réel.

La méthodologie

Avec la méthodologie ci-dessous, j’ai créé un tableau que je peux utiliser pour identifier quel contrôle avait les meilleurs et les pires taux d’erreur à différents moments.

Tout d’abord, choisissez un test et des données de contrôle et introduisez des variations de -50% à 50%.

Ensuite, exécutez CausalImpact (CI) et soustrayez les variations signalées par CI à la variation que vous avez réellement introduite.

Ensuite, calculez les carrés de ces différences et additionnez toutes les valeurs.

Ensuite, répétez le même processus à des dates différentes afin de réduire le risque d’un biais causé par une variation réelle à une date spécifique.

Répétez l’opération avec plusieurs groupes de contrôle.

Enfin, le groupe de contrôle présentant la plus petite somme des erreurs au carré est le meilleur groupe de contrôle à utiliser pour vos données de test.

Si vous répétez chacune des étapes pour chacune de vos données de test, le résultat variera.

Sur le tableau suivant, chaque ligne représente un groupe de contrôle, chaque colonne représente un groupe de test. Les données qu’il contient sont le SSE.

En triant ce tableau, je suis maintenant certain que, pour chacun des groupes tests, je peux sélectionner le meilleur groupe de contrôle pour lui.

Devrions-nous utiliser des groupes de contrôle ou non ?

Il est prouvé que l’utilisation de groupes de contrôle permet d’obtenir de meilleures estimations que le simple pré-post.

Toutefois, cela n’est vrai que si nous choisissons le bon groupe de contrôle.

Quelle doit être la durée de la période d’estimation ?

La réponse à cette question dépend des contrôles que nous choisissons.

Si l’on n’utilise pas de contrôle, 16 mois avant l’expérience semblent suffisants.

Si l’on utilise un contrôle, le fait de n’utiliser que 16 mois peut conduire à des taux d’erreur massifs. L’utilisation de 3 ans permet de réduire le risque d’erreur d’interprétation.

Devons-nous utiliser un ou plusieurs contrôles ?

La réponse à cette question dépend des données d’essai.

Des données de test très stables peuvent donner de bons résultats lorsqu’elles sont comparées à de multiples contrôles. Dans ce cas, c’est une bonne chose car l’utilisation d’un grand nombre de contrôles rend le modèle moins affecté par les fluctuations insoupçonnées de l’un des contrôles.

Sur d’autres ensembles de données, l’utilisation de contrôles multiples peut rendre le modèle 10 à 20 fois moins précis que l’utilisation d’un seul contrôle.

Un travail intéressant dans la communauté SEO

CausalImpact n’est pas la seule bibliothèque qui peut être utilisée pour les tests SEO, et la méthodologie ci-dessus n’est pas non plus la seule solution pour tester son exactitude.

Pour découvrir des solutions alternatives, lisez certains des articles incroyables partagés par des personnes de la communauté SEO.

Tout d’abord, Andrea Volpini a écrit un article intéressant sur la mesure de l’efficacité du SEO en utilisant l’analyse CausalImpact.

Ensuite, Daniel Heredia a couvert Prophet de Facebook pour prévoir le trafic SEO avec Prophet et Python.

Bien que la bibliothèque Prophet soit plus appropriée pour les prévisions que pour les expériences, cela vaut la peine d’apprendre différentes bibliothèques pour bien maîtriser le monde des prévisions.

Enfin, j’ai été très satisfait de la présentation de Sandy Lee à Brighton SEO, où il a partagé ses connaissances de la Data Science pour les tests de SEO et a soulevé certains des pièges des tests de SEO.

Éléments à prendre en compte lors des expériences de SEO

  • Les outils tiers de test fractionné pour le SEO sont excellents, mais ils peuvent aussi être imprécis. Soyez attentif lorsque vous choisissez votre solution.
  • Bien que j’en aie parlé dans le passé, il n’est pas possible de réaliser des expériences de split-testing SEO avec Google Tag Manager, à moins que ce ne soit côté serveur. La meilleure solution est de le déployer via les CDN.
  • Soyez audacieux lorsque vous effectuez des tests. Les petits changements ne sont généralement pas détectés par CausalImpact.
  • Les tests SEO ne devraient pas toujours être votre premier choix.
  • Il existe des alternatives pour tester les petits changements comme les balises de titre. Tests A/B de Google Ads ou tests A/B sur plateforme. Les tests A/B réels sont plus précis que les split-tests SEO et fournissent généralement plus d’informations sur la qualité de vos titres.

Résultats reproductibles

Dans ce tutoriel, je voulais me concentrer sur la façon dont on pouvait améliorer la précision des expériences SEO sans avoir la charge de savoir comment coder. De plus, la source des données peut varier, et chaque site est différent.

Par conséquent, le code Python que j’ai utilisé pour produire ce contenu ne faisait pas partie de la portée de cet article.

Cependant, avec la logique, vous pouvez reproduire les expériences ci-dessus.

Conclusion

Si vous ne deviez retenir qu’une seule chose de cet article, ce serait que l’analyse CausalImpact peut être très précise, mais peut toujours être très éloignée de la réalité.

Il est très important pour les SEOs qui souhaitent utiliser ce logiciel de comprendre à quoi ils ont affaire. Le résultat de mon propre parcours est que je ne ferais pas confiance à CausalImpact sans d’abord tester la précision du modèle sur les données entrées.

Jean-Christophe Chouinard Voir tous ses articles
JC Chouinard est un spécialiste SEO senior chez SEEK. Il se concentre sur le SEO technique et aide la communauté SEO à apprendre Python et le machine learning sur son blog jcchouinard.com.
Sujets en lien :