Kontrole poprawności: trafność zewnętrzna

Testy A/B w Pythonie

Moe Lotfy, PhD

Principal Data Science Manager

Paradoks Simpsona

Paradoks Simpsona: zjawisko statystyczne, w którym trendy między zmiennymi pojawiają się, znikają lub odwracają po podziale populacji na segmenty.

print(simp_imbalanced.groupby('Variant').mean())
Variant     Conversion
A              0.80
B              0.64
print(simp_imbalanced.groupby(['Variant','Device']).mean())
Variant Device   Conversion
A       Phone        0.875
        Tablet       0.500
B       Phone        0.900
        Tablet       0.575
Testy A/B w Pythonie

Paradoks Simpsona

simp_imbalanced.groupby(['Variant','Device'])\
                            ['Device'].count()
Variant  Device
A        Phone     40
         Tablet    10
B        Phone     10
         Tablet    40

Przykładowa tabela paradoksu Simpsona

Testy A/B w Pythonie

Paradoks Simpsona

simp_balanced.groupby(['Variant','Device'])\
                        ['Device'].count()
Variant  Device
A        Phone     40
         Tablet    10
B        Phone     40
         Tablet    10
print(simp_balanced.groupby('Variant').mean())
Variant     Conversion
A              0.70
B              0.52
print(simp_balanced.groupby(['Variant','Device']).mean())
Variant Device     Conversion
A       Phone        0.750
        Tablet       0.500
B       Phone        0.575
        Tablet       0.300
Testy A/B w Pythonie

Efekt nowości

  • Efekt nowości
    • Krótkotrwała poprawa wskaźników spowodowana ciekawością użytkowników wobec nowej funkcji.
  • Awersja do zmian
    • Przeciwieństwo efektu nowości.
    • Unikanie nowej funkcji ze względu na przyzwyczajenie do starej.
Testy A/B w Pythonie

Wizualna inspekcja efektu nowości

# Plot Lift in CTR vs test days
novelty.plot('date', 'CTR_lift')
plt.ylim([0, 0.09])
plt.title('Lift in CTR vs Test Duration')
plt.show()

Wizualizacja efektu nowości jako wykres liniowy CTR względem liczby dni eksperymentu

Testy A/B w Pythonie

Korekta efektu nowości

  • Wydłużenie czasu trwania testu
    • Uwzględnianie danych dopiero po ustabilizowaniu się efektu.
  • Analiza kohort nowych i powracających użytkowników
    • Nowi użytkownicy rzadziej doświadczają efektu nowości.
    • Starzy użytkownicy porównują z wcześniejszymi doświadczeniami.
Testy A/B w Pythonie

Czas na ćwiczenia!

Testy A/B w Pythonie

Preparing Video For Download...