Après l’introduction des statistiques bayésiennes dans nos algorithmes d’analyse, nos équipes de R&D innovent une nouvelle fois en lançant un algorithme unique en son genre pour maximiser vos conversions.

Pourquoi présenter à vos internautes des variations moins efficaces sur toute la durée d’un test alors que d’autres variations convertissent mieux ? Intrinsèquement, les tests A/B présentent un coût d’opportunité qu’AB Tasty vous aide désormais à minimiser grâce à un algorithme d’allocation dynamique du trafic.

Celui-ci répond à la problématique dite du « multi-armed bandit » (bandit manchot) en mêlant habilement exploitation et exploration des données pour optimiser en continu vos taux de conversion, et ce, le plus rapidement possible. Au-delà de la simple prise de décision à l’issue d’un test A/B, nous proposons une solution d’optimisation automatique et « intelligente » qui s’adapte parfaitement dans les cas où la prise de décision doit se faire en continu, dans un laps de temps très court ou dans un environnement changeant rapidement.

L’allocation dynamique de trafic, c’est quoi ?

L’allocation dynamique de trafic consiste à modifier la quantité de trafic envoyée à chaque variation d’un test en cours grâce à un algorithme.

Quel est l’intérêt ?

L’intérêt est de minimiser les pertes de conversions lors d’un test, ce qu’on appelle le regret, et qui correspond aux conversions perdues en envoyant une partie du trafic vers une variation qui s’avérera ne pas être la meilleure.

Considérons l’issue du test A/B suivant : ConversionRateA = 1 %, ConversionRateB = 1.5 %, effectué avec un trafic uniforme de 10.000 visiteurs par variation.

Le regret de ce test est : r = 10.000 * (0.015-0.01) = 50 conversions perdues. Sur la période du test, on aurait pu espérer réaliser 300 conversions (20.000*0.015), mais le test en aura fait perdre 50. Il n’y aura donc que 250 conversions sur cette période.

Bien sûr cette mesure ne peut être faite qu’en fin de test, quand on dispose de valeurs précises du taux de conversion. Cela ne veut pas dire qu’on ne peut pas faire quelque chose pour limiter les pertes pendant le test…

Comment fonctionne l’allocation dynamique ?

La solution est de modifier l’allocation de trafic du test, avec l’objectif d’envoyer moins de visiteurs sur les « mauvaises » variations et plus vers les « bonnes » variations.

Attention, faire cela manuellement est extrêmement dangereux, car vous risquez de fausser les résultats. Il existe cependant des algorithmes permettant de guider l’allocation pour minimiser le regret tout en assurant de trouver la bonne variation gagnante…

Nous avons choisi l’algorithme le plus sûr qui est basé sur l’idée suivante : on utilise l’incertitude des mesures de taux de conversion pour équilibrer un compromis d’« exploration/exploitation ».  On « explore » une variation quand on lui envoie du trafic même si les mesures instantanées ne la donnent pas gagnante, car on sait que les premières mesures sont imprécises. On « exploite » quand on envoie du trafic sur la variation donnée gagnante par les mesures instantanées, c’est comme cela qu’on évite de perdre trop de conversions (en supposant que c’est bien la vraie variation gagnante).

Naturellement, ces deux objectifs s’opposent. L’exploration fait perdre des conversions, et l’exploitation fait prendre le risque de se tromper de variation gagnante! Il est donc nécessaire de bien modéliser l’incertitude des mesures et ensuite de trouver le bon compromis « exploration/exploitation ».

On représente l’incertitude de mesure des taux de conversion de chaque variation. Cela se fait grâce à des distributions de probabilités.  Ces courbes indiquent là où il y a le plus de chance de trouver la vraie valeur du taux de conversion. Sur l’axe des x on représente les valeurs possibles de taux de conversion, sur l’axe y on représente la « quantité de probabilité » (on appelle cela la vraisemblance).

Voici un premier exemple :

ne-perdez-plus-de-conversions

La variation A a 7 succès sur 600 visites (courbe noire) , la B a 27 succès sur 600 visites (courbe rouge). C’est une situation « tranchée » : qui nous indique que le taux de conversion de A est vraisemblablement entre 0 % et 0.2 %, et celui de B est vraisemblablement entre 0.25 % et 0.7 %. C’est intervalles étant distincts, même si on est pas certain des mesures, on est quand même capable de dire, de manière quasi certaine, que B est la variation gagnante. Il y a peu d’incertitude, la meilleure variation est la B, car les courbes ne se chevauchent pas.

Voici un autre exemple :

ne-perdez-plus-de-conversionsLa variation A a 7 succès sur 300 visites (courbe noire) , la B a 14 succès sur 400 visites (courbe rouge). Le simple calcul du taux de conversion nous donne ConversionRateA = 2.39 % , ConversionRateB = 3.63%, il semble y avoir un écart, on est alors tenté de dire que B est la variation gagnante, mais c’est trompeur… En regardant les distributions de probabilité, on appréhende mieux l’incertitude de ces mesures. En constatant que les 2 courbes se chevauchent, on comprend que le doute est encore possible.

Compromis « Exploration/Exploitation »

Continuons notre analyse du dernier exemple. On peut remarquer qu’il est tout aussi vraisemblable que ConversionRateA soit égal à 3 % et que ConversionRateB soit lui aussi égal à 3 % (là où les 2 courbes se croisent). Avec ce genre d’approche, on peut calculer la probabilité que A soit la variation gagnante, même si pour le moment, c’est B qui semble être la meilleure. On utilise ce type de mesures pour trouver le bon équilibre : « exploration/exploitation ». On peut mesurer l’intérêt d’une exploration et le risque d’une exploitation à l’aide d’algorithme comme celui de Thompson Sampling.

Cet algorithme a les propriétés suivantes :

  • L’algorithme est assuré, à terme, de trouver la meilleure variation.
  • L’algorithme est assuré de perdre moins de conversion que si on utilisait un trafic uniforme.
  • S’il y a plus de 2 variations, l’algorithme trouvera plus rapidement la meilleure variation que si on utilisait un trafic uniforme. Plus on a de variations plus il y a de chances d’y avoir quelques (très) mauvaises variations. Ces moins bonnes variations seront rapidement identifiées et perdront du trafic au profit de celles qui fonctionnent mieux. Dans le cas d’une allocation uniforme, ces (très) mauvaises variations continueraient de prendre une part non négligeable du trafic.

Comment utiliser l’allocation dynamique de trafic ?

L’utilisation est très simple, il suffit de cocher la case « Allocation dynamique de trafic », et de choisir l’objectif (KPI) à optimiser. L’allocation débutera alors avec une allocation uniforme et adaptera, automatiquement l’allocation, de manière à identifier la meilleure variation, tout en minimisant les pertes de conversions.

ne-perdez-plus-de-conversionsUne fois le test lancé, rien ne change par rapport à un test classique (en allocation uniforme de trafic). Bien sur toutes les mesures statistiques fournies tiennent compte de l’allocation dynamique. L’interprétation des résultats d’un test reste donc identique.