Paradoks w testach A/B
Przykład:
| tydzień 1 | tydzień 2 | łącznie | |
|---|---|---|---|
| wariant A | |||
| wariant B | |||
| W pierwszym tygodniu: wariant B lepszy. | |||
| W drugim tygodniu: wariant B lepszy. | |||
| Łącznie: wariant A lepszy (!) |
Jak to możliwe? Otóż w tygodniu 1 większość ruchu było w wariancie A, w tygodniu 2 większość ruchu była w wariancie B. Ze względu na gorszą globalnie konwersyjność w tygodniu 2 mamy zaburzone łączne wyniki.
Uwaga, wnioski:
- Wariant B jest lepszy! Powinniśmy w takim przypadku zawsze patrzeć na odseparowane dane, a nie na łączne. Źródło: Software Testing Paradoxes
- W czasie trwania testu A/B nie zmieniamy proporcji wariantów! A jeśli zmieniamy to zawsze restartujemy test. Podczas trwania testu można zmieniać procent ruchu jaki idzie to testu jako całość, ale nie można zmieniać proporcji ruchu pomiędzy wariantami.
Paradoks w danych statystycznych
Zasada rzeczy najzupełniej pewnej
Najistotniejsze pytanie
czy powinniśmy ufać danym w podziale czy danym połączonym? I dlaczego?
Na to pytanie odpowiada The book of why. Otóż to zależy od procesu generującego dane.
Przykład 1
Zobaczmy na dane dotyczące odsetka zawałów w zależności od przyjmowania leku. Pacjenci sami decydowali czy brać lekarstwo:
| kobiety | mężczyźni | ogółem | |
|---|---|---|---|
| grupa kontrolna | |||
| grupa przyjmująca lekarstwo | |||
| Występuje paradoks Simpsona. |
Przykład 2
Teraz weźmy inne badanie, w którym wyodrębniliśmy ludzi z niskim i wysokim ciśnieniem krwi.
| osoby z niskim ciśnieniem krwi | osoby z wysokim ciśnieniem krwi | ogółem | |
|---|---|---|---|
| grupa kontrolna | |||
| grupa przyjmująca lekarstwo | |||
| Występuje paradoks Simpsona. |
Czym się różni przykład 1 od przykładu 2?
Spójrzmy na diagramy przyczynowe:
Dla przykładu 1:
flowchart LR płeć --> lekarstwo płeć --> zawał lekarstwo --> zawał
Dla przykładu 2:
flowchart LR ciśnienie --> zawał lekarstwo --> ciśnienie lekarstwo --> zawał
W przykładzie 1 płeć jest zmienną zakłócającą. Płeć wpływa na chęć przyjmowania lekarstwa i na szansę zawału. Chcąc więc zmierzyć jak lekarstwo wpływa na zawał powinniśmy usunąć zmienną zakłócającą poprzez kontrolowanie, czyli powinniśmy patrzeć na dane podzielone.
W przykładzie 2 ciśnienie jest pośrednikiem. Lekarstwo wpływa na ciśnienie, które może wpływać na szansę zawału. Nie powinniśmy więc kontrolować ze względu na ciśnienie, bo wyłączymy wtedy ścieżkę przyczynową przez którą może działać lekarstwo. Powinniśmy więc patrzeć na dane ogólne.
Wracając do testu A/B - tam też mamy do czynienia ze zmienną zakłócającą, jaką jest tydzień - tydzień wpływa na wyniki (poprzez np. zmianę warunków rynkowych / sezonowość), a tydzień też wpłynął na rozkład ruchu w teście.
Źródło: Software Testing Paradoxes