С большинством ребят, которые приходят ко мне на курс по АБ-тестированию, я общаюсь лично перед стартом. Мне важно понять их уровень, а также подсветить, где именно у них провалы в знаниях и навыках. Сегодня хочу поговорить о том, в каких темах чаще всего возникают проблемы.
1. Непонимание случайности и истинной цели АБ-тестов
На курс приходит много практикующих дата-аналитиков. Они круто делают дашборды, витрины, ETL и отчеты, но раньше не сталкивались с экспериментами.
Обычно в учебниках пишут про абстрактную «случайную величину». Так вот, метрики в наших АБ-тестах — это и есть случайные величины. В любой момент времени метрика одного из вариантов может чисто случайно оказаться больше или меньше другого.
В АБ-тесте нас вообще не интересует вопрос, метрика какой из выборок больше прямо сейчас. Это мы можем оценить и без сложной математики, просто сравнив средние.
Глобально мы хотим понять: будет ли наблюдаться этот эффект на всей генеральной совокупности (ГС)? То есть на основе малых выборок мы пытаемся сделать вывод о поведении всех пользователей. Вот ради ответа на этот вопрос мы и затеваем всю эту историю.
2. Попытки выучить «всю» теорию вероятности и статистику без фокуса на АБ
Наверное, каждый первый открывал классический учебник по статистике. Он написан обо всем сразу: там дается огромный пласт теории, большая часть которой на старте просто не нужна, чтобы разобраться в основах АБ-тестирования.
Например, вам не нужно сразу изучать все виды распределений, не нужно глубоко зарываться в межквартильный размах или с ходу лезть в теорему Байеса. Нужно сосредоточиться только на тех темах, которые составляют базу стат-теории именно для АБ-тестов. Все остальное можно спокойно доучить потом, когда возникнет реальная потребность.
3. Желание сделать это непременно в Python
Меня часто спрашивают: «А мы будем на курсе разбирать, как посчитать АБ-тест в Python?». По сути, тут и рассказывать-то нечего:
stats.ttest_ind(), импортировал функцию t-test'а — и погнали. ))В Python нет ничего сакрального для АБ-тестов. Там просто есть готовые библиотеки под большинство критериев и функции для расчета размера выборок. Но всё то же самое можно сделать в Excel, в готовых онлайн-калькуляторах или на других языках программирования.
Гораздо важнее понимать:
Как правильно дизайнить АБ-тест? Как выбирать метрики? Как работают стат-критерии и каковы их допущения? Какие подводные камни и ошибки могут вылезти?
Всё это вообще никак не связано с синтаксисом Python. Хотя в курсе я, конечно, даю ноутбуки с симуляциями и всеми нужными функциями.
4. Заучивание определений вместо построения системы
Иногда ребята идеально зубрят ответы на типовые вопросы для собеседований. Они быстро и без ошибок отчеканят, что такое ошибка первого рода, p-value и какие бывают стат-критерии. Но стоит спросить чуть глубже, в самую суть вещей, как многие теряются.
Например, я люблю задавать такие вопросы:
- «Можешь на пальцах объяснить, как именно возникает ошибка 1-го рода?»
- «Что означает понятие "стандартная ошибка среднего"? В чем конкретно мы ошибаемся?»
5. Мифы и противоречия накопившиеся в индустрии
Тут можно писать бесконечно. Начиная от огромных (и бесполезных) карт выбора стат-критериев из интернета, большая часть которых в реальной продуктовой аналитике не нужна. Заканчивая вечными спорами про использование t-test на ненормально распределенных данных или попытками применить критерий Манна-Уитни для оценки разности средних.
Как бы я предложил учиться?
База статистики и системное понимание — без ухода в дебри и темы, не связанные с экспериментами.
Специфика АБ-тестирования — дизайн экспериментов и разбор типовых продуктовых случаев.
Углубление в статистику — продвинутые методы и разбор сложных краевых кейсов.
Узнали себя в каких-то пунктах?)