ML-система антифрода
Мы разрабатываем ML-системы антифрода, которые ловят мошеннические паттерны в реальном времени — до того, как они нанесут ущерб. Фрод-команды работают быстро: новую схему обнаруживают через 48 часов, но мошенники адаптируются под правило-исключение так же быстро. Rule-based антифрод всегда опаздывает на один шаг. ML-система с поведенческим анализом и anomaly detection успевает ловить паттерны раньше, чем правила написаны. За 5 лет на рынке мы реализовали более 30 проектов по антифроду для fintech, e-commerce и платежных систем. Наш опыт гарантирует снижение потерь от фрода в 2–4 раза уже в первые 3 месяца после внедрения.
Типы фрода и методы детекции
| Тип фрода | Характеристики | Метод детекции |
|---|---|---|
| Транзакционный фрод | Несанкционированные транзакции, velocity, geography, device fingerprint | Бинарная классификация (fraud/not-fraud) с признаками velocity |
| Account takeover (ATO) | Смена пароля, новое устройство, вывод средств | Поведенческая аномалия на истории 6 месяцев |
| Synthetic identity fraud | Искусственная личность из фрагментов данных разных людей | Граф-анализ: несоответствия в identity graph |
| Friendly fraud (chargeback abuse) | Реальный пользователь заявляет о неавторизованной транзакции | Поведенческие признаки и история диспутов |
Транзакционный фрод — несанкционированные транзакции по скомпрометированным картам/аккаунтам. Классическая бинарная классификация на уровне транзакции. Ключевые признаки: velocity (сколько транзакций за последний час), geography, device fingerprint, merchant category. Account takeover детектируется через поведенческую аномалию — пользователь вдруг начинает вести себя иначе. Synthetic identity fraud требует граф-анализа для выявления несоответствий в identity graph. Friendly fraud отличают по паттернам чарджбэков.
Как обеспечить P99 latency <50ms в real-time?
Антифрод на транзакциях — задача с жёсткими latency требованиями: решение нужно за 100–300 ms до авторизации. Это диктует архитектуру:
Транзакция → Kafka → Feature Store → ML-модель → Decision Engine → Ответ ↑ Online features: Offline features (pre-computed): - velocity (Redis) - customer risk profile - device fingerprint - merchant risk score - session behavior - historical patterns Feature Store — критически важный компонент. Online features (velocity, текущая сессия) — из Redis, latency <5 ms. Offline features (профиль клиента за 90 дней) — pre-computed в Feast или Hopsworks, latency <20 ms. Для инференса используем XGBoost или LightGBM, экспортированные в ONNX Runtime — это даёт латентность в 3–5 раз ниже, чем Python скоринг. Цель: P99 latency <50 ms только для ML-части.
| Компонент | Латенция | Инструмент |
|---|---|---|
| Online features | <5 ms | Redis |
| Offline features | <20 ms | Feast/Hopsworks |
| ML inference | <50 ms P99 | ONNX Runtime |
| Decision Engine | <10 ms | Custom |
Почему граф-анализ эффективнее tabular моделей?
Транзакционный граф: узлы — аккаунты, устройства, IP, телефоны; рёбра — транзакции, связи. Паттерны фрода в графе:
- Один device_fingerprint → много аккаунтов (device sharing у фрод-ринга)
- Star pattern: новые аккаунты все отправляют деньги одному получателю
- Cyclic transfers: A→B→C→A — отмывание через кольцо
Graph Neural Networks (GraphSAGE, GAT) на транзакционном графе дают +5–12% AUC по сравнению с tabular моделями без графовых признаков.
import torch_geometric as pyg class FraudGNN(torch.nn.Module): def __init__(self): super().__init__() self.conv1 = pyg.nn.SAGEConv(in_channels=64, out_channels=128) self.conv2 = pyg.nn.SAGEConv(128, 64) self.classifier = torch.nn.Linear(64, 1) def forward(self, x, edge_index): x = F.relu(self.conv1(x, edge_index)) x = self.conv2(x, edge_index) return torch.sigmoid(self.classifier(x)) Статистика из практики
Клиент — платёжная система с 2.5 млн транзакций в день. Исходная система: 47 жёстких правил. Потери от фрода: 0.18% от оборота. Правила писали неделями, мошенники обходили через 3–5 дней.После внедрения ML-антифрода: потери снизились до 0.06% (экономия $240 000 в год при обороте $200 млн), False Positive Rate упал с 2.1% до 0.4%, время реакции на новую схему — 4–6 часов вместо недели. P99 latency инференса: 38 ms.
Как бороться с имбалансом в антифроде?
Соотношение fraud/legit: типично 1:500 – 1:2000. При таком imbalance:
- Sampling: undersample majority class для обучения, но оценивать на реальном распределении.
- Метрики: не accuracy (бессмысленна при 1:2000), а precision@recall=0.9, Average Precision, Kolmogorov-Smirnov статистика.
- Порог не 0.5: подбираем threshold под бизнес-требование — сколько FP допустимо при каком уровне recall.
Мониторинг и champion-challenger
Фрод-паттерны дрейфуют. PSI мониторинг ежедневно. Champion-challenger: новая версия модели на 10% трафика параллельно с champion. Переключение при подтверждённом улучшении метрик.
Что входит в реализацию ML-антифрода
- Аналитика: аудит текущих процессов, сбор требований, определение метрик успеха.
- Проектирование: выбор архитектуры, Feature Store, pipeline data.
- Разработка: обучение модели (XGBoost, LightGBM, GNN), калибровка порогов, интеграция с транзакционной системой.
- Тестирование: A/B-тестирование на исторических данных, оценка FP/FN, load testing.
- Деплой: развертывание в production, мониторинг (PSI, drift detection), champion-challenger.
- Документация и обучение: описание модели, runbook для ops, обучение фрод-аналитиков.
Мы предоставляем гарантию на качество модели в течение 6 месяцев после внедрения. Получите консультацию для оценки вашего сценария — свяжитесь с нами для бесплатного аудита.







