6 veel gemaakte fouten bij A/B-test analyses

A/B-testen begint steeds meer gebruikt te worden als vast onderdeel van het continue optimalisatieproces dat veel organisaties hebben ingericht. We zien het gebruik van A/B-test tools in de marktscans van AboutAnalytics dan ook hard groeien. In de praktijk zie je dat de website en basis dienstverlening al enige tijd staat en dat de werkdruk voor de online-afdeling is verschoven van eenmalig project, naar dagelijks lijnwerk. De online bezoekers houden de organisatie, vaak gedreven door targets, continue bezig met het vraagstuk hoe de online dienstverlening beter kan. Dat is waar de focus van uren en budget naar toe verschuift.

De webanalisten spelen bij A/B-testen een cruciale rol. Zij bepalen de koers van de organisatie door op basis van inzichten uit de testen keuzes te maken over de inhoud van de online activiteiten. Het maken van fouten in de analyses is vanuit optimalisatie oogpunt dan ook niet echt wenselijk (understatement…). Fouten maken lijkt echter niet echt mogelijk omdat de meeste A/B-test software zelf uitrekent welke variant de winnaar is. Ervaring leert echter dat dit niet altijd de waarheid is…

In dit artikel deel ik mijn kennis over de oorzaken van verkeerde interpretaties van A/B test resultaten.

1. Onzuivere testpopulatie

De grootste valkuil is mijn ogen het feit dat een random verdeling van bezoekers over de testvariaties er niet voor zorgt dat deze groepen ook evenredig zijn verdeeld. Dit geldt niet voor de totale populatie, maar juist voor de populatie die eigenlijk niet in de A/B-test thuis hoort. Zij horen hier niet in thuis omdat de ontworpen A/B-test eigenlijk niet voor hen bedoeld is. De verdeling van deze subgroep binnen de A/B-test variaties is niet evenredig en kan daardoor grote conversieverschillen geven die zorgen voor een verkeerde winnaar. Op wat voor een soort testdeelnemers doel ik? Dit zijn ze:

  • Browser (of platform) probleem: het mooie van A/B-testen is dat je met een snelle opzet kunt testen of een functionaliteit goed wordt ontvangen om daarna pas veel geld te stoppen in een stabiele ontwikkeling. Dit kan ervoor zorgen dat bepaalde A/B-test variaties niet goed werken in elke browser. Dit wordt helaas niet altijd uitvoerig getest waardoor sommige browsers in bepaalde testvariaties aanzienlijk minder converteren. Naast verschillen per variant heb je daarbij dan te maken met het feit dat de meeste A/B test software alleen de totale populatieverdeling in evenwicht houdt en niet de onderliggende bezoekerseigenschappen. Een winnende variant zou zomaar de minste bezoekers kunnen hebben gekregen van de browser waarin een gedeelde functionaliteit niet goed werkt.
  • Grote aanvragen: sommige bezoekers kunnen met bijvoorbeeld 1 aankoop (van verschillende items) de omzet significant laten stijgen. Tenzij je test daar niet specifiek op was gericht zal de testvariant hier weinig mee te maken hebben gehad. Bij een analyse op verkochte items of omzet per unieke bezoeker wil je deze uitschieters verwijderen omdat deze subpopulatie niet evenredig verdeeld is over alle variaties en een te zware stempel drukt op de effecten.
  • Veel aanvragen: niet alle analyse-oplossingen zijn in staat om eenvoudig een rapportage te leveren over unieke bezoekers die een conversie hebben gemaakt (in plaats van een rapportage over alle conversies). Wanneer je diepgaand analyseert op groepen bezoekers in de combinaties service provider, browser, platform etc. zul je regelmatig zien dat sommige detailcombinaties erg veel conversies hebben per unieke bezoeker. Naast die paar vaste fans zijn dit vaak externe callcenters die namens bellers een aanvraagformulier invullen. Door één van de basisprincipes van A/B-testen (dat je altijd dezelfde variant krijgt te zijn) zorgt een overijverige callcentermedewerker (of gewoon een vaste fan) voor te veel conversies op de betreffende testvariant. Deze bezoekers wil je dus ook verwijderen uit de analyse van de A/B test.
  • Verkeerd koopmotief: sommige bezoekers hebben een externe motivatie als koopmotief (zoals de vaste fans dat ook een beetje hebben). Bekend zijn de affiliate programma’s die je belonen met waardepunten zodra je kunt aantonen dat je bij een deelnemende partij een product of dienst hebt afgenomen. De motivatie ligt op dat moment in de beloning die men krijgt en de testvariaties zullen hier (usability drempels daargelaten) nagenoeg geen effect op hebben. Deze groep mensen is vaak te klein om evenredig verdeeld te zijn over de testvariaties, waardoor je ze ook moet verwijderen uit de te analyseren dataset.

