006. Статистика в АБ мифы и реальность — Данила Леньков
By Яндекс Образование
Меня зовут Данила, я из компании Авито. В прошлом году я рассказывал про A/B тестирование в Авито, и получил много позитивных отзывов. Кейс Авито хорош тем, что наше A/B тестирование построено на парадигме массового тестирования и измерения всего. Если ваша компания хочет быстро отвечать на вопросы, вы можете использовать наш кейс и не повторять наших ошибок.
Сегодня я буду говорить об общих статистических наблюдениях, которые мы сделали в компании относительно применения статистики в A/B тестировании, интерпретации результатов и вещей, которые оказались не применимы или некорректны в реальной жизни.
План доклада:
- Введение в контекст.
- Что такое метрики и статистики.
- Техническая сторона анализа A/B тестов (со стороны аналитика и инфраструктуры).
- Повышение чувствительности метрик.
- Интерпретация результатов со стороны пользователей системы.
Контекст и Общие Принципы A/B Тестирования
Мы будем говорить о классическом A/B тестировании с частотным подходом. В Авито мы собираем практически все метрики, измеряя каждое значимое действие пользователя и раскладывая его на бизнес-разрезы. В одном тесте может быть более тысячи, а порой и десяток тысяч метрик.
Большой трафик в Авито позволяет делать асимптотические предположения, которые не так хорошо работают на маленьких выборках. Однако, большой трафик и множество метрик порождают проблему сложности вычислений. Вычисления должны быть хорошо распараллелены и масштабируемы. Это порождает проблему корректного анализа некоторых статистик и сохранения результатов в виде, позволяющем быстро их извлекать без потери информации. Мы, аналитики, разработчики и продакт-менеджеры, должны предоставлять результаты тестирования в удобном для восприятия виде для принятия решений.
В этом докладе я буду приводить примеры наблюдений, которые мы считаем ошибочными или некорректно транслируемыми.
Метрики: Конструктор и Формализация
Конструктор метрик: Рассмотрим простую воронку, используемую в любом маркетплейсе или e-commerce:
- Пользователь приходит на сайт.
- Использует поиск.
- Находит карточку товара.
- Добавляет в корзину или совершает полезное действие (контакт с продавцом).
- Совершает покупку (чек-аут) или встречается с продавцом.
Для измерения производительности воронки можно собирать:
- Количество действий на каждом этапе: количество поисков, заходов на карточку и т.д.
- Агрегация по сессиям: сессия – один заход пользователя на сайт.
- Агрегация по пользователям: количество пользователей, совершивших сделку (даже если пользователь совершил несколько сделок, он считается один раз).
Чем дальше по воронке, тем сильнее агрегация данных, и тем более важными считаются метрики. Однако, чувствительность (способность метрики изменяться к дисперсии) обычно работает наоборот: количество действий более чувствительно, чем количество пользователей, совершивших эти действия.
Pure метрики (метрики конверсии): Измерение конверсии из одного этапа воронки в следующий. Хорошо составленные метрики конверсии обычно более чувствительны в A/B тестах.
Формализация метрик в базе данных: Выборка состоит из трех компонентов:
- Экспериментальная единица: единица, которую мы считаем независимой от других (например, пользователи). Метрики собираются по этим единицам.
- Наблюдение: числовые значения, собираемые для экспериментальной единицы (например, количество действий пользователя). Мы работаем с выборкой $X_n$, где каждый $X_i$ – независимо и одинаково распределенная случайная величина.
- Статистика: агрегированное значение наблюдений (например, среднее, сумма, отношение).
Классически используется среднее, так как оно лучше описывает характер метрики. Для отношений (ratio) метрики сводятся к сумме числителя, деленной на сумму знаменателя.
Другие статистики:
- Квантили: медиана, 95-й процентиль. Помогают понять, сдвинулась ли какая-то часть распределения пользователей.
- Аналитическая единица: может отличаться от экспериментальной. Например, пользователь может совершить несколько сессий, каждая с разной длительностью. В этом случае аналитической единицей будет сессия.
- Формальное определение квантиля: значение, которое разделяет выборку на две части (например, 90% пользователей ниже этого значения).
- Проблема: вычисление квантилей очень затратно при большом количестве метрик и данных.
- Решение в Авито: заранее вычисляем квантиль на генеральной совокупности, фиксируем значение, а затем обратно считаем статистику, как если бы обратной функцией был порог (threshold). Это позволяет свести вычисления к отношениям.
Статистические Критерии и Их Интерпретация
Нулевая гипотеза (H0): Нет изменений между группами. Статистический тест моделирует распределение тестовой статистики при выполнении H0.
P-value: Мера отклонения тестовой статистики от H0.
- Миф: P-value – это вероятность того, что нулевая гипотеза верна.
- Реальность: P-value – это вероятность получить наблюдаемое отклонение (или еще большее) при условии, что нулевая гипотеза верна. Это мера отклонения тестовой статистики от H0.
Параметрические vs. Непараметрические тесты:
- Параметрические тесты: обычно оценивают дисперсию метрики и делают предположения о распределении данных (например, T-тест).
- Непараметрические тесты: не делают таких предположений (например, бутстрэп).
Классический T-тест:
- Тестовая статистика: абсолютная разница между группами, деленная на стандартную ошибку разности.
- Предположения:
- Выборка должна быть нормально распределена (это миф).
- Корректное утверждение: оценка метрики (среднее) должна быть нормально распределена. Это следует из Центральной Предельной Теоремы, если выборка достаточно большая.
- Наблюдения в выборке должны быть независимы. Зависимость приводит к занижению дисперсии и увеличению ложных срабатываний.
- Нулевая гипотеза: Средние значения метрики в генеральных совокупностях равны.
- Применение для среднего: T-статистика рассчитывается как разница средних, деленная на стандартную ошибку среднего.
- Применение для отношений (ratio):
- Дельта-метод: позволяет аппроксимировать распределение отношений нормальным при достаточно больших выборках. Оценка дисперсии рассчитывается через производные.
- Ограничения: точность аппроксимации зависит от размера выборки и характера распределения.
Bucketting (Бакеттирование) и Bootstrap:
- Цель: Непараметрические методы, позволяющие работать с ненормальными выборками и ускорять вычисления.
- Bucketting: Разделение трафика на фиксированное количество случайных "бакетов" (групп).
- Принцип: Каждый пользователь попадает ровно в один бакет.
- Преимущество: Уменьшение затрат на хранение и чтение данных, возможность непараметрически оценить p-value и доверительные интервалы.
- Bootstrap: Метод ресэмплинга с возвращением для оценки статистик и их распределений.
- Классический Bootstrap: Долго работает из-за необходимости многократного ресэмплинга.
- Платоновский Bootstrap: Использует распределение Пуассона с параметром $\lambda=1$ вместо мультиномиального распределения для генерации весов пользователей. Это позволяет распараллелить процесс генерации весов и ускорить вычисления.
- Использование бакетов/бутстрэпа: Статистики метрик считаются по бакетам. Это позволяет оценить дисперсию точно, а не приближенно, и провести тест.
Повышение Чувствительности Метрик
- Использование лучших метрик:
- Переход от метрик, основанных на пользователях, к метрикам, основанным на сессиях (более чувствительны).
- Использование прокси-метрик или производных метрик.
- Очистка данных:
- Вырезание ботов: Автоматические пользователи, генерирующие много действий и искажающие статистику.
- Фортификация (Fortification): Метод, описанный в статье Microsoft, для работы с выбросами.
- Q-cupid: Эвристика, позволяющая построить линейную регрессию для оценки влияния метрик.
Принятие Решений на Основе A/B Тестов
-
Выбор метрик:
- Эксперимент без четкого понимания, что измеряется, бессмыслен.
- Необходимо рассчитать необходимый размер выборки (трафик) с помощью онлайн-калькуляторов, учитывая ожидаемый эффект (MDE - Minimum Detectable Effect), альфу (ошибка I рода) и бету (ошибка II рода).
- Опыт предыдущих экспериментов – лучший ориентир для определения параметров.
-
Во время эксперимента:
- Не подглядывать (No Peeking): Нельзя принимать решения, основываясь на промежуточных результатах.
- Мониторинг MDE: Отслеживание MDE в динамике может дать представление о возможном эффекте, даже если он не достиг статистической значимости. MDE интерпретируется как погрешность измерений.
- Преждевременное выключение: Эксперимент следует выключать, если:
- Сильно упали критически важные метрики.
- Накоплено достаточно информации для принятия решения.
- Расчетное время эксперимента показывает, что метрики не достигнут значимости.
-
Интерпретация результатов:
- Нет прокраса (статистической значимости): Эффекта нет, или он меньше MDE.
- Есть прокрас:
- Сильный прокрас (например, 5 сигма): С высокой вероятностью реальный эффект.
- Динамика p-value: Отслеживание, как p-value меняется со временем. Если оно устойчиво ниже порога, это хороший знак.
- Семейство метрик: Реальный эффект обычно отражается не на одной метрике, а на семействе связанных метрик.
- Доверительные интервалы:
- Миф: Настоящий эффект лежит в пределах доверительного интервала.
- Реальность: Доверительный интервал с 95% вероятностью содержит истинный эффект.
- Проблема: Интерпретация доверительных интервалов может быть сложной (например, [0%, 10%]).
- Альтернатива: Если прокрас сильный, uplift (относительное изменение) может неплохо описывать величину эффекта.
Ответы на вопросы:
- Эффект новизны и динамика p-value: Не стоит доверять результатам в первый день эксперимента из-за малого объема данных. Небольшой прокрас лучше не интерпретировать однозначно, а подождать несколько дней для насыщения данными.
- Определение важных метрик: В Авито была создана команда, которая разработала "партнерские" метрики для всего бизнеса. Важные метрики раскладываются на составляющие (драйверы), которые могут вести себя по-разному. Чем выше уровень метрики в дереве иерархии, тем она важнее.
Key Concepts
- A/B Testing
- Massive Testing and Measurement
- Metrics (Funnel, Pure, Proxy)
- Experimental Unit
- Observation
- Statistic (Mean, Ratio, Quantile)
- Statistical Significance
- Null Hypothesis (H0)
- P-value
- Parametric vs. Non-parametric Tests
- T-test
- Delta Method
- Bucketting
- Bootstrap (Classic, Platonovsky)
- Minimum Detectable Effect (MDE)
- Confidence Intervals
- Uplift
Chat with this Video
AI-PoweredHi! I can answer questions about this video "006. Статистика в АБ мифы и реальность — Данила Леньков". What would you like to know?