Concevoir un test A/B dont le résultat peut être utilisé
Dans mon article de 2015, je proposais d’afficher une page différente selon le jour de la semaine. Ce mécanisme alternait bien deux pages, mais il ne produisait pas une comparaison fiable.
Le public du mardi peut être différent de celui du dimanche. Une campagne, une actualité ou un changement de prix peut aussi modifier le résultat. La variation se retrouve alors mélangée avec le temps.
Je construirais maintenant le test autour d’une hypothèse, de cohortes stables et d’événements mesurés de la même manière.
Écrire l’hypothèse avant le code
Je formule une phrase vérifiable :
Pour les nouveaux visiteurs de la page tarifaire, expliquer la limite de l’essai près du bouton augmentera les créations d’essai sans augmenter les annulations précoces.
Cette phrase identifie le public, le changement, la mesure principale et un risque à surveiller.
Je ne change qu’une décision importante à la fois. Si le texte, le prix, la mise en page et le parcours changent ensemble, le résultat ne permet pas de savoir ce qui a compté.
Garder chaque personne dans la même cohorte
Une personne ne doit pas voir la version A le matin et la version B le soir. J’utilise un identifiant de compte lorsqu’elle est connectée. Pour un parcours public, je peux utiliser un identifiant d’expérience anonyme géré selon les règles de consentement et de confidentialité du site.
L’affectation doit être déterministe. Voici une version TypeScript simple :
1type Variant = "control" | "variant";
2
3export function assignVariant(
4 experimentId: string,
5 subjectId: string,
6): Variant {
7 const value = `${experimentId}:${subjectId}`;
8 let hash = 2166136261;
9
10 for (const character of value) {
11 hash ^= character.codePointAt(0) ?? 0;
12 hash = Math.imul(hash, 16777619);
13 }
14
15 return (hash >>> 0) % 2 === 0 ? "control" : "variant";
16}
Cette fonction ne sert pas à la sécurité. Elle distribue seulement un même sujet dans la même variante tant que l’identifiant de l’expérience ne change pas.
Mesurer l’exposition, pas seulement l’affectation
Je n’enregistre pas une exposition au moment où le serveur choisit une variante. La personne peut quitter la page avant de voir la partie testée.
L’événement d’exposition part lorsque l’élément devient réellement visible ou utilisable. Il contient l’identifiant de l’expérience, la variante et le sujet pseudonymisé prévu par le système de mesure.
L’événement de conversion doit reprendre les mêmes dimensions. Sans cette relation, je peux compter des conversions provenant de personnes qui n’ont jamais vu le test.
Définir les mesures avant le lancement
Je choisis une mesure principale qui correspond à l’hypothèse. J’ajoute peu de mesures de protection : erreurs, abandon du parcours, remboursement ou autre conséquence importante pour le produit.
Je définis aussi les critères d’exclusion. Les comptes internes, les tests automatisés et les personnes déjà exposées à une ancienne version peuvent fausser la lecture.
La durée et le volume nécessaires dépendent du trafic et du taux de conversion. Je ne déclare pas une victoire après quelques résultats favorables. Je fixe la méthode d’analyse et la règle d’arrêt avant de regarder les variations quotidiennes.
Protéger le référencement des pages publiques
Pour un test avec plusieurs URL, Google recommande d’utiliser une URL canonique vers la page d’origine et une redirection temporaire 302 plutôt qu’une redirection permanente 301. Il ne faut pas présenter une version à Googlebot et une autre aux personnes.
La documentation Google Search sur les tests de site recommande également de retirer les URL, scripts et balises du test une fois l’expérience terminée.
Prévoir la fin avant le début
Un test doit avoir un responsable, une date de revue et une décision possible : conserver le contrôle, adopter la variante, prolonger selon la règle prévue ou arrêter à cause d’un risque.
Je retire ensuite le code d’expérience. Une variante gagnante ne doit pas rester cachée derrière un drapeau oublié pendant des années.
Un test A/B utile ne consiste donc pas à faire varier une page. Il consiste à isoler une décision, maintenir des cohortes comparables et mesurer un résultat que l’équipe pourra réellement utiliser.
Pierre-Henry Soria
#Expérimentation Produit #Expérimentation #Produit #Analytics #TypeScript #SEO