
Привет, Хабр! Мы команда T-Банка: Алиса — лидер проекта, Алексей — аналитик по клиентскому негативу, Влад — аналитик, разбирается в данных и превращает числа в гипотезы, Александр — исследователь-разработчик ML-алгоритмов. Мы изучаем, как коммуникации влияют на клиентов и как сделать их более точными и ценными для бизнеса.
Реакция клиентов на рекламу и их восприятие коммуникаций напрямую влияют на долгосрочные отношения. В T-Банке мы стремимся персонализировать предложения, минимизируя негатив, который может возникнуть при взаимодействии с рекламой.
Мы описывали подход к предсказанию отказов пользователей от маркетинговых уведомлений, что позволило нам ранжировать пользователей по вероятности отписки от рекламы и статистически значимо снизить отказы.
Потом перед нами появилась задача посложнее: дать количественную оценку средней денежной стоимости отказа клиента от рекламы. Мы столкнулись со сложными причинно-следственными связями в поведении пользователей, и это привело нас к важному выводу: далеко не все методы дают быстрый практический результат в условиях реальных данных.
В статье мы поделимся опытом оценки стоимости отказа от рекламы на примере трех подходов — Stratified Random Sampling, Propensity Score Matching и FAISS, а также выводами, к которым пришли в итоге.
Применима ли логика классического эксперимента?
Мы определяем эту задачу как обсервационное исследование — то есть неэкспериментальное.
Причины неэкспериментальных тестов:
Неэтичность эксперимента. Например, как оценить влияние курения? Взять рандомно группу теста и контроля (среди некурящих) и заставить тестовую группу курить — нельзя.
Невозможность воспроизведения условий эксперимента. Например, хотим оценить, как наличие кредита влияет на настроение. Мы не можем взять группу теста и контроля (без кредита) и заставить тест взять кредит. В нашем случае — заставить клиента отказаться от рекламы.
При работе с обсервационным исследованием мы вынуждены следить за естественным ходом развития событий и изучать отказ от рекламы при сопоставлении «тестовой» группы с искусственно подобранным синтетическим контролем. В таком случае есть высокий риск смещения выборки в сравнении с классическим экспериментальным исследованием.
Среди алгоритмов сопоставления мы выделили три группы методов.
Парное признаковое сопоставление. Каждому тестовому наблюдению подбирается контрольная пара с гарантированной гомогенностью по выбранному признаковому пространству. Это класс методов, основанных на HNSW (Hierarchical navigable small world) — специальной структуре графа, позволяющей эффективно искать ближайших соседей в многомерных пространствах.
На практике мы использовали: FAISS (Facebook AI Similarity Search) — open-source-библиотеку от Meta для быстрого поиска похожих векторов; HYPEX — open-source-инструмент от Сбера, построенный на HNSW и адаптированный под задачи парного сопоставления в задачах оценки воздействия.
PSM, Propensity Score Matching, — это подход, этапы которого можно реализовывать сильно различающимися техниками. Список этапов:
Рассчитать балл склонности к тритменту (propensity score).
Сопоставить по баллу ближайшего соседа.
Проверить баланс ковариат (проверить выбранные признаки на гомогенность групп теста и контроля).
Оценить эффект тритмента (смотрим таргет).
SRS, Stratified Random Sampling, — это стратификация по признаковому пространству. Рандомизация заключена в случайном подборе n необходимых наблюдений для тестовых наблюдений в соответствующей страте из контрольной группы размера m: m >> n.
Закончим с теорией и перейдем к практике. В случае нашего обсервационного исследования тестовая группа — это активные пользователи, отказавшиеся хотя бы от одного маркетингового канала. Контрольная группа — все остальные, кто не отказывался (также среди активных).
Если к тестовой группе подобрать случайные наблюдения из контроля, наши выборки будут смещенными и до измерения различий в группах.
H0-гипотеза: отказ от рекламы хотя бы в одном из каналов не оказывает влияния на метрику среднего PNL клиентов.
Целевая метрика: средний PNL. Хотим увидеть в денежном выражении эффект отказа от рекламы.
Метод Stratified Random Sampling
Для наглядности рассмотрим логику подхода в применении только к трем признакам: биологическому возрасту, полу клиентов и продуктовому возрасту (как долго клиент пользуется сервисами банка).


