088 - 120 34 00

Web analytics en statistische significantie

Stel je wilt de CTR van twee adwords ads vergelijken, of de conversiegraad van twee landing pages, of je wilt weten welke e-mail campagne betere response rates heeft. Je kunt de waarden gewoon naast elkaar zetten en zeggen, dit getal is hoger, die is het beste. Maar is het verschil echt groot genoeg om actie te ondernemen? Of berust het simpelweg op toeval dat een advertentie op het moment beter presteert dan de ander?

Hiervoor kun je statistiek gebruiken, en dan met name statistische significantie. Je hoort het wel eens in reclames of je ziet het bij onderzoeken in de krant staan. In web analytics loop je de term ook tegen het lijf, zoals in het boek “Web analytics an hour a day” van Avinash Kaushik. Het stuk over statistische significantie staat ook op zijn blog. Wat betekent statistische significant nou eigenlijk, en hoe werken de tools die hij noemt?

In dit artikel ga ik in op de formule die het mogelijk maakt twee waarden met elkaar te vergelijken. Deze formule zit achter veel tools op het internet zoals Splittester.com en de The Teasley Statistical Calculator. Bij dit artikel zit een split-tester waaruit de formule gewoon te kopieren is voor gebruik in je eigen sheets.

Download dus direct de onetomarket-statistische-calculator.xls en lees hieronder verder hoe het werkt.

THEORIE

Laten we beginnen met de definitie van significantie zoals die staat op wikipedia:

Significantie is een term uit de statistiek, die aangeeft of aangenomen kan worden dat een verschil wel of niet door toeval is ontstaan. Men spreekt van een significante uitkomst als deze uitkomst in sterke mate de veronderstelling ondersteunt dat het verschil niet door toeval is ontstaan, maar door iets anders.

Significantie wordt aangeduid met de term alpha. Dit is in feite het foutpercentage dat je bereid bent te accepteren. Als je een alpha van 0.01 kiest, accepteer je een foutpercentage van 1% en heb je dus nog 99% vertrouwen in de uitkomst van je test. Hieronder de drie veel gekozen alphas en de bijbehorende percentages.

Alpha statistiek

Belangrijk om op te merken is dat het significantie niveau en dat percentage dus slaat op het vertrouwen in de test, en niet op de uitkomst. Het geeft dus de nauwkeurigheid van je test aan. Als je een alpha kiest van 0.05 heb je 95% vertrouwen in de uitkomst van je test, en kun je zeggen ik ben 95% zeker dat…..

Om het significantie niveau te kunnen vaststellen, en om te kunnen zien of er daadwerkelijk een verschil bestaat moeten we een test doen. Deze zogenaamde hypothese test bestaat uit twee hypotheses: de nul-hypothese en de alternatieve hypothese.

  • De nul hypothese: is altijd de status quo, in andere woorden: we gaan er vanuit dat er geen verschil is.
  • De alternatieve hypothese: Is altijd wat je wil testen, wat je probeert te bewijzen, ad 1 beter dan ad2 bv.

Uit de test rolt een zogenaamde z-score, deze kunnen we op twee manieren gebruiken om het resultaat van de test te beoordelen.

1. We vergelijken de z-score van het gekozen vertrouwenspercentage om te zien of er voldoende bewijs is om de nul-hypothese te verwerpen. ( er is voldoende bewijs om te zeggen dat ad 1 beter presteert dan ad 2 ). We verwerpen de nul-hypothese als de z-score uit onze test groter is dan de z-score van de gekozen alpha, die in bovenstaand tabel staat.

Voorbeeld: We willen 95% vertrouwen, kiezen dus een alpha van 0.05, en de daarbijhorende z-score van 1.645. ( zie de tabel ). We verwerpen de nul-hypothese als de z-score die we berekenen groter is dan 1.645, oftwel 1.645.

2. We gaan aan de hand van de berekende z-score na wat het geobserveerde significantie niveau is (p-waarde), als dit lager is dan het significantie niveau dat we vooraf kozen ( alpha ) dan verwerpen we ook de nul-hypothese. De p-waarde is feitelijk de kans op het vinden van een z-score die de nul-hypothese verwerpt. Als de kans op het vinden van die waarde heel klein is, maar je vind die toch, dan betekent dat dus ook dat je bevinding significant is. Met andere woorden het is dan zeer onwaarschijnlijk dat het verschil dat je ziet ( tussen de ctr’s ) wordt veroorzaakt door toeval.

Voorbeeld: We willen 95% betrouwbaarheid, we kiezen de alpha 0.05 en de z-score is weer 1.645. We zoeken de bijbehorende kansverdeling op in de tabel in de excel sheet, en trekken dat af van 1. Om de nul-hypothese te verwerpen moet de gevonden p-waarde dus kleiner zijn dan de vooraf gekozen alpha. ( zie ook het voorbeeld )
Het spreekt voor zich dat de conclusies uit deze twee methodes altijd overeenkomen.

Het spreekt voor zich dat de conclusies uit deze twee methodes altijd overeenkomen.

