Realiteitschecks: externe validiteit

A/B-testen in Python

Moe Lotfy, PhD

Principal Data Science Manager

Paradox van Simpson

Paradox van Simpson: een statistisch fenomeen waarbij trends tussen variabelen verschijnen, verdwijnen of omkeren wanneer je de populatie segmenteert.

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
A/B-testen in Python

Paradox van Simpson

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

Voorbeeldtabel van de paradox van Simpson

A/B-testen in Python

Paradox van Simpson

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
A/B-testen in Python

Novelty-effect

  • Novelty-effect
    • Een kortstondige metricverbetering door nieuwsgierigheid naar een nieuwe feature.
  • Veranderingsaversie
    • Het tegenovergestelde van het novelty-effect.
    • Gebruikers vermijden de nieuwe feature door gewenning aan de oude.
A/B-testen in Python

Novelty-effect: visuele inspectie

# 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()

Visuele inspectie van het novelty-effect als lijnplot van CTR vs experimentdagen

A/B-testen in Python

Novelty-effect corrigeren

  • Testduur verlengen
    • Neem data op nadat het behandelingseffect stabiliseert.
  • Nieuwe vs. terugkerende cohorts bekijken
    • Nieuwe gebruikers hebben minder snel een novelty-effect.
    • Bestaande gebruikers vergelijken met hun eerdere ervaring.
A/B-testen in Python

Laten we oefenen!

A/B-testen in Python

Preparing Video For Download...