What ₹65+ Lakh Crore in NBFC Lending Has to Do With Your Model's Threshold
A credit risk team will spend three months tuning an XGBoost scorecard to lift AUC from 0.78 to 0.81, then set the approval cutoff in a Friday-afternoon meeting with a round number everyone can agree on. The model gets a validation report, a champion-challenger framework, and a model risk committee sign-off. The cutoff gets a Slack message.
This is backwards. The score function decides how well risk is ranked. The threshold decides how much money the institution makes or loses on that ranking. The second decision has larger and more immediate portfolio consequences than the first — and at most NBFCs it is the least governed number in the entire stack.
This post makes the economic case formally.
Section 1: The Economic Mathematics of Threshold Placement
Let each applicant $i$ carry a feature vector $x_i$, a model score, a loan value $\ell_i$, and a per-rupee contribution margin $m_i$. An acceptance rule with threshold $\tau$ approves $i$ when the score exceeds $\tau$; write the (possibly soft) acceptance probability as $P(\text{accept} \mid \tau, x_i)$. Let $P(\text{default} \mid x_i)$ be the calibrated PD.
The expected economic contribution of the book under threshold $\tau$ is the sum, over applicants, of margin earned on performers net of loss on defaulters. The revenue delta from shifting the threshold by $\delta$ is:
$$ \Delta R(\delta) = \sum_i \Big[ P(\text{accept} \mid \tau+\delta, x_i) - P(\text{accept} \mid \tau, x_i) \Big] \cdot (1 - P(\text{default} \mid x_i)) \cdot \ell_i \cdot m_i $$
This isolates the marginal band — the applicants whose accept/reject status flips under the shift — because for everyone else the bracketed difference is zero. The entire economic question lives inside that thin sliver of the score distribution, which is precisely why a "2-point" change is never small.
A complete objective nets the loss side. With loss given default $\mathrm{LGD}_i$ and exposure $\ell_i$:
$$ \Delta V(\delta) = \underbrace{\sum_i \Delta P_i ,(1 - \mathrm{PD}i),\ell_i m_i}{\text{margin on new performers}} ;-; \underbrace{\sum_i \Delta P_i ,\mathrm{PD}_i ,\ell_i ,\mathrm{LGD}i}{\text{loss on new defaulters}} $$
where $\Delta P_i = P(\text{accept}\mid\tau+\delta,x_i) - P(\text{accept}\mid\tau,x_i)$.
The asymmetric cost function
Two errors govern the cutoff. A Type I error (false reject) rejects a creditworthy borrower; its cost is the foregone lifetime margin, $\ell_i m_i$ — an opportunity cost that never appears in any P&L line and is therefore chronically under-weighted. A Type II error (false accept) approves a borrower who defaults; its cost is the realised loss, $\ell_i \cdot \mathrm{LGD}_i$ — which lands directly in the GNPA ratio and the provisioning charge.
These costs are asymmetric by an order of magnitude. A foregone performer costs you ~₹30,000 of margin; an approved defaulter costs you ~₹1,95,000 of principal at 65% LGD. The optimal threshold is not where the ROC curve looks prettiest — it is where the marginal expected margin equals the marginal expected loss:
$$ (1 - \mathrm{PD}{\tau^*}), m = \mathrm{PD}{\tau^*} \cdot \mathrm{LGD} \quad\Longrightarrow\quad \mathrm{PD}_{\tau^*} = \frac{m}{m + \mathrm{LGD}} $$
That break-even PD is a business quantity. It moves with cost of funds, with LGD, with collections capability — none of which the data science team controls.
Worked example: 100,000 applications, τ = 680 → 675
Model the applicant pool as a two-segment Gaussian mixture on a 300–900 score scale:
- Segment A (prime, 60,000 applicants): score $\sim \mathcal{N}(720, 50)$
- Segment B (thin-file / near-prime, 40,000 applicants): score $\sim \mathcal{N}(660, 60)$
Average ticket $\ell = ₹3{,}00{,}000$; lifetime net margin per performer $m\ell = ₹30{,}000$; $\mathrm{LGD} = 65%$, so loss per default $= ₹1{,}95{,}000$.
Approved volume. Using $P(\text{score} \ge \tau)$:
| | Approved at τ=680 | Approved at τ=675 | Δ | |---|---|---|---| | Segment A | 47,286 | 48,954 | +1,668 | | Segment B | 14,776 | 16,052 | +1,276 | | Total | 62,062 | 65,006 | +2,944 |
A 5-point drop lifts the approval rate from 62.1% to 65.0% (+2.9 pp) and pulls 2,944 applicants out of the reject pile — ₹88.3 crore of incremental disbursement.
False accepts in the marginal band. Assign marginal-band PDs of 9% (Segment A) and 16% (Segment B) — the same score buys a higher PD for thin-file borrowers:
- Segment A: $1{,}668 \times 0.09 = 150$ defaulters, 1,518 performers
- Segment B: $1{,}276 \times 0.16 = 204$ defaulters, 1,072 performers
- Marginal false accept rate $= 354 / 2{,}944 = \mathbf{12.0%}$
Expected NPL exposure. New defaulting exposure (EAD) $= 354 \times ₹3{,}00{,}000 = ₹10.62$ crore; expected loss $= 354 \times ₹1{,}95{,}000 = ₹6.90$ crore.
Interest income delta. Margin on new performers $= 2{,}590 \times ₹30{,}000 = ₹7.77$ crore.
Net portfolio economic impact:
$$ \Delta V = ₹7.77\text{ cr} - ₹6.90\text{ cr} = +₹0.87 \text{ crore} $$
A clean positive — until you decompose it by segment:
| Segment | Margin (₹cr) | Loss (₹cr) | Net (₹cr) | |---|---|---|---| | A | 4.55 | 2.93 | +1.63 | | B | 3.22 | 3.98 | −0.76 | | Blended | 7.77 | 6.90 | +0.87 |
The portfolio-level number is entirely carried by Segment A. Segment B's marginal band is value-destructive — yet a single blended threshold approves it anyway, because the prime segment subsidises the loss. The cutoff looks accretive in aggregate while quietly funding negative-NPV lending. That is the failure mode a single threshold cannot see.
Section 2: Why Threshold Is a Governance Decision, Not a Modelling Decision
There are two distinct problems here, and conflating them is the root error.
Model optimisation asks: what score function $f(x)$ best separates good from bad? This is a statistical problem — maximise discrimination (AUC, KS), calibrate the PD, validate out-of-time. It is the legitimate territory of the data science team.
Threshold governance asks: where on the resulting ROC curve do we operate? This is not a statistical question at all. The ranking is fixed; choosing the operating point trades approval rate against loss rate, and that trade-off is dictated by institutional risk appetite, cost of funds, capital adequacy headroom, regulatory constraints, and segment-level fairness obligations — none of which is in the training data.
It follows that a threshold change between model versions is a policy decision, not a technical update. When a new champion model ships and the team "re-tunes" the cutoff to hold approval rate constant, they have silently re-set the institution's risk appetite — often without a single committee being aware that the loss-rate-per-approval just moved. The model got a validation report; the policy change got nothing.
Treat the threshold configuration as a first-class governance artefact with a mandatory schema:
$$ \theta = (\tau,; \text{segment_scope},; \text{effective_date},; \text{approver_id},; \text{business_rationale},; \text{CFDI_impact}) $$
Every field is load-bearing. segment_scope prevents a blanket cutoff from masking segment-level value destruction (Section 1). approver_id and business_rationale convert an engineering parameter into an auditable decision. CFDI_impact attaches the fairness assessment to the decision that caused it, which is exactly what the RBI FREE-AI framework's documentation expectations are reaching toward. A threshold without this envelope is an undocumented policy change — the kind a supervisor will ask about, and the kind no one will be able to answer.
Section 3: Segment-Stratified Threshold Analysis
A single portfolio threshold $\tau$ applied to a heterogeneous pool is both economically suboptimal and governance-deficient. Economically, because the break-even PD condition $\mathrm{PD}_{\tau^*} = m/(m+\mathrm{LGD})$ implies a different optimal score cutoff wherever the PD-vs-score mapping differs — and it differs across segments by construction (that was the entire point of the Section 1 example). Governance-deficient, because a blended cutoff produces unexamined disparate outcomes across segments, which is precisely what a fairness regime requires you to surface.
The disciplined formulation is a constrained per-segment optimisation:
$$ \tau_i^* = \arg\max_{\tau} ; \mathbb{E}\big[\text{portfolio_return} \mid \text{segment}=i,; \tau\big] \quad \text{s.t.} \quad \mathrm{CFDI}(\tau) \le \varepsilon $$
where $\mathrm{CFDI}$ is the cross-segment fairness differential index and $\varepsilon$ the maximum permitted disparity set by policy. Each segment is taken to its own economic optimum, subject to a binding fairness ceiling that couples the segments together. You optimise revenue locally and govern fairness globally.
DTPG: the revenue–fairness trade-off gradient
Pure per-segment revenue maximisation will pull segment thresholds apart and widen outcome disparity. The Differential Treatment–Profit Gradient (DTPG) quantifies the exchange rate between the two along a threshold perturbation — how much fairness you buy or spend per rupee of marginal revenue:
$$ \mathrm{DTPG}i = \frac{\partial, \mathrm{CFDI}}{\partial, \Delta V}\bigg|{\tau_i} $$
Take the Section 1 pool and perturb Segment B's threshold alone, 680 → 675, holding A fixed. Define CFDI here as the approval-rate disparity across segments:
- At $\tau_B = 680$: $\mathrm{CFDI} = 78.81% - 36.94% = 41.87$ pp
- At $\tau_B = 675$: $\mathrm{CFDI} = 78.81% - 40.13% = 38.68$ pp
- $\Delta\mathrm{CFDI} = -3.19$ pp (disparity narrows — fairness improves)
- $\Delta V_B = -₹0.76$ crore (revenue falls — the band is loss-making)
$$ \mathrm{DTPG}_B = \frac{-3.19\text{ pp}}{-₹0.76\text{ cr}} \approx 4.2 \text{ pp of disparity reduction per ₹crore of margin sacrificed} $$
The gradient is the whole decision. Closing 3.2 pp of approval disparity costs ₹0.76 crore of contribution. Whether that is worth paying is a governed judgement against the institution's fairness appetite $\varepsilon$ — not a number a data scientist should be setting alone in a notebook. DTPG makes the price of fairness explicit and the trade-off auditable; without it, the institution is either over-paying for fairness it never quantified or breaching disparity limits it never measured.
Section 4: The Governance Connection to Scale
Now the number in the title. Indian NBFC sector advances stood at roughly ₹48 lakh crore as of March 2025 (RBI Trend & Progress 2024-25), with sector AUM on a trajectory through the ₹60–70 lakh crore range across FY26–FY27. Call the relevant operating base ₹65+ lakh crore.
Threshold calibration accuracy is not a rounding error against that base. Suppose better-calibrated operating points improve net portfolio economics by a conservative 1% of the marginal-lending margin across the sector. The Section 1 worked example produced a net swing of ₹0.87 crore on a single 5-point shift across 100,000 applications — and showed that a mis-set blended cutoff was funding a −₹0.76 crore segment invisibly. Scale that calibration discipline across ₹65+ lakh crore of credit and the economic surface area is measured in thousands of crores. Threshold quality is not a hygiene factor; it is a sector-level capital allocation lever.
Here is the argument that risk heads most often get backwards. Governance infrastructure — CFDI monitoring, threshold version control, DTPG analysis — is not compliance overhead. It is the enabling condition for aggressive, confident threshold optimisation. An institution without this infrastructure cannot safely lower a cutoff, because it cannot see which segment the new margin is coming from, cannot prove the fairness impact, and cannot reconstruct who approved what and why when a supervisor asks. So it does the only safe thing available to it: it leaves the threshold conservatively high and forfeits the Segment-A-style accretive lending it could have captured.
The institution with the infrastructure can push thresholds to their constrained economic optimum precisely because every move is measured, attributed, and reversible. Governance is what converts the threshold from a feared, frozen number into a managed, optimised one. At ₹65+ lakh crore, the firms that treat threshold placement as a governed policy decision will out-earn the firms that treat it as a tuning parameter — and they will do it with less regulatory exposure, not more.
The cutoff was never a hyperparameter. It is the single most leveraged economic decision the institution makes, and it deserves the governance to match.
Frequently Asked Questions
Is the threshold not just an output of model optimisation? No. Model optimisation produces the score function and the ranking — the ROC curve. The threshold selects the operating point on that curve, a choice governed by risk appetite, cost of funds, LGD, capital headroom, and fairness limits. These are business and policy inputs absent from the training data, which is why the cutoff is a governed decision rather than a modelling artefact.
Why is a 2-point threshold shift economically significant when it sounds tiny? Because the economics live entirely in the marginal band — the thin sliver of the score distribution whose accept/reject status flips. In the worked example a 5-point shift moved 2,944 applications, ₹88.3 crore of disbursement, and a net ₹0.87 crore swing, while masking a −₹0.76 crore value-destructive segment. The shift is small in score units and large in rupees.
Why are segment-stratified thresholds better than a single portfolio cutoff? The break-even PD condition implies a different optimal score cutoff wherever the PD-vs-score mapping differs, and it differs across segments by construction. A blended threshold lets a profitable prime segment subsidise loss-making lending in a weaker segment, so the portfolio looks accretive while quietly funding negative-NPV approvals. Stratified thresholds optimise each segment locally under a global fairness constraint.
What is DTPG and why does it matter? DTPG (Differential Treatment–Profit Gradient) measures the exchange rate between fairness and revenue along a threshold perturbation — how much disparity reduction you buy per rupee of margin sacrificed. In the example, closing 3.2 pp of approval disparity cost ₹0.76 crore, a DTPG of ~4.2 pp per ₹crore. It makes the price of fairness explicit so the trade-off can be governed rather than made implicitly in a notebook.
Is governance infrastructure just compliance cost? No — it is what enables confident optimisation. Without CFDI monitoring, threshold version control, and DTPG analysis, an institution cannot see where new margin comes from, prove fairness impact, or audit who changed what, so it freezes the cutoff conservatively and forfeits accretive lending. The infrastructure converts the threshold from a frozen number into a managed economic lever.