Разработка сервиса для скоринга клиентов с помощью машинного обучения

top logo
Заказчик:
Финансовая организация
Задача:
Разработка системы оценки качества клиента
Результат:

С помощью аналитика данных мы смогли составить обучающие наборы данных и обучить нейросетевую модель. В результате имея входную информацию о клиенте, и передавая её в модель для расчета мы смогли получить коэффициент надежности клиента.

Заказчик. Финансовая организация

Задача. Необходимо решение, которое на основании данных о клиенте и статистических данных, позволит произвести анализ качества клиента. Можно ли ему выдавать деньги в кредит или нет. Это решение впоследствии должно легко интегрироваться с системами заказчика, в частности с 1С.

При этом необходимо было так же обеспечить высокую скорость обработки данных и низкое потребление ресурсов системы. Изначальная минимальная скорость работы была объявлена заказчиком так: сервис должен обрабатывать минимум 5 запросов в секунду.

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

Для обучения использовалась историческая информация более чем о 5 000 случаев, где специалисты клиента самостоятельно определяли качество клиента, и данные о результате работы с клиентом после принятого решения.

Для обеспечения интеграционных возможностей мы разработали решение с помощью фреймворка FastAPI на языке Python. Это позволило нам объединить усилия аналитика данных при работе с моделью и разработчика, так как они использовали общий язык разработки Python.

Фреймворк FastAPI позволил нам построить серверное приложение доступное по протоколу HTTP, а так же с помощью него мы сгенерировали интерактивную техническую документацию для специалистов заказчика, которая при интеграции позволила легко понять принципы работы нашего сервиса, и произвести эксперименты прямо в браузере, что существенно облегчило и работу нашего аналитика по созданию документации и работу специалистов заказчика по изучению возможностей сервиса.

Так же нами было произведено исследование потребления ресурсов и производительности при работе системы. Для этого мы использовали классические инструменты:

Zabbix — инструмент мониторинга серверов и приложений Apache Jmeter — инструмент для проведения нагрузочного тестирования

Мы так же часто используем их в повседневной работе.

Результаты превзошли все ожидания.

Тестовый стенд:

Процессор:2 vCPU Оперативная память:2 Гб Диск: SAS 10 Гб ОС: Ubuntu Server 22.04 LTS

Результаты нагрузочного тестирования:

Первый запрос: 2023-03-01 18:11:58 VLAT Последний запрос: 2023-03-01 18:15:46 VLAT

Количество запросов: 6000 Количество ошибок: 355 Процент ошибок: 5.92% Средняя пропускная способность 25 запросов в секунду

Ошибка: Response code: 504 Response message: Gateway Time-out

Показатели сервера в момент тестирования, на скриншоте 1. Красный график — Использованное место на диске 2. Желтый график — Использованная мощность процессора 3. Бирюзовый график — Использованная оперативная память.

Сервис для скоринга клиентов

Отсюда исходит, что на жесткий диск нагрузка не изменяется, оперативная память тоже находится в ненагруженном состоянии, основной требуемый ресурс это процессорная мощность.

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

Блог

Еще статьи и кейсы

Форма

Рассчитать стоимость проекта в течение дня

    Форма
    Хочешь
    присоединиться к нам?
    Мы готовы предложить лучшие
    условия на рынке
    Откликнуться

        Начать сотрудничество

          Отправить резюме

            Оставить заявку

            Ваша заявка принята!
            Перезвоним вам в ближайшее время
            Резюме успешно отправлено!
            Перезвоним вам в ближайшее время