Nog even van belang is te melden dat er tweezijdige en eenzijdige hypothese tests zijn. Tweezijdige tests bekijken elke afwijking, dus simpelweg of er een verschil is. Een eenzijdige test kijkt alleen of het groter of kleiner is. In dit geval willen we weten of 1 variant beter presteert dan de ander, een eenzijdige test dus.

TOEPASSEN

Laten we als voorbeeld twee adwords advertenties nemen. De eerste advertentie heeft een ctr van 10,40% en de tweede van 8,62%. Het lijkt dus duidelijk dat advertentie 1 beter presteert. Ik wil graag weten of ik de tweede advertentie uit kan zetten, die presteert immers een stuk minder.

adwords-statistiek-1.jpg

Als we nu echt willen testen of advertentie 1 beter presteert stellen we de volgende twee hypotheses op:

Laten we zeggen dat we 95% zekerheid willen, onze alpha is dan 0,05 en de z-score is 1.645 ( zie tabel hierboven ). We verwerpen de nul-hypothese dus als de z-score uit onze test groter is dan 1.645.

Vervolgens berekenen we de z-score van de test met de volgende formule:

formule-statistiek.jpg

 

Z1= z-score

p1= de kans op succes van populatie 1 ( ctr, conversiegraad of response rate)

p2= de kans op succes van populatie 2 ( ctr, conversiegraad of response rate)

n1= grootte populatie 1 ( impressies, bezoekers of verzonden emails )

n2= grootte populatie 2 ( impressies, bezoekers of verzonden emails )

 

Als we de waarden invullen uit de adwords screenshot krijgen we het volgende:

z = CTR I – CTR II / √ ( CTR I x 1 – CTR I)/ impressies ad 1 + (CTR II x 1-CTR II)/ impressies ad 2

z = 0.1040-0.0862 / √ (0.1040 x 1 – 0.1040)/125 + (0.0862 x 1 – 0.0862)/116

z = 0,4716

We zien direct dat de z-score uit de formule veel lager is dan de z-score van 1.645 die bij 95% zekerheid hoort, er is dus onvoldoende bewijs om met 95% zekerheid te kunnen zeggen dat er een verschil is. Maar hoeveel zekerheid hebben we dan wel? Wat is de significantie?

Hiervoor zoeken we de z-score op in de tabel van de kansverdeling van de standaard normale verdeling, deze tabel staat op blad 2 van de excel file. Z=0,47 geeft een waarde van 0.6808 ( zie screenshot ). De standaard normale verdeling is makkelijk in excel te verkijgen met de formule: =STAND.NORM.VERD .

p-value1.jpg

De p-waarde berekenen we met de volgende formule:

P = 1 – ( standaard normale verdeling z-score )

P = 1 – ( standaard normale verdeling 0,47 )

P = 1 – 0,6808 = 0,3192

De P-waarde is dus duidelijker groter dan de alpha ( 0.05) , er is zoals we al zagen niet genoeg bewijs om 95% zeker te zijn van het verschil. We zijn in feite maar 68% ( 0,6808 ) zeker en dat voldoet niet aan de vooraf ingestelde voorwaarden. Hou minimaal 90% aan als vertrouwenspercentage, maar beter is 95% of hoger. Er is nu wellicht wel een verschil, maar we hebben nog niet genoeg data om dat met genoeg vertrouwen aan te tonen. We laten de tweede advertentie dus nog even lopen.

Deze formule is geschikt om twee waardes met elkaar te vergelijken, en te kijken of er genoeg bewijs is om statistisch significant te zijn. Je kunt de formule ook gebruiken in bijvoorbeeld dashboards om prestaties van maanden of weken met elkaar te vergelijken. Deze formule is trouwens ook terug te vinden in de derde kolom in Website optimiser, en wordt gebruikt voor de berekening van “chance to beat original”.

optimisze.jpg

Hier wordt elke combinatie afgezet tegen het origineel. Laten we de best presterende combinatie nemen:

Google gaat voor de optimiser uit van 95% zekerheid, en gebruikt dus alpha = 0.05. We verwerpen de nul hypothese als z groter is dan 1.645.

z = Con. % combinatie 8 Con. % origineel / ( Con. % combinatie 8 x 1 Con. % combinatie 8)/ visitors combinatie 8 + Con. % origineel x 1 Con. % origineel)/ visitors origineel

z = 0,169-0,126 / √ (0,169 x 1 – 0,169)/455 + (0,126 x 1 – 0,126)/478

z = 1.8521

Deze z-score is duidelijk hoger dan 1.645, we verwerpen de nul hypothese. De bijbehorende p-waarde is 0,032 en die is inderdaad ook lager is dan de alpha van 0,05. Als we de z-score op zoeken in de tabel van de kansverdeling zien we bovendien dat er een vertrouwenspercentage is van afgerond 97%. Dit komt overeen met het screenshot.

Door het gebruik van de formule kun je sneller actie ondernemen met je data, is er een significant verschil? Moet ik reageren? Of is er onvoldoende data en wacht ik nog even af?

Stel vrijblijvend een vraag aan één van onze Consultants