Привет! Меня зовут Яша Финкельберг, я senior аналитик в Авито. Для оценки удовлетворенности и состояния клиентской базы часто используют пользовательский опыт (User Experience, UX) — общее восприятие продукта пользователем. Он включает все взаимодействия, эмоции, ожидания и результаты, возникающие при использовании продукта на протяжении всего жизненного цикла.

Качество пользовательского опыта напрямую влияет на то, останется ли человек на платформе, будет ли он создавать больше объявлений и развивать свой бизнес на Авито.
Для оценки опыта продавцов мы используем сочетание инструментов — регулярные опросы, метрики CES и CSAT. Но чтобы глубже понять драйверы негативного опыта, мы начали анализировать и обращения в поддержку — Contact Rate.
В этой статье рассказываю, как мы оцифровали влияние обращения в поддержку на опыт продавцов и почему для этого нам понадобились методы причинно-следственного анализа (causal inference).
Что внутри статьи:
Почему обращения в поддержку — это важный сигнал
Причинно-следственный анализ: зачем он нужен аналитикам
Основные подходы к причинно-следственному анализу
Propensity Score Matching (PSM)
Почему обращения в поддержку — это важный сигнал
Интуитивно обращения в поддержку — это проявление проблемы. Если продавец пишет в поддержку, значит, что-то не работает или не получается решить самостоятельно. Это предполагает негативный опыт, который может снижать будущую активность или приводить к оттоку.
Важно находить проблемы, с которыми приходят продавцы, и устранять их, чтобы улучшать опыт пользователей. Для этого нужно понимать, насколько такие обращения реально портят жизнь пользователю — это помогает правильно расставлять приоритеты в продуктовых задачах.
Однако напрямую оценить влияние обращения на опыт не получается потому что:
A/B-тест провести невозможно — нельзя случайно «назначить» кому писать или не писать в поддержку.
Сравнение «в лоб» даёт ложный результат: продавцы, которые чаще пишут в поддержку, обычно более активны, а значит, успешнее в метриках. Это создаёт иллюзию, что обращение связано с «улучшением» опыта.
Поэтому группы «писали» и «не писали» изначально неоднородны. И чтобы корректно оценить эффект, нужны методы причинно-следственного анализа.
Для нашего кейса подошёл метод — matching, потому что нам были важны прозрачность и понятность результатов. Кроме того, из предыдущих исследований мы знали, что большую часть различий объясняет небольшое число переменных, что позволило использовать подбор ковариат (covariate matching), а не propensity score matching.
Дальше рассказываю немного теории про причинно-следственный анализ и основные его подходы. Если всё это вам знакомо — сразу переходите к кейсу: Как мэчинг помог измерить влияние поддержки на траты и ретеншен пользователей.

Причинно-следственный анализ: зачем он нужен аналитикам
В аналитике важно различать корреляции и причинность. Наблюдая зависимость между X и Y, мы не можем утверждать, что X вызывает Y. Например, активные пользователи чаще покупают премиум-подписку — но это не значит, что подписка делает их активными.
Чтобы ответить на вопросы вида: «Если произойдёт X, изменится ли Y?», необходим подход causal inference. Он позволяет смоделировать недоступный нам «воображаемый» мир, где вмешательства не было.
Без выявления причинно-следственных связей легко получить ошибочный вывод. Например, сравнить всех пользователей, получивших новую функцию, с теми, кто её не получил — хотя группы могут изначально отличаться по десяткам факторов.
Допустим, если функцию подключили только более активные пользователи – именно это исходное различие может оказать видимый эффект, а не наличие новой функции.
Причинно-следственный анализ позволяет выстроить сравнение «яблок с яблоками», даже если реальный эксперимент провести нельзя.
Основные подходы к причинно-следственному анализу
Методы разделяются на экспериментальные и наблюдательные.
1. Рандомизированные эксперименты (RCT). Золотой стандарт: рандомизация устраняет влияние скрытых факторов, и различия между группами можно уверенно приписывать воздействию.
2. Наблюдательные методы. Применяются, когда эксперимент невозможен. Среди них:
Matching — подбор максимально похожих объектов с воздействием и без.
Propensity score weighting matching — использование вероятности получить воздействие как основы для сопоставления.
Covariat matching — сопоставление по конкретным ковариатам.
Регрессия с контролем ковариат — модель учитывает факторы, влияющие на исход и на получение воздействия.
Difference-in-differences — сравнение изменений в динамике для двух групп.
Эти методы не исключают друг друга и часто используются в сочетании. Рассмотрим 2 наиболее интересных из них. Они оба относятся к поиску пар в группе с воздействием и без него, чтобы исключить неслучайность самого воздействия.
Цель мэтчинга — добиться баланса ковариат: чтобы группы с воздействием и без не различались ни по одному важному признаку — как если бы воздействие было назначено случайно.

