Решение по заёмщику на данных, а не на анкете
Кто это, чем владеет, что с отчётностью, судится ли, есть ли исполнительные производства. Все источники отдаются в одном формате, поэтому модель получает готовые признаки, а не пять разных выгрузок, которые ещё предстоит свести.
Ситуация
Заявка ждёт, а данные собираются руками
Аналитик открывает пять сайтов: реестр, отчётность, картотеку дел, приставов, закупки. На одну заявку уходит час, на мониторинг уже выданных не остаётся времени вовсе. Решение принимается по тому, что успели посмотреть, а ухудшение у действующего клиента замечают, когда платёж не пришёл.
Что даёт API
Одна интеграция закрывает и выдачу, и последующий контроль.
Признаки для модели
Суммы исков и взысканий, показатели отчётности, число производств: числами, а не текстом.
Решение без ожидания
Ответ из хранилища приходит за миллисекунды и не тормозит конвейер заявок.
Стоп-факторы
Дела о несостоятельности и производства видны сразу, до выдачи.
Мониторинг портфеля
Выданные клиенты остаются под наблюдением: ухудшение приходит само.
История состояний
Датированные снимки показывают, что знал банк на момент решения.
Один договор на всё
Новый источник подключается без новой интеграции и нового согласования.
Какие источники закрывают задачу
Ни один источник не отвечает на вопрос целиком. Ниже те, что нужны именно для этой работы.
| Источник | Что даёт для задачи |
|---|---|
| ФНС | Кто заёмщик: статус, руководитель, адрес, виды деятельности |
| ФНС, ГИР БО | Доходы и расходы по годам: динамика, а не срез |
| КАД, ГАС | Судебные споры: суммы требований и взысканий, стадия процесса |
| ФССП | Исполнительные производства: что уже взыскивают и на какую сумму |
| ЕИС | Опыт госзаказа: подтверждение выручки и деловой активности |
| ЕРП | Проверки контролирующих органов и их результаты |
Весь каталог: источники данных →
Как это выглядит в коде
Сбор признаков по заёмщику: один цикл вместо пяти вкладок.
# признаки заёмщика: кто это и чем судится
def get(path, **params):
return requests.get(
f"{API_BASE}{path}",
params=params,
headers={"Authorization": f"Bearer {TOKEN}"},
).json()
company = get("/api/company", inn=inn)["company"]
revenue = company["finance"]["revenue"] # выручка за последний год
regime = company["finance"]["tax_system"] # налоговый режим
# суммы по делу: заявленное и взысканное лежат в документах инстанций
case = get("/api/case", number=case_number)
claims = max((d["ClaimSum"] for i in case["result"]["instances"]
for d in i["data"]["Result"]["Items"]), default=0)
# вес риска: требования против выручки
risk = claims / revenue if revenue else NoneПроверьте на своём портфеле
Дадим тестовый доступ: прогоните действующих заёмщиков и посмотрите, что модель видит впервые.