Fördjupa dig i mekaniken bakom ”klassisk” A/B-testning, bekanta dig med den faktiska innebörden av statistisk signifikans och upptäck fällorna som hotar giltigheten i dina testresultat.
A/B-testning är en av de mest använda teknikerna för optimering av webbsidor. Det gör det möjligt för marknadsförare och webbplatsoperatörer att fatta smartare och mer datainsiktsdrivna beslut om sina kreativa instinkter. Föreslagna ändringar bedöms inte enbart utifrån intuition (eller baserat på att någon har bättre argumentationsförmåga på jobbet) utan snarare utifrån specifika önskade mål – oavsett om de är omedelbara (som en knapps CTR) eller mer långsiktiga (som att bli en betalande kund). Samtidigt skyddar tester mot att göra ett stort misstag som skulle skada engagemanget avsevärt.
Låt oss titta närmare på hur ”klassisk” A/B-testning fungerar, become mer bekant med den verkliga innebörden av statistisk signifikans och upptäcka de fallgropar som hotar giltigheten i dina testresultat. Jag avslutar med att presentera några av de optimeringsalternativ till klassisk A/B-testning som erbjuds av Mastercard Dynamic Yield.
Intuitivt sett är proceduren enkel: Först skapar vi en variant av vår ursprungliga webbsida (även känd som baslinjen). Sedan delar vi upp trafiken slumpmässigt mellan två varianter (där besökare fördelas slumpmässigt utifrån en viss sannolikhet) och håller koll på webbplatsens prestanda (mått). Efter ett tag tittar vi på datainsikterna, väljer den variant som presterade bäst och avbryter den som presterade sämre.
Låter det intuitivt och enkelt? Nej!
We have to keep in mind that at the moment we pick a variation, we are generalizing the measures we collected so far to the entire population of potential visitors. This is a significant leap of faith, and we have to do it in a valid way. Otherwise, we are often bound to make bad decisions that will harm our web page in the long run. The process of gaining validity is called hypothesis testing, and the validity we seek is called statistical significance.
Vid hypotesprövning börjar vi med att formulera ett påstående som kallas ”nollhypotes”, vilket anger status quo, till exempel ”den ursprungliga sidan (baslinjen) har samma klickfrekvens (CTR) som vår nydesignade sida”. Proceduren går sedan ut på att se om vi kan förkasta det påståendet som högst osannolikt.
Först måste vi förstå var vi kan misslyckas och göra misstag. Det finns två sätt: För det första kan vi felaktigt förkasta nollhypotesen. Efter en snabb titt på datainsikterna kan vi hävda att det finns en prestandaskillnad mellan den nya och den gamla varianten av vår webbsida, trots att det inte finns någon sådan skillnad och att den skillnad vi observerade beror på ren slump. Den här typen av misstag kallas ”typ I-fel” eller ”falskt positivt resultat”.
Den andra möjliga fallgropen är att vi efter en snabb titt på prestandan för varje variant hittills inte ser någon större skillnad och drar slutsatsen att det faktiskt inte finns någon. Det här felet kallas ”typ II-fel” eller ”falskt negativt resultat”.
Det korta svaret är: välj en lämplig urvalsstorlek. För att fastställa rätt urvalsstorlek måste vi fördefiniera några parametrar för vårt test.
För att undvika ”false positive”-misstag måste vi ställa in konfidensnivån, även känd som ”statistisk signifikans”. Det här numret bör vara ett litet positivt tal som ofta sätts till 0,05, vilket innebär att det med en giltig modell endast är 5 % chans att göra ett typ I-fel. Enligt sunt förnuft är det 5 % chans att upptäcka en skillnad i prestanda mellan de två varianterna, samtidigt som det faktiskt inte finns någon sådan skillnad (5 % risk för misstag). Denna vanliga konstant brukar kallas att ha ”> 95 % konfidens”.
Många som utför tester skulle (och de flesta verktyg som finns tillgängliga idag skulle) stanna vid den första parametern, men för att undvika misstag av typen ”falskt negativt” måste vi faktiskt definiera ytterligare två parametrar: Den ena är den minimala prestandaskillnad vi vill upptäcka (om en sådan faktiskt finns) och den andra är sannolikheten att upptäcka den skillnaden om den existerar. Den här sista storheten kallas ”statistisk styrka” och den ställs ofta in på standardvärdet 80 %. Den erforderliga urvalsstorleken beräknas sedan med hjälp av dessa tre storheter. Även om detta kan verka utmattande och den resulterande urvalsstorleken ofta verkar alldeles för stor, kräver standardmetoden för testning att man följer denna procedur noggrant; annars kommer vi oundvikligen att misslyckas. Faktum är att även om vi följer ovanstående till punkt och pricka kan vi ändå få ett felaktigt resultat.
Låt oss titta närmare på varför.
Hypotesprövning må låta lovande, men i verkligheten är den ofta långt ifrån skottsäker eftersom den bygger på vissa dolda antaganden som ofta inte uppfylls i verkliga scenarier. Det första antagandet är vanligtvis ganska solitt: vi antar att ”proverna” (dvs. de besökare som vi exponerar för varianterna) är oberoende av varandra och att deras engagemangsmönster inte är ömsesidigt beroende. Detta antagande är i regel giltigt såvida vi inte exponerar samma besökare upprepade gånger och räknar dessa förekomster som olika exponeringar.
Det andra antagandet är att samplen är identiskt fördelade. Enkelt uttryckt innebär detta att sannolikheten för konvertering är densamma för alla besökare. Detta är naturligtvis inte fallet. Sannolikheten för konvertering kan bero på tid, plats, användarpreferenser, hänvisningskälla och många andra potentiella faktorer. Om till exempel någon marknadsföringskampanj pågår under experimentet kan det leda till en våg av trafik från sociala medier. Detta kan orsaka en drastisk och plötslig förändring av klickfrekvenser (CTR), vilket baseras på det faktum att personer som kommer från just den kampanjen har andra egenskaper än den genomsnittliga besökargruppen. Vissa mer avancerade optimeringstekniker som vi erbjuder på Mastercard Dynamic Yield är faktiskt beroende av dessa skillnader.
Det sista antagandet är att de mätvärden vi samlar in, t.ex. klickfrekvensen (CTR) eller konverteringsgraden, är normalfördelade. Det kanske låter som någon obskyr matematisk term för vissa, men formlerna för ”magisk” konfidensnivå bygger på detta antagande, vilket är betydligt osäkrare och ofta inte stämmer. Generellt sett gäller att ju större urvalsstorlek och ju högre antal konverteringar vi har, desto starkare håller detta antagande, tack vare ett matematiskt teorem som kallas centrala gränsvärdessatsen.
Det finns två huvudsakliga fallgropar. För det första erbjuder A/B-testplattformar ofta en realtidsvisning av testresultaten hittills. Å ena sidan ger detta testansvariga transparens och en känsla av kontroll. Detta kan dock leda till en överreaktion på resultat som kanske inte är färdigställda ännu. Att avbryta ett test innan den fördefinierade urvalsstorleken har nåtts samtidigt som man upprepade gånger tittar på de preliminära resultaten och stannar vid det första tecknet på statistisk signifikans är ett säkert recept på misstag. Detta leder inte bara till en statistisk snedvridning mot att upptäcka en skillnad som inte finns, utan denna snedvridning är inte heller något vi kan kvantifiera i förväg och korrigera (till exempel genom att kräva en högre signifikansnivå).
Den andra fallgropen är att ha alltför höga förväntningar på prestandan hos den vinnande variationen långt efter att testet är avslutat. På grund av en statistisk effekt som kallas ”regression mot medelvärdet” är den vinnande variationens prestanda över tid inte lika bra som under testet. Enkelt uttryckt kanske den vinnande variationen vann inte bara för att den var något bättre utan för att den till viss del hade ”tur”. Den turen brukar jämna ut sig över tid, och som ett resultat verkar prestandan försämrad.
Det gör vi verkligen. Världen för webboptimering har ett mycket brett utbud av användningsområden, och A/B-testning passar bara för vissa av dem. Anta att vi kör ett test på en webbsida med en sedan länge etablerad prestandabaslinje, och att ändringen vi vill göra är avsedd att finnas kvar långt efter att testet är över och fungera på samma sätt för alla användare. I det här fallet är det, som tidigare nämnts, viktigt att göra en djupgående och exakt mätning av prestandan på ett rättvist och balanserat sätt mellan de olika alternativen, men det är ofta inte möjligt.
Om vi till exempel vill ta reda på vilken av tre rubriker som presterar bäst för en onlineartikel vet vi att artikeln bara kommer att finnas på vår förstasida under några timmar. Det innebär att vi snabbt måste urskilja den titel som presterar bättre och utnyttja den kunskapen inom en stram tidsram. I det här fallet kan vi använda en så kallad multi-armed bandit-metod, vilket hjälper oss att göra just det.
Kort sagt delar multi-armed bandit-algoritmen kontinuerligt upp trafiken mellan variationerna baserat på hittills uppmätt prestanda och den säkerhetsnivå som uppnås för varje steg på vägen. Detta tillvägagångssätt kompromissar med en del av säkerheten kring vilken som ”egentligen” är den bästa variationen i utbyte mot snabbare konvergens. Detta är den första optimeringsnivån som vi erbjuder på Mastercard Dynamic Yield.
En djupare optimeringsnivå siktar mot äkta personalisering. Antingen manuellt eller automatiskt kan vi vilja visa olika varianter för olika användare. Som ett exempel på manuell kontroll kanske vi vill att användare som besöker webbplatsen från Nederländerna på drottningens dag ska se en orange bakgrund på webbsidan. I många fall är manuell kontroll rimlig men svår att skala upp. Säg att jag även har en specialkampanj för besökare som kommer från en plattform för sociala medier. Vad ska jag visa för en nederländsk besökare? Reglerna kan snabbt bli komplexa när du börjar fundera ut nya variationer och målgrupper. Här rör det sig om en kvalificerad gissning. Man tror att det kommer att pricka rätt, men det är ingen som vet säkert.
Därför är en annan metod som kan fungera bättre i vissa fall en automatiserad personaliseringsmetod. Anta att vi driver en webbplats med matrecept, och vi har en ruta på vår webbsida där vi vill visa användaren ett rekommenderat recept baserat på hans eller hennes tidigare besök på receptsidor/segment/taggar. I det här fallet kan en personaliseringsmotor göra jobbet.
Hur effektiva A/B-tester än kan vara kan de vara missvisande om de inte utförs på rätt sätt. Att uppnå korrekt statistisk signifikans är avgörande för tillförlitliga resultat. För att nå dit måste vi fastställa de obligatoriska parametrarna samt uppskatta och hålla oss till den erforderliga urvalsstorleken.
Att testa resultaten frekvent innan urvalsstorleken har nåtts är ett klassiskt recept för att förlora validitet. Om du letar efter optimering på kortare sikt bör du titta på andra optimeringsmetoder, såsom multi-armed bandit eller maskininlärningsbaserad personalisering.