При идеальном балансе разница между группами в целевой метрике может быть интерпретирована как причинный эффект воздействия. Главное предположение — отсутствие скрытых факторов, влияющих на исход и вероятность получить воздействие.
Propensity Score Matching (PSM)
Вероятность получить воздействие рассчитывается через логистическую регрессию по ковариатам. Если две единицы имеют одинаковый propensity score, их распределения ковариат должны быть схожи. И тогда группы можно выравнивать по одной величине, что упрощает поиск «близнецов».
Ограничения PSM:
могут быть скрытые конфаундеры;
результат зависит от корректност�� модели скоринга;
иногда требуется комбинированный подход — точное сопоставление по ключевым ковариатам + PSM.
Matching по ковариатам
Сопоставление происходит напрямую по признакам X, часто по расстоянию Махаланобиса. Метод более интерпретируем, но хуже работает в пространствах с высокой размерностью.
Как мэчинг помог измерить влияние поддержки на траты и ретеншен пользователей
Из общих соображений понятно, что столкновение с проблемой, вынуждающей писать в поддержку — это плохо. Мы хотели проверить и доказать это аналитически с помощью методов причинно-следственного анализа.
Дальше расскажу, как мы выстроили процесс пошагово.
Шаг 1. Выбрали целевые метрики. Основной метрикой мы выбрали отток через 3 месяца, вспомогательной — снижение трат на размещение объявлений или их продвижение через 3 месяца.
Далее мы сформировали список потенциальных факторов, влияющих на эти метрики: ликвидность, количество объявлений, история трат, характеристики продавцов и другие.
Шаг 2. Отбрали ковариаты. Мы использовали логистическую регрессию с forward stepwise selection:
Подготовили фичи: историю трат, размещений, контактов, сделок, наличия менеджера и т.п.
Стали пошагово строить регрессионную модель: на каждом шаге выбирали фактор, который сильнее всего улучшает модель.
Добавляли их, пока улучшение оставалось значимым.
Метод неидеален — он может пропускать пары факторов, которые работают только вместе, но для нашей задачи он оказался достаточным.
Вот пример результата поиска фичей для одного из направлений бизнеса.
feature | p_value | delta_score | cum_score |
feature_1 | 0.0 | 0.083 | 0.655 |
feature_2 | 0.0 | 0.013 | 0.668 |
feature_3 | 0.0 | 0.014 | 0.682 |
Шаг 3. Подобрали продавцов-«близнецов» с помощью метода ближайших соседей. Использовали расстояние Махаланобиса для отобранных ранее ковариат. Для каждого продавца, который обращался в поддержку, находили максимально похожего продавца без обращений, учитывая, например, такие параметры:
активность,
историю покупок,
количество обращений в поддержку в предыдущие периоды.
Некоторые параметры фиксировали жёстко, например, месяц обращения или наличие ASD-менеджера.
Шаг 4. Проверили качество сопоставления. Оценивали его с помощью:
KS-stat и KS-pval — проверяют, совпадают ли распределения ковариат в выборках.
Standardized mean difference (SMD) — ключевой индикатор баланса.
Population stability index (PSI) — мера сдвига распределений.
Визуального сравнения распределений.
После мэтчинга по всем показателям распределения были выровнены:
feature | ks_stat | ks_pval | SMD | PSI | Issues |
feature_1 | 0.0048 | 0.741 | 0.02 | 0.0 |
|
feature_2 | 0.0062 | 0.416 | 0.022 | 0.0 |
|
feature_3 | 0.0047 | 0.775 | 0.024 | 0.0 |
|
В таблице приведены стандартные показатели качества сопоставления:
Что мы видим в этом примере:
KS-stat для всех признаков ≈ 0.004–0.006 — это почти нулевое расстояние между распределениями.
KS-pval > 0.4–0.7, означает: статистически нет оснований считать распределения различными.
SMD ≈ 0.02–0.024, что значительно ниже commonly accepted threshold 0.1.
PSI = 0.0 — полное совпадение бинов распределения.
Вывод: после применения мэтчинга признаки в группе с воздействием и группе без воздействия стали статистически неразличимыми — баланс достигнут по всем метрикам.
Это же можно подтвердить и визуально:

