De formule voor de steekproefgrootte van een A/B-test vertelt je hoeveel bezoekers elke variant nodig heeft voordat een verschil in conversieratio iets betekent. Voor een standaard tweezijdige test bij 95% betrouwbaarheid en 80% power heb je ongeveer n = (1,96 + 0,84)² × (p1(1−p1) + p2(1−p2)) / (p2 − p1)² bezoekers per variant nodig, waarbij p1 je basisratio is en p2 de ratio die je hoopt te detecteren.
Haal die formule door echte B2B-cijfers en het resultaat is ongemakkelijk. Een pagina die 3% converteert, heeft ongeveer 14.000 bezoekers per variant nodig om een relatieve lift van 20% betrouwbaar te detecteren. Heel wat B2B-pagina's krijgen dat aantal bezoekers niet in een kwartaal. Hieronder: de formule invoer voor invoer, berekende tabellen voor een reeks basisratio's, hoe lang een test duurt bij een bepaald verkeersniveau, en wat je doet als het antwoord "acht maanden" is.
Ons standpunt: de meeste B2B-A/B-tests hebben te weinig power
Eerst de mening die de wiskunde ondersteunt. Onze visie is dat de meeste B2B A/B-tests worden gestopt lang voordat er genoeg data is, en dat veel van de "winnaars" die ze opleveren ruis zijn. Het patroon ziet er zo uit: een test van drie weken, een variant die 25% voorligt, een groen vinkje, een doorgevoerde wijziging, en zes maanden later geen zichtbare lift in de pipeline.
Tests met te weinig power missen echte effecten, en dat verspilt het testslot. Erger nog: als zo'n test toch de significantiegrens haalt, is de gemeten stijging meestal overschat, omdat alleen de gelukstreffers over de lat komen. Statistici noemen dit een magnitudefout (type M). Het team brengt een wijziging live die mogelijk niets doet en boekt ook nog een opgeblazen getal in zijn CRO-rapportage. De steekproefgrootte vóór de lancering berekenen is de goedkoopste bescherming.
De formule voor de steekproefgrootte van een A/B-test
De standaardformule om twee conversieratio's te vergelijken (een z-toets voor twee proporties) is:
n per variant = [ zα/2 × √(2 × p̄ × (1 − p̄)) + zβ × √(p1(1 − p1) + p2(1 − p2)) ]² / (p2 − p1)²
Elke input heeft een betekenis in gewone taal:
- p1 (basisconversieratio): de huidige conversieratio van de pagina en het doel dat je test. Gebruik de ratio voor het exacte conversie-event en de exacte pagina, over de laatste 4 tot 8 weken, niet een sitebreed gemiddelde.
- p2 (doelratio): de basisconversie vermenigvuldigd met (1 + MDE). Met een basisconversie van 3% en een relatieve MDE van 20% is p2 = 3,6%.
- MDE (minimaal detecteerbaar effect): de kleinste relatieve stijging die je wilt kunnen detecteren. Dit is een zakelijke beslissing, geen statistische. Kleinere MDE's vragen drastisch meer verkeer, omdat het verschil (p2 − p1) in de noemer wordt gekwadrateerd. Halveer de MDE en de steekproef wordt ruwweg vier keer zo groot.
- p̄ (gepoolde ratio): het gemiddelde van p1 en p2. Het beschrijft de ruis onder de aanname dat er geen echt verschil is.
- zα/2 = 1,96: komt overeen met een kans op een vals-positief van 5% (alfa 0,05), verdeeld over beide staarten omdat de variant beter of slechter kan zijn.
- zβ = 0,8416: komt overeen met 80% power: als de werkelijke stijging gelijk is aan je MDE, detecteert de test die in 80% van de gevallen. In de andere 20% mis je een echte winnaar.
Veel calculators gebruiken de vereenvoudigde, niet-gepoolde versie uit de eerste alinea. Bij B2B-conversieratio's verschillen de twee maar een handvol bezoekers. Onze A/B-testcalculator gebruikt de gepoolde formule hierboven en schat ook de testduur.
Uitgewerkt voorbeeld, stap voor stap
Voorbeeld (illustratieve cijfers): een pagina voor demo-aanvragen converteert 3%. Je wilt een relatieve stijging van 20% detecteren.
- Stel de ratio's in: p1 = 0,030, p2 = 0,030 × 1,2 = 0,036. Het absolute verschil is 0,006.
- Gepoolde ratio: p̄ = (0,030 + 0,036) / 2 = 0,033.
- Eerste term: √(2 × 0,033 × 0,967) = √0,06382 = 0,2526. Vermenigvuldig met 1,96: 0,4951.
- Tweede term: p1(1−p1) = 0,0291 en p2(1−p2) = 0,0347. √(0,0638) = 0,2526. Vermenigvuldig met 0,8416: 0,2126.
- Optellen en kwadrateren: (0,4951 + 0,2126)² = 0,7077² = 0,5009.
- Deel door het gekwadrateerde verschil: 0,5009 / 0,006² = 0,5009 / 0,000036 = 13.914 bezoekers per variant.
De test heeft dus in totaal ongeveer 27.800 bezoekers nodig, en zo'n 417 conversies alleen al in de controlegroep (13.914 × 3%), voordat je het resultaat afleest. Ter controle: de vereenvoudigde unpooled formule geeft 13.911 per variant, en een arcsinusbenadering (Cohen's h) geeft ongeveer 13.890. De drie methoden liggen binnen 0,2% van elkaar.
Tabel met steekproefgroottes voor B2B-conversieratio's
De tabel hieronder past de gepoolde formule hierboven toe (alfa 0,05 tweezijdig, power 0,8) op basisconversies van 1% (bijvoorbeeld demo-aanvragen als aandeel van alle bezoekers op een drukke pagina) tot 10% (bijvoorbeeld een microconversie zoals een CTA-klik). Gebruik je eigen basiswaarde; deze rijen zijn alleen referentiepunten. De waarden zijn bezoekers per variant, berekend in Node.js en naar boven afgerond.
| Basisconversieratio | Relatieve MDE van 10% | 20% relatieve MDE | 30% relatieve MDE | Relatieve MDE van 50% |
|---|---|---|---|---|
| 1% | 163,095 | 42,693 | 19,827 | 7,750 |
| 2% | 80,682 | 21,109 | 9,798 | 3,826 |
| 3% | 53,211 | 13,914 | 6,455 | 2,518 |
| 5% | 31,234 | 8,158 | 3,780 | 1,471 |
| 10% | 14,751 | 3,841 | 1,774 | 686 |
Van een MDE van 10% naar een MDE van 50% gaan, verkleint de benodigde steekproef ongeveer twintigvoudig. Een verdubbeling van de basisconversie halveert hem ruwweg. Je verkeer verander je niet snel, maar je kiest wel de omvang van de wijziging die je test en de conversie die je meet. Op een kleine site zijn dat de twee knoppen waar het om draait.
Hoe lang duurt de test?
De looptijd is het totaal benodigde aantal bezoekers (beide varianten) gedeeld door het aantal bezoekers per maand dat de geteste pagina echt bereikt. De tabel toont het aantal maanden bij een 50/50-verdeling op drie verkeersniveaus.
| Bezoekers per maand op de pagina | Nulmeting | 10% MDE | 20% MDE | MDE 30% | MDE van 50% |
|---|---|---|---|---|---|
| 2,000 | 2% | 80.7 | 21.1 | 9.8 | 3.8 |
| 2,000 | 3% | 53.2 | 13.9 | 6.5 | 2.5 |
| 2,000 | 5% | 31.2 | 8.2 | 3.8 | 1.5 |
| 5,000 | 2% | 32.3 | 8.4 | 3.9 | 1.5 |
| 5,000 | 3% | 21.3 | 5.6 | 2.6 | 1.0 |
| 5,000 | 5% | 12.5 | 3.3 | 1.5 | 0.6 |
| 20,000 | 2% | 8.1 | 2.1 | 1.0 | 0.4 |
| 20,000 | 3% | 5.3 | 1.4 | 0.6 | 0.3 |
| 20,000 | 5% | 3.1 | 0.8 | 0.4 | 0.1 |
Wat de tabel ook zegt: laat elke test minstens twee volle weken lopen, zodat gedrag op weekdagen en in het weekend en eventuele campagnepieken in beide groepen vertegenwoordigd zijn. En behandel alles boven de drie maanden als een test die je in de huidige vorm waarschijnlijk niet moet draaien: paginacontent, campagnes en verkeersmix verschuiven allemaal in die tijd, en het resultaat beschrijft een site die niet meer bestaat.
Bij 5.000 bezoekers per maand en een basisratio van 3% is een stijging van 50% in ongeveer een maand leesbaar en kost een stijging van 10% bijna twee jaar. Niemand laat een pagina twee jaar ongewijzigd, dus de tweede test wordt vroegtijdig gestopt en gelezen alsof hij iets betekende.

