Výpočet velikosti vzorku pro A/B testy: nástroj Evana Millera
Kalkulačka Evana Millera umožňuje přesně vypočítat velikost vzorku pro A/B testy, minimalizuje riziko chyb a optimalizuje zdroje. Nástroj zohledňuje základní konverzní poměr, očekávaný efekt, statistickou sílu a hladinu významnosti, přičemž udává počet pozorování pro skupiny A a B.
Správný výpočet zabraňuje podcenění vzorku, které vede k vysoké variabilitě, nebo plýtvání zdroji na nadbytečný objem dat. Například při základním konverzním poměru 56 % a cíli zvýšení o 3 % je potřeba přibližně 13 719 uživatelů na skupinu při standardních parametrech (síla 80 %, α=5 %). Doporučuje se rezerva +20 %, celkem tedy 16 463 na skupinu.
Parametry výpočtu v kalkulačce
Nástroj vyžaduje postupný vstup klíčových metrik:
- Baseline conversion rate – aktuální konverzní poměr. Vypočítá se jako (úspěšné události / celkový počet). Příklad: 280 000 zobrazení z 500 000 rozesílaných e-mailů = 56 %.
- Minimum Detectable Effect (MDE) – minimální detekovatelný efekt. Uvádí se v absolutních (jednotky) nebo relativních (%) hodnotách. Pro konverzi jsou preferovány relativní.
- Statistical power (1-β) – pravděpodobnost odhalení reálného efektu (standard 80 %). Vyšší hodnota – větší vzorek.
- Significance level (α) – pravděpodobnost chyby I. druhu (falešně pozitivní výsledek, standard 5 %).
Graf v rozhraní ukazuje rozsah efektů potvrzujících hypotézu (šedý interval od baseline + MDE).
Vliv parametrů na velikost vzorku
Změna nastavení přímo ovlivňuje objem dat:
- Zvýšení síly z 80 % na 90 % zvyšuje vzorek z 13 719 na 18 372 na skupinu.
- Nižší α (např. 1 %) vyžaduje ještě větší objem.
- Relativní MDE je snazší interpretovat pro procentuální metriky, absolutní – pro pevné změny.
| Parametr | Standardní hodnota | Efekt na vzorek |
|----------|---------------------|-------------------|
| Power | 80% | Základní |
| α | 5% | Základní |
| Power 90%| 90% | +34% |
| α 1% | 1% | +~100% |
Po výpočtu délka testu: velikost vzorku / průměrný denní provoz. Rozpočet: velikost × náklady na získání.
Praktická doporučení pro použití
- Přidejte 20% rezervu pro zohlednění odchodu nebo variací provozu.
- Rozdělte provoz 50/50 mezi skupiny pomocí A/B testovacích nástrojů (Optimizely, Google Optimize).
- Pro binární metriky (konverze) používejte relativní MDE.
- Ověřte předpoklady: sezónnost, segmentaci publika.
Příklad kódu pro ověření v Pythonu (pomocí statsmodels):
import statsmodels.stats.api as sms
effect_size = sms.proportion_effectsize(0.56, 0.56 * 1.03)
analysis = sms.NormalIndPower()
sample_size = analysis.solve_power(effect_size, power=0.8, alpha=0.05, ratio=1)
print(f"Velikost na skupinu: {sample_size:.0f}")
Výstup: ~13 719, shoduje se s kalkulačkou.
Co je důležité
- Přesný výpočet vzorku snižuje pravděpodobnost chyb I. a II. druhu.
- Standardní parametry (síla 80 %, α 5 %) vyvažují rychlost a spolehlivost.
- Rezerva 20 % kompenzuje reálné ztráty dat.
- Integrace s kódem umožňuje automatizovat kontroly.
- Zohlednění provozu určuje skutečnou délku testu.
— Editorial Team
Zatím žádné komentáře.