Causal Inference: как оценивать эффект, когда A/B — не вариант (Ч. 4)

📍 Москва 🌍 Россия Маркетинг и SMM 02.07.2026 · 👁 360 просмотров
Causal Inference: как оценивать эффект, когда A/B — не вариант (Ч. 4) В прошлых частях разобрали DiD, PSM и Causal Impact . Сегодня — про гео-тесты (geo-lift) и синтетический контроль (Synthetic Control, SCM) . Сразу дисклеймер: как всегда, не истина в последней инстанции — если есть чем дополнить/поспорить, велком в комменты 👇 Что такое гео-тест ❓ Иногда воздействие невозможно раскатить на случайных юзеров — оно живет на уровне географии . Из классических — ценообразование/маркетинг: ➖ отключаем платный digital в нескольких городах ➖ меняем цену / промо в отдельных регионах ➖ запускаем ТВ / наружную рекламу по гео Рандомизировать людей внутри города нельзя, поэтому единица эксперимента — сам город . Берем несколько тест-городов, а остальные остаются контролем. А дальше вопрос ровно тот же, что и во всей серии: 👉 «А что было бы с продажами в тест-городе, если бы мы ничего не меняли?» И тут предлагаю сначала задаться вопросом — Причем тут Synthetic Control (SCM) ❓ Проблема гео-тестов: честной контрольной группы обычно нет. Возьмем, например, РФ — Москву не с чем сравнить один-в-один, а взять «средний город» значит поймать кучу смещений. Идея SCM: не искать один похожий город, а собрать контрфакт из взвешенной комбинации остальных. То есть синтетический контроль — это «виртуальный город», склеенный из донорских городов с весами так, чтобы до вмешательства он максимально повторял динамику тестового. Эффект = Факт − Синтетический контроль (после старта теста) Чем это отличается от Causal Impact из Ч. 3 ❓ По факту оба подхода строят контрфакт, но по-разному: ➖ Causal Impact — прогноз ряда во времени (BSTS): учим модель на истории самого тест-города и продлеваем в будущее. (это мы обсуждали выше) ➖ Synthetic Control — комбинация других объектов (доноров) в тот же момент времени. На практике их можно и смешивать. Как это работает по шагам ❓ 1 Готовим панель — дневные/недельные продажи по городам (город × время). 2 Отбираем доноров. Из всех городов выбираем те, что хорошо объясняют тестовый на pre-периоде . Тут важно не только сходство трендов, но и чтобы доноры не были коллинеарны друг другу и сами не были затронуты воздействием. 3 Строим синтетику. Подбираем веса доноров так, чтобы синтетический ряд повторял тестовый до старта теста (по сути — регрессия на pre-периоде). 4 Считаем эффект. После старта смотрим разрыв между фактом и синтетикой. Устойчиво выходит за доверительный интервал — эффект скорее всего есть. 5 Проверяем значимость. Bootstrap по остаткам → p-value, плюс placebo-тесты : «подкладываем» фиктивное воздействие в контрольные города и смотрим, не даёт ли метод ложных срабатываний. Плюс считаем MDE — какой минимальный эффект вообще реально поймать при таком дизайне. Что важно держать в голове ❗️ ➖ Хорошее качество на pre-периоде — обязательно. Если синтетика плохо повторяет историю, доверять оценке нельзя. ➖ Ошибка на pre-периоде должна быть заметно меньше ожидаемого эффекта. ➖ Доноры не должны быть затронуты тем же вмешательством (иначе эффект «утечет» в контроль и оценка занизится). ➖ Никаких других крупных событий в тест-городах в тот же момент. Что дальше В самом SCM есть куча важных деталей (часть из них касаются в целом A/B тестов), которые не влезут в один пост — поэтому дальше планирую разобрать более подробно темы: ➖ A/A-тест — как валидировать дизайн ещё до старта эксперимента ➖ MDE — как заранее понять, какой минимальный эффект вообще реально поймать ➖ placebo-тесты — как он помогает в A/A и как получить честный p-value через фиктивные воздействия ➖ Как происходит отбор доноров, что такое бутстрап и др... ❤️‍🔥 Подписывайтесь и поддержите канал бустом ↗️ Менторю и помогаю выйти на оффер ❓ Работали с гео-тестами? Расскажите про ваши кейсы в комментах @data_driven_bogdan
Откликнуться в Telegram →

⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.

🇮🇱 Не нашли подходящую зарплату? В Израиле платят от $3000 Без языка и опыта · жильё и легализация под ключ · официально Смотреть вакансии →