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

Качество пользовательского опыта напрямую влияет на то, останется ли человек на платформе, будет ли он создавать больше объявлений и развивать свой бизнес на Авито.

Для оценки опыта продавцов мы используем сочетание инструментов — регулярные опросы, метрики CES и CSAT. Но чтобы глубже понять драйверы негативного опыта, мы начали анализировать и обращения в поддержку — Contact Rate.

В этой статье рассказываю, как мы оцифровали влияние обращения в поддержку на опыт продавцов и почему для этого нам понадобились методы причинно-следственного анализа (causal inference).

Что внутри статьи:

Почему обращения в поддержку — это важный сигнал

Причинно-следственный анализ: зачем он нужен аналитикам

Основные подходы к причинно-следственному анализу

Propensity Score Matching (PSM)

Matching по ковариатам

Практика Авито: как мы применили мэчинг и показали влияние обращений в поддержку на дальнейшие траты клиентов и их ретеншен

Вся статья кратко

Почему обращения в поддержку — это важный сигнал

Интуитивно обращения в поддержку — это проявление проблемы. Если продавец пишет в поддержку, значит, что-то не работает или не получается решить самостоятельно. Это предполагает негативный опыт, который может снижать будущую активность или приводить к оттоку. 

Важно находить проблемы, с которыми приходят продавцы, и устранять их, чтобы улучшать опыт пользователей. Для этого нужно понимать, насколько такие обращения реально портят жизнь пользователю — это помогает правильно расставлять приоритеты в продуктовых задачах.

Однако напрямую оценить влияние обращения на опыт не получается потому что:

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 месяца) и увидели, что обращение в поддержку снижает удержание и активность в продвижении — то есть влияет на будущие траты. 

Наш анализ позволил получить новые инсайты о влиянии обращений в поддержку и более точно приоритизировать продуктовые улучшения. Мы уже устраняем причины обращений пользователей в поддержку, чтобы улучшить пользовательский опыт. В частности — улучшаем Автозагрузку объявлений.

Больше кейсов по аналитике и продуктовым улучшениям — в канале «Коммуналка аналитиков». Следите за нами там.