ACADEMIC / PORTFOLIO PROJECT

Check your indicative loan eligibility in seconds.

Enter a few details and get an indicative eligible amount, interest rate and repayment schedule. See the About the Model tab for what's under the hood.

This is an academic/portfolio project built for demonstration purposes only. It is not a real lending product, and no application here has any financial effect.

How it works

1. Enter your application details01
2. Calculate affordability baseline02
3. Model estimates default risk03
4. Generate indicative offer04
Frontend demo mode

What Finsta QuickLoans is

Finsta QuickLoans is a concept for an instant personal-loan app: check eligibility, accept an offer, and (in the real product) get verified and disbursed in around 10 minutes, without paperwork. This demo implements the eligibility check for real; the verification and disbursal steps are simulated so you can see how the full journey would work.

1

Check eligibility

Enter your income, credit score and existing obligations. The credit-risk model estimates your PD instantly and shows an eligible amount and rate.

2

Accept the offer

If the requested amount is within your eligible limit, you can accept it and move to verification.

3

Automatic verification

In production, the app would fetch your identity (PAN/Aadhaar), credit bureau (CIBIL) report and bank statement automatically via approved data partners, and only ask you to upload documents when it can't fetch something automatically.

4

Cross-verification

The fetched CIBIL, bank and identity data would be cross-checked against what you entered, to confirm the application before money moves.

5

Disbursal

Once verified, the loan is disbursed to your bank account — the whole journey aiming for under 10 minutes end to end.

In this demo, steps 3-5 are simulated with on-screen animations only. No PAN, Aadhaar, CIBIL bureau or bank account is actually contacted, and no money moves.

Check Loan Eligibility

These are the application-time details used by the Finsta QuickLoans website-compatible credit model.

Personal Information

Employment & Financial Information

Enter the actual value wherever a numeric field is shown. Finsta QuickLoans does not convert these inputs into broad ranges on the application screen.
Across all jobs, including the current one.
Salary plus other monthly income forms your total monthly income for the eligible amount.
Added to your salary for the eligible amount and used by the credit-risk model.
Assets minus liabilities. Can be negative.
0% 25% 100%
Note: Education, city tier, residence type and employment type are inputs to the PD model. Gender and application channel are recorded for the application only (gender is deliberately not used in pricing). A prior default / write-off is an automatic decline under policy.

Loan Request

Maximum Indicative Eligible Amount
₹0
Requested amount: ₹0
Your requested amount is within the indicative eligibility limit.
Baseline Affordability ₹0
Indicative Interest Rate 0.00% p.a.
Requested Tenure 0 months
Total Monthly Income ₹0

How the eligible amount is calculated

(Total Monthly Income − Existing Monthly EMI) × 12 × 50% × Risk Factor
Machine Learning Risk Assessment
0.00%
Moderate Risk
Credit Score 0
Existing EMI ₹0
Other Monthly Income ₹0
Credit Card Utilisation 0%
Decision Status —
The Probability of Default is produced by the trained Finsta QuickLoans credit-risk model. The eligible amount and rate are then set by the policy layer: PD above 40% is not accepted, PD above 30% is priced at 36%, and you can borrow only up to the eligible amount.

Why is my PD what it is?

The factors below had the biggest effect on your PD, compared with a typical applicant in the training data.

These are computed directly from the model for this specific application. For features the model relies on less, the effect can be small or not entirely intuitive, since the training data is synthetic.

My Loans

Your accepted applications and completed loans will appear here.

No active loan

Accept an eligible offer to create an application.

READY

Completed Loan — Demo

₹30,000 • 6 months • Fully repaid

COMPLETED

About the Model

What this project is, what model powers it, and how it was built and checked.

What this is

Finsta QuickLoans is an academic/portfolio project that demonstrates an end-to-end credit-risk workflow: a machine-learning model estimates an applicant's Probability of Default (PD), and a lending policy turns that PD (together with credit score) into an eligible loan amount, an interest rate, or a decline. It is built for learning and demonstration only and is not a real lending product.

The model

AlgorithmRandom Forest (100 trees)
Training data100,000 synthetic applicants
Inputs used20 application details
Base default rate8.46% in the data

