Fairness audit
At the same risk, who has to work harder?
Rejected applicants are split into Pathway-score risk bands; each group's mean plan effort is directly standardized to the overall risk-band mix, so groups are compared at the same risk level.
Headline effort gap
10.3%
Under ₹60,000 a month vs ₹1.2 lakh or more a month
Age gap
2.8%
most vs least effort band
Income gap
10.3%
most vs least effort band
Rejected applicants audited
4035
Kaggle hold-out data
By age band
2.8% gap| Group | Rejected | Adj. effort | No plan | Median months |
|---|---|---|---|---|
| 18–34 | 892 | 2.38 | 5% | 12 |
| 35–54 | 2172 | 2.45 | 1% | 12 |
| 55+ | 971 | 2.40 | 1% | 12 |
By income band
10.3% gap| Group | Rejected | Adj. effort | No plan | Median months |
|---|---|---|---|---|
| Under ₹60,000 a month | 1042 | 2.61 | 2% | 12 |
| ₹60,000 to ₹1.2 lakh a month | 1356 | 2.39 | 1% | 12 |
| ₹1.2 lakh or more a month | 1020 | 2.37 | 0% | 12 |
What “effort” means
The weighted size of the lowest-effort plan: 1 point per 10 points of card utilisation paid down, 1.2 per 10% cut in EMIs, 0.8 per active loan or card changed, 2.5 per 5% income growth, 0.15 per month of waiting. Weights live in lib/config.ts.
How groups are compared
Risk bands by Pathway score: 600–650, 550–600, 500–550, 300–500. Each group's mean effort is re-weighted to the overall risk mix, so a gap is not just “this group is riskier”.
Read with care
Kaggle 'Give Me Some Credit' (cs-training.csv, 150,000 rows): 60% training, 20% validation, 20% test, stratified. Age is never changed by a plan, but it is a model input, so it shapes how much other change is needed. That is exactly what this audit makes visible.