Est ce que mon A/B test est significatif (statistiquement parlant) ?

janvier, 19, 2009
Sylvain

Une erreur très classique dans la conduite d’un A/B test est de conclure que l’un des choix est meilleur que l’autre alors que la différence peut être due à une variation tout à fait normale des variables aléatoires. Cela arrive dans un cas très balisé pourtant : celui où la taille de l’échantillon est trop petite pour que, dans la cas d’une différence de valeurs faibles sur le critère, l’on puisse avoir une conclusion significative.
Comment calculer la taille de l’échantillon ?

Tout est une histoire de précision et de confiance. Ce que l’on souhaite, c’est estimer de manière suffisamment précise la valeur du critère pour chacun des choix. Imaginons que le critère s’appelle C. C(A) est la valeur réelle du critère pour le choix A (avec un nombre infini de visteurs), C(B) est la même chose pour B.
On a : C(A) – C(B) = P, Cela signifie que P/2 est la précision suffisante pour départager les hypothèse A et B.
En effet, on ne peut pas calculer C(A) et C(B) car les échantillons ne peuvent être de taille infinie, ce que l’on va calculer est E(A) et E(B), une valeur estimée (=approchée) de C(A) et C(B). Cela signifie que l’on va obtenir E(A) avec la propriété espérée que :

C(A) – epsilon =< E(A) =< C(A) + epsilon (pareil pour E(B) et C(B))

Epsilon est appelé la précision de notre processus de test. Par ailleurs, comme notre approche tire au hasard les visiteurs, il y a une certaine probabilité d’erreur (le cas où l’on ne tire que les « mauvais » visiteurs lors du tirage aléatoire). Cette probabilité est notée delta.
Au final, on voudrait donc un échantillon de taille suffisante pour garantir que :

Probabilité (C(A) – epsilon =< E(A) =< C(A) + epsilon) > 1 – delta

Typiquement, delta est de l’ordre de 5% dans la littérature marketing (en sciences dures, où les mêmes outils servent à estimer la correction de système informatique, on prend 0,00000001 %). Epsilon va dépendre de la précision requise pour départager les hypothèse, mais souvent on va utiliser un processus adaptatif (on choisit epsilon=10%, puis si ça ne suffit pas on prend 1%, puis etc….)

Y a t-il une formule qui donne la taille de l’échantillon en fonction des epsilon et delta ? Oui, bien sur. Il y en a même une quantité industrielle, elles dépendant des hypothèses sur les probabilités de choix des utilisateurs, on appelle cela des inégalités de concentration et autres joyeusetés. Pour ma part j’utilise la borne de Chernoff-Hoeffding, borne overkill pour ce genre d’utilisation, mais qui fonctionne. La formule nous dit alors :

Taille (échantillon)=(ln(2/delta))/(2 * epsilon ^2)

Par exemple, si delta = 5%, et epsilon=0,5%, on obtient Taille(échantillon)= 74000. Cela prouve que dans l’exemple du billet précédent la décision prise est potentiellement mauvaise car il faudrait que la taille du groupe B soit de au moins 74000. Pour delta=5% et epsilon=5%, on aurait une taille de 740, ce qui est plus simple a obtenir n’est ce pas ?

Ceci étant, la dernière chose a ne pas oublier est que votre A/B test doit être fait à différent moment de l’année, de la semaine et de la journée. Et surtout que seul le nouveau choix doit être une modification du site au moment du test. Si vous rajoutez un article dans un site de contenu lors d’un A/B test, vous êtes peut-être en train de le torpiller en amenant de nouveaux types de visiteurs sur votre site, et ça c’est mal !

Picture: courtesy of Abby Blank