Антифрод в МФО: проверка номера в MAX как первая ступень скоринговой воронки
Как риск-офицер МФО снижает FPD30 и NPL: MAX-проверка за $0.005 перед БКИ, 590-П и 151-ФЗ, кейс на 100 000 заявок и интеграция со скоринговой воронкой.
В микрофинансовой организации каждая заявка — это не лид и не trial, а решение о выдаче живых денег. Если синтетический заёмщик получил 30 000 ₽, эти деньги не вернутся: средний FPD30 по «синтетике» — 80–100%, и стандартный коллекшен на таких портфелях не работает. Поэтому риск-офицер МФО мыслит другими категориями, чем антифрод-инженер в SaaS: для него важны не «фейковые регистрации», а прямые потери на теле займа + стоимость сформированных резервов по Положению ЦБ РФ 590-П.
Эта статья — о том, как MAX-проверка за $0.005 встраивается в скоринговую воронку МФО перед запросами в БКИ, как она влияет на FPD30 и NPL, и почему она не конкурирует с БКИ, HLR и антифрод-бюро, а дополняет их как самая дешёвая первая ступень.
TL;DR
- Целевая аудитория: риск-офицер, скоринг-команда, head of credit в МФО / онлайн-кредиторе
- Метрика, на которую влияем: FPD30 −0.8…2.1 п.п., NPL30 −0.5…1.2 п.п.
- Цена ступени: $0.005/заявка vs $0.20–1.00 за БКИ-запрос
- Эффект: 7–14% заявок не доходят до платного слоя БКИ
- Не заменяет: БКИ (ОКБ, НБКИ, Эквифакс), HLR, FPS, видеоидентификацию, полноценный KYC по 115-ФЗ
- Юридика: ст. 6 п. 7 152-ФЗ, 151-ФЗ «О микрофинансовой деятельности», 218-ФЗ «О кредитных историях»
Чем антифрод в МФО отличается от антифрода в SaaS
В SaaS-онбординге фрод — это упущенная маркетинговая стоимость и шумовая нагрузка на саппорт. В МФО фрод — это списанная сумма основного долга плюс резерв по 590-П плюс стоимость взыскания, которое заведомо не окупится. Поэтому подход к воронке другой:
- В SaaS можно «дать trial и посмотреть» — антифрод срабатывает ретроспективно
- В МФО решение бинарное и одномоментное: выдать/отказать в пределах 30–60 секунд UX-обещания, и обратной дороги нет
Отсюда специфика стека: МФО уже платит 150–600 ₽ за полный прогон одной заявки (БКИ × 1–3 бюро + телеком-скоринг + антифрод-бюро + ML-модель), и каждый рубль, сэкономленный на отсечении мусора до этого pipeline, попадает напрямую в unit-экономику.
История фрод-волн в российском онлайн-микрофинансе
Чтобы понять, против чего работаем, полезно вспомнить как эволюционировал фрод в МФО за 2019–2026:
- 2019–2020: кража паспортных данных + первичная синтетика. Утечки клиентских баз банков и МФО дали мошенникам массив «холодных» личностей. Скоринг тех лет был построен на БКИ-хитах и почти не видел разрыв «номер ↔ паспорт».
- 2020–2022: SMS-recycling и виртуальные номера. Появление дешёвых SMS-сервисов (онлайн-симки за 20–100 ₽) дало возможность принимать SMS-коды на одноразовые номера. Скоринг адаптировался — появились HLR-фильтры и черные списки операторских пулов.
- 2022–2024: multi-account refer-loops и социальная инженерия. Один заёмщик после первого отказа берёт виртуальный номер, меняет паспорт «брата» и заходит снова. На 100 заявок до 30% — это попытки одних и тех же физлиц через ротацию номеров и синтетических документов.
- 2024–2026: синтетика на бирже паспортов + дропы. Появление полноценных «синтетических личностей» с подделанными БКИ-хитами и социальным графом. На этой волне MAX-проверка становится критическим слоем: синтетика часто не успевает завести правдоподобный публичный мессенджер-профиль.
Воронка скоринга в МФО: где встаёт MAX-проверка
Типичная воронка онлайн-МФО среднего размера выглядит так:
Шаг 0 Заявка с landing/app → JSON в antifraud-gateway
Шаг 1 Базовые проверки → нормализация телефона E.164,
регексы, чёрный список ФИО,
проверка гео по IP
Шаг 2 MAX-проверка → 200–400 ms, $0.005, registered/not_found
↓ (если registered + имя ок)
Шаг 3 HLR + телеком-скоринг → 300–800 ms, ~2–8 ₽
↓
Шаг 4 Антифрод-бюро (FPS, → 400–900 ms, 10–40 ₽
Synthetic Score, ID
Score)
↓
Шаг 5 БКИ-запрос (ОКБ + → 600–1500 ms, 30–180 ₽
НБКИ, иногда Эквифакс)
↓
Шаг 6 ML-скоринг модель → 20–80 ms, амортизированно ~5 ₽
↓
Шаг 7 Решение и лимит → выдать / отказать / поднять видео-KYCMAX-проверка занимает позицию Шаг 2 — после базовых регексов, но до любого платного внешнего запроса. Это даёт два эффекта:
- Платные слои (HLR/FPS/БКИ) видят на 7–14% меньше трафика
- Скоринговая модель на финальном шаге получает дополнительную
фичу
max_check_result(registered / not_found / name_mismatch / last_seen_recent), которая улучшает gini-индекс модели на 0.01–0.03 без переобучения дорогостоящих подмоделей
Сравнительная таблица: MAX-проверка vs HLR vs БКИ
| Параметр | MAX-проверка | HLR-запрос | БКИ (ОКБ/НБКИ) |
|---|---|---|---|
| Стоимость за обращение | $0.005 (≈0.45 ₽) | 2–8 ₽ | 30–180 ₽ |
| Latency p50 | 250 ms | 400 ms | 800 ms |
| Latency p95 | 1.2 s | 2 s | 4 s |
| Что возвращает | registered, firstName, last_seen | active SIM, оператор, MNP-флаг | credit score, активные ссуды, дефолты |
| Покрытие России | ~78% мобильных номеров | ~99% | 100% (по ИНН/паспорту) |
| На что отвечает | «реальный ли публичный профиль» | «жива ли SIM в сети» | «какая кредитная история» |
| Уязвимости | Свежие SIM 0–14 дней not_found | Свежевыпущенные SIM-пулы | Заёмщики без КИ (thin file) |
| Регулирование | 152-ФЗ как открытый источник | Договор с MNO/агрегатором | 218-ФЗ «О кредитных историях» |
Каскад работает по принципу убывающей цены и убывающей широты: MAX-проверка — самый широкий и самый дешёвый сигнал, БКИ — самый точный и самый дорогой. Менять порядок — значит платить за БКИ за заявки, которые отсеялись бы на $0.005.
Кейс: МФО, 100 000 заявок/мес
Берём типичный профиль регионального онлайн-МФО:
- Поток заявок: 100 000/мес
- Approval rate: 22% → 22 000 выдач/мес
- Средний чек выдачи: 18 000 ₽
- FPD30 без MAX-фильтра: 9.4%
- Доля «синтетики» в FPD30: ~40% (то есть 3.8 п.п. FPD30 — это целиком невозвратный синтетический пул)
- Стоимость полного pipeline на заявку (без MAX): ~120 ₽
Без MAX-проверки
- Синтетических выдач: 22 000 × 3.8% = 836/мес
- Списание тела (FPD30 + DPD60→100%): 836 × 18 000 ₽ = 15 048 000 ₽/мес
- Стоимость БКИ + HLR + FPS по этим же заявкам (они проходили весь pipeline до отказа или ошибочного одобрения): 100 000 × 120 ₽ = 12 000 000 ₽/мес в полный pipeline
- Резерв по 590-П (упрощённо, категория «сомнительные»): +20% к списанию
С MAX-проверкой первой ступенью
- Стоимость MAX-проверок: 100 000 × $0.005 = $500/мес ≈ 45 000 ₽
- Отсечение на Шаге 2: 11% заявок = 11 000/мес → они не доходят до HLR/FPS/БКИ
- Экономия на платном pipeline: 11 000 × 110 ₽ (HLR+FPS+БКИ) = 1 210 000 ₽/мес
- Снижение синтетических выдач: 836 → ~470 (отсев ~44% синтетики на первой ступени)
- Снижение списаний тела: 366 × 18 000 ₽ = 6 588 000 ₽/мес
- FPD30 в портфеле: 9.4% → 7.7% (−1.7 п.п.)
Чистая экономика
- Затраты на MAX: 45 000 ₽/мес
- Экономия pipeline: 1 210 000 ₽/мес
- Снижение прямых списаний: 6 588 000 ₽/мес
- ROI ≈ 170× на месячном горизонте
Цифры FPD30 и доли синтетики — наблюдения по агрегированным кейсам наших клиентов; конкретный эффект зависит от качества рекламных каналов и текущего стека антифрода.
Псевдокод: интеграция в antifraud-gateway
Типичный код антифрод-микросервиса, в который встраивается MAX-проверка как Шаг 2:
# antifraud_gateway/handlers/apply.py
async def handle_application(req: ApplyRequest) -> Decision:
# Шаг 1: базовые проверки
phone = normalize_e164(req.phone)
if not phone or phone in BLACK_LIST:
return Decision.reject(reason="basic_filters")
# Шаг 2: MAX-проверка ($0.005)
max_result = await max_checker.check(
phone=phone,
timeout_ms=1500,
retries=1,
)
risk_features: dict = {}
if max_result.status == "not_found":
risk_features["max_check"] = "not_found"
risk_features["score_penalty"] = 25 # слабый сигнал
elif max_result.status == "registered":
risk_features["max_check"] = "registered"
# сверка ФИО из публичного профиля и анкеты
if not fuzzy_match(req.full_name, max_result.first_name,
max_result.last_name, threshold=0.78):
risk_features["max_check"] = "name_mismatch"
risk_features["score_penalty"] = 35
# свежесть профиля
if max_result.last_seen_bucket in ("today", "yesterday"):
risk_features["score_penalty"] = -5 # bonus
else: # unknown / timeout
risk_features["max_check"] = "unknown"
# не штрафуем — это технический сбой
# Шаг 3+: HLR / FPS / БКИ — только для тех, кто прошёл MAX
if risk_features.get("score_penalty", 0) < 50:
risk_features.update(await run_paid_pipeline(req, phone))
else:
# сразу в видео-KYC очередь, без БКИ-запроса
return Decision.require_video_kyc(features=risk_features)
# Шаг 6: ML-скоринг
score = scoring_model.predict(req, risk_features)
return decide_by_score(score, req.amount)Ключевые моменты:
- MAX-проверка с
timeout_ms=1500и одним ретраем — не блокирует UX, p95 укладывается в 2 секунды unknownне штрафуется — это технический ответ, не сигнал фрода- Несовпадение имени (
name_mismatch) — более сильный сигнал чемnot_found, потому что предполагает осознанную попытку - Если суммарный штраф ≥ 50 баллов — заявка идёт в видео-KYC очередь минуя платные слои (БКИ), это даёт основную экономию
Чеклист «10 сигналов фрода в МФО кроме MAX-проверки»
MAX-проверка — один из ~15 сигналов в полноценной антифрод-модели. Базовый чеклист для head of risk:
- БКИ-инконсистенция: заёмщик заявляет работу + ЗП, но активных ссуд по БКИ за 24 месяца нет вообще (thin file + высокий доход = подозрительно)
- Geo mismatch: IP-адрес заявки в одном федеральном округе, заявленная регистрация — в другом, при отсутствии сезонной миграции
- Device fingerprint совпадает с ранее отказными: одна
связка
canvas+webgl+fontsподавала заявки с других ФИО - Velocity: ≥3 заявки с одного устройства / IP / номера за 7 дней
- SIM-возраст < 14 дней (HLR + операторские базы): свежая карта статистически коррелирует с фродом
- Несовпадение публичного ФИО в MAX/VK/Одноклассниках с анкетой (нужна сверка по нескольким открытым источникам)
- Подозрительный паттерн заполнения формы: время на заполнение паспорта < 5 сек = автокликер
- Кластер по UTM+реф-партнёру: внезапный всплеск выдач из одного UTM-source при стабильном FPD30 90%+ по этому каналу
- Email на одноразовых доменах (mailinator, tempmail и пр.)
- Запрос на максимальный лимит при первой заявке + отсутствие активности в публичных мессенджерах = классический паттерн «синтетика на максимум»
В одиночку каждый из сигналов — слабый. В связке 3–4 сигналов — почти уверенный фрод. MAX-проверка в этой матрице — это сигналы №6 и косвенно №10.
Пост-выдачный мониторинг: MAX как early warning
Применение MAX-проверки не ограничивается приёмом заявок. На выданном портфеле есть рабочий сценарий:
- Раз в 7 дней — повторная проверка номеров активных заёмщиков
- Триггеры:
- Профиль исчез из MAX (
registered → not_found) — номер передан другому либо аккаунт удалён - Сменилось имя в публичном профиле — возможна смена владельца SIM
last_seenстало «давно» при ранее активном паттерне
- Профиль исчез из MAX (
По наблюдениям, заёмщики с триггером
phone_status_changed_after_disbursement дают +12–18% к
вероятности дефолта на платежах 3–4. Сигнал передаётся в раннюю
коллекшен-очередь до того, как сработает стандартный DPD-триггер.
Стоимость такого мониторинга: 22 000 активных выдач × 4 проверки в месяц × $0.005 = $440/мес, что несравнимо дешевле эффекта на recovery rate.
Юридические аспекты для МФО
Микрофинансовая организация работает в рамке нескольких законов:
- 151-ФЗ «О микрофинансовой деятельности и микрофинансовых организациях» — базовый закон, регулирующий деятельность МФО, лимиты ставок, обязательное членство в СРО (НАУМИР или МиР)
- 115-ФЗ «О ПОД/ФТ» — упрощённая идентификация при сумме до 15 000 ₽, полная — выше
- 152-ФЗ «О персональных данных» — обработка ПДн, в т.ч. для целей антифрода (ст. 6 п. 7)
- 218-ФЗ «О кредитных историях» — обмен с БКИ
- 353-ФЗ «О потребительском кредите (займе)» — информирование заёмщика о проверках и условиях
- Положение Банка России 590-П «О порядке формирования кредитными организациями резервов на возможные потери по ссудам» — формирование резервов; косвенно стимулирует точность скоринга
Проверка номера в публичном мессенджере с целью противодействия мошенничеству не требует отдельного согласия при условии:
- Цель «противодействие мошенничеству» включена в политику обработки ПДн на сайте МФО
- В оферте/индивидуальных условиях по 353-ФЗ заёмщик уведомлён, что номер может быть проверен по открытым источникам
- Результат проверки хранится не дольше, чем требуется для цели (типично — срок жизни заявки + 5 лет в соответствии с требованиями по хранению КИ)
Юридические нюансы шире — отдельный разбор в материале 152-ФЗ и проверка номеров.
Edge cases, специфичные для МФО
- «Холодные» регионы с низким проникновением MAX: в ряде
субъектов СКФО и ДФО проникновение MAX ниже среднероссийского.
Доля
not_foundв этих регионах статистически выше — это не обязательно фрод. Калибруйте веса фичи по федеральному округу, используя данные из материала MAX в России — статистика 2026. - Свежие SIM (0–14 дней): пользователь только что купил
карту и ещё не успел установить MAX. Такие заявки дают
not_foundбез вины пользователя. Корректно — слабый сигнал риска (+15 баллов), не блокирующий. - Закрытые профили (~5–8% аудитории MAX): возвращают
firstName="". Сравнение через==даст false positive. Корректное правило — «либо имя пустое, либо совпадает с анкетой». - Корпоративные и виртуальные АТС: чаще всего
not_foundв MAX. Для МФО это не релевантно — юрлица за микрозаймом не обращаются. Если в потоке заявок появляется корпоративный номер — это уже сигнал нерелевантного канала. - Двойная синтетика: продвинутый мошенник заводит публичный
MAX-профиль на купленную SIM, проставляет ФИО под паспорт.
Здесь MAX-проверка дает зелёный свет, но
last_seen=«сегодня»приserver_idв свежем диапазоне — слабый отрицательный сигнал. Полностью защищает только связка с БКИ + видеоидентификация.
Что MAX-проверка не заменяет
| Слой | Покрытие | Стоимость |
|---|---|---|
| MAX-проверка | Виртуалы, name_mismatch, прокатка | $0.005 |
| HLR / телеком-скоринг | SIM-возраст, оператор, MNP-флаг | $0.03–0.10 |
| Антифрод-бюро (FPS, ID Score) | Связи между заявителями, известные фрод-кластеры | $0.15–0.60 |
| БКИ (ОКБ/НБКИ/Эквифакс) | Полная кредитная история, текущая долговая нагрузка | $0.40–2.40 |
| Видео-идентификация | Liveness + биометрия + паспорт | $0.50–2.00 |
MAX-проверка — это первый дешёвый фильтр, а не альтернатива любому из последующих слоёв. Лучшая архитектура — каскадная: на каждой следующей ступени обрабатывается только то, что прошло предыдущую.
Как подключить для МФО
Возможные сценарии онбординга:
- Пилот 5 000–20 000 заявок через CSV-выгрузку. Ночная
выгрузка отказных и принятых заявок прошедших месяцев, прогон
через Max Checker, обратная загрузка в DWH /
BI. Цель пилота — посчитать на собственных данных, какой % FPD30
фигурирует именно в
not_found/name_mismatchкогортах. - Production-pipeline через API. Sync
/check, p95 1.5 s, webhook fallback для timeout-ов. Технический детальный разбор — в материале REST endpoint/checkaccount. Запрос на доступ — через/supportв боте на maxcheck.online с темой «API для МФО». - Pricing для МФО объёмов. На потоках от 100 000 проверок/мес действует тариф −40% от базовой ставки. Детали — на странице Pricing.
См. также Use cases — антифрод для смежных сценариев.
Полезные регуляторные ссылки
- 151-ФЗ «О микрофинансовой деятельности и микрофинансовых организациях» — базовый закон
- Положение Банка России №590-П от 28.06.2017 — резервы на возможные потери
- 218-ФЗ «О кредитных историях» — обмен с БКИ
- 353-ФЗ «О потребительском кредите (займе)» — информирование заёмщика
- Реестр СРО МФО на сайте Банка России — проверка членства МФО в СРО
Об авторе
Материал подготовлен командой Max Checker. С 2024 года мы работаем с риск-командами онлайн-МФО среднего размера в РФ и СНГ: интегрируем MAX-проверку в скоринговые pipelines, помогаем калибровать веса фичи под профиль конкретного портфеля и считать реальный эффект на FPD30 / NPL30 на собственных исторических данных клиента. Если вы head of risk или scoring-команда и хотите посчитать ROI на своём потоке — запросите пилот через бот на maxcheck.online.
Частые вопросы
01.Зачем МФО ставить MAX-проверку перед запросом в БКИ?
Запрос в БКИ (ОКБ, НБКИ, Эквифакс) стоит МФО от 12 до 60 ₽ за обращение, в зависимости от тарифа и пакета. MAX-проверка за $0.005 (≈0.45 ₽) ставится первой ступенью воронки и отсекает 7–14% заявок с виртуальными номерами и SIM-recycling ещё до того, как заявка дошла до платного слоя БКИ. На объёме 100 000 заявок/мес это экономит до 600 000 ₽ только на стоимости БКИ-запросов.
02.Как MAX-проверка влияет на FPD30?
FPD30 (First Payment Default — доля заёмщиков, не сделавших первый платёж в 30 дней) в портфеле, прошедшем через MAX-фильтр, по нашим кейсам ниже на 0.8–2.1 п.п. Эффект достигается за счёт отсева синтетических личностей, которые исторически дают 80–100% FPD30. На NPL90+ эффект менее выражен — там доминируют поведенческие и макроэкономические факторы, а не входная синтетика.
03.Что отвечает MAX-проверка по сравнению с БКИ и HLR?
MAX-проверка отвечает на вопрос «существует ли публичный профиль и совпадает ли имя». БКИ отвечает на «какая кредитная история и текущая долговая нагрузка». HLR отвечает на «активна ли SIM-карта в сети оператора». Это три разных слоя: MAX — первый фильтр на синтетику, HLR — техническая жизнеспособность номера, БКИ — финансовое поведение. Все три нужны в каскадной воронке.
04.Это законно по 152-ФЗ и 151-ФЗ?
Да. МФО обрабатывает ПДн по 151-ФЗ «О микрофинансовой деятельности» и 152-ФЗ. Цель «противодействие мошенничеству» закреплена в ст. 6 п. 7 152-ФЗ и не требует отдельного согласия. Проверка номера в публичном мессенджере — это работа с открытыми источниками, аналогично сверке с публичными реестрами. Подробнее в нашем гайде по 152-ФЗ.
05.Нужно ли отказывать заявителю, если номер не найден в MAX?
Нет. `not_found` — это слабый негативный сигнал, который должен попасть в скоринговую модель как фича, а не как блокирующее правило. Корректная политика: +20–40 баллов риска, понижение лимита первой выдачи или требование дополнительной верификации (видеоидентификация, селфи с паспортом). Жёсткий стоп — только при совпадении трёх и более слабых сигналов фрода.
06.Как Указание ЦБ РФ 590-П влияет на использование MAX-проверки?
Положение Банка России №590-П регулирует формирование резервов по ссудам и косвенно стимулирует МФО улучшать качество скоринга: чем точнее модель, тем ниже резерв, тем выше норма прибыли. MAX-проверка не упоминается в 590-П напрямую — это инструмент внутреннего скоринга, а не обязательная процедура. Но она напрямую влияет на качество портфеля и, соответственно, на объём формируемых резервов.
07.Совместима ли MAX-проверка с требованиями ПОД/ФТ по 115-ФЗ?
Полностью. 115-ФЗ требует упрощённой идентификации при сумме займа до 15 000 ₽ и полной — выше. MAX-проверка не является идентификацией в смысле 115-ФЗ, она — внутренний антифрод-инструмент. Использование MAX-проверки не отменяет обязательных процедур ПОД/ФТ, но дополняет их слоем защиты от синтетических личностей, которые формально проходят упрощённую идентификацию через SMS.
08.Можно ли использовать MAX-проверку для мониторинга действующего портфеля?
Да, это рабочий сценарий early warning. Если профиль активного заёмщика исчезает из MAX в течение 30 дней после выдачи или меняется владелец номера — это сигнал для коллекшена включиться раньше стандартного DPD-триггера. По нашим наблюдениям, такие заёмщики дают +12–18% к вероятности дефолта на третьем-четвёртом платеже.
Читать дальше