Реалізація ML-антифрод-системи: від збору даних до real-time блокування

Шахраї обходять захист швидше, ніж команда встигає на них реагувати. Ми розробляємо антифрод-системи під ключ: від розмітки даних до блокування підозрілих операцій у момент проведення. Частка пропущених схем падає, а ручний розбір операцій прискорюється в кілька разів.
Часті запитання

Антифрод-система не виявляє схеми: де ламається захист

Антифрод-система зазвичай ламається не на рівні списку правил, а на рівні даних і швидкості ухвалення рішення.

Фіксований поріг — сума операції, частота спроб, незнайома країна картки — тримає навантаження до першого серйозного інтересу до сервісу: шахраї підбирають значення трохи нижче межі, дроблять суми й розтягують активність у часі. Обхід правил стає рутиною, бо логіка перевірки передбачувана, а її межі видно за самими відмовами.

Ще одне вузьке місце в контролі операцій — розрізнені джерела подій. Платіжний шлюз, історія входів, дані про пристрій, звернення до підтримки та минулі спірні операції живуть у різних системах і не зводяться в один профіль клієнта.

Поки зв'язки між ними не побудовані, кожна перевірка бачить фрагмент картини й пропускає схеми, які на повних даних читаються відразу.

Окрема проблема — ручний розбір підозрілих операцій. Черга зростає швидше, ніж її встигають закривати, тому рішення ухвалюється через години, коли кошти вже виведені, а правила дописуються постфактум, заднім числом.

Зворотний бік страховки — хибні спрацювання під час перевірки платежів: під блокування потрапляють постійні клієнти, зростає навантаження на підтримку та частка покинутих оплат.

Ми розбираємо такі системи за шарами — від збирання ознак до рішення в момент операції — і показуємо, де саме втрачається точність.

Що змінюється після впровадження: ефект у вимірюваних величинах

Ефект від антифрод-системи вимірюється не «рівнем впровадження», а величинами, які видно у звітності з першого місяця роботи.

Швидкість реакції. Рішення щодо операції ухвалюється синхронно, за частки секунди, поки запит ще не отримав відповідь. Шахрайська спроба блокується до списання коштів, а не розбирається за вивантаженням за минулу добу — вікно, у яке гроші встигали вивести, закривається.

Частка відсічених спроб. Модель і правила працюють єдиним контуром: правила ловлять відомі схеми, модель — відхилення від профілю клієнта.

Частка шахрайських спроб, відсічених автоматично, виходить на 90–95%, а поріг спрацювання налаштовується так, щоб легітимні операції не йшли у відмову.

Обсяг ручного розбору. Аналітики перестають перевіряти операції підряд: автоматика закриває основний потік, людині залишається сіра зона з проміжною оцінкою ризику.

Черга розбору скорочується в рази, пріоритет віддається найризикованішим випадкам, і розбір іде за причинами спрацювання, а не з нуля.

Усунений клас відмов. Кожне рішення зберігається разом із версією моделі та набором ознак, тому інцидент відтворюється, а правило доопрацьовується точково.

Події з усіх сервісів сходяться в спільний потік на Kafka — на ньому ж рахуються частка відсічених спроб і час реакції, а ланцюжок «блокування після зарахування» зникає як клас: команда править причину, а не наслідки.

Способи побудови антифрод-системи: правила, моделі, гібрид

Правила й пороги в контролі дають зрозумілий результат і передбачуваний час відгуку: спрацювала ознака — операція пішла на перевірку. Обмеження правил проявляються швидко: схеми обходять підбором параметрів, а кожна нова потребує ручної правки й повторного прогону історії.

Модель на історичних даних ловить те, що правилом не описати: послідовність дій у сесії, нетипове поєднання ознак, поведінку, близьку до раніше підтвердженого шахрайства.

Натомість вона потребує накопиченої розмітки, регулярного перенавчання й контролю зсуву даних — без цього якість тихо падає.

Що вибрати під задачу

Підхід Коли підходить Обмеження
Правила й пороги Явні ознаки шахрайства, жорсткі вимоги до пояснення рішення, старт без розміченої історії Реагує лише на відомі схеми, обходиться підбором параметрів, зростає обсяг ручних правок
Модель на історичних даних Обсяг операцій і розмітки достатній, схеми змінюються, важлива повнота вилову Потрібні дані й регулярне перенавчання, складніше пояснити відмову, чутлива до зсуву поведінки
Гібрид Бойова експлуатація, де помилка дорога в обидва боки: і пропуск, і хибне блокування Складніше впровадження й підтримка: два контури, пріоритети спрацювань, розбір конфліктів

Гібридний підхід використовує модель як оцінку ризику, а правила — як жорсткі межі та джерело пояснення рішення для розбору. Вибір підходу до контролю визначається ціною помилок: там, де пропуск дорожчий за затримку, пороги опускають нижче й підсилюють ручну перевірку.

Як будується впровадження: від розмітки даних до блокування

Порядок етапів тут не формальність: правило, яке зупиняє операцію, не можна вмикати раніше, ніж ми переконалися в ньому на минулих даних.