Wat de meeste teams verkeerd doen
- Verkeer van de hele site gebruiken in de schatting van de looptijd. Alleen bezoekers die het geteste element bereiken tellen mee. Een test op de prijspagina van een site met 20.000 bezoekers ziet misschien maar 2.000 geschikte bezoekers per maand.
- De MDE kiezen na de test. Stel je de MDE vóór de lancering op 30% en laat de test 12% zien, dan heb je geen winnaar van 12%. Dan heb je een test zonder uitsluitsel.
- Tussentijds kijken en stoppen bij het eerste groene vinkje. De analyse van Evan Miller, How Not To Run an A/B Test, laat zien dat herhaald toetsen op significantie het aantal fout-positieven altijd verhoogt. In zijn voorbeeld (een basis van 50%, een wijziging die niets doet, stoppen zodra het resultaat 5% significantie raakt of na 150 waarnemingen) is het percentage fout-positieven 26,1% in plaats van de nominale 5%.
Als de cijfers maanden aangeven: zeven opties
1. Test grotere wijzigingen
De goedkoopste manier om de steekproefgrootte te verkleinen, is de MDE eerlijk verhogen. Dat betekent wijzigingen testen die groot genoeg zijn om dat effect aannemelijk te maken: een nieuwe waardepropositie, een ander aanbod (direct inplannen in plaats van een contactformulier), een pagina die op één branche is afgestemd in plaats van een generieke. Onze gids voor B2B-conversieoptimalisatie legt uit hoe je testideeën rangschikt op verwachte effectgrootte.
2. Test op pagina's met meer verkeer
Homepage, populaire blogartikelen en landingspagina's met veel volume geven je meer bezoekers per maand (zie onze aantekeningen over B2B-landingspagina-optimalisatie voor welke pagina's doorgaans het meeste verkeer uit de beslisfase trekken). Een test op een template die door veel pagina's wordt gedeeld (alle oplossingspagina's, alle blogartikelen) bundelt hun verkeer in één experiment.
3. Gebruik microconversies voorzichtig
Microconversies zoals CTA-klikken of gestarte formulieren hebben hogere basisratio's, dus dan geldt de rij van 10% in de tabel in plaats van die van 2%. Het addertje: een variant kan meer klikken en minder gekwalificeerde demo's opleveren. Gebruik de microconversie alleen als beslismetric als je bewijs hebt dat hij meebeweegt met het macrodoel, en rapporteer de macroconversie er altijd naast als vangrail.
4. Voeg segmenten samen en splits later
Aparte tests per segment verdelen je verkeer. Voer één test uit over segmenten heen en bekijk de resultaten per segment alleen als richtinggevend. Heb je een segmentspecifiek antwoord nodig, dan moet de test zijn afgestemd op het verkeer van alleen dat segment. De testroadmap voor personalisatie van 90 dagen laat zien hoe je segmenttests zo inplant dat elke test genoeg verkeer krijgt.
5. Gebruik sequentieel testen
Sequentiële ontwerpen (groepssequentiële tests met vooraf geplande tussentijdse momenten, of always-valid methoden die in sommige testtools zijn ingebouwd) laten je resultaten tijdens de test bekijken en vroeg stoppen als het effect groot is, zonder dat het aantal fout-positieven toeneemt. De keerzijde is een iets grotere maximale steekproef als de test helemaal doorloopt. Dit is de legitieme versie van tussentijds kijken. Zou een test maanden duren, besteed het budget dan eerst aan diagnostische CRO-tools zoals sessie-opnames en formulieranalyse.
6. Overweeg een Bayesiaanse aanpak, met duidelijke verwachtingen
Bayesiaans A/B-testen rapporteert de kans dat B beter is dan A en het verwachte verlies als je de verkeerde kiest. Daar kun je makkelijker op handelen dan op een p-waarde, en het laat je expliciete beslissingen nemen zoals "live zetten als de kans dat hij beter is boven 90% ligt en het verwachte verlies onder 0,1 procentpunt." Bij omkeerbare wijzigingen is het vaak rationeel om dat risico te accepteren.
Wat bayesiaanse methoden niet doen, is informatie creëren. Met zwakke priors is de data die je nodig hebt om zeker te zijn van een stijging van 20% ongeveer even groot als in de frequentistische tabel. Een "kans om te winnen" van 90% op een piepkleine steekproef is nog steeds fragiel, en die dagelijks controleren met een stopregel verhoogt in de praktijk nog steeds het foutpercentage. Bayesiaans testen verandert hoe je onzekerheid uitdrukt en beslissingen neemt. Het verkleint de onzekerheid niet.
7. Niet tussentijds kijken, of je tussentijdse momenten plannen
Leg de steekproefgrootte vóór de lancering vast, schrijf die in de testbrief en trek geen conclusie voordat je die bereikt. Willen stakeholders tussentijdse updates, gebruik dan vanaf het begin een sequentieel ontwerp in plaats van losse controles. Onze template voor een experimentplan heeft een veld voor elk van deze beslissingen.
Een checklist vóór de lancering
- Haal de basisratio en het aantal geschikte bezoekers per maand op voor precies de pagina en conversie (laatste 4 tot 8 weken).
- Kies de MDE op basis van de omvang van de wijziging en leg hem vast.
- Bereken n per variant met de formule of de tabel hierboven, en daarna de looptijd.
- Duurt de test langer dan ongeveer drie maanden, ontwerp hem dan opnieuw (grotere wijziging, pagina met meer verkeer, of een metric met een hogere baseline plus een vangrail).
- Stel de stopregel vast: vaste steekproef, of een sequentieel plan met vooraf geplande tussenmetingen.
Voor B2B-teams komen de grootste effecten meestal van verschillende bezoekers verschillende content laten zien in plaats van één pagina voor iedereen op te poetsen, omdat een boodschap die voor één segment is geschreven een grotere verandering is dan een nieuwe knopkleur. Twijfel je tussen een eenvoudige splittest en een test met meerdere varianten of factoren, lees dan onze vergelijking van A/B-testen en multivariaat testen, die dezelfde steekproefberekening toepast op A/B/n- en multivariate opzetten.
Ben je klaar om tests te draaien op ervaringen per segment, dan kun je met A/B-testen voor gepersonaliseerde pagina's van Markettailor elk segment splitsen tegen een controlegroep en het resultaat per segment volgen, zodat de steekproefgrootte die je hebt gepland ook de steekproefgrootte is die je krijgt.
Veelgestelde vragen
Wat is de formule voor de steekproefgrootte van een A/B-test?
Voor twee conversieratio's geldt: n per variant = [1,96 × √(2p̄(1−p̄)) + 0,8416 × √(p1(1−p1) + p2(1−p2))]² / (p2 − p1)², waarbij p1 de basisconversie is, p2 de doelratio en p̄ hun gemiddelde. Dit gaat uit van 95% betrouwbaarheid (tweezijdig) en 80% power.
Hoeveel bezoekers heb ik nodig voor een A/B-test bij een conversieratio van 2%?
Ongeveer 21.100 bezoekers per variant om een relatieve lift van 20% te detecteren, ongeveer 9.800 voor een lift van 30% en ongeveer 3.800 voor een lift van 50%, bij 95% betrouwbaarheid en 80% power. Verdubbel dit voor het totale testverkeer.
Heeft Bayesiaans A/B-testen een kleinere steekproef nodig?
Niet wezenlijk, tenzij je een sterke, onderbouwde prior hebt. Bayesiaans testen geeft intuïtievere uitkomsten (kans om de controle te verslaan, verwacht verlies) en ondersteunt beslissingen op basis van risico, maar de hoeveelheid data die je nodig hebt om zeker te zijn van een bepaalde stijging is vergelijkbaar met de frequentistische berekening.
Welk minimaal detecteerbaar effect moet een B2B-site hanteren?
Kies de MDE op basis van je verkeer, niet op basis van wensdenken. Bereken wat je in zes tot acht weken kunt detecteren met het verkeer op je pagina en test alleen wijzigingen die groot genoeg zijn om die stijging aannemelijk op te leveren. In de tabel met looptijden hierboven kan een pagina met 5.000 bezoekers per maand en een basisconversie van 3% binnen drie maanden alleen stijgingen van ongeveer 30% of meer meten.
Mag ik een A/B-test vroegtijdig stoppen als hij al significant is?
Niet bij een standaardtest met een vaste steekproef, want herhaald controleren verhoogt het aantal fout-positieven. Wil je vroeg kunnen stoppen, gebruik dan een sequentieel testontwerp met tussentijdse analyses die je vóór de lancering plant.