Перевірки адекватності: зовнішня валідність

A/B Testing на Python

Moe Lotfy, PhD

Principal Data Science Manager

Парадокс Сімпсона

Парадокс Сімпсона: статистичне явище, коли тренди між змінними з'являються, зникають або змінюють напрям, якщо розбити сукупність на сегменти.

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 на Python

Парадокс Сімпсона

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

Приклад таблиці до парадоксу Сімпсона

A/B Testing на Python

Парадокс Сімпсона

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 на Python

Ефект новизни

  • Ефект новизни
    • Короткочасне покращення метрик через цікавість користувачів до нової функції.
  • Неприйняття змін
    • Протилежність ефекту новизни.
    • Користувачі уникають нової функції через звичність старої.
A/B Testing на Python

Візуальна перевірка ефекту новизни

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

Візуалізація ефекту новизни: лінійний графік CTR за днями експерименту

A/B Testing на Python

Як скоригувати ефект новизни

  • Подовжте тривалість тесту
    • Почніть враховувати дані після стабілізації ефекту втручання.
  • Проаналізуйте когорти нових і тих, хто повертається
    • Нові користувачі зазвичай менш схильні до ефекту новизни.
    • Досвідчені користувачі порівнюють із попереднім досвідом.
A/B Testing на Python

Давайте потренуємось!

A/B Testing на Python

Preparing Video For Download...