Почему этот вопрос отделяет мидла от сеньора
«Как оценить эффект, если A/B невозможен?» — вопрос, на котором сыпется большинство кандидатов. Те, кто выплывает, обычно называют один метод по имени и не могут объяснить его допущения. Если вы умеете рассказать про квази-эксперименты с валидацией — вы автоматически в верхней части воронки кандидатов.
Когда эксперимент поставить нельзя
Реальные ситуации из практики продуктового аналитика:
- Багфикс. Нашли баг, который портит клиентский опыт и генерит обращения в поддержку. Оставить половине клиентов сломанный продукт ради контрольной группы нельзя — чинят всем и сразу. А бизнесу нужен ответ, сколько денег принёс фикс.
- Релиз на всех. Фичу выкатили без теста (так бывает), эффект нужно оценить постфактум.
- Маркетинговая кампания без holdout. ТВ, наружка, блогеры: рандомизировать пользователей невозможно.
- Юридические и этические ограничения. Изменения тарифов, обязательные уведомления.
- Сетевые эффекты. Воздействие на тестовую группу протекает в контрольную — классическая проблема маркетплейсов и соцсетей.
Инструменты и их допущения
Difference-in-differences
Сравниваем изменение метрики в затронутой группе с изменением в незатронутой: разность разностей очищает эффект от общего тренда. Ключевое допущение — parallel trends: без вмешательства обе группы двигались бы одинаково. Проверка: тренды на предпериоде должны идти параллельно; placebo-тест на фиктивной дате вмешательства не должен находить эффект.
Тренировка: Квази-эксперименты и DiD.
Synthetic control и Causal Impact
Строим контрфактический прогноз: что было бы с метрикой без вмешательства. Synthetic control собирает «синтетического двойника» из взвешенной комбинации контрольных объектов, Causal Impact (байесовские структурные временные ряды, реализация — pycausalimpact/CausalImpact) прогнозирует целевой ряд по контрольным ковариатам. Эффект — разность факта и прогноза.
Вся честность метода в двух местах:
- Выбор контрольных рядов. Они обязаны быть не затронуты вмешательством и при этом хорошо предсказывать целевой ряд на предпериоде.
- Валидация. Качество прогноза на предпериоде и placebo-тесты на датах, где ничего не происходило. Без этого Causal Impact легко «находит» эффект там, где его нет.
Тренировка: Synthetic control.
Propensity Score Matching
Когда группы формируются с самоотбором (клиент сам решил открыть письмо, подключить услугу), лобовое сравнение групп измеряет отбор, а не эффект. PSM подбирает каждому затронутому пользователю «двойника» с той же вероятностью попасть под воздействие, посчитанной по наблюдаемым признакам.
Главная оговорка, которую ждёт интервьюер: PSM балансирует только наблюдаемые признаки. От ненаблюдаемых конфаундеров он не спасает — честный ответ включает sensitivity analysis или признание ограничения.
Как рассказывать об этом на собесе
Шаблон рассказа про свой кейс:
- Почему A/B был невозможен — одно предложение.
- Какой метод выбрали и почему именно его.
- Какие допущения у метода и как вы их проверяли — это ядро ответа, здесь отличают понимание от заклинаний.
- Оценка эффекта и доверительный интервал.
- Оговорка: насколько вы доверяете оценке и что могло её сместить.
Пункт 5 парадоксально усиливает ответ. Кандидат, который сам называет слабые места своей оценки, выглядит опытнее кандидата с «идеальным» результатом.
Вопросы, которые зададут следом
- Что будете делать, если parallel trends на предпериоде нарушен?
- Как выбирали контрольные ряды и что было бы при их загрязнении эффектом?
- Чем PSM отличается от простого сравнения средних по сегментам?
- Почему не подождать и не поставить нормальный A/B? (Ответ: цена ожидания — баг стоит денег каждый день.)
- Когда квази-эксперимент честнее не делать вообще? (Когда нет ни приличного предпериода, ни контрольных рядов: оценка будет иллюзией точности.)
Литература
- Angrist, Pischke. Mostly Harmless Econometrics — стандарт по DiD и инструментальным переменным.
- Huntington-Klein. The Effect: An Introduction to Research Design and Causality — самое дружелюбное введение, бесплатно онлайн.
- Cunningham. Causal Inference: The Mixtape — бесплатно онлайн, с кодом.
- Brodersen et al. (2015). Inferring causal impact using Bayesian structural time-series models — статья Google, на которой основан CausalImpact.
- Facure. Causal Inference for the Brave and True — Python-ноутбуки по всем методам, бесплатно.