Dwa tysiące testów, w których A i B to ta sama strona, uruchomionych na twoim ruchu. Zobacz, ilu zwycięzców ogłosiłaby osoba zaglądająca codziennie i jak często te same testy mylą kogoś, kto czeka do daty końca.
Najdroższy nawyk w testach A/B, zasymulowany na twoich liczbach
Oto ten nawyk. Startujesz test i każdego ranka otwierasz panel. Pasek pełznie w górę, spada, znów rośnie, aż pewnego wtorku przekracza 95%. Ogłaszasz wynik, wdrażasz zwycięzcę i idziesz dalej. Problem w tym, że p-value błądzi. W teście, w którym oba warianty są identyczne, p-value i tak w niektóre dni przypadkiem spada poniżej 0,05, a potem wraca wyżej. Zatrzymanie przy pierwszym przekroczeniu oznacza złapanie go w przelocie, a zakładany poziom ufności przestaje istnieć.
Skala efektu zaskakuje. Przy 95% ufności test odczytany raz, na końcu, myli się mniej więcej raz na dwadzieścia razy, i taka jest umowa. Ten sam test czytany codziennie przez cztery tygodnie i zatrzymany przy pierwszym zielonym dniu w symulatorze zwykle daje fałszywego zwycięzcę w co najmniej jednej czwartej testów, w których nic się nie zmieniło. Pierwotny tekst Evana Millera szacował to na ponad 20% dla codziennego podglądacza, a Optimizely w 2015 roku przebudowało swój silnik statystyczny, bo odsetek fałszywych alarmów u jego klientów przekroczył ten poziom. Sprawdzanie co tydzień zamiast codziennie mniej więcej o połowę zmniejsza szkody, ale ich nie usuwa.
Symulacja jest uczciwa co do tego, czym jest: każdy test losuje konwersje z prawdziwą stopą dla obu wariantów, przy każdym spojrzeniu wykonuje zwykły test z dla dwóch proporcji na wszystkim, co dotąd zebrano, i zapisuje, gdzie podglądacz by się zatrzymał. Każda ścieżka na wykresie to jeden test, a każda kropka to poranek, w którym ktoś ogłosiłby wynik. Ustaw prawdziwy wzrost na +10%, aby zobaczyć drugą połowę historii: podglądacz wcześnie łapie prawdziwy efekt, ale z przesadzonym wzrostem, i równie chętnie ogłosiłby "wygraną", gdyby efekt wynosił zero.
Co pokazuje symulacja
P-value to błądzenie losowe. Przy hipotezie zerowej przy każdym pojedynczym spojrzeniu ma rozkład jednostajny, więc każdego ranka istnieje 5% szansy, że będzie poniżej 0,05. Przez dwadzieścia osiem poranków te szanse się sumują.
Odsetek fałszywych alarmów zależy od tego, ile razy patrzysz, a nie od tego, jak długo trwa test. Czterotygodniowy test czytany co tydzień myli się rzadziej niż dwutygodniowy czytany codziennie.
Wczesne zatrzymania zawyżają wzrost. Gdy podglądacz zatrzymuje test w szczęśliwy dzień, zaobserwowany wzrost tego dnia jest z definicji nietypowo duży. Wdrożeni zwycięzcy, którzy "wyblakli" po starcie, często byli właśnie tym.
Rozwiązaniem jest dyscyplina albo inny test. Dyscyplina: z góry ustal wielkość próby i datę końca, a wynik przeczytaj raz. Inny test: metody sekwencyjne, takie jak zawsze ważne p-value używane przez Optimizely, Statsig i Eppo, są zaprojektowane do ciągłego odczytu kosztem większej próby.
Panele bayesowskie nie są odporne. Prawdopodobieństwo bycia najlepszym sprawdzane codziennie i wykorzystywane przy progu ma ten sam problem w innym kostiumie.
Jak korzystać z symulatora
1
Wpisz stopę konwersji i dziennych odwiedzających
Symulacja losuje konwersje z twoją prawdziwą stopą, więc wahania p-value odpowiadają szumowi, który naprawdę pojawia się w twoich danych.
2
Ustaw planowaną długość i częstotliwość sprawdzania
Codziennie, co trzy dni lub co tydzień. Różnica między wynikiem podglądacza a uczciwym wynikiem to cena tego nawyku.
3
Zostaw prawdziwy wzrost na "brak"
Wtedy każdy test jest testem A/A: każdy zwycięzca to z założenia fałszywy alarm. Potem przełącz na +10% lub +30%, aby zobaczyć podglądacza przy prawdziwym efekcie.
4
Przeczytaj dwie duże liczby
Wynik podglądacza to odsetek testów, w których codziennie sprawdzający ogłosił zwycięzcę. Wynik przy dacie końca powinien być bliski wybranej alfie. Jeśli jest, uczciwy test robi to, co obiecał.
5
Uruchom ponownie
Każde uruchomienie losuje nowe testy. Odsetki trochę się przesuwają, różnica nie.
Typowy odsetek fałszywych alarmów w testach A/A
Przy 95% ufności jeden uczciwy odczyt na końcu myli się w około 5% przypadków. Przybliżone liczby z symulacji i literatury dla podglądacza, który zatrzymuje się przy pierwszym istotnym spojrzeniu.
Jak często patrzysz
Spojrzenia w 4 tygodnie
Fałszywi zwycięzcy
Raz, na końcu
1
około 5%
Co tydzień
4
około 10 do 13%
Co 3 dni
9 do 10
około 15 do 20%
Codziennie
28
około 25 do 30%
Codziennie przez 12 tygodni
84
ponad 35%
Trzy nawyki w symulacji
Codzienne sprawdzanie
Konwersja 5%, 1000 odwiedzających dziennie, 28 dni, sprawdzanie każdego ranka. W naszym przebiegu: podglądacz ogłosił zwycięzcę w około 28% z 2000 testów A/A, a przy jednym odczycie na końcu w 4,5%.
Sześć razy więcej fałszywych alarmów w teście, który wydawał się staranny, bo ktoś codziennie go pilnował. Połowa tych "zwycięzców" wskazywała B, a połowa A, bo nie było czego znaleźć.
Cotygodniowe sprawdzanie
Ten sam ruch, ta sama długość, sprawdzanie raz w tygodniu. W naszym przebiegu: około 12% u podglądacza wobec 5% na końcu.
Cztery spojrzenia zamiast dwudziestu ośmiu bardzo pomagają, a i tak ponad dwukrotnie przekraczają obiecany odsetek. Żadna liczba spojrzeń poza jednym nie dotrzymuje obietnicy.
Prawdziwy wzrost +10%
Ustaw prawdziwy wzrost B na +10% przy tym samym ruchu. Uczciwy test po 28 dniach ma ograniczoną moc dla tak małego wzrostu przy takim ruchu, a podglądacz częściej zatrzymuje się wcześnie, w szczęśliwe dni.
To kuszący przypadek: podglądacz wydaje się znajdować rzeczy szybciej. Ale dni, w których się zatrzymuje, to dni, gdy wzrost wyglądał na największy, więc wdrożona estymacja jest zawyżona, a ten sam nawyk znalazłby "zwycięzcę" przy wzroście ustawionym na zero.
Błędy związane z podglądaniem
Zatrzymywanie testu pierwszego ranka z istotnym wynikiem. O tym jest cała ta strona. Poziom ufności znaczy to, co mówi, tylko jeśli wynik czyta się raz.
Przedłużanie testu, który jest "prawie istotny". Decyzja o dłuższym teście, bo wynik jest blisko istotności, to podglądanie na odwrót i tak samo zawyża odsetek fałszywych alarmów.
Codzienne sprawdzanie "tylko po to, żeby upewnić się, że nic się nie zepsuło". Wypatrywanie błędów jest w porządku, wpatrywanie się w p-value już nie. Do daty końca patrz na podział ruchu i odsetek błędów, a nie na wzrost.
Wiara, że panel bayesowski czyni podglądanie bezpiecznym. Działanie na podstawie progu prawdopodobieństwa sprawdzanego codziennie powoduje takie samo zawyżenie.
Raportowanie wzrostu z dnia zatrzymania. Jeśli musisz zatrzymać test wcześniej, podaj przedział i spodziewaj się, że prawdziwy wzrost jest mniejszy niż estymacja punktowa.
Podglądanie testów A/B: FAQ
Czym jest problem podglądania w testach A/B?
To wielokrotne odczytywanie testu o stałym horyzoncie i zatrzymywanie go, gdy pierwszy raz wygląda na istotny. Ponieważ p-value waha się w miarę napływu danych, każde spojrzenie to kolejna szansa na przypadkowe przekroczenie progu. Test czytany codziennie przez miesiąc przy 95% ufności daje fałszywego zwycięzcę w mniej więcej jednej czwartej przypadków, gdy nic się nie zmieniło, zamiast obiecanych 5%.
Czy zaglądanie do testu przed końcem to błąd?
Patrzenie jest w porządku, problemem jest działanie. Sprawdź, czy ruch dzieli się równo, czy oba warianty się ładują i czy konwersje są zapisywane. Nie czytaj wzrostu ani ufności i nie pozwól, by to, co widzisz, przesunęło datę końca w którąkolwiek stronę.
Jak robić testy A/B, jeśli chcę sprawdzać wyniki na bieżąco?
Użyj metody sekwencyjnej. Zawsze ważne p-value, grupowe plany sekwencyjne i podobne metody są zaprojektowane do odczytu w dowolnym momencie, a płaci się za to większą próbą przy tej samej mocy. Większość nowoczesnych platform oferuje taką metodę. Ten symulator modeluje klasyczny test o stałym horyzoncie, bo takie są obliczenia w większości arkuszy i paneli, w tym w pozostałych zakładkach tej strony.
Czy podglądanie ma znaczenie, jeśli sprawdzam co tydzień?
Mniejsze, ale tak. Cztery spojrzenia w cztery tygodnie przy 95% zwykle podwajają odsetek fałszywych alarmów. Jedyna liczba spojrzeń, która dotrzymuje obiecanego poziomu, to jedno.
Dlaczego symulator używa testów A/A?
Bo przy identycznych wariantach każdy zwycięzca to z założenia fałszywy alarm, więc odsetek pokazywany przez symulator jest dokładnie odsetkiem fałszywych alarmów symulowanego nawyku. Włączenie prawdziwego wzrostu pokazuje drugą stronę: podglądacz zatrzymuje się wcześnie w szczęśliwe dni i raportuje zawyżony efekt.
Czy test bayesowski rozwiązuje problem podglądania?
Sam z siebie nie. Prawdopodobieństwo bayesowskie czytane na bieżąco i wykorzystywane przy stałym progu zawyża błędne decyzje w ten sam sposób, co pokazali Georgi Georgiev i inni. Metody bayesowskie z właściwą regułą decyzyjną i priorem mogą dobrze działać przy ciągłym monitorowaniu, ale samo słowo "bayesowski" nie jest rozwiązaniem.