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

Разработайте подход к оценке причинно-следственного эффекта внедрения ML-системы предотвращения фрода (Fraud Detection) на конверсию легитимных пользователей и чистую выручку, если пороговые значения скоринга создают дисконтинуитет в вероятности одобрения транзакции, а полное отключение фильтров для контрольной группы невозможно из-за репутационных рисков и регуляторных требований?

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

Ответ на вопрос

Исторический контекст

Традиционно борьба с фродом в digital-продуктах основывалась на жестких rule-based правилах или ручной модерации, что приводило к высокой операционной нагрузке и статичности системы. С развитием машинного обучения компании начали внедрять Real-Time Fraud Detection SDK, которые скорят каждую транзакцию по вероятности мошенничества. Ключевая сложность заключается в том, что любой классификатор совершает ошибки двух типов: False Positive (блокировка легитимного пользователя) прямо снижает выручку, а False Negative (пропуск фрода) увеличивает chargeback. Бизнесу критически важно измерить trade-off между этими ошибками, чтобы оптимизировать пороги скоринга.

Постановка проблемы

Стандартное A/B-тестирование невозможно, так как намеренное пропускание фродовых транзакций в контрольной группе недопустимо с точки зрения репутации и FinCEN/PCI-DSS требований. Простое сравнение метрик до и после внедрения искажено сезонностью фродовых атак и самоотбором пользователей (обновляют приложение более лояльные). Пользователи с высоким фрод-риском имеют исходно иную конверсию, чем низкорискованные, поэтому naive comparison между одобренными и отклоненными дает смещенную оценку из-за confounding by indication.

Подробное решение

Оптимальным методом является Sharp Regression Discontinuity Design (RDD) вокруг порогового значения fraud score (например, 0.7), где происходит резкое изменение вероятности одобрения с 1 до 0. Мы сравниваем транзакции с score 0.69 (treatment, одобрено) и 0.71 (control, отклонено), предполагая локальную случайность в окне bandwidth (±0.05). Используем Local Linear Regression с треугольным ядром для оценки LATE (Local Average Treatment Effect). Для повышения точности применяем Covariate-Adjusted RDD, добавляя предикторы (история устройства, гео) в качестве контрольных переменных. Для оценки чистой выручки рассчитываем Incremental Revenue: разница между предотвращенным фродом (ожидаемый chargeback) и потерянной выручкой от false positives, идентифицированных через RDD.

Ситуация из жизни

В мобильном приложении маркетплейса после интеграции Fraud Detection SDK от внешнего вендора общая конверсия в покупку снизилась с 4.2% до 3.5%, при этом фродовый rate упал с 2.8% до 0.4%. Продуктовая команда подозревала, что система слишком агрессивна и отсекает легитимных платежеспособных пользователей, но не могла количественно оценить масштаб проблемы из-за отсутствия контрольной группы.

Вариант А: Простое сравнение конверсии до и после внедрения (pre-post analysis). Плюсы: минимальные трудозатраты, не требует специальной инфраструктуры. Минусы: полностью игнорирует сезонность (период после внедрения совпал с началом низкого сезона), самоотбор при обновлении приложения и изменение маркетингового микса (был запущен новый канал с низкой конверсией).

Вариант Б: Географическое разбиение (города Group A с включенной системой, Group B без). Плюсы: создает чистую контрольную группу. Минусы: технически невозможно из-за единой кодовой базы и CDN-кэширования; пользователи мигрируют между городами; фрод-профиль существенно различается по регионам (горизонтальная неоднородность).

Вариант В: Regression Discontinuity Design по непрерывному fraud score вокруг порога отсечки 0.65. Плюсы: использует естественный эксперимент, гарантирует локальную случайность, позволяет изолировать causal effect именно для "пограничных" транзакций. Минусы: требует большого объема данных в окне порога; оценивает LATE, который может отличаться от ATE для всей популяции; чувствителен к манипуляциям score (fraudsters могут научиться обходить порог).

Вариант Г: Synthetic Control Method, создание взвешенной комбинации исторических когорт для имитации контрольной группы. Плюсы: работает без физической контрольной группы, учитывает временные тренды. Минусы: предполагает, что факторы влияния стабильны во времени; чувствителен к выбросам в предобработке; сложно валидировать кроме как через placebo-тесты.

Был выбран Вариант В (RDD) с bandwidth 0.08 и полиномом первой степени. Анализ показал, что для транзакций с суммой >15 000 ₽ false positive rate вдвое выше, чем для мелких покупок. На основе этого были настроены динамические пороги по категориям товаров.

Результат: Удалось количественно оценить, что 0.6 процентных пункта из 0.7 потери конверсии приходится на false positives. После калибровки порогов восстановлено 45% потерянной выручки (≈18 млн ₽ в месяц) при сохранении 90% эффективности противодействия фроду.

Что кандидаты часто упускают

Как отличить causal effect от selection bias, когда пользователи с высоким fraud score имеют исходно более низкую склонность к покупке, даже если бы фрод-системы не существовало?

Ответ: Это классическая проблема confounding by indication, когда индикация для лечения (высокий риск) коррелирует с исходом. В RDD критически важно проверить balance ковариат (covariate balance) в окне bandwidth: сравнить распределение device age, истории покупок, гео между группами чуть ниже и чуть выше порога. Если наблюдается дисбаланс, необходимо применить bias-corrected RDD с включением ковариат в регрессию или использовать Local Randomization подход, формально тестируя гипотезу о случайности распределения. Без этой проверки оценка эффекта будет смешана с предсуществующими различиями между высоко- и низкорискованными пользователями.

Почему простое сравнение approve rate между пользователями, прошедшими через разные версии модели (v1 и v2), не позволяет корректно оценить эффект улучшения алгоритма?

Ответ: Это сравнение страдает от selection bias по unobservables и compositional drift. Новая модель v2 может применяться селективно (например, только к новым пользователям или в пилотных регионах), создавая несопоставимые группы. Более того, улучшение качества скоринга изменяет composition одобренных пользователей: v2 может одобрять "серую зону", которую v1 отклоняла, но эти пользователи имеют иную конверсию. Для корректной оценки необходимо использовать Offline Policy Evaluation с Inverse Propensity Weighting (IPW) или Doubly Robust Estimation на исторических логах, оценивая counterfactual, какую выручку принесла бы v1 на тех же транзакциях, что и v2.

Как учесть delayed feedback problem, когда фрод подтверждается спустя 30 дней (chargeback), а аналитикам нужна оценка эффекта за 7 дней для оперативных решений?

Ответ: Это создает проблему цензурированных данных (censored data) и асимметрии в оценке. Для транзакций последних 30 дней мы не знаем истинный лейбл (фрод/не фрод). Решение — использование Survival Analysis (модель Cox proportional hazards) для оценки time-to-fraud, позволяющей работать с неполными данными. Альтернативно, можно использовать Surrogate Metrics (например, velocity features, смена device fingerprint в течение сессии), коррелирующие с будущим фродом, как прокси. Важно понимать, что false positives видны сразу (мгновенный отказ), а false negatives — с задержкой, что искажает precision в сторону завышения на коротком горизонте. Для RDD рекомендуется использовать "замороженные" данные с lag'ом в 30+ дней, принимая потерю свежести ради корректности causal inference.