Перейти к содержимому
Олимжон Ахмаджонов
Все работы

Кейс · NDA — подробности по запросу

Движок принятия кредитных решений для рассрочки

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

Клиент
Ритейлер с рассрочкой, риск-отдел
Роль
Архитектор и инженер — анализ процесса, модель политики, сервис, интерфейс
Сроки
MVP развёрнут · далее живые интеграции
Стек
PythonFastAPIPydanticstructlogReactTypeScriptTailwindnginx

Задача

Решения по заявкам на рассрочку принимались по процессу, который существовал только в виде схемы и в головах риск-отдела. Часть правил противоречила друг другу, лимиты считались вручную, а платные проверки в бюро иногда запускались для заявителей, которым всё равно отказали бы.

Бизнесу нужны были решения — последовательные, объяснимые и недорогие, а правила должен был контролировать риск-отдел, а не разработчики.

Подход и архитектура

  • Перевёл схему процесса в реестр из 49 правил и задокументировал 8 противоречий для владельца процесса, юристов и руководства — чтобы их разрешили до написания кода.
  • Спроектировал гексагональный сервис: правила — чистые функции, политика — версионируемые JSON-документы, порты с адаптерами для внешних систем — заглушка, ввод оператором и боевой режим.
  • Два гейта — внутренние реестры и платёжная дисциплина, затем стоп-факторы бюро — и далее правила лимита, долговой нагрузки, предоплаты и встречных предложений. Оркестратор с 14 рабочими и 6 финальными состояниями, сроками из политики и очередью ручной проверки с SLA.
  • Контроль платных вызовов: внешняя проверка запрещена, пока не пройден гейт, который её разрешает; вызовы идемпотентны, и каждый записывается в журнал затрат.

Результат

  • Каждое решение возвращает трассировку по правилам — риск-отдел видит, почему заявка одобрена, урезана или отклонена.
  • Песочница политик позволяет риск-отделу проверять новые версии политики на обезличенных заявках до выката.
  • MVP развёрнут за авторизацией; следующий этап — хранение данных и живые интеграции с бюро.

Что обеспечило надёжность

  • 160+ тестов, включая 28 сценариев на обезличенных заявках и тест, который падает, если документация расходится с сервисом.
  • Проектное предложение из семи частей — архитектура, контракты интеграций и DDL, антифрод, регулирование, ML-дорожная карта, план поставки — написано до реализации.
  • Применимое регулирование потребительского кредитования проанализировано и отражено в наборе правил.

Похожая задача?

Расскажите о ней — честно оценю объём, подход и то, каким может быть первый этап.

Обсудить проект

Расскажите о задаче — достаточно нескольких предложений.

Отвечаю в течение 1–2 рабочих дней. Или напишите напрямую: oakhmadjonov.uz@gmail.com