Кейс: A/B-тест не показал значимости. Что отвечать
Формулировка кейса
Запустили A/B-тест на новую ленту рекомендаций. Ждали +3% к конверсии в покупку. Тест длился 2 недели, результат: лифт +1.2%, p-value = 0.18. Что будете делать?
Классический кейс, который задают на интервью в продуктовых командах. Его цель — проверить, что вы понимаете, как читать не значимый результат и не бросаетесь катить «потому что лифт же положительный».
Почему это сложный вопрос
У кандидатов обычно две крайности:
- «Не значимо — забыли и пошли дальше» — видно отсутствие зрелости. Не каждый не значимый результат = нулевой эффект.
- «+1.2% же хороший, катим» — катастрофическая ошибка. При p=0.18 мы не можем утверждать, что есть эффект вообще.
Правильный ответ — между этими крайностями, через структурное рассуждение.
Шаг 1. Уточняющие вопросы
Прежде чем отвечать, уточняем:
- Какой был MDE при планировании теста? — Если заложили MDE=3%, а лифт 1.2% — тест и не должен был это поймать.
- Сколько пользователей в каждой группе? — 10к, 100к или 10 млн?
- Какая базовая конверсия? — От неё зависит дисперсия и мощность.
- Одна метрика или много? — Если 10 метрик, нужна поправка на множественные сравнения.
- Есть ли guardrails? — Retention, скорость, отписки. Если основная не значима, но guardrail просел — катить нельзя в принципе.
- Тест ранжируется рандомно по user_id? — Не было ли SRM.
На собеседовании: эти вопросы показывают, что вы не считаете результат «очевидным».
Шаг 2. Проверяем достоверность
До интерпретации — проверяем, что результату можно доверять:
Sample Ratio Mismatch
Если 50/50 сплит, а в группах 50 200 / 49 800 — нормально. Если 52 000 / 48 200 — SRM, результатам нельзя верить. Chi-square p < 0.01 = проблема в сплите. Подробнее про SRM.
Guardrail-метрики
- Retention D1, D7 не просел?
- Время загрузки не выросло?
- Краши, ошибки в логах?
Если хоть одна просела значимо — это уже веский аргумент НЕ катить, даже если основная метрика была бы значима.
Данные полные
Нет ли пропусков в last days. Нет ли ETL-лагов.
Попробовать силы на подобных вопросах проще всего в тренажёре Карьерник — прямо в Telegram, без регистрации через сайт.
Шаг 3. Считаем мощность post-hoc
Ключевой момент. Если при планировании заложили MDE=3%, а наблюдаемый эффект 1.2% — тест был спроектирован поймать эффект 3%+, а не 1-2%. Не значимый p-value — ожидаемый результат.
Формула мощности (грубо): для детекции 1.2% при α=0.05 и p_base=10% нужно ~600к пользователей в группу. Если у нас было 100к — мощности просто не хватало.
Ответ на собесе: «Посчитаю мощность post-hoc. Если тест был спроектирован для MDE=3%, а реальный эффект 1.2% — это ожидаемое не значимое. Нужно решить, хотим ли мы вообще ловить эффекты <3%».
Шаг 4. Интерпретация результата
Рассматриваем три сценария:
Сценарий A: «Эффекта действительно нет»
Если мощность была адекватной (например, тест заложен на MDE=1%, а получили 1.2%, p=0.18) — это значит, что эффект с высокой вероятностью около нуля.
Что делаем:
- Не катим.
- Пишем постмортем с выводами: гипотеза не подтвердилась.
- Ищем, где была ошибка в гипотезе.
Сценарий B: «Недостаточно мощности»
Если тест не был рассчитан на такой маленький эффект — результат ничего не говорит. Нужно:
- Решить, стоит ли продлевать.
- Посчитать, сколько нужно дополнительных недель.
- Учесть, что при длинных тестах растут риски внешних эффектов (сезонность, конкуренты).
Сценарий C: «Эффект есть, но нестабильный»
Лифт +1.2% мог быть реальным, но «замазался» шумом или сегментацией:
- Смотрим лифт по сегментам — может, в одном сегменте +5%, в другом −3%.
- Если есть чёткая разница — катим только на «хороший» сегмент.
Шаг 5. Ещё чек-пойнты
Даже если кажется, что все ясно — пройдите по списку:
- Новизна (novelty effect) — в начале теста лифт мог быть +5%, к концу упал до нуля. Посмотреть динамику по неделям.
- Peeking — не останавливали ли тест раньше срока? Если да, p-value нужно корректировать.
- Метрика корректна? — Конверсия в покупку = (купили) / (пришли), но какая «пришли»? Может, поток изменился в тесте.
- A/A-тест был? — Если не было, мы не знаем, правильно ли работает сплитер.
Шаг 6. Что говорим PM
Структурный вывод:
«Результат не значим, но это не однозначный отказ. Наблюдаемый лифт +1.2% при ожидаемом MDE=3% — ожидаемое «не значимо». Для решения предлагаю: (1) продлить тест ещё на 2 недели — это даст мощность поймать эффект ≥1.5%. (2) Или зафиксировать гипотезу как не подтверждённую, откатить и идти к следующей. Рекомендую вариант 1, потому что (...причины...)».
Хороший ответ заканчивается конкретным решением, а не «надо подумать».
Типичные ошибки на собесе
- Бросаться интерпретировать без уточнений — не знаете MDE, а уже делаете выводы.
- «Катим, потому что +1.2% лучше, чем ничего» — классическая ошибка, которая стоит вам лампочки в глазах интервьюера.
- «Отрицательный результат = провал» — нет, это часть работы. Интервьюер хочет видеть, что вы умеете принимать «нулевые» результаты.
- Игнорировать guardrails — первое, что спросят: «а retention как?»
- Путать «не значим» и «нет эффекта» — не значим ≠ нет. Это про отсутствие доказательств при текущей мощности, не про доказательство отсутствия.
Пройти 30–50 задач по теме за вечер можно в Telegram-тренажёре. Это то, что отличает «знаю» от «уверенно отвечу на собесе».
Шаблон ответа
- Уточняющие: MDE, размер выборки, guardrails, количество метрик.
- Достоверность: SRM, guardrails, полнота данных.
- Мощность post-hoc: был ли тест рассчитан на такой эффект.
- Интерпретация: нет эффекта / мало мощности / есть эффект с шумом.
- Чек-пойнты: novelty, peeking, корректность метрики.
- Решение: продлевать / останавливать / катить на сегмент.
Этот каркас работает для любого «не значимого» теста.
Как тренироваться
Решать кейсы по A/B на собесе помогает только одно: практика. Читайте реальные разборы (Netflix Tech Blog, Авито, Ozon Tech) — там каждая статья начинается с «тест был не значим» или «мы думали X, оказалось Y».
Тренажёр Карьерник содержит блок A/B-кейсов: не значимые результаты, SRM, peeking, CUPED, novelty, множественные сравнения. Каждый с разбором типичных ошибок.
Совет: на собесе, когда не знаете точный ответ — ответ через структуру. «Я бы проверил (1), (2), (3)... и в зависимости от результата принял бы решение». Это в разы лучше «я бы посмотрел на результат и решил».
Читайте также
- Задачи на A/B-тесты на собеседовании
- Типичные ошибки в A/B-тестах
- Как считать размер выборки для A/B-теста
- SRM — Sample Ratio Mismatch
- CUPED: снижение дисперсии в A/B-тесте
FAQ
Можно ли катить фичу, если лифт положительный, но не значимый?
Иногда — да. Критерии: (1) guardrails не просели, (2) бизнесовая цена внедрения низкая, (3) гипотеза идейно сильная, (4) сегментация показывает чёткий позитивный сигнал хоть где-то. Но формально это «решение без статистического подтверждения», и PM должен это понимать.
Что ответить на «не значит ли не значимый тест, что эффекта нет»?
Не значит. Не значимый p-value = «при текущем размере выборки мы не можем отличить наблюдаемый эффект от случайности». Если MDE теста был 3%, а эффект 1% — тест и не был спроектирован это доказывать. Для строгого доказательства «эффекта нет» нужны bayesian методы или equivalence tests.
Сколько обычно длится A/B-тест?
Стандарт — 2 недели. Этого достаточно для большинства продуктовых фич, чтобы отработал недельный цикл + дать погреться трекингу. Короче — риск недельных паттернов. Длиннее — риск внешних изменений и сезонности.
Когда нужно заканчивать не значимый тест?
Когда наблюдаемая динамика перестаёт сужать confidence interval, и видно, что при даже 2x размере выборки p-value не пересечёт 0.05. Это можно смотреть через conditional power или Bayesian posterior. Если нет инструмента — по дням и неделям видно тренд.