088 - 120 34 00
Hét Online Marketing Bureau uit Arnhem

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.

image: aplha statistiek Web analytics en statistische significantie

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.

image: adwords statistiek 1 Web analytics en statistische significantie

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:

image: formule statistiek Web analytics en statistische significantie

 

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 .

image: p value1 Web analytics en statistische significantie

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”.

image: optimisze Web analytics en statistische significantie

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?

6 reacties

Johannes

Kan ik ergens een samenvatting vinden:-P

Jan-Willem Bobbink

Erg interessant artikel. Doet me denken aan m’n tijd op de middelbare school, heerlijk die statistiek lessen! Zal eens even met de sheet aan het testen gaan!

Ronald van Rijn

Ik heb artikel ook gezien op Marketingfacts meen ik. Erg handige spreadheet, dank daarvoor. Ik heb hier echter nog wel een vraagje over.
Mag je deze significantie meting ook gebruiken als je uitkomsten van bijvoorbeeld mailing A vergelijkt met een gemiddelde van voorgaande metingen?
Deze discussie heb ik niet kunnen vinden op Avinash’s blog.

Gjalt Jellesma

Dat mag in principe. De sheet vergelijkt populatie proporties, en dat zijn eigenlijk ook gewoon gemiddeldes. Of dat gemiddelde nu van een maand of week is, of van de gehele periode daarvoor.
Maak dan niet een gemiddelde response rate van gemiddeldes van voorgaande periodes, maar gebruik de totale clicks en responses om één gemiddelde voor die voorgaande periode uit te rekenen.

Denk wel altijd na of het zin heeft dingen te vergelijken, significant betekent niet altijd relevant.

brigitte

Ik vraag me iets af bij het lezen van deze blog. als je de prestaties van twee advertenties statistisch wil testen, moet je dan niet de onafhankelijke scores per dag (binnen de testperiode) tegen elkaar afzetten om een variantie te berekenen? Dit omdat je hier een test doet van twee onafhankelijke steekproeven waarbij de je zowel beiden gemiddeldes als varianties mee moet nemen?

Ik doe dit namelijk wel, als het zo simpel met twee losse scores kan zou het natuurlijk wel ideaal zijn. Alleen heb ik nog wat twijfels.. weet iemand hier antwoord op?

A/B-testing, vergeet niet om zelf na te denken – Onetomarket

[…] was toch beter en het resultaat was toch significant?”Wat was significantie ook alweer?Hoe mooi statistische significantie tijdens een test ook is, in het geval van een A/B-test is het gevaarlijk om enkel en alleen hierop […]

Geef een reactie