Gemene deler van het onzuivere testpopulatieproblemen is het feit dat niet elke bezoeker(sgroep) met dezelfde intentie de pagina waarop jij een A/B test uitvoert bezoekt. Je totale populatie bestaat dus uit een aantal subpopulaties die je ook evenredig wilt verdelen over de testvariaties (eigenlijk een taak van de A/B test software). Bij het bepalen van waar je een test gaat uitvoeren zou je echter eigenlijk al bepaald moeten hebben voor wie je test en waarom (wat wil je bereiken?). In principe heb je gedrag gezien van een bepaalde groep mensen dat niet loopt zoals gewenst (door niet de juiste communicatie op jouw website) en dat wil je verbeteren. Door bij deze doelgroep- en paginakeuze al goed in de details te gaan zitten voorkom je, los van de 4 genoemde zaken ten aanzien van de testpopulatie, grotendeels het probleem van onevenredig verdeelde testvariatiegroepen.

2. Slechts kijken naar conversies

Omdat je bezig bent met gedrag en het beter inspelen hierop, is het niet de opzet om alleen maar te kijken naar de eindconversie. Zeker wanneer de A/B-test pagina zich aan het begin van de dialoog tussen de website en de bezoeker bevindt. Naast de eventuele conversieverschillen zul je binnen de variaties veel verschil zien in klikgedrag, exit gedrag, tijd op de pagina etc. De dialoog verander je bijna altijd bij een nieuwe (content)variant. De laatste stap richting de eindconversie is echter een drempel die je niet alleen maar kunt verbeteren door aan het begin van de dialoog iets aan te passen. A/B-test learnings dienen te gaan over de pogingen die genomen zijn om een betere dialoog te voeren en wat zij teweegbrachten. Een A/B-test zonder significante conversiestijging kan op de lange termijn zelfs waardevollere informatie blijken te bevatten dat de A/B-test met significante conversiestijging.

3. Te vroeg stoppen van de A/B-test

Nog zo’n grote valkuil. Tijdens de test telkens kijken naar de tussenstand en dan de test stoppen zodra 1 van de variaties volgens de software significant is. Er is immers een winnaar. In de statistiek wordt dan gesproken van het probleem van de “repeated significance testing errors”. Als je meer achtergrond hierover wil, lees dan de goede uitleg van Evan Miller met het voorbeeld waarom een test eigenlijk 99% significantie nodig heeft als je streeft naar 95% significantie maar 10 keer tijdens de test kijkt naar de tussenstand. Een AB test draai je voor een bepaalde periode (waarbij je vooraf hebt berekend hoeveel variaties je in deze periode aankunt om goede uitspraken te kunnen blijven doen). Na deze periode zijn de resultaten bekend en dat kan betekenen dat er statistisch gezien geen significante verschillen zijn tussen de varianten (op basis van een enkel conversiepunt). Blijf dan dus niet doortesten totdat er wel verschil is!

4. Vergeten onderling te meten

Je A/B-test geeft niet alleen maar resultaten van een variant tegen het originele gedrag. Variaties onderling kunnen ook significante uitspraken geven. Bij 2 variaties naast de originele pagina kun je misschien geen uitspraken doen over de winnaar (variant A) of de verliezer (variant B), maar hebben ze onderling (A en B) wel significante verschillen (omdat het verschil in gedrag dan wel groot genoeg is). Dit zijn ook learnings die je wilt delen in je organisatie en goede input zullen geven voor een vervolgtest.

5. Cross browser effecten

Tot slot de nachtmerrie van elke (A/B-test) webanalist: de onmogelijkheid van cross browser tracking zonder centraal login systeem (en meteen de reden waarom je bij steeds meer websites, zodra het enigszins relevant is, moet inloggen). Jouw bezoeker maakt zijn conversie niet altijd direct in de 1e sessie. Zodra je unieke personen gaat volgen, zie je zelfs dat het merendeel van de conversies juist niet plaatsvindt in de 1e sessie (in tegenstelling tot wat analyticstools lijken te rapporteren). Bij 1 PC kun je binnen dezelfde browser alle sessies volgen vanaf het 1e contact met de bezoeker, via de A/B-test pagina variatie, tot aan het conversiepunt. In de praktijk switched men echter nog wel eens van browser (denk bijvoorbeeld de kantoor PC en de PC thuis) en is de daadwerkelijke hele dialoog niet zichtbaar…

