Stat Wars, Episode VIII: Return of Bayes

Pour un responsable Internet ayant recours à l’A/B testing, le test bayésien présente de nombreux avantages qui supplantent les tests classiques. Décryptage.

La majorité des solutions d’A/B testing se base sur une approche fréquentiste des tests de significativité, moins adaptée au flux continu de données web accessibles en temps réel. Heureusement, une autre méthode statistique existe pour interpréter ces informations plus rapidement et agir en conséquence : l'approche bayésienne, opposant de longue date à l'approche fréquentiste.

La pratique de l’A/B testing est parfois critiquée — à tort — et il n’est pas rare d’entendre les commentaires suivants :

  • « Les gains mesurés lors des tests ne se retrouvent pas après implémentation. »
  • « Certains tests identifient une variation gagnante qui s’avère être moins performante que l’original. »

Ces critiques dérivent toutes du fait que beaucoup d’outils d’A/B testing utilisent une approche fréquentiste des tests de significativité, comme le t-Test ou le z-Test. Ces tests dits « à horizon fixe » sont mal adaptés à de petites tailles d’échantillon et aux habitudes de travail des utilisateurs. Si ces tests ont l’avantage d’être simple à mettre en œuvre, ils présentent aujourd’hui de sérieuses limites :

  • Prévoir à l’avance la taille des échantillons pour chaque variation. Cette taille d’échantillon se calcule avec les informations de performance de la page originale et d’ampleur du gain qu’on veut pouvoir mesurer. Identifier le gain espéré est difficile et se fait souvent « au doigt mouillé », avec une tendance à un comportement conservateur où l’on va vouloir détecter ne serait-ce qu’une légère amélioration. Assez logiquement, cela nécessite un trafic plus important et une durée de test plus longue. Il se peut aussi que la performance d’origine soit mal connue (dans le cas d’une page récente, par exemple). Le calcul de taille d’échantillon doit alors être encore majoré.

  • Impossibilité de prendre une décision avant d’atteindre la fin de l’échantillon prévu. En pratique, la bonne valeur de ces tests n’est pas assurée si elle est calculée avant d’atteindre la taille d’échantillon calculé à l’étape précédente (d’où leur appellation : à horizon fixe). Pour du test A/B, c’est très gênant, car si le gain s’avère être important on aurait aimé prévoir une planification de test plus courte. Mais impossible de le savoir avant car seule la mise en œuvre du test donne l’ordre de grandeur du gain (ou de la perte). 
    Or, nombreux sont les utilisateurs à transgresser cette règle en regardant à de multiples reprises les résultats jusqu’à avoir une fiabilité. D’un point de vue fonctionnel, leur attitude est compréhensible, mais ils s’exposent alors à prendre de mauvaises décisions, basées sur des valeurs fausses.

  • Absence de qualification de la mesure observée du gain. Fondamentalement, ces formules donnent juste une probabilité qu’il existe une différence entre les variations testées, mais ne donnent aucune information sur l’importance ou le sens de cette différence. Malheureusement, beaucoup d’utilisateurs pensent que ces formules attestent de l’ampleur du gain. Ils sont alors déçus quand la variation est implémentée et n’apporte pas les gains espérés.

Ce type de test statistique impose donc une rigidité dans la planification et l’application des tests, qui dans la pratique n’est souvent pas respectée et amène à des déconvenues.

L’approche bayésienne, une alternative plus flexible pour l’A/B testing

S’il revient aux outils d’A/B testing de mettre en garde leurs utilisateurs sur ces risques, force est de constater que ces tests ne sont tout simplement pas adaptés à leurs besoins actuels, en terme d’immédiateté de l’information et de rapidité de prise de décision. Pour rappel, les tests A/B sont utilisés depuis longtemps dans des secteurs, tels que la recherche pharmaceutique, où les autorités légales exigent une taille minimale d’échantillon, ce qui rend inutile toute technique visant à vouloir conclure plus rapidement. L’utilisation des tests à horizon fixe est un héritage d’anciennes pratiques qui ne sont plus pertinentes au regard de la nature mouvante et très dynamique du web et de ses internautes.

C’est pourquoi, les outils d’A/B testing qui visent à démocratiser la pratique se doivent de proposer des méthodes statistiques plus adéquates. Il existe heureusement plusieurs types de tests pour répondre à ces contraintes, comme le test bayésien. Alors pourquoi les solutions, françaises ou étrangères, tardent-elles à passer à ce type de test ?