Тому впровадження йде від джерел до ознак, потім до налаштування правила, перевірки на історії і лише потім — до поетапного введення блокування в роботу.

  1. Аудит джерел даних. Дивимося, які події взагалі фіксуються: журнали операцій, черги повідомлень, вивантаження з облікових систем. Перевіряємо повноту полів, затримку надходження, пропуски, різні часові пояси й те, як джерело поводиться в піковому навантаженні.

  2. Схема ознак. З подій збираємо агрегати за вікнами — година, доба, тиждень: частота операцій, швидкість наростання, зміна реквізитів і пристроїв, перетини з раніше підтвердженими епізодами.

    Окремо стежимо, щоб онлайн-розрахунок і перерахунок за історією давали однаковий результат на тих самих даних.

  3. Налаштування вирішального правила. Ваги й пороги калібруємо так, щоб з'явилися три зони: пропустити, відправити на ручну перевірку, зупинити. Межі зон підбираємо під допустиму частку хибних спрацювань, а не «за красою» метрики.

  4. Перевірка на історичних епізодах. Проганяємо правило на ретро-даних і розбираємо кожен конфлікт: яку частку відомих шахрайських операцій упіймали, скількох чесних клієнтів зачепили, які ознаки спрацювали хибно. Помилки розмітки й «діри» в джерелах повертають нас на крок назад.

  5. Поетапний запуск блокування. Спочатку тіньовий режим: правило рахує, але нічого не зупиняє. Потім блокування на вузькому сегменті з контролем частки зупинок і автоматичним відкатом у разі зростання хибних спрацювань, далі — розширення на інші канали.

  6. Передача й супровід. Віддаємо версіоновані правила, регламент розбору спірних операцій і моніторинг розходження онлайн- та історичного розрахунку. Окремо фіксуємо порядок доучування, щоб система не «застигала» після запуску.

Що залишається в команди: правила, ознаки, регламенти розбору

Готова антифрод-система без документації швидко стає чорною скринькою: правила змінюються частіше, ніж код, а розбір спірних операцій упирається в людей, які писали логіку. Тому разом із сервісом ми передаємо комплект артефактів — за ними команда веде систему власними силами.

  • Набір правил і ознак — декларативні файли в репозиторії з історією версій: умова, вага, поріг, власник і дата перегляду.
  • Каталог ознак — за кожним сигналом: джерело, затримка появи в потоці, частка спрацювань, поведінка на історії.
  • Схема потоків даних — шлях події до вердикту, точки логування й місце, де рішення можна переграти.
  • Документація з контролю операцій — які метрики дивитися, як рахувати частку хибних блокувань і затримку рішення, що вважати нормою.
  • Регламент розбору спірних операцій — хто і в який строк розбирає звернення, як фіксується вердикт і як повертається в розмітку.
  • Інструкції для аналітиків — як додати ознаку або правило, прогнати на історії, порівняти з поточним набором і не зламати пороги.
  • Порядок відкату — як зняти проблемне правило, повернути попередню версію набору і що перевірити перед викочуванням.

Права доступу й точки зміни описані окремо: видно, що можна правити самостійно, а що зачіпає модель і потребує узгодженої перевірки. Усе пов'язано через журнал рішень — під час повернення ми підхоплюємо систему за фактичними даними, а не за пам'яттю.

Як скоротили втрати на потоці платежів: розбір проєкту

Проєкт із контролю платежів — сервіс із потоком у десятки тисяч операцій на добу: карткові платежі, підписки, виплати партнерам. Шахрайські спроби йшли хвилями: серія карток з одного джерела, нічні сплески, повтори за одним пристроєм.

Глобальний звіт про фрод у цифрових платежах описує ту саму картину — схеми живуть добами, а правила, написані вручну, відстають на цикл оновлення.

Що було до впровадження

Рішення ухвалювали ручні правила: чорні списки, гео, ліміти за сумою й частотою. Вони відсікали близько 61% шахрайських спроб, уночі реакція на нову схему займала від кількох годин до ранку, а решта йшла в чергу на ручний розбір — 4-5 тисяч операцій на тиждень. Приблизно кожна восьма відсічена операція виявлялася чесною.

Результати впровадження контролю

Модель навчили на розміченій історії: швидкість операцій за карткою, зв'язки пристрій-акаунт-картка, поведінка перед оплатою, ознаки компрометації в інших клієнтів.

Рішення вбудовано в потік авторизації й рахується до підтвердження операції — за частки секунди, без затримки для чесного клієнта. Зворотний зв'язок замкнули: вердикти аналітиків повертаються в розмітку, перенавчання йде за розкладом.

Метрики до й після впровадження знімали на тому самому потоці. Частка відсічених шахрайських спроб зросла до 94%, час реакції на нову схему скоротився з годин до часток секунди.

Зниження обсягу ручного розбору — до 600-800 операцій на тиждень, хибні спрацювання — 1 на 40 відсічених.

Що робити, якщо захист уже розгорнуто і він не справляється