Gelukkig is dit effect zodanig veelvoorkomend dat dit type (herhaal)bezoeker prima evenredig verdeeld is over de verschillende testvariaties. Je moet echter wel onthouden dat een groot deel van de bezoekers waarschijnlijk 2 of meer variaties heeft gezien in de dialoog van kennismaking tot conversie… Wanneer een bezoeker binnen deze set van variaties een erg afwijkende A/B-test variant heeft gezien zal dat waarschijnlijk een ander gevolg hebben dan wanneer de set aan A/B-test variaties erg op elkaar lijkt.

Ik wil niet pleiten voor alleen het testen van minieme content en design veranderingen bij A/B-testen (dramatische veranderingen kunnen immers in 1 keer veel meer conversie opleveren), maar je dient op basis van het type test wel iets anders te kijken naar je analyse en resultaten. Bij een test met minieme veranderingen is het gedrag van de bezoeker ongeacht de sessie het belangrijkste (als men maar in een vorige sessie een testvariant heeft gezien). Bij A/B-testen met dramatische veranderingen is het effect op gedrag in de sessie waarin men de variant zag belangrijker bij de analyse.
Leg ze maar eens naast elkaar. De sessie conversiewinnaar hoeft geen bezoek conversiewinnaar te zijn.

6. Uitgestelde conversies vergeten

In lijn van de cross browser gevolgen heb je bij de start van de test ook te maken met het feit dat sommigen van de bezoekers die al vlak voor de start van de A/B-test de website bezochten, na de start van de A/B-test nog steeds de originele versie te zien krijgen. Zij zullen anders reageren dan dezelfde bezoekers die na de startdatum van de A/B-test een andere testvariant te zien krijgen. Vanuit de test kun je dit uitsluiten (door alleen te targetten op nieuw bezoek), maar dat is natuurlijk niet de werkelijke situatie. Terugkerende bezoekers zijn er altijd. Bij voorkeur hou je er dan ook rekening mee dat je bij de analyse van een A/B-test ook uitspraken wilt kunnen doen over gesegmenteerde data. Daarbij is het aan te raden om de (in ieder geval terugkerende) bezoekers van de eerste paar dagen van de A/B-test, bij analyse uit te sluiten van de dataset. Dit om te zorgen dat voor de mensen die vlak voor de A/B-test al in dialoog waren de overgang niet te groot is. Het zal niet de eerste keer zijn dat de testvarianten pas na een paar dagen stelselmatig beter presteren dan de originele variant!

Andersom geldt dit natuurlijk ook. Je wilt op een gegeven moment de A/B-test stopzetten voor het toelaten van nieuwe bezoekers aan de test, maar de variaties en metingen nog wel laten doorlopen. Dit om te zorgen dat de deelnemers aan de A/B-test die nog in dialoog waren, dit gesprek ook nog gewoon kunnen afmaken…

Extra input welkom

Hield je hier al rekening mee? Zie je bij een heranalyse andere effecten nu je met deze informatie rekening houdt? Is het een groot verschil? Ik ben door deze kennis in ieder geval altijd kritisch naar testuitslagen waarvan ik de achtergrond van de analyse niet ken… Heb jij naast de genoemde 6 zaken die ikzelf meeneem in A/B-test analyses nog aanvullingen die ook in de praktijk hebben aangetoond dat je anders naar je analyse moest kijken? Deel het in de reacties! Dank en vragen zijn natuurlijk ook welkom.

Foto "analyzing data" via Creative Commons license vanaf: http://www.flickr.com/photos/davedugdale/5099605109/
Foto "help" via Creative Commons license vanaf: http://www.flickr.com/photos/barkbud/4257136773/
Foto "blindfold" via Creative Commons license vanaf: http://www.flickr.com/photos/gastev/2960556197/
Foto "sneak peak" via Creative Commons license vanaf: http://www.flickr.com/photos/markjsebastian/2265764285/
Foto "fruit" via Creative Commons license vanaf: http://www.flickr.com/photos/hamed/1552383685/
Foto "cross browser" via Creative Commons license vanaf: http://www.flickr.com/photos/mmcnier/4203160562/
Foto "postponed" via Creative Commons license vanaf: http://www.flickr.com/photos/magnus_d/6063088894/

Reacties (5)

Reacties zijn gesloten.