Plusieurs raisons à cela :
  • Le test bayésien est moins connu des ingénieurs. Chi², Z-Test ou test de Student sont les tests les plus enseignés dans les écoles d’ingénieur, et dont l’usage est le plus répandu. C’est la valeur sûre, la solution pour une gestion en bon père de famille.

  • Ces tests sont très faciles à mettre en œuvre, quelques lignes de code suffisent. Le test bayésien nécessite, quant à lui, plus de connaissances en statistique, une expertise plus poussée et aussi plus de code.

  • L'exécution des tests à horizon fixe est très rapide, alors que le test bayésien requiert bien plus de puissance de calculs. Grâce à l’augmentation de la puissance des ordinateurs ce n’est plus un frein et ces calculs sont maintenant réalisables dans des temps raisonnables.

Pour un responsable Internet ayant recours à l’A/B testing, le test bayésien présente pourtant de nombreux avantages qui supplantent les tests classiques :

  • Il n’est plus nécessaire de prévoir à l’avance le volume de trafic à associer à chaque variation. Ce qui ne signifie pas que le test bayésien a besoin de moins de données pour vous mener à conclure. En revanche, il est prévu pour fournir des informations utilisables tout au long du test, et pas uniquement à la fin comme les autres tests.

  • Il est possible d’arrêter un test dès lors qu’on observe une variation nettement meilleure (ou nettement pire) que l’original. Et d’être donc plus réactif, et de limiter le nombre de visiteurs envoyés vers une variation moins performante. On perdra ainsi moins de conversions !

  • Contrairement aux autres tests, le test bayésien qualifie la mesure observée du gain et fournit des intervalles de confiance pour les performances de chaque variation. Ces intervalles garantissent à 95% la gamme de valeurs possibles du taux de conversion des différentes variations. C’est une mesure extrêmement utile. Voici deux exemples :  

◦  Sur 2 503 visiteurs de la variation A (l’original), 49 ont « converti »,
et sur 2 497 visiteurs de la variation B, 79 ont « converti ».
Le test du Chi², par exemple, et le test bayésien indiquent tous deux une confiance forte (~99%) dans le fait qu'il y a une différence entre ces deux variations. Un calcul naïf des taux de conversions nous donne 49/2503*100= ~1,96 % pour A et  79/2497*100 = ~3,16 % pour B. Faut-il alors implémenter la variation B ? Ce n'est pas si simple à décider car ces mesures sont imprécises. Le calcul bayésien peut nous éclairer sur cette imprécision en nous assurant qu’il y a 95% de chances que la vraie valeur du taux de conversion de A se situe dans l’intervalle [1,49 % , 2,57 %] et [2,55 % ; 3,92 %] pour B. On voit donc que, une fois implémentée, la variation B pourrait n’avoir qu’un taux de conversion de 2,55 % (ou atteindre 3,92 % si on est plus optimiste ou chanceux), mais il ne faut pas compter aveuglément sur un nouveau taux de conversion à 3,16 %.

◦  Pour les tests où les gains sont faibles, au lieu de vous annoncer une valeur positive (ex. : 1 %), le test bayésien vous informe de la possibilité que l’intervalle recouvre une zone négative (ex : - 1% à + 2%), ce qui met tout de suite l’utilisateur en garde et évite les décisions prises sur la base de chiffres incomplets. Vous êtes ainsi moins en proie à de mauvaises interprétations.

  • Grâce aux statistiques bayésiennes, les tests prennent moins de temps et nécessitent moins de trafic. On peut alors trancher plus rapidement en s’appuyant sur une information plus précise. Aussi, on alimentera en amont le test bayésien, d’informations existantes – ex. : taux de conversion actuel – afin de se prononcer plus rapidement et raccourcir la durée des tests, là où les tests classiques ne se servent de ce paramètre que pour calculer la taille de l’échantillon.

  • Le test bayésien autorise une allocation dynamique du trafic. Avec les tests à horizon fixe, chaque test représente un coût : lorsque vous dirigez des visiteurs vers une variation s’avérant être moins bonne, vous perdez des conversions. La souplesse du test bayésien favorise, en revanche, la mise en œuvre de stratégies d’allocation permettant de maximiser le nombre de conversions durant le test, en affectant rapidement moins de trafic aux conversions les moins performantes et davantage à la meilleure.

Conclusion

Le test bayésien donne un cadre à la fois plus souple et plus précis pour faire de l’A/B testing. Si votre solution ne repose que sur des tests à horizon fixe, il se peut que vous travailliez avec un outil obsolète, qui vous fait perdre du temps, des conversions, et vous induit potentiellement en erreur si vous n’avez pas une bonne connaissance des contraintes statistiques et n’êtes pas très strict dans votre pratique. Il est alors peut-être temps d’en changer…