Чинний контур захисту рідко ламається цілком — він «замилюється». Правила й списки накопичувалися роками, пороги рухали руками під окремі інциденти, перевірки дублюють одна одну. Частка хибних спрацювань зростає, а частина фроду проходить між правил.

Переписати це одним перемиканням не можна: потік операцій іде безперервно, зупинка — це відмова в обслуговуванні.

Тому доопрацювання йде в тіньовому режимі. Нові моделі рахують оцінку ризику паралельно з працюючим контролем і не впливають на рішення; ми накопичуємо зв'язки «оцінка правила — оцінка моделі — фактичний результат» на живому трафіку.

За кілька тижнів видно, де модель упевненіша за правила, а де навпаки — це замір на ваших даних, а не гіпотеза.

Накопичена історія нікуди не дівається. Журнали рішень, позначки аналітиків, закриті розбори за інцидентами приводимо до єдиної схеми ознак і використовуємо як навчальну вибірку; валідація — на відкладеному в часі періоді, щоб не підганяти модель під минуле. Ручні списки залишаються джерелом сигналу, а не сміттям.

Заміщення правил — керований процес, а не заміна цілком. Частина правил переходить в ознаки для моделі, частина залишається жорсткими блокуваннями для очевидного фроду, пороги зсуваються за метриками: частка хибних блокувань, охоплення підтверджених випадків, час до реакції. Кожен крок оборотний — попередня конфігурація зберігається й піднімається за хвилини.

Так контур зростає інкрементально: потік не зупиняється, історія й розмітка стають робочим активом, а правила переходять у модель.

Часті технічні сумніви перед стартом проєкту

Модель антифроду — це не лише алгоритм, а й дані, розмітка та регламент супроводу після запуску. До старту зазвичай уточнюють те саме: чи вистачить історії, як бути з неакуратною розміткою і що станеться, коли шахраї змінять поведінку. Відповідаємо за пунктами.

У нас немає розміченої історії — старт можливий?

Достатньо кількох місяців операцій, і важливо, щоб у вибірці були і підтверджені випадки, і нормальні. Якщо розмітки немає взагалі, запускаємо модель у тіньовому режимі: вона оцінює потік, але нічого не блокує, — за цей час набираємо статистику й калібруємо пороги.

Наскільки критична якість розмітки?

Рахуємо узгодженість розмітників до старту: розходження в 10–15% випадків модель вивчить як шум і буде помилятися на схожих операціях.

Спірні випадки виносимо в окремий клас і не тягнемо в навчання, а регламент розмітки фіксуємо письмово — інакше наступна партія даних роз'їдеться так само.

Скільки буде хибних блокувань?

Поріг — це завжди компроміс між пропуском шахрайства й блокуванням чесного клієнта, тому налаштовуємо його під ціну кожної помилки, а не за замовчуванням. Частина рішень іде в чергу ручного розбору: її результати повертаються в розмітку й уточнюють модель.

Хто веде модель після передачі?

Передаємо код, конфігурації, набори ознак, відтворювані вибірки, панелі моніторингу й регламент перенавчання — рішення працює без нас. Далі або супровід нашою командою за узгодженим графіком, або навчання ваших інженерів, щоб перенавчання вели ви самі.

Що буде, коли шахраї змінять схему?

Залишаються правила-запобіжники й моніторинг розходження між очікуваною та фактичною поведінкою: нові схеми ловлять раніше, ніж модель встигає перенавчитися на свіжих даних.

Сигнал про деградацію надходить автоматично, далі — перенавчання за регламентом, без зупинки потоку операцій.

Обговоримо задачу: з чого почнемо і що отримаєте на виході

Щоб обговорити задачу з контролю операцій предметно, достатньо однієї розмови й доступу до того, що вже накопичено: логам платежів, вивантаженням із процесингу, чинним правилам блокувань.

Готувати презентацію не потрібно — дивимося на реальні дані й за ними говоримо, де зараз проходять підозрілі операції.

За підсумками першого розбору повернемо:

  • Первинний розбір джерел — які події фіксуються, з якою затримкою доходять до сховища, де губляться мітки підтвердженого шахрайства.
  • Склад робіт за проєктом — етапи, зона відповідальності нашої команди та ваших інженерів, точки узгодження.
  • План впровадження й оцінка — порядок виведення в бойовий контур: спочатку тіньовий режим на історичному потоці, потім блокування операції в момент її проведення, строки й критерії переходу між етапами.
  • Артефакти першого етапу — схема потоків даних, словник ознак, звіт про якість розмітки, чернетка правил і порогів спрацювання.
  • Порівняння підходів — жорсткі правила, статистична модель та їх комбінація; який варіант закриває ваші сценарії і чому.
  • Реєстр ризиків — хибні спрацювання на лояльних клієнтах, дрейф моделі, відкат правил, розмежування доступів до даних.

Далі вирішуєте ви: зупинитися на плані й впроваджувати власними силами чи віддати реалізацію нам. Опишіть задачу — повернемося з оцінкою та планом робіт.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142