Statystyka w testach A/B
Tagi: Google Website Optimizer, Optymalizacja konwersji, Testy A/B
Czy zastanawialiście się kiedyś, na jakiej teorii statystycznej oparte są wyniki w Google Website Optimizer? Ja ostatnio nie wytrzymałem i zacząłem dociekać, aby dowiedzieć się w jaki sposób narzędzie ocenia czy wynik danego testu można uznać za statystycznie istotny, czy też nie. Na pierwszy ogień poszła specyfikacja techniczna Google Website Optimizera, ale niestety nie znalazłem konkretnej odpowiedzi na nurtujące mnie pytanie.
W związku z tym postanowiłem otworzyć podręczniki ze studiów i znaleźć teorię, na której bazuje optymalizacja stron internetowych pod konwersję. Nie twierdzę, że jest to rozwiązanie stosowane w Google Website Optimizer, ale dzięki niemu na pewno można wyjaśnić statystyczne podstawy testów optymalizacyjnych. Podejrzewam, że podobnie jak w przypadku artykułu o o statystycznych podstawach funkcjonowania alertów w Google Analytics post ten będzie dla Was pewną ciekawostką. Nie ukrywam również, że liczę na komentarze (zwłaszcza osób, które są bardziej „statystyczne”) dotyczące mojego odkrycia:)
Zrozumienie podstaw – na czym polega optymalizacja konwersji
Jak dobrze wiecie, współczynnik konwersji jest stosunkiem liczby użytkowników, którzy wykonali zaplanowaną przez nas akcję (kupili produkt, wysłali formularz zapytania ofertowego, zapisali się do newslettera) do liczby wszystkich użytkowników. Metryka ta wyrażona jest w procentach i z prostych powodów nie może być większa niż 100%.
Optymalizacja stron internetowych pod konwersję jest działaniem czy też zestawem działań, które mają na celu zwiększenie współczynnika konwersji. Jej efektem jest to, że witryna konwertuje nie 3 na 100 użytkowników, a 6 na 100 tzn. jest dwa razy lepsza w zamianie odwiedzających na klientów. Co więcej nie ma ograniczenia, co do wzrostu współczynnika konwersji (oczywiście nie może on być większy niż 100%), jednak im dalej w las, tym trudniej. Na wielkość współczynnika konwersji wpływ ma wiele aspektów – opisaliśmy je w naszym modelu oceny heurystycznej witryny.
Zadaniem narzędzi służących do testowania stron internetowych pod konwersję jest wyłonienie zwycięskiej kopii strony, która charakteryzuje się większym współczynnikiem konwersji.
Moje pytanie, na które poszukiwałem odpowiedzi brzmi – na jakiej zasadzie jest wyłoniona zwycięska wersja? Cała wątpliwość, która we mnie tkwiła dotyczącą etapu testowania można zamknąć w dwóch pytaniach:
- Czy współczynnik konwersji testowanej kopii jest większy?
- Czy na podstawie przeprowadzonych testów wynik można uznać za statystycznie istotny?
Warto zaznaczyć, że jedynie odpowiedź na drugie pytanie pozwoli nam jednoznacznie rozstrzygnąć test. Cóż z tego, jeżeli współczynnik konwersji będzie większy, jeżeli nie jesteśmy pewni czy ta różnica jest statystycznie istota.
Co decyduje o statystycznej istotności
Cytując za pomocą Google AdWords:
Różnica istotna statystycznie to taka, której przypadkowe wystąpienie jest mało prawdopodobne.
Mówiąc bardziej ogólnie, możemy powiedzieć, że wynik statystycznie istotny to taki, który sprawdzony na podstawie testu (mniejszej próby) wystąpi z określonym (zazwyczaj wysokim) prawdopodobieństwem w rzeczywistości (w całej populacji), czyli możemy być pewni, że wynik testu przełoży się na rzeczywistość.
Co w związku z tym może decydować o statystycznej istotności testu optymalizacyjnego?
Na pewno jest to liczba osób, które biorą udział w eksperymencie (próba statystyczna). Im więcej osób „potwierdzi” w fazie testów, że dana kopia strony jest charakteryzuje się większym współczynnikiem konwersji, tym bardziej prawdopodobne, że tak będzie w rzeczywistości.
Jednak nie możemy czekać w nieskończoność, aby jak najwięcej osób wzięło udział w eksperymencie – test nie powinien trwać dłużej niż miesiąc. Musimy zdecydować jak najszybciej, która strona przyniesie nam większy dochód i natychmiast ją zaimplementować. Dlatego tak istotna jest wiedza na temat momentu, w którym wynik jest statystycznie istotny.
Przełożenie pojęć statystycznych na optymalizację konwersji
W statystyce istnieje pojęcie określane mianem frakcji (częstości, proporcji). Podając za Wikipedią jest to stosunek liczby obserwacji mających pewną właściwość do liczebności całej próby statystycznej.
Widzimy, że współczynnik konwersji jest niczym innym jak frakcją – w końcu liczba obserwacji mających pewną właściwość odpowiada liczbie użytkowników, którzy podjęli zaplanowaną przez nas akcję (zakupili produkt, wysłali formularz zapytania ofertowego, zapisali się do newslettera), a liczebność całej próby statystycznej to nic innego jak liczba wszystkich użytkowników, którzy odwiedzili naszą witrynę.
Na tej podstawie stwierdziłem, że najodpowiedniejszym testem do badania statystycznej istotności różnicy współczynników konwersji (różnicy frakcji, proporcji) będzie test dla proporcji.
Testowanie hipotez statystycznych
Pierwszą decyzją jaką musimy podjąć jest rodzaj testu, który wykorzystamy do zbadania rozpatrywanego zjawiska. W przypadku optymalizacji konwersji zdecydowałem już, że będzie to test proporcji.
Następnie musimy postawić hipotezy dotyczące naszego testu – zawsze są to dwie hipotezy: zerowa (H0) i alternatywna (H1). Hipoteza zerowa, to stwierdzenie, od którego wychodzimy np. „współczynniki konwersji w obu wersjach strony (obecnej i testowanej) są takie same”, czyli proponowane zmiany nie będą miały wpływu na zwiększenie współczynnika konwersji w rzeczywistości. Jednak zależy nam na tym, aby testowana wersja strony charakteryzowała się większym współczynnikiem konwersji stąd za hipotezę alternatywną obierzemy stwierdzenie, że „współczynnik konwersji testowanej strony jest większy od współczynnika konwersji obecnej jej kopii”. Nie trudno się domyśleć, że będzie nam zależało na odrzuceniu hipotezy zerowej na rzecz hipotezy alternatywnej.
W zależności od tego, jaką hipotezę alternatywną wybierzemy (mamy jeszcze dwa wybory: „współczynnik konwersji testowanej strony jest mniejszy” lub po prostu „współczynniki konwersji testowanej i obecnej kopii są różne”) należy wykorzystać inny wzór statystyki testującej, która pozwoli nam podjąć decyzję weryfikacyjną (czy możemy odrzucić hipotezę zerową).
W zależności od tego czy wartość statystyki obliczonej (testującej) będzie większa lub mniejsza od wartości krytycznej testu (tą odczytujemy z tablic standardowego rozkładu normalnego na podstawie charakterystyki próby oraz rodzaju hipotezy alternatywnej). Decyzję weryfikacyjną podejmuje się na podstawie porównania wartości statystyki obliczonej i wartości krytycznej testu odczytanej z tablic (możemy również skorzystać z odpowiedniego kalkulatora).
Kliknij na zdjęcie, aby je powiększyć
Przed podjęciem decyzji weryfikacyjnej (o odrzuceniu lub braku podstaw do odrzucenia hipotezy zerowej) musimy również określić poziom istotności α (alfa), który mówi nam z jakim prawdopodobieństwem dana decyzja będzie podjęta. Standardowo przyjmuje się 5% poziom istotności, co oznacza, że mamy 95% prawdopodobieństwo podjęcia poprawnej decyzji weryfikacyjnej np. odrzucenia H0 na korzyść H1.
Statystykę testująca oblicza się ze wzoru:

