Обнаружение мошенничества
Обнаружение мошенничества
Антифрод — это не только «модель риска». Это контур: стандартизованные события → признаки и графы → правила/модели → решение и действие → объяснение и апелляции → измерение эффекта и дрейф-контроль. Ниже — системная инструкция, применимая к платежным и игровым платформам, маркетплейсам и финтех-сервисам.
1) Карта угроз (что защищаем)
Платежные схемы: краденые карты, тестинг карт, чарджбэки, friendly fraud.
Аккаунт-риски: взлом/перехват, мультиаккаунтинг, бонус-абьюз, фермы устройств.
KYC/AML: фальшивые документы, подставные лица, обнал, санкционные/PEP-риски.
Поведенческие: боты, скрипты, аномальные паттерны ставок/транзакций.
Партнерские: фрод трафика/рефералов, стимуляция некачественных депозитов.
2) Сигналы и сырье
Устройство/сеть: device fingerprint, canvas/ваг, эмуляторы, IP/ASN/прокси/VPN, геовелосити.
Платежные: BIN/MCC/страна карты, 3DS/ECI, AVS/CVV-результаты, velocity (по карте/аккаунту/устройству), отклонения лимитов.
Поведение: скорость формов, траектории мыши/тач, dwell-time, последовательность действий.
Социальные/графовые: совпадения телефонов/e-mail/карт/адресов/устройств, общие фичи с «плохими» узлами.
KYC/Документы: качество OCR/селфи-матчинг/живость (liveness), дата/источник, blacklists/санкции.
3) Инженерия признаков (feature store, point-in-time)
Временные окна: 5м/1ч/24ч/7д для velocity-фич; экспон. сглаживание.
Агрегаты по идентичностям: по user_id, телефону, e-mail, карте, устройству, IP/ASN.
Гео/время: страна/регион/таймзона/локальные праздничные профили.
Граф-фичи: degree/triangle count/PageRank, доля связей с плохими, компонентность.
Качество KYC: confidence OCR, edit distance имен/адресов, валидация IBAN/ИНН.
Анти-лики: строго point-in-time, без будущих меток; online/offline parity.
4) Разметка и целевые переменные
Таргеты: chargeback=1, confirmed_fraud=1, bonus_abuse=1.
Окна отложенной истины: метки приезжают спустя T (чарджбэки), используйте «фриз» периода при обучении.
Дистрибутив: сильный дисбаланс (0.1–1% «единиц») → взвешивание/семплинг осторожно.
Суррогатные метки: ручные подтверждения и апелляции — храните уверенность.
5) Модели и подходы
Правила (policy-as-code): белые/черные списки, пороги velocity, геовелосити, несовместимые атрибуты. Быстрые, объяснимые, база для fail-safe.
Супервизия: градиентный бустинг/лес, логистическая регрессия, табличные NN с cost-sensitive лоссами.
Аномалии: Isolation Forest, LOF, robust z-score/seasonal-decomp, автоэнкодеры.
Граф-подходы: link prediction, GNN/DeepWalk-эмбеддинги, правила «общий девайс/карта».
Гибриды: cascade (правила → ML → граф), ансамбли с разными штрафами за FP/FN.
Калибровка: Platt/Isotonic для вероятностей; пороги от стоимости ошибок.
6) Метрики качества (ориентируемся на редкие классы)
PR-AUC как основная; ROC-AUC вторична при дисбалансе.
Recall@FPR≤x%, Precision@k, Cost-sensitive utility.
Coverage и Latency p95 для прод-скоринга.
Fairness/Harms: ошибки по сегментам стран/устройств/методов оплаты.
7) Пороговая политика и гистерезис
Разделяйте зоны решения:- `score ≥ τ_block` → автоблок;
- `τ_review ≤ score < τ_block` → ручная проверка;
- `score < τ_review` → пропуск.
Добавьте гистерезис (порог входа/выхода различается) и cool-down (минимальные интервалы повторных действий), чтобы исключить «мигание».
Пример decision table
8) Онлайн-контур: скоринг и оркестрация
Стриминг: события через шину; фичи из online feature store; идемпотентность через `event_id`.
Latency: целевые p95 (например, ≤ 100–300 мс на запрос).
Оркестратор: гарантированная доставка, ретраи/backoff, DLQ, rate-limit по каналам.
Каналы действий: 3DS/step-up, холд/лимит, блок, запрос документов, тикет в кейс-менеджер, уведомление пользователю.
Аудит: сквозной `correlation_id` «сигнал→решение→действие→исход».
9) Human-in-the-loop и кейс-менеджмент
Кейсы: агрегируйте инциденты/свидетельства, показывайте объяснение (top features/правила, граф-соседства).
Разрешения: авторазблок/частичный лимит/запрос доп. KYC/закрытие.
Обучение: правки аналитиков идут обратно в данные (relabel), актив-ленинг на границе.
SLA: приоритет P1/P2, временá реакции, очереди, распределение нагрузки.
10) Граф-анализ на практике
Связи: `user ↔ device ↔ card ↔ phone ↔ email ↔ IP`.
Паттерны: «звезды» карт-тестинга, «компоненты» бонус-абьюза, общие прокси/VPN.
Скоринг узлов/ребер: взвешенный PageRank, suspiciousness по доле плохих соседей.
Превентив: карантин новых узлов, если они входят в «зараженную» компоненту.
11) KYC/AML/санкции и комплаенс
Матчинг: санкционные списки/PEP/адверз-медиа; fuzzy-поиск, нормализация имен/транслитерация.
Документы: живость/анти-спуфинг, проверка MRZ/визуальных признаков, гео-согласованность.
Транзакционный мониторинг: правила по суммам/порогам/цепочкам переводов, сценарии обнала.
Говернанс: RLS/CLS, маскирование PII, лог решений, объяснимость и путь апелляции.
12) Оценка эффекта (не только «точность»)
Экономика решения:[
EV = \text{Предотв. ущерб} - \text{Стоимость ложных блоков} - \text{Операционные издержки}
]
Политики/тесты: A/B/квазиэксперименты (DiD) для порогов и правил; bandits для выбора step-up-метода.
Guardrails: жалобы/апелляции, NPS, доля «неверных блокировок» (FPR), latency.
13) Мониторинг, дрейф и SLO
Качество: PR-AUC/Recall@FPR по скользящему окну; калибровка вероятностей.
Дрейф: PSI/KL по ключевым фичам, доля «неизвестных» BIN/ASN, новые кластеры устройств.
Операции: p95 latency, доля таймаутов, % ручных эскалаций, backlog ревью.
SLO: доступность >99.9%, Decision→Action p95 ≤ 2–5 c; «стоп-кран» при деградации качества данных.
Рунибуки: всплеск карт-тестинга, падение 3DS, outage провайдера, шторма логов.
14) Архитектура данных и кода
События: каноническая схема (UTC, version, source), идемпотентные ключи.
Feature Store: онлайн/офлайн паритет, point-in-time рекеты, версионирование трансформаций.
Модели: реестр версий, воспроизводимые пайплайны, сертификация в прод, shadow-запуск.
Rules-as-Code: git-репозиторий, ревью/чек-листы, тесты регрессий.
Explainability: SHAP/лог весов правил, семплы кейсов для обучения саппорта.
15) Безопасность, приватность, этика
Минимизация PII: токенизация/хэширование идентификаторов; отдельные «сейф»-хранилища.
Доступ: RLS/CLS и аудит чтений/выгрузок; экспорт — с токенами и сроками.
Справедливость: тестируйте дифференцию ошибок по регионам/методам, исключайте недопустимые атрибуты.
Прозрачность: причины решений и понятная апелляция пользователю.
16) Псевдо-SQL и рецепты
Идемпотентный журнал транзакций
sql
MERGE INTO fact_payments t
USING staging_payments s
ON t. txn_id = s. txn_id
WHEN MATCHED AND s. updated_at > t. updated_at THEN
UPDATE SET status=s. status, amount=s. amount, updated_at=s. updated_at
WHEN NOT MATCHED THEN
INSERT (txn_id,user_id,card_hash,amount,currency,event_time,created_at)
VALUES (s. txn_id,s. user_id,s. card_hash,s. amount,s. currency,s. event_time,NOW());
Velocity-фичи (24ч окно)
sql
SELECT user_id,
COUNT() AS tx_24h,
SUM(amount) AS sum_24h,
COUNT(DISTINCT card_hash) AS uniq_cards_24h,
COUNT(DISTINCT device_hash) AS uniq_devices_24h,
MIN(event_time) AS first_tx_24h,
MAX(event_time) AS last_tx_24h
FROM fact_payments
WHERE event_time >= NOW() - INTERVAL '24 hour'
GROUP BY user_id;
17) Чек-лист запуска антифрода
- Сигналы и схемы стандартизованы, идемпотентность включена
- Feature Store с point-in-time, online/offline паритет
- Метки сформированы без ликов, окна отложенной истины учтены
- Пороговая политика с гистерезисом и step-up, SLA и guardrails заданы
- Кейс-менеджмент и human-in-the-loop настроены, объяснимость доступна
- Метрики: PR-AUC, Recall@FPR, Cost-utility; fairness-диагностика
- Мониторинг дрейфа/ошибок, алерты, рунибуки инцидентов
- Говернанс: версии моделей/правил, ревью, аудит решений, комплаенс KYC/AML
- План A/B/DiD для порогов/политик; безопасный фолбэк на правила
Итог
Сильный антифрод — это гибрид правил, моделей и графов в управляемом контуре: качественные сигналы и фичи → пороговая политика с гистерезисом → быстрый онлайновый скоринг и оркестрация действий → human-in-the-loop и прозрачные апелляции → метрики эффекта и дрейф-контроль. Следуя этой схеме, вы снижаете потери, ограничиваете вред от ложных блокировок и сохраняете доверие пользователей и регуляторов.