Attention à la vraie valeur statistique de vos tests A/B

La mauvaise compréhension des indicateurs de significativité statistique des tests A/B est un des grands fléaux de la pratique. Cette chronique traite de l’indice de confiance donné aux tests.

Cette chronique est la première d’une série de trois tribunes dédiées à la significativité statistique, qui ont pour ambition d’éclairer les décideurs et d’aider les utilisateurs d’A/B testing à appréhender correctement les indicateurs à leur disposition dans le but de prendre des décisions en connaissance de cause.

Que signifie précisément un indicateur de confiance ?

Un indicateur de confiance se rapporte à deux versions (A et B) d'un test et s'obtient à partir du nombre d'observations (« visites ») et de conversions pour ces deux variantes (soit 4 données en entrée).
Cet indicateur se calcule entre la version de référence et la variante unique lors d'un test A/B, mais peut également s’appliquer entre les variantes B et D d'un test A/B/C/D) par exemple. Toute plateforme d'A/B testing fournit cet indicateur de confiance pour chaque test. Même en son absence (par exemple sur une solution de web analytics), il est possible de le calculer avec une formule mathématique standard*.

La statistique nécessite de la rigueur

Les utilisateurs d’A/B testing font logiquement confiance à l’indicateur de significativité statistique fourni par leur solution. Sauf dysfonctionnement, le calcul est correct ; malheureusement, l’interprétation qui en est faite est parfois erronée. En l’absence d’accompagnement sur ce sujet pointu, certains utilisateurs pensent qu'il est suffisant d'observer l'évolution des courbes de conversion des variantes; d'autres regardent l'indicateur de confiance de manière quasi permanente pour en dégager une tendance.
Pire, des conseils extérieurs font des conclusions erronées par absence de compétence. Il ne s’agit pas de devenir expert en statistiques ou mathématiques appliquées, d’autant que certains concepts sont contre-intuitifs ; en revanche, les statistiques ont des lois qui ne peuvent être ignorées. Tous les instituts de sondage respectent les règles de base nécessaires afin d’obtenir un résultat fiable. Il est dommage que ce ne soit pas encore le cas pour l’A/B testing.

Aucune garantie sur le vrai gain de conversion d’un test

La première remarque est qu'il est impossible de connaître le gain exact apporté par une variante gagnante. Ou plus exactement, vous n'avez aucune garantie – en termes statistiques – que le gain de conversion donné par le test est le « vrai » gain de conversion, celui qui sera en réalité observé en production.
En effet, l’indicateur de confiance représente le pourcentage de chances d'obtenir, dans des conditions rigoureusement identiques (en termes d'observations), le même résultat à l'avenir. Et par résultat, il faut comprendre uniquement une information binaire : soit A bat B, soit B bat A. Pour cette raison, l'indicateur de confiance est souvent appelé « probabilité de battre l'original » (« chance to beat original »).
Ainsi, si vous avez un gain de conversion de 15 % pour votre variante et une significativité statistique de 99 %, cela signifie uniquement que votre variante a effectivement 99 % de chances de surperformer par rapport à l'original, mais pas qu'il y a 99 % de chances que le prochain gain de conversion soit de 15 %. Votre gain de conversion réel peut en fait n’être que de 3 %... Attention, ceci ne veut pas dire non plus que le gain de conversion donné pour un test est totalement dénué de sens, uniquement que l'indicateur de confiance ne s'applique pas du tout à celui-ci. Là intervient la question de la taille de l’échantillon : sur un trafic et un nombre de conversions modestes, l’écart-type sera potentiellement très élevé. Sur un trafic important, il sera limité.Dans tous les cas, cette absence de garantie n'est pas problématique en soi : dès lors qu'une variante bat l'original, vous avez intérêt à la passer en production même si le gain de conversion est minime. Et ce qui peut jouer contre vous peut aussi jouer pour vous : un gain de conversion de 2 % obtenu en test peut se transformer en gain de conversion de 10 % plus tard en production...

Regarder l’évolution de l’indicateur de confiance dans le temps n'a pas de sens

Une autre caractéristique malheureuse des tableaux de bord des solutions d'A/B testing est l’affichage dès le début d’un test d’un indicateur de confiance. Problème : l’évolution de cet indicateur au cours du temps n'a strictement aucune valeur. 
En effet, un indice de confiance s'obtient à partir d'un nombre déterminé d'observations et représente un pourcentage de chances de parvenir au même résultat, avec le même nombre d'observations à l'avenir. Donc si vous avez un indice à 90 % mais uniquement obtenu sur 50 visites, vous avez bien une probabilité de retrouver le même résultat… mais sur 50 visites seulement. En extrapolant, vous pouvez très bien avoir 3 valeurs de significativité différentes au cours d’un test, une de 90 % à 1 000 visites, une de 65 % à 15 000 et une dernière de 95 % à 50 000. Il ne faut pas tenir compte des deux premières valeurs, car la dernière est la seule représentative de votre trafic en production.
Du point de vue des mathématiques appliquées, une courbe d'évolution de la significativité en fonction du temps n’a pas de sens.
En réalité, l'indice de confiance ne devrait être affiché qu'une fois le test terminé ou proche d’être terminé (ie : proche d’atteindre le nombre cible de visiteurs) afin d'éviter la tentation bien naturelle de regarder régulièrement ce chiffre. C’est la raison pour laquelle nous insistons toujours sur l’importance de réaliser des tests sur l’intégralité et non pas seulement une fraction de son trafic. S’il fait sens de démarrer sur une faible part de son trafic afin de valider la bonne tenue d’un test, il est impératif de l’étendre sous peine de tirer de fausses conclusions sur la variante gagnante.

Conclusion

Une conséquence importante du paragraphe précédent est qu'il ne faut pas utiliser l'indice de confiance, tel que donné par un tableau de bord, comme indicateur pour arrêter un test. Malheureusement, le réflexe le plus naturel est d'observer cet indice et de stopper un test une fois qu'il a dépassé un seuil (par convention de 95%), mais cela n'a en réalité aucune valeur statistique. La bonne pratique est normalement de se fixer à l'avance (a priori) un seuil de visites ou de conversions, puis seulement ensuite de constater si le test est fiable ou non. Nous aborderons en détail dans la dernière tribune de cette série la manière de décider a priori le nombre de visiteurs à tester.

* Ceux intéressés par les formules mathématiques permettant de calculer la significativité statistique pourront se référer aux pages suivantes http://www.socscistatistics.com/tests/ztest/Default.aspx (calcul du zScore) et
http://www.socscistatistics.com/pvalues/normaldistribution.aspx (obtention du 'chance to beat original' à partir du zScore)