Дизайн эксперимента на собеседовании аналитика
Почему дизайн эксперимента важен
Дизайн эксперимента — это план, который определяет, что вы тестируете, как измеряете и когда принимаете решение. Без продуманного дизайна даже технически корректный тест может дать бесполезные результаты. На собеседовании вопросы про дизайн проверяют системное мышление кандидата: способность пройти весь путь от бизнес-задачи до статистического вывода.
Интервьюер хочет услышать не абстрактную теорию, а пошаговый алгоритм, который кандидат применяет в реальной работе. Это отличает аналитика, который настраивает эксперименты, от человека, который просто интерпретирует результаты.
От гипотезы к эксперименту
Формулировка гипотезы. Хороший эксперимент начинается с чёткой гипотезы. «Новая кнопка увеличит конверсию» — слабая гипотеза. «Изменение цвета CTA-кнопки с серого на зелёный увеличит CR в оплату на 3% за счёт повышения заметности» — сильная. Гипотеза должна содержать механизм влияния, а не просто предсказание.
Выбор метрики. Определите основную метрику (primary metric), по которой принимается решение. Добавьте guardrail-метрики, которые не должны ухудшиться. На собеседовании часто спрашивают: «Как выбрать метрику для теста?» Сильный ответ включает связь метрики с бизнес-целью и чувствительность к изменению.
Единица рандомизации. Чаще всего это пользователь, но может быть сессия, устройство или географический регион. Выбор единицы влияет на размер выборки и интерпретацию результатов. Рандомизация на уровне сессии допускает, что один пользователь видит оба варианта — это не всегда приемлемо.
Рандомизация и сплитование
Хеширование. На практике рандомизация реализуется через хеш-функцию от ID пользователя и salt эксперимента. Это обеспечивает детерминированность: один и тот же пользователь всегда попадает в одну группу. Соль позволяет запускать несколько экспериментов одновременно с независимым распределением.
Равномерность распределения. После сплитования нужно убедиться, что группы сопоставимы по ключевым характеристикам: география, платформа, давность регистрации. Это проверяется через AA-тест или SRM-проверку (Sample Ratio Mismatch).
Стратифицированная рандомизация. Если в выборке есть крупные сегменты с разным поведением (мобильные vs десктоп), стратификация гарантирует их пропорциональное представительство в каждой группе. Это снижает дисперсию и повышает чувствительность теста.
Хорошо спроектированный эксперимент экономит недели работы. Ошибка в дизайне обнаруживается только после завершения теста — когда данные уже собраны, а решение нужно принимать.
Контроль и валидность
Внутренняя валидность — уверенность, что именно изменение вызвало различие в метриках. Угрозы: сезонность, одновременные релизы, утечка между группами (network effects). Контроль: фиксируйте всё, кроме тестируемого изменения, и документируйте параллельные запуски.
Внешняя валидность — возможность обобщить результат. Тест, запущенный в праздничную неделю, может не отражать повседневное поведение. Длительность теста должна охватывать минимум один полный цикл (обычно 7 дней).
Novelty и primacy эффекты. Новый интерфейс может вызвать всплеск интереса (novelty) или, наоборот, сопротивление (primacy). Для контроля анализируют динамику метрики по дням теста: если эффект затухает или нарастает — это сигнал.
Типичные вопросы на собеседовании
- «Опишите, как бы вы спланировали тест новой функции» — проходите все шаги: гипотеза, метрика, единица рандомизации, размер выборки, длительность, критерии решения
- «Что может пойти не так в эксперименте?» — SRM, утечка между группами, novelty-эффект, параллельные эксперименты, баг в логировании
- «Как вы определяете, когда остановить тест?» — фиксированный горизонт, sequential testing, но никогда не по результатам peeking
Дизайн эксперимента — это навык, который отличает middle-аналитика от junior. Умение задать правильные вопросы до запуска теста ценится выше, чем умение посчитать p-value после.
FAQ
Как выбрать между рандомизацией на уровне пользователя и сессии?
Пользователь — стандартный выбор для большинства продуктовых тестов. Рандомизация по сессии подходит, когда изменение не влияет на долгосрочное поведение (например, порядок выдачи в поиске). Если пользователь может заметить разницу между сессиями — рандомизируйте по пользователю.
Сколько экспериментов можно запускать одновременно?
Зависит от объёма трафика и пересечения аудиторий. Если эксперименты затрагивают разные части продукта и рандомизация независима — можно запускать десятки. Если эксперименты конкурируют за одну метрику — нужно учитывать взаимное влияние или использовать исключающие слои.
Что делать, если бизнес хочет запустить тест без гипотезы?
Объясните, что без гипотезы невозможно определить метрику, MDE и размер выборки. «Запустим и посмотрим» — это не эксперимент, а наблюдение с завышенным риском ложных выводов. Помогите бизнесу сформулировать гипотезу, даже если она кажется очевидной.