Objaśnienie poszczególnych symboli znajdziecie na stronie hasła Wikipedi dla testu dla proporcji – myślę, że z przełożeniem poszczególnych zmiennych na język analityki internetowej nie będzie problemu.
Na pewno zauważyliście, że im większa wartość statystyki testującej, tym lepiej dla nas, ponieważ mamy większe szanse, że hipoteza zerowa zostanie odrzucona. Spójrzmy więc, co wpływa na wielkość tej miary:
- różnica pomiędzy współczynnikami konwersji – w końcu p1 i p2 to nic innego jak współczynniki konwersji dla poszczególnych kopii strony – im ta różnica jest większa, tym wartość statystyki obliczonej testu większa, a tym samym większa szansa, że różnica współczynników konwersji jest statystycznie istotna,
- wielkości próby tzn. ilości odsłon poszczególnych kopii strony n1 i n2 – im więcej odsłon, tym statystyka obliczona test większa – to również jest logiczne, ponieważ im więcej osób weźmie udział w eksperymencie, tym większe szanse, że jego wyniki przełożą się na rzeczywistość.
Do testu dla proporcji wchodzą jeszcze pewne niuanse (wielkość próby, zależność prób, losowość prób itp.), których omówienie zajęłoby na pewno więcej niż jeden artykuł. Przedstawione powyżej rzecz są podstawową jego odsłoną. Mogę dodać tylko, że pracujemy nad kalkulatorem, który będzie uwzględniał całą teorię i będzie odpowiadał na pytanie, kiedy przeprowadzony test można uznać za statystycznie istotny.
Przykład
Na prośbę prezentuję przykład powyższego testu. Oznaczenia przyjąłem jak we wspominanym artykule w Wikipedii. Załóżmy, że mamy dwie kopie tej samej strony docelowej – z testów A/B otrzymaliśmy następujące wyniki:
- Kopia A: liczba odwiedzin (n1) wyniosła 523, z czego 31 użytkowników wykonało akcję, którą przed nimi postawiliśmy (m1) dając tym samym współczynnik konwersji (p1) na poziomie 5,9%,
- Kopia B: liczba odwiedzin (n2) wyniosła 499, liczba konwersji 49 skąd współczynnik konwersji wyniósł (p2) 9,8%.
Hipoteza zerowa: Współczynniki konwersji (p1, p2) dla obu kopii są takie same: H0: p1=p2
Hipoteza alternatywna: Współczynniki konwersji nowej kopii (p2) jest większy niż w przypadku obecnej wersji strony docelowej: H1: p1<p2
Pytanie: Czy na podstawie takich danych możemy powiedzieć, że wynik testu jest statystycznie istotny?
Statystyka obliczona testu (po podstawieniu do wzoru) wyniosła 2,32, natomiast wartość krytyczną testu przy 5% poziomie istotności wynosi (odczytując z tablic lub wspomnianego kalkulatora) 1,64. Widzimy, że wartość obliczona statystyki tetsującej przekracza wartość krytyczna, co pozwala nam odrzucić hipotezę zerową na rzecz hipotezy alternatywnej i stwierdzić, że kopia B jest statystycznie istotnie lepsza od kopii A. Przy czym przypomnę, że mamy 95% pewność.
Gdy jednak zmienimy poziom istotności na 1%, to wartość krytyczna testu wynosi 2,33, a więc jest większa niż wartość statystyki obliczonej. W tym przypadku nie mamy podstaw do odrzucenia hipotezy zerowej, a więc nie możemy stwierdzić (z 99% pewnością) czy kopia B jest lepsza niż kopia A. Należy tutaj podkreślić, że nie mamy podstaw do odrzucenia hipotezy zerowej, a nie przyjmujemy hipotezę zerową.
Zauważmy, że w przykładzie nie było nigdzie mowy o czasie trwania testu. Oczywiście, jeden serwis osiągnie daną liczbę odwiedzin w dzień, a inny w tydzień. Zakładam jednak, że za testowanie nie biorą się właściciele serwisów, które posiadają 500 odwiedzin miesięcznie.
Postawione pytanie można byłoby sformułować jeszcze inaczej, a mianowicie ile osób powinno zobaczyć poszczególne kopie strony docelowej, aby różnicę ich współczynników konwersji można było nazwać statystycznie istotną.
Podsumowanie
Myślę, że puentą powyższych rozważań mogą być bardzo ważna dla nas obserwacja: na wynik testu nie ma wpływu jego długość trwania. Nie musimy czekać w nieskończoność, kiedy wynik jest statycznie istotny – i nie są to nasze widzimisię, lecz teoria statystyki:)
Kiedyś, jedna osoba uparcie twierdziła, że testy powinno prowadzić się jak najdłużej. Argumentem był m.in. fakt, że w jej doświadczeniu niejednokrotnie po pewnym czasie wynik testu się diametralnie zmieniał. Jednak jak już wspomniałem – nie możemy czekać w nieskończoność. Wcale nie mamy pewności, że po dalszym prowadzeniu testu jego wynik ponownie nie odwróci się o 180 stopni. Dlatego decydujmy się na zmiany na stronie, które są potwierdzone testami statystycznymi – to nie przeczucia, to twarde dane, to liczby…
Jeśli podobał Ci się ten post – subskrybuj kanał RSS Conversion blog