The model takes in details such as age, income, credit score, card utilisation, existing loans and EMI, employment and education, and outputs a probability of default. It was deliberately kept free of gender as an input, since it added no measurable accuracy and pricing by gender is best avoided. A handful of fields on the form (application channel, prior default) are recorded but do not feed the model; a reported prior default is instead an automatic decline under policy.

A note on "other monthly income": it is the least influential of the 20 inputs (0.68% of total feature importance). Across the whole dataset, applicants who report any other income actually default slightly less (7.2% vs 8.7%) — but that is mostly because people with side income also tend to have higher salaries and net worth, and it's those factors doing the real work. Once those are held fixed, the model's own residual response to this one field can run the other way for some applicants. Because of that, this field is left out of the "Why is my PD what it is?" explanation on the results page, even though it remains an input to the PD calculation itself.

How it was validated

Hold-out ROC-AUC0.775
5-fold cross-validation0.774 ± 0.006
Calibration (predicted vs actual)8.4% vs 8.5%
Riskiest 10% hold37% of all defaults
Hold-out accuracy (0.5 cutoff)91.5%
Hold-out accuracy (15% cutoff)84.6% (precision 26.8% · recall 47.7%)

On accuracy specifically: only 8.5% of applicants in the data actually default, so a model that simply guessed "no default" every time would already be 91.5% accurate without learning anything. That is exactly what the 91.5% figure above is — it matches guessing, so it is not evidence the model works. Flagging an applicant as high-risk at a lower, 15%-probability cutoff (closer to the real default rate) gives a fairer read: 84.6% accuracy, correctly catching 47.7% of the applicants who go on to default. ROC-AUC and the calibration figures below don't have this problem and are the more meaningful checks for this kind of model.

The model was benchmarked on data it never saw during training (a held-out 20% split) and again with 5-fold cross-validation for stability. It was also compared against a plain logistic regression, a gradient-boosted model, and credit score alone — the simplest of these scored close to the deployed model, which suggests the Random Forest is near the ceiling of what this dataset supports, not that a much better model was left on the table.

From PD to an offer

The model only outputs a probability of default. A separate, fixed policy then converts that PD (and credit score) into a risk band, an eligible amount — (total monthly income − existing EMI) × 50% × 12 × a risk factor drawn from the PD — and an interest rate between 12% and 36% p.a. Applications with a PD above 40% are not accepted. These policy numbers are reasonable assumptions for a demo, not figures calibrated against real lending losses.

PD (risk score) Risk band Amount risk factor Rate impact
Below 5%Very Low Risk1.00Closest to 12%
5% - 10%Low Risk0.90Slightly above 12%
10% - 15%Moderate Risk0.75Mid-range
15% - 25%High Risk0.50Rising toward 36%
25% - 30%Very High Risk0.25Approaching 36%
30% - 40%Very High Risk0.25Fixed at 36%
Above 40%Not accepted0 (declined)—

Within the 12-36% range, the exact rate also depends on credit score: at the same PD, a lower credit score pushes the rate up (see "How it was developed" for the formula).

Built with AI assistance

This project was built with the help of an AI assistant (Anthropic's Claude), used as a development and analysis tool throughout — from writing and debugging the training code and this website, to proposing and running the validation checks above (cross-validation, calibration tables, comparisons against simpler models). All decisions on what to build, which model to keep, and how to price loans were reviewed and made by the project's author; the AI did not choose the outcomes on its own.

How it was developed

  1. Started from a synthetic dataset of 100,000 customers with a known outcome (defaulted or not).
  2. Excluded identifiers and any column that is a direct output of the outcome, to avoid the model "cheating" by seeing the answer in disguise.
  3. Split the data 80/20, trained the model on the 80%, and checked its predictions against the unseen 20% before ever training on the full dataset.
  4. Compared it against simpler alternatives (a plain logistic regression, gradient boosting, and credit score alone) to make sure the chosen model was actually earning its complexity.
  5. Checked that predicted risk matches real-world-style outcomes: on the hold-out data, the model's average predicted PD was 8.4%, close to the actual 8.5% default rate.
  6. Exported the trained model so the exact same calculation runs in your browser when you use this site — no separate server call, and nothing you enter is uploaded anywhere.
This project uses a synthetic dataset, so its accuracy reflects how well the model learned that dataset's patterns, not how real borrowers behave. Treat every number on this site as illustrative.
Assessing your application...
Running affordability and credit-risk assessment