FinRisk is a machine learning-driven credit risk prediction system designed to help lending institutions assess the likelihood of loan default using real-world financial data. The platform empowers organizations to make informed, data-backed lending decisions by leveraging advanced classification algorithms and interpretable AI models.
Access the live project here: View Deployed App
The following screenshots showcase the web-based user interface used to input borrower details and view credit risk predictions in real-time.
- π₯ Input Form: Collects borrower attributes such as income, credit history, and loan amount
- π Prediction Output: Displays risk classification, probability scores, and recommendations
FinRisk leverages Random Forest and Logistic Regression classifiers to predict whether a loan applicant is likely to default. The system is built with a focus on:
- High accuracy and recall
- Strong model interpretability
- Deployment readiness via a Flask web interface
These Power BI dashboards provide a comprehensive visual analysis of credit risk-related data. They illustrate patterns in loan distribution, borrower demographics, credit history, employment length, and more β enabling data-driven insights through intuitive visual representations.
This dashboard highlights the distribution of loan purposes, loan grades, home ownership, income levels, and credit history across borrowers.
This dashboard focuses on loan data from 2007, showcasing relationships between interest rates, annual income, employment length, and credit history by age.
FINRISK/
βββ app/ # Flask app code
β βββ app.py # Flask backend logic
β βββ templates/
β βββ form.html # HTML form for user input
β
βββ dataset/
β βββ processed_credit_risk_dataset_encoded.csv
β
βββ models/
β βββ finRisk_model.pkl # Trained Random Forest model
β βββ optimal_threshold.pkl # Custom threshold object
β
βββ notebooks/
β βββ FinRisk_model.ipynb # Model training and evaluation notebook
β
βββ requirements.txt # Python dependencies
βββ .gitignore # Files ignored by Git
βββ README.md
- Binary classification of loan applicants: Default vs. No Default
- Implements custom thresholding for classification sensitivity
- Displays:
- Probabilities
- Risk categories (Low/Medium/High)
- Model recommendation
- Web form interface for real-time predictions
- Frontend: HTML, CSS, JavaScript
- Backend: Flask
- ML Libraries: scikit-learn, imbalanced-learn, pandas, numpy
- Visualization (in notebook): matplotlib, seaborn
The model is trained on a cleaned and encoded credit risk dataset that includes features such as:
- Age, Income
- Employment Length, Home Ownership
- Loan Purpose, Amount, Grade
- Credit History and Default Status
(Original source: Kaggle's Lending Club dataset)
- Clone the repository
git clone https://github.com/your-username/finrisk.git
cd finrisk- Set up a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Run the Flask app
cd app
python app.py- Open the browser and visit
http://127.0.0.1:5000to access the form.
- Training Algorithms:
- Logistic Regression (baseline, interpretable)
- Random Forest (final, high-performing)
- Performance Metrics:
- Logistic Regresion -
- Accuracy: 90%+
- ROC-AUC: 0.89
- Random Forest -
- Accuracy: 90%+
- ROC-AUC: 0.91
- Logistic Regresion -
- Feature Importance used to explain predictions
- Integration of XGBoost/LightGBM
- SHAP-based interpretability for visual explanations
- API endpoints for real-time financial systems
- Multilingual UI for broader accessibility
- Vipransh Ojha
- Vansh Vardhan
- Divit Singhania
- Gaurav Lodhi
- Abhijeet Dubey
- Ansh Ahuja
βLend smarter, risk lesserβ β because every informed decision counts in finance.
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software with proper attribution.