Polub naszą stronę na Facebooku
Michał Małaj said:
mar 03, 11 at 21:21Bardzo dobry artykuł. Ja spodziewałbym się jakiegoś bardziej przykładowego wyliczenia, bo założenie
"myślę, że z przełożeniem poszczególnych zmiennych na język analityki internetowej nie będzie problemu." nie jest takie oczywiste dla kogoś kto już dawno zapomniał statystyki matematycznej.
Czas ma znaczenie dla testu, tylko trzeba wiedzieć kiedy go skończyć. Google pokazuje nawet taki kalkulator dla testów wieloczynnikowych https://www.google.com/analytics/siteopt/siteopt/... Tylko nie jestem pewien czy te testy A/B można potraktować jako test z 2 kombinacjami?
Mariusz Michalczuk said:
mar 03, 11 at 23:29Na szybko dodałem przykładowe wyliczenia – jest to przykład kompletnie wyimaginowany.
Inaczej sformułowałbym Twoje stwierdzenie o czasie Michał – test ma znaczenie DLA STRONY, a nie dla testu. Jeżeli strona generuje duży ruch, to testowi będzie potrzeba mniej czasu. Sam element czasu nie wchodzi natomiast bezpośrednio do wzoru na statystykę obliczoną testu. Jak wspomniałem w artykule – dla statystycznej istotności testu zasadnicze znaczenie mają dwa elementy – wielkość ruchu generowanego przez serwis oraz różnica zmian (a dokładniej mówiąc ich wpływ na współczynnik konwersji) testowanych stron.
Michał Małaj said:
mar 04, 11 at 14:05Bardzo dziękuję za ten przykład wyliczeń. Teraz artykuł stał się bardziej zrozumiały.
mariusz said:
sty 10, 12 at 01:19Witam,
nie wiem czy dobrze zrozumiałem ;) ale w zasadzie to chyba chodzi o to, żeby przeprowadzić test t-studenta dla dwóch niezależnych od siebie próbek i dzięki temu sprawdzić, która wersja podstrony ze statystycznego puntku widzenia lepiej konwertuje. Am I right?
M
Mariusz Michalczuk said:
sty 10, 12 at 09:46Nie do końca (przynajmniej na podstawie wiedzy, która została mi w głowie po skończeniu studiów)… Przeprowadzanym testem jest test równości dwóch proporcji. Z tego, co pamiętam z reguły nie przeprowadza (są wyjątki – przeprowadza się go przy badaniu istotności parametrów modelu ekonometrycznego) się testu t-studenta – jedynie statystyka testująca może mieć rozkład t-studenta i wówczas z tablic rozkładu odczytujemy wartości krytyczne testu.
Ale jak wspomniałem – mogę się mylić i należy to zweryfikować:)