Было Точки располагаются далеко от красной — идеальной — линии. Это подтверждает, что распределения двух групп не совпадают. | Стало Точки лежат практически точно на диагонали. Это означает, что каждое квантильное значение в одной группе соответствует такому же значению в другой. |

Было Медианы и IQR у Original и Matched (до matching — фактически, treatment vs control) различаются. Признаки имеют разные масштабы разброса и разные уровни. | Стало Медианы, верхние и нижние квартили у двух групп практически идентичны. Разбросы совпадают, визуальных различий почти нет. |

Было Распределения между группами заметно сдвинуты. В одних признаках гранулярность и хвосты различаются, что указывает на неоднородность выборок до сопоставления. | Стало Распределения практически полностью накладываются друг на друга. Цвета почти сливаются — это хороший визуальный индикатор баланса. |
Результаты
После мэтчинга мы сравнили целевые метрики только внутри выровненных групп.
Выяснилось, что обращение в поддержку снижает удержание и активность продавца в продвижении — то есть влияет на то, сколько он будет тратить на размещение объявлений и поиск клиентов в будущем.
Так как метрики относятся к будущему периоду — 1–3 месяца после обращения, — а matching нивелирует различия по признакам, мы можем интерпретировать это как причинный эффект обращения. То есть делаем вывод, что обращение в поддержку — это сигнал, после которого продавец в среднем ведёт себя хуже, и мы можем уверенно сказать, что это не случайность, а эффект самого обращения.

Обычно в методах matching ищут ATE — средний эффект для всей популяции, чтобы понять, что было бы, если эффект распространить на всех. Для этого нужно оценить, как эффект проявился бы у «контрольной группы», даже если её характеристики сильно отличаются от «тестовой».
В нашем случае это не требовалось, потому что мы смотрели только на ATT — средний эффект для группы, на которую воздействие действительно было.
Хотели понять, что произойдёт, если устранить причины обращений в поддержку, и насколько это улучшит опыт продавцов. Такая оценка помогает правильно расставлять приоритеты в бэклоге продуктовых улучшений.
Благодаря тому, что нам удалось оцифровать негативное влияние обращений в поддержку, уже сейчас мы приоритизировали и внедрили улучшения для пользователей по разным направлениям.
Например: улучшили Автозагрузку объявлений и процесс работы с множественными блокировками.
Вся статья кратко
Мы начали с бизнес-проблемы: обращения продавцов в поддержку — это важный сигнал негативного пользовательского опыта, который может снижать удержание и будущую активность, но напрямую измерить его влияние нельзя.
Провести A/B-тест невозможно, а прямое сравнение продавцов даёт искажённые выводы из-за различий между теми, кто пишет в поддержку, и теми, кто не пишет. Поэтому для оценки эффекта понадобились методы причинно-следственного анализа.
Мы разобрали основные подходы к causal inference и выбрали matching как наиболее прозрачный и интерпретируемый метод для этой задачи. Из-за ограниченного числа ключевых факторов остановились на мэтчинге по ковариатам, а не на propensity score matching.
На практике мы:
— выбрали метрики оттока и будущих трат;
— отобрали значимые ковариаты;
— сопоставили продавцов, обращавшихся в поддержку, с максимально похожими продавцами без обращений;
— проверили качество сопоставления и добились полного баланса признаков.
После мэтчинга сравнили поведение продавцов в будущем периоде (1–3 месяца) и увидели, что обращение в поддержку снижает удержание и активность в продвижении — то есть влияет на будущие траты.
Наш анализ позволил получить новые инсайты о влиянии обращений в поддержку и более точно приоритизировать продуктовые улучшения. Мы уже устраняем причины обращений пользователей в поддержку, чтобы улучшить пользовательский опыт. В частности — улучшаем Автозагрузку объявлений.
Больше кейсов по аналитике и продуктовым улучшениям — в канале «Коммуналка аналитиков». Следите за нами там.
