Продуктовая аналитика (IT)Product Analyst

Как бы вы оценили причинно-следственный эффект внедрения системы геймификации (бейджи за отзывы на курсы) на глубину вовлечения пользователей в edtech-приложении, используя квазиэкспериментальный подход при невозможности проведения классического A/B-теста?

Проходите собеседования с ИИ помощником Hintsage

Answer to the question

Для измерения эффекта без рандомизации необходимо построить синтетический контроль через Propensity Score Matching (PSM), а затем применить метод Difference-in-Differences (DiD). Сначала мы оцениваем вероятность получения бейджа (логистическая регрессия) на предысторических данных (активность, демография, удержание), чтобы сопоставить «леченых» с похожими «контрольными» пользователями. Затем сравниваем динамику целевой метрики (глубина вовлечения) между этими группами, что позволяет отделить эффект бейджа от общих трендов роста.

Критически важно проверить предположение о параллельных трендах через event-study анализ: строим регрессию с лагами и лидами обработки и убеждаемся, что коэффициенты до внедрения незначимы. Для повышения чувствительности используем CUPED в Python или R, уменьшая дисперсию за счет ковариат до эксперимента. Итоговая оценка ATT (Average Treatment Effect on the Treated) дает несмещенную величину чистого эффекта геймификации.

Situation from life

Компания «EduTech» запустила программу мотивации: пользователи получали цифровые бейджи за оставленные отзывы о курсах. Технические ограничения legacy-бэкенда не позволили разделить аудиторию случайно, поэтому аналитик столкнулся с измерением влияния на метрику «глубина вовлечения» (среднее число просмотренных уроков в неделю) при сильном самоотборе: отзывы оставляли наиболее активные студенты, что создавало очевидное смещение.

Рассматривалось четыре подхода к решению задачи.

Простое сравнение средних после внедрения между получившими бейдж и не получившими. Основное преимущество — скорость расчета в SQL без сложной подготовки данных. Критический недостаток — полное игнорирование самоотбора: активные пользователи и так растут быстрее (эффект матурирования), что приводит к переоценке эффекта и ложным выводам об эффективности.

Анализ «до-после» исключительно на группе с бейджами. Преимущества заключаются в исключении межгрупповых различий и использовании парного t-теста для одних и тех же юзеров. Однако невозможно отделить эффект бейджа от общего сезонного роста активности (начало учебного года) или одновременных изменений в алгоритмах рекомендаций, что делает выводы ненадежными.

OLS-регрессия с контролем ковариат через добавление переменных о прошлой активности. Это быстро реализуется в statsmodels и дает понятные коэффициенты. Но метод требует строгой линейности зависимостей, чувствителен к выбросам и не учитывает индивидуальные тренды развития пользователя во времени, что может исказить оценку.

PSM + Difference-in-Differences (выбранное решение). Мы проводили Propensity Score Matching в BigQuery, используя logistic regression на предикторах до запуска (частота входов, пройденные курсы). Затем применяли DiD с fixed effects пользователя и недели. Преимущества — минимизация смещения отбора по наблюдаемым признакам и удаление временных трендов при соблюдении параллельности. Недостатки — высокая вычислительная сложность и критичность предположения о параллельных трендах, требующего верификации через event-study графики.

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

What candidates often miss

Как проверить, что предположение о параллельных трендах в DiD не нарушено, если у нас нет эксперимента?

Кандидаты часто ограничиваются визуальным сравнением графиков, упуская формальную проверку. Необходимо построить event-study регрессию, включив дамми-переменные для каждого периода до и после обработки. Если коэффициенты для периодов «до» статистически значимы (p-value < 0.05), предположение нарушено. В этом случае можно применить CUPED для корректировки предтрендов или использовать Synthetic Control Method, чтобы сконструировать контрольную группу с трендом, максимально близким к тренду обрабатываемой группы до вмешательства.

Почему Propensity Score Matching не решает проблему эндогенности от скрытых характеристик (selection on unobservables)?

PSM балансирует только наблюдаемые ковариаты (возраст, активность), но если существует скрытая мотивация (например, «любовь к обучению»), которую сложно квантифицировать, смещение остается. Для решения нужны инструментальные переменные (IV), например, географическое расстояние до ближайшего офлайн-центра, которое коррелирует с вероятностью получения бейджа, но не влияет на вовлеченность напрямую. Альтернатива — Regression Discontinuity Design (RDD), если порог получения бейджа жесткий (например, ровно 3 отзыва), что создает экзогенную вариацию.

Как обработать нарушение SUTVA (Stable Unit Treatment Value Assumption) в геймификации, когда эффект «заразен» через социальный граф?

Если друзья видят бейджи и тоже начинают писать отзывы, стандартный DiD дает смещенную оценку, смешивая прямой и косвенный эффекты. Решение — использование кластеризованных стандартных ошибок по группам друзей или двухэтапной выборки, где из контрольной группы исключаются пользователи, связанные с «лечеными». Можно оценить спиловер-эффекты явно через mediation analysis в Python (библиотеки causalml или mediation), разделяя общий эффект на прямой (на самого пользователя) и косвенный (на друзей), чтобы избежать занижения истинного эффекта.