Vérifications de cohérence : validité externe

A/B Testing en Python

Moe Lotfy, PhD

Principal Data Science Manager

Paradoxe de Simpson

Paradoxe de Simpson : phénomène statistique où certaines tendances entre variables apparaissent, disparaissent ou s'inversent quand on segmente la population.

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 Testing en Python

Paradoxe de Simpson

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

Exemple de paradoxe de Simpson sous forme de tableau

A/B Testing en Python

Paradoxe de 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 Testing en Python

Effet de nouveauté

  • Effet de nouveauté
    • Amélioration passagère des indicateurs causée par la curiosité envers une nouvelle fonctionnalité.
  • Aversion au changement
    • L'inverse de l'effet de nouveauté.
    • Utilisateurs qui évitent d'essayer la nouveauté par habitude de l'ancienne.
A/B Testing en Python

Inspection visuelle de l'effet de nouveauté

# Trace le gain du CTR selon les jours de test
novelty.plot('date', 'CTR_lift')
plt.ylim([0, 0.09])
plt.title('Lift du CTR selon la durée du test')
plt.show()

Démonstration visuelle de l'effet de nouveauté sous forme de courbe CTR vs jours d'expérience

A/B Testing en Python

Corriger l'effet de nouveauté

  • Allonger la durée du test
    • N'inclure les données qu'après stabilisation de l'effet du traitement.
  • Examiner les cohortes de nouveaux et d'anciens utilisateurs
    • Les nouveaux sont par défaut moins sujets à l'effet de nouveauté.
    • Les anciens comparent à leurs expériences passées.
A/B Testing en Python

Passons à la pratique !

A/B Testing en Python

Preparing Video For Download...