FinMatch — это веб-приложение на базе искусственного интеллекта, которое помогает пользователям оценить свои шансы на получение кредита. Сервис анализирует финансовый профиль, доходы, кредитную историю и другие параметры, выдавая детальный отчёт с вероятностью одобрения и рекомендациями.
- Многошаговая анкета — удобный сбор данных о пользователе (личные данные, финансы, параметры кредита).
- AI‑предсказание — модель машинного обучения (Random Forest) оценивает кредитоспособность на основе более чем 50 факторов.
- Детальный результат:
- Скоринг от 0 до 1000
- Уровень риска (низкий, средний, высокий)
- Вероятность одобрения в %
- Разбор влияющих факторов (доход, кредитная история, долговая нагрузка, стабильность)
- Персонализированное объяснение от ИИ
- Визуализация — прогресс‑бары, анимации, адаптивный дизайн.
- Мгновенный ответ — результат формируется за секунды.
- Backend: FastAPI (Python 3.10+)
- Frontend: HTML5, CSS3, JavaScript (чистый, без фреймворков)
- ML: scikit-learn (Random Forest), joblib, pandas, numpy
- Шаблонизация: Jinja2
- Сервер: Uvicorn
git clone https://github.com/one-of-all/FinMatch.git
cd FinMatchpython -m venv venv
source venv/bin/activate # для Linux/Mac
venv\Scripts\activate # для Windowspip install --no-cache-dir --default-timeout=100 -r requirements.txtpython -m uvicorn app.main:app --reloadПриложение будет доступно по адресу: http://127.0.0.1:8000
Примечание: Модель
credit_scoring_model.joblibуже обучена и включена в репозиторий. Если вы хотите переобучить модель на новых данных, запуститеapp/models/train_model.py(но это требует установки дополнительных библиотек, таких как matplotlib, seaborn, opencv-python и др., которые не включены вrequirements.txt).
- Данные пользователя проходят предобработку (масштабирование числовых признаков, кодирование категориальных).
- Обученный Random Forest классификатор предсказывает один из трёх классов кредитного скоринга: High, Average, Low.
- На основе класса формируется итоговый отчёт с объяснениями и факторами.
Модель обучена на синтетическом датасете, сгенерированном с учётом реальных экономических закономерностей. Точность на тестовой выборке превышает 85%.
finmatch/
├── app/
│ ├── main.py # Точка входа FastAPI
│ ├── templates.py # Подключение Jinja2 (используется в main)
│ ├── routes/
│ │ ├── home.py # Главная страница
│ │ └── predict.py # Обработка формы и выдача результата
│ ├── models/
│ │ ├── train.py # Скрипт обучения модели
│ │ ├── credit_model.py # Загрузка модели и предсказание
│ │ └── credit_scoring_model.py # Обёртка для вызова модели
│ └── services/
│ └── agent_client.py # (опционально) для внешнего API
├── static/
│ ├── css/
│ │ └── style.css
│ ├── js/
│ │ └── app.js
│ └── img/
│ └── finmatch.png
├── templates/
│ ├── index.html # Главная страница с формой
│ └── result.html # Страница с результатом
├── credit_scoring_model.joblib # Обученная модель и препроцессор
├── requirements.txt
└── README.md
| Метод | Путь | Описание |
|---|---|---|
| GET | / |
Главная страница |
| POST | /predict |
Отправка данных формы, возвращает HTML с результатом |
| GET | /health |
Проверка работоспособности |
- Добавить поддержку нескольких банковских скоринговых моделей.
- Реализовать сохранение истории запросов пользователя.
- Интеграция с реальными кредитными бюро (через API).
- Улучшение интерфейса: графики, диаграммы.
- Мобильное приложение на Flutter.
Проект распространяется под лицензией MIT. Подробности в файле LICENSE.