1. Возраста. Среднее контроля — 42,37, среднее теста — 42,99; 2. Пола; 3. Продуктового возраста. Среднее контроля — 680,33, среднее теста — 736,75.
Пол привносит всего две страты: мужчины и женщины. Возраст биологический и продуктовый, предположим, были разделены на 10 страт. Получаем 10 × 10 × 2 = 200 страт.
Отдельной стратой может быть группа мужчин возрастом от 20 до 30 лет, являющихся клиентами банка от 2 до 3 лет. Мы знаем, сколько таких наблюдений в группе теста, и ровно столько же наблюдений рандомно (отсюда и рандомизация стратификации) подбираем из контрольной группы, которая заведомо много больше.
Чем больше страт, тем больше вычислительная нагрузка (проклятие размерности) и тем выше соответствие распределения контрольной группы к тестовой.
На практике метод оказался слабо масштабируемым: при росте числа признаков он быстро сталкивается с проклятием размерности. Например, если мы хотим стратифицировать по 100 признакам, даже при умеренном разбиении каждого всего на 5 бинов получаем 5¹⁰⁰ ≈ 10⁷⁰ потенциальных страт — число астрономическое и заведомо недостижимое для хранения и вычислений.
Даже при более реалистичном выборе 10 признаков по 10 интервалов — это уже 10 миллиардов страт. На практике многие из них оказываются пустыми, а для остальных может не хватить наблюдений. Это ведет к сильному проседанию покрытия или точности стратификации, а сам метод начинает либо терять в репрезентативности, либо требовать непомерных вычислительных ресурсов при выборке. Поэтому с увеличением размерности признаки приходится либо агрегировать, либо отбрасывать, что снижает итоговую однородность групп и устойчивость результатов ретроспективного A/B-теста.
Метод Propensity Score Matching
Первый этап реализации метода — получение алгоритма, с помощью которого мы сможем оперировать баллом склонности к тритменту. В качестве такого алгоритма может выступать предварительно обученная модель машинного обучения.
В нашем случае мы воспользовались результатами response-модели, концепция обучения и тестирования которой описана в нашей предыдущей статье. Модель была обучена на 787 признаках.
Технически у нас есть скоры вероятности совершения отписки от маркетинга на каждый день для каждого активного клиента. Группы сравнения мы формируем покогортно, отдельно для каждого месяца.
Например, для тестовой группы январской когорты (активные пользователи, отказавшиеся от рекламы в январе 2024 года) мы подбираем с точностью до третьего знака после запятой равный скор в соответствующий день наблюдения среди 31 дня января. На каждого пользователя тестовой группы находим минимум одно наблюдение из контрольной группы. Если таковых наблюдений больше одного, отбираем те, у которых propensity score совпадает наибольшее число раз (то есть наибольшее число дней). Если при равном числе совпадений значения propensity score остается несколько наблюдений в контроле — берем одно наблюдение рандомно.

Проверяем на статистическую значимость получившиеся различия, предварительно убедившись, что этого числа наблюдений с такими параметрами достаточно для подведения итога. Используем t-критерий Уэлча:

Группы выдерживают ретроспективный АА-тест: статистически значимых различий в метрике PNL в среднем в группах нет, а вот после отказа от рекламы в течение аналогичного периода (6 месяцев) значение средней статистически значимо различается.
Сравним визуально помесячную динамику целевого признака для январской когорты (а проведя аналогичные рассуждения — соответственно и для февральской когорты).

Важно отметить, что мы не детерминировали равенство помесячных значений PNL групп сравнения и они получились такими по итогу равенства propensity score модели сегментации.
Метод показал устойчивый результат с аналогичными выводами как для январской, так и для февральской когорты отказов. В этом заключен смысл применения PSM: равенство вероятности совершения целевого действия (propensity score) между наблюдениями тестовой и контрольной групп позволяет собрать предварительно гомогенные группы по множеству признаков.
«Вот он, успех! Осталось взять дельту между группами, и мы определили стоимость отписки хотя бы от одного маркетингового канала на горизонте 6 месяцев», — подумали мы.
Давайте продолжим тесты на гомогенность по отдельно взятым признакам (январской когорты), p-value со значением −20 в показателе степени позволяет делать нам больше статистически значимых выводов на одних и тех же данных. Ряд социально-демографических признаков имеет слабо различающиеся средние, рассмотрим характерный результат по признаку возраста:

Статистически значимые различия есть, но важно оценить размер эффекта (effect size, Cohen’s d): тест может быть мощным и обнаружить очень малые различия, поэтому мы должны оценить, насколько они значимы с точки зрения практического применения.
Различия среднего возраста на 6 месяцев — это слабые различия. По ряду проверенных признаков группы действительно гомогенны. Если посмотреть на понедельное число отправленных коммуникаций, все выглядит вполне логично, но уже видно не полное соответствие групп.

Ближе к январю — то есть к времени отказа — мы видим, что число коммуникаций начинает различаться. Далее, после января, тренд понятен: пользователи с отказами от неких каналов (тестовая группа) начинают получать меньше коммуникаций.


Есть статистически значимые различия до и после отказа по числу покупок, то есть группы различаются до начала эксперимента. Более того, различия контринтуитивны: после отказа от рекламы тестовая группа совершает в среднем больше покупок, хотя среднее NPV уже не статистически значимо различается.
Если проанализировать число покупок и сумм NPV в разрезе отдельных продуктов, то группы выглядят совершенно разнородными, что подтверждает отсутствие гомогенности по этим признакам.
Возвращаясь к целевой метрике: вызывают вопросы и причины резкого снижения PNL клиентов, отказавшихся от рекламы. Очевидно, что некое третье событие, предшествующее отказу, приводит к снижению PNL, а потом, как следствие, к отказу от рекламы.
Нам удалось обнаружить классическую проблему подхода: в рандомизированных экспериментах проводится непредвзятая оценка эффекта; для каждого признака рандомизация подразумевает, что группы будут сбалансированы в среднем по закону больших чисел.
В обсервационных исследованиях экспериментальный эффект обычно не случаен и возможное смещение (как и в нашем случае) возникает между группами в результате факторов, которые предсказывают отказ, а не являются самим отказом.
Такие скрытые смещения усложняют возможность принятия результатов обсервационного эксперимента. В ряде случаев их не удается обнаружить — и есть риск принять размер эффекта, который вызван на самом деле иными причинами.
Контроль признакового пространства привел нас к использованию иного подхода.
Метод FAISS на примере реализации Hypex
В подходе FAISS нет необходимости в предварительном обучении модели и использовании propensity score. На практике мы использовали библиотеку HYPEX для реализации FAISS и поиска гомогенных пар группы контроля к тесту.
В работе с этим методом нам необходимо передать напрямую все фактические признаки наблюдений. Так мы сталкиваемся с проклятием размерности: тестовых и контрольных точек наблюдения ограниченное число, но с увеличением признакового пространства требуется все большее число наблюдений для поиска соответствующих «близнецов».
Проще говоря, чем выше требования к похожести пар из теста и контроля, тем больше нам нужно примеров, из которых можно было бы выбрать такие наблюдения. Контроль 5—10 наиболее важных признаков не дал каких-либо удовлетворительных результатов, поэтому мы использовали комбинацию подходов.
Итоговый подход
Мы использовали метод FAISS, чтобы избежать контроля чрезмерно большого числа признаков. Одной из групп признакового пространства стала склонность к отказу, то есть propensity score из предыдущего метода. На практике мы также установили веса для наиболее важных признаков в Hypex.
В результате получили аналогичный методу PSM результат для помесячной динамики целевой метрики PNL (на примере январской когорты).

Видим идентичное ранее полученному ежемесячное распределение PNL январской когорты для тестовой группы, а вот контрольная группа подобрана иначе. Исходя из продуктового контекста, логичным было бы нахождение таких пар, распределение PNL которых идентично тесту как до отказа, так и в течение нескольких месяцев после. Мгновенных отличий при отказе от рекламы ожидать не стоит.
Сам результат должен проявляться на горизонте минимум полугода и далее как недополученная прибыль при отказе от показа рекламы.
Контроль большего пространства признаков привел к лучшему распределению показов рекламы в контрольной группе.

Видно, что соответствие как динамики PNL, так и рекламных уведомлений до отказа от рекламы требуют улучшений. Требование соответствий распределений накладывает ограничения на формируемые пары и делает невозможным нахождение пар близнецов для ограниченного по объему набора данных. На 20 тыс. тестовых наблюдений примерно 20 млн контрольных.
Выводы
Применение методов PSM и FAISS способно обеспечить гомогенность по контролируемым признакам до эксперимента и соответствующее расхождение после. Эффект реализуется не за счет отказа от рекламы, а из-за иного продуктового паттерна клиентского поведения.
Наличие скрытых, неконтролируемых признаков делает получение достоверных расхождений сложным. Наш опыт показал, что необходим контроль гомогенности для большого числа признакового пространства или использование иных методов сопоставления. В противном случае причиной зафиксированных различий могут быть третьи события — из-за отсутствия контроля за всем пространством признаков.
gofat
Спасибо за статью!
Я верно понимаю, что вы просто использовали евклидовый matching по признакам (с учетом того, что это приближенный поиск, коль речь про FAISS) ? Или есть какие-то особенности решения?
ALinML Автор
Спасибо за вопрос! Мы не использовали FAISS напрямую — matching выполнялся с помощью фреймворка Hypex, который применяет расстояние Махаланобиса вместо простой L2-нормы. Это позволяет учитывать корреляции между признаками и различия в масштабе данных, делая сопоставление более точным и устойчивым.