Menu

Symulator podglądania testów A/B

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.

Autor: Nethanel Bar, Co-founder & CEO

Ostatnia aktualizacja

Chcesz naprawdę nauczyć się programować?

Coddy uczy cię przez pisanie prawdziwego kodu w przeglądarce: interaktywne lekcje, natychmiastowa informacja zwrotna i pomoc AI, gdy utkniesz.

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 patrzyszSpojrzenia w 4 tygodnieFałszywi zwycięzcy
Raz, na końcu1około 5%
Co tydzień4około 10 do 13%
Co 3 dni9 do 10około 15 do 20%
Codziennie28około 25 do 30%
Codziennie przez 12 tygodni84ponad 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.

Inne narzędzia dla programistów

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