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

A/B-тестирование в 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-тестирование в Python

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

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

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

A/B-тестирование в 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-тестирование в Python

Эффект новизны

  • Эффект новизны
    • Кратковременное улучшение метрик, вызванное интересом пользователей к новой функции.
  • Неприятие изменений
    • Явление, противоположное эффекту новизны.
    • Пользователи избегают новой функции из привязанности к старой.
A/B-тестирование в 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-тестирование в Python

Устранение эффекта новизны

  • Увеличение продолжительности теста
    • Начните учитывать данные после стабилизации эффекта воздействия.
  • Анализ когорт новых и вернувшихся пользователей
    • У новых пользователей эффект новизны по умолчанию менее выражен.
    • Старые пользователи сравнивают новый опыт с прежним.
A/B-тестирование в Python

Давайте потренируемся!

A/B-тестирование в Python

Preparing Video For Download...