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 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 alpha’s en de bijbehorende percentages.
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.
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.
Het spreekt voor zich dat de conclusies uit deze twee methodes altijd overeenkomen.
Nog even van belang is te melden dat er tweezijdige en éénzijdige hypothese tests zijn. Tweezijdige tests bekijken elke afwijking, dus simpelweg of er een verschil is. Een éénzijdige test kijkt alleen of het groter of kleiner is. In dit geval willen we weten of 1 variant beter presteert dan de ander, een éénzijdige 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.
Als we nu echt willen testen of advertentie 1 beter presteert stellen we de volgende twee hypotheses op:
- Nul-hypothese: Er zit geen verschil in de CTR’s van de advertenties
- Alternatieve hyopthese: De CTR van ad 1 is beter dan die van ad 2
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:
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 .
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”.
Hier wordt elke combinatie afgezet tegen het origineel. Laten we de best presterende combinatie nemen:
- Nul hypothese: Er is geen verschil tussen combinatie 8 en het origineel
- Alternatieve hypothese: Combinatie 8 presteert beter dan het origineel
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?
Deze post is eerder verschenen op het Onetomarket blog.
Zware kost Joost. Je kunt zo in het marktonderzoek 😉
Hehe ik zie dat ik iets vrij essentieels vergeten ben 🙂 mijn collega Gjalt Jellesma heeft dit stuk geschreven, en ik snap het wel, maar het zo uitleggen als hij is mij dan weer niet gegeven 😉
Leuk stuk! Ik erger me als arts/wetenschapper vaak aan allerlei artikelen/uitspraken die ervan uit gaan dat meer beter is, zonder enige vorm van statistiek te hebben gebruikt. Economen kunnen er bv ook wat van, veel winststijgingen of dalingen zijn zelden statistisch significant en zijn dus feitelijk toevallig iets hoger of lager. Zelfde geldt voor criminaliteitscijfers, autoverkopen etc….. En dus ook responsrates.
Deze promo is wel heel stevig ingepakt.
Peter: Promo? Hoe bedoel je?
Promo voor een Onetomarket.xls-sheet die m.i. niks meer of minder is dan een standaardstuk statistiek. Toepasbaar op een groot aantal terreinen.
@Joost;
Ben wel met Peter W. eens dat het wellicht een beetje op de grens ligt van wat wel/niet netjes is. Met twee linkjes naar jullie eigen blog.
Maar dat doet niets af aan het feit dat het artikel mij wel degelijk interesseert en aanspreekt!
Top artikel Joost, ik ga kijken of we dit statistisch model op onze AdCreatives kunnen loslaten!
@Paul: nouja dat ben ik dan gewoon niet met je eens 🙂 het is een link naar een excel sheet, en een link naar de post zoals die origineel verschenen is.
Ik heb na het verschijnen van die post met Marco en Remi gemaild of het niet iets voor MF was, en zij vonden het interessant genoeg om te plaatsen. Om vervolgens te zorgen dat we geen dupe content problemen krijgen is die onderste link er bij geplaatst. Waarom zou dat niet netjes zijn?
@Joost ’t ziet er in mijn beleving anders uit als je de statistische bijsluiter hier beperkt tot de hoofdlijnen en een praktische case laat zien in plaats van een laboratoriumopstelling.
@Peter: ik wil je bij deze graag uitnodigen om de cijfers aan te leveren voor een praktische case, die ik dan met genoegen samen met een collega voor je zal analyseren!
Die cases liggen bij jullie toch gewoon op de plank hoop ik . . . Een interactief mediabureau!
@Peter zeker wel, maar wij delen onze klant data zelden tot nooit.
thnx, na al m’n onderzoeken op school eindelijk eens een uitleg in 1 document en in het nederlands. Heb ‘m gebookmarkt. Marketingfacts is toch ook een stukje profileren en persoonlijke PR, mijns inziens helemaal niets mis mee en ook belangrijk om dergelijke artikelen gratis te mogen lezen. Begrijp de ophef niet zo.
Prima verhaal Joost; verbaasd me eerlijk gezegd dat dit niet veel meer wordt toegepast!?
@Joost: prima uitleg 🙂
@Marco: Aan de ene kant goed hier op Marketingfacts nu eens niet gekeken wordt hoe andere bedrijven reclame maken maar dat er een kijk achter de schermen mogelijk is. Aan de andere kant, dit zou dagelijkse kost moeten zijn bij elk online marketing/mediabedrijf en eenieder die zich professional noemt op dit gebied zou zich moeten schamen als hij dit niet wist of weet te gebruiken (daar bedoel ik jou niet mee hoor, ik geloof dat je je vak wel verstaat 🙂 )
Eindelijk eens een fatsoenlijk onderbouwd artikel op marketingfacts..
@Marco: ik kan natuurlijk niet zeggen of dit niet veel meer wordt toegepast, wat ons echter opviel is dat er nog niet vaak duidelijk uitleg over gegeven is. Daniël Markus bijvoorbeeld schudt dit vast ook zo uit z’n mouw, en met hem waarschijnlijk nog een boel anderen. Het zou wel mooi zijn als iedereen dit snapte en de significantie gewoon werd gebruikt en gepubliceerd in alle onderzoeken hier op MF 🙂
Hoi Joost,
Goed om eindelijk eens een artikel over statistische significantie te lezen. Ter aanvulling nog het volgende:
– betrouwbaarheidsinterval: normaal wordt in onderzoek een interval gekozen, waarbinnen de waardes voor nadere analyse worden gebruikt, bijvoorbeeld een betrouwbaarheidsinterval van 90 %. Dat betekent dat de 5% laagste waarden en de 5 % hoogste waarden niet meegerekend worden. Dat is belangrijk, want extreme waarden kunnen een gemiddelde (onterecht) behoorlijk verstoren. Overigens speelt dit niet in bovenstaande analyse; in de vergelijking van de CTR van twee advertenties is geen sprake van extreme waarden die uitgesloten moeten worden. Maar in de berekening van bijvoorbeeld het aantal pagina’s per bezoek en tijd op de site mis ik bij WA altijd het betrouwbaarheidsinterval.
– representatieve, aselecte steekproef: het is belangrijk – ook in deze vergelijking van Ad Words – dat de steekproef aselect is en representatief voor de doelgroep. Twee ads op verschillende plekken of verschillende lead-campagnes zijn daardoor al moeilijker te vergelijken. Om het resultaat te kunnen meten zul je dus maximaal één variabele moeten wisselen (en dan nog moet je goed nadenken wat je meet). Ideaal is in dit geval een bivariate test, waarbij je op één plek verschillende ads ad random toont.
– Deze test is volgens mij een chi-kwadraat-toets. Daar heb je geen WA-pakket voor nodig, maar dat kan in elk spreadsheetprogramma. In OpenOffice Calc vul je even de gegevens in, kies je de functie en zie daar: je hebt zo de cijfers die aangeven of het verschil significant is.
– Tot slot: de eventuele significantie zegt nog niets over de conversie. Het kan best dat de ene campagne of ads een veel hogere CTR genereert, maar een lagere conversie heeft. Denk hierbij aan ads die iets anders beloven/suggereren dan ze bieden. En het gaat toch voornamelijk om conversie.
–
Zware kost maar daardoor niet minder nuttig.
Maarre zijn jullie nou nooit bang voor dubbele content…….
Interessant stuk! In mijn opleiding ben ik hier ook mee doodgegooid maar de uitleg was zelden zo helder. Wellicht een interessant onderwerp voor in de toekomst: Anova (Analysis of Variance). De Z-test leent zich prima voor het vergelijken van 2 waarden, maar wordt een stuk minder betrouwbaar als je meerdere opties gaat bekijken. Anova is daar weer voor geschikt.
Natuurlijk is dit niks nieuws, en er zijn nog veel geavanceerdere methodes. Maar dit leek mij een mooi voorbeeld om over iets bruikbaars te vertellen waarvoor je niet direct een nieuwe studie hoeft te beginnen 😉
@Jaap:
Bedankt voor de nuttige ( en uitgebreide) aanvulling! Ik gebruik het voorbeeld in het artikel puur als voorbeeld om twee proporties te vergelijken, ik pretendeer niet dat de advertentie met de hogere CTR een beter conversie geeft. Het website optimiser voorbeeld daaronder doet dat wel , en die maakt ook nog eens gebruik van de vertrouwensinterval (die bij de Optimiser uitgaat van 95%).
Het is trouwens geen chi-kwadraat-toets, maar ik begrijp je punt. Uiteraard zijn veel formules gewoon terug te vinden in spreadsheet progamma’s of tools die al online staan. Maar hierbij is de werking van de formule meestal afgeschermd, en kun je alleen maar je cijfers invullen. Het leek mij interessant uit te leggen hoe dat werkt.
@Rick,
Inderdaad, deze formule is puur bedoeld om twee populatie proporties te vergelijken. Leuk om te horen dat de uitleg helder was trouwens 😉
Heel goed dat er op marketingfacts aandacht wordt besteed aan statistische significantie van testresultaten. Voor degenen die zich niet bezig willen houden met het zelf uitvoeren van allerlei berekeningen, maar wel betrouwbare resultaten willen, zijn er online handige hulpmiddelen. Bijvoorbeeld op http://www.dmcalculator.nl. Ik gebruik deze tool bijna wekelijks en ben erg tevreden met de gebruikersvriendelijkheid.
Gerelateerde artikelen
Marketingfacts. Elke dag vers. Mis niks!
Marketingfacts. Elke dag vers. Mis niks!