PD Estimation Methods for Credit Risk

PD Estimation Methods for Credit Risk Assessment

In practice, every rupee a bank lends carries an implicit question. But what is the chance this borrower stops paying?

PD estimation turns that question into a defensible number. Naturally, it sits at the center of modern credit risk management. Specifically, it drives regulatory capital, loan loss provisions, loan pricing, credit approval cut-offs, and portfolio strategy.

Notably, the consequences of error run in both directions. On one hand, overstate risk, and the bank prices itself out of good business. On the other hand, understate it, and losses arrive faster than banks built provisions.

 

Table of Contents

  1. Why PD Estimation Matters More in 2026
  2. What Is Probability of Default?
  3. PD Estimation Methods Compared
  4. Historical Default Rate Method
  5. Logistic Regression for PD Estimation
  6. Limitations of Logistic Regression Under IFRS 9
  7. Machine Learning: Random Forest and XGBoost
  8. Survival Analysis for Lifetime PD
  9. Macroeconomic Variables and PD
  10. Validating and Backtesting a PD Model
  11. Choosing the Right PD Estimation Method
  12. Frequently Asked Questions

 

Why PD Estimation Matters More in 2026

Recently, the stakes in India have risen sharply. Nevertheless, the headline numbers look reassuring. Indeed, the RBI’s Financial Stability Report of June 2026 placed the gross NPA ratio of scheduled commercial banks at 1.8% as of March 2026. In other words, that is a multi-decadal low. Furthermore, the central bank’s baseline projects only a modest rise, to around 1.9% by March 2028. Additionally, capital ratios sit at multi-decade highs, with CRAR at 17.7% and CET1 at 15.3%.

The regulatory shift underneath the numbers

However, those benign figures mask a structural change. Specifically, on 27 April 2026, the RBI notified the Commercial Banks – Asset Classification, Provisioning and Income Recognition Directions, 2026. Subsequently, the rules take effect on 1 April 2027. A glide path then runs to 31 March 2031.

In effect, this single change moves Indian banks off the incurred-loss model. Previously, provisions followed a default event. Now, under the Expected Credit Loss framework, banks must estimate a lifetime PD term for every performing exposure that shows a significant increase in credit risk.

Consequently, PD estimation stops being a capital input that a small modelling team owns. Instead, it becomes a line item flowing straight into the profit and loss account every quarter. As a result, boards, auditors, and supervisors will all read it.

To that end, this guide covers the principal PD estimation methods used in practice. For each, it sets out what the method does well, where it fails, and finally how to validate the result.

 

What Is Probability of Default?

Put simply, probability of default is the likelihood that a borrower fails to meet contractual obligations over a defined horizon. Specifically, it runs on a 0 to 1 scale, or equivalently 0% to 100%. At the extremes, zero means default is impossible while one means default is certain. In practice, of course, a well-specified model never produces either extreme.

Before any PD estimation exercise yields a meaningful number, however, three elements must be fixed.

The default definition

As a rule, Basel and RBI’s IRACP norms both trigger default at 90 days past due. Alternatively, lenders may declare default earlier if they judge the obligor unlikely to pay without realising collateral.

However, a model trained on a 90-DPD definition is not comparable to one trained on 30-DPD. Indeed, mixing the two remains one of the most common sources of inconsistency in Indian retail portfolios.

The horizon: 12-month versus lifetime

For instance, regulatory capital under the Internal Ratings-Based approach uses a 12-month PD. By comparison, IFRS 9 and RBI’s ECL directions ask for more. Specifically, Stage 1 assets need a 12-month PD, whereas Stage 2 and Stage 3 assets need a lifetime PD.

Importantly, a 12-month PD of 2% does not imply a five-year lifetime PD of 10%. In reality, default hazard rarely stays constant over time. This is precisely why survival methods matter.

Point-in-time versus through-the-cycle

A point-in-time (PIT) PD reflects current economic conditions and moves with the cycle. By contrast, a through-the-cycle (TTC) PD averages across a full cycle and stays deliberately stable.

Basel capital wants TTC. By contrast, ECL accounting wants PIT. Most banks therefore estimate one basis and transform to the other. Consequently, a great deal of model risk hides in that transformation.

How to read a PD number

Even so, interpretation deserves care. Notably, a PD of 3% does not mean a specific borrower will default 3% of the time. Rather, it means that within a homogeneous pool of borrowers sharing that risk profile, roughly three in a hundred will default over the horizon. In short, PD describes a population, then applies that description to an individual.

Similarly, regulators recognise that estimates near zero lack credibility. Under the finalised Basel III standards in BIS Basel Framework chapter CRE36, the PD input floor for corporate and institutional exposures rose from 0.03% to 0.05%. Meanwhile, qualifying revolving retail revolvers carry a 0.1% floor. In principle, these floors offset model risk, measurement error, and thin data. Usefully, they remind us that no PD estimate is exact.

Finally, PD is one of three parameters in the expected loss identity: EL = PD × LGD × EAD. For how the other two fit in, see our comprehensive guide to credit risk modeling, which covers Loss Given Default and Exposure at Default alongside PD.

 

PD Estimation Methods Compared

Before going into each method, here is how the four principal approaches differ. Ultimately, these dimensions determine which method you can actually use.

Historical Default RateLogistic RegressionMachine LearningSurvival Analysis
OutputOne rate per segmentPD at a fixed horizonPD at a fixed horizonFull PD term structure
Ranks borrowers?✓ strongest
Lifetime PD?via bolt-on onlyvia bolt-on only✓ native
Handles censoring
Minimum data5+ yrs, ideally a full cycle~1,000+ obs, 50+ defaults10,000+ obs, 500+ defaultsLoan-level default timing
InterpretabilityCompleteHighLow without SHAPModerate
Regulatory acceptanceHigh (benchmark use)HighestConditionalGrowing under IFRS 9
Best suited toLow-default and homogeneous poolsRegulatory PD, scorecardsOrigination decisioningStage 2 lifetime ECL

 

Most banks run two or three of these together rather than choosing one. Below, the reasons become clear.

 

Historical Default Rate Method for PD Estimation

Notably, the simplest approach to PD estimation is also the oldest. First, segment the portfolio. Then count defaults and divide by the number of accounts at the start of the period.

PD(segment) = Number of accounts defaulting in period / Number of performing accounts at period start

For example, consider a small portfolio. Suppose a bank holds 12,000 performing MSME loans in a given rating grade at the start of FY25. During the year, 384 of them hit 90-DPD. The observed one-year default rate is therefore 3.2%. Average that across several years, ideally a full cycle, and you then have a serviceable TTC PD for that grade.

Where the historical method works well

Generally, this method suits homogeneous, high-volume portfolios with stable underwriting. For instance, two-wheeler loans, gold loans, and standardised consumer durable finance all qualify.

Provided that the segment is genuinely homogeneous, the empirical rate is unbiased. Moreover, it needs no statistical assumptions at all. Additionally, it is the natural starting point for a low-default portfolio, where regression simply cannot be fitted. It also benchmarks any more sophisticated model that follows.

Basel’s IRB minimum requirements expect at least five years of data for retail PD estimation. For corporate exposures, meanwhile, they want a period spanning a full economic cycle. This is not bureaucratic conservatism. Rather, it responds directly to the method’s central weakness.

Where the historical method fails

It looks entirely backward. After all, the observed default rate for FY25 tells you only what happened under FY25 conditions. Consequently, if the next year brings a rate shock or a sectoral downturn, that rate forecasts badly. Regardless, Indian banking learned this expensively.

It cannot rank within a segment. Instead, every borrower in the bucket receives the same PD. For instance, a five-year-old MSME with declining coverage ratios gets the same number as a fifteen-year-old firm with improving margins. All the discriminatory information therefore sits unused.

Segment definition is arbitrary and unstable. Cut too coarsely and the estimate means nothing. Conversely, cut too finely and default counts collapse to single digits. At that point sampling error swamps signal. A segment with three observed defaults has a confidence interval so wide it barely constrains anything.

Low default rates break it. When a portfolio produces zero defaults in a year, the naive estimate is 0%. That figure is both false and, under Basel floors, inadmissible.

Case study: the 2015 Asset Quality Review

The corporate credit cycle of the mid-2010s illustrates historical-rate failure better than any hypothetical. Initially, through the boom years, observed default rates on large infrastructure and metals exposures stayed low. Provisioning duly followed those observed rates.

Underlying credit quality, however, had already deteriorated well before defaults surfaced. Neither the incurred-loss framework nor the historical-rate PD estimates feeding it could register that deterioration ahead of the event.

The RBI’s Asset Quality Review, launched in 2015, then forced consistent recognition across the system. Consequently, reported gross NPAs of scheduled commercial banks climbed to roughly 11.5% by 2018. Clean-up, recapitalisation, and IBC-driven resolution subsequently brought them down to 2.3% by March 2025 and 1.8% by March 2026.

Importantly, the lesson is not that banks acted dishonestly. Instead, it is that PD estimation drawn purely from recent realised defaults cannot anticipate a turning point. That structural gap is exactly what the ECL framework aims to close.

 

Logistic Regression for PD Estimation

Logistic regression remains the workhorse of PD estimation across the industry. Furthermore, it holds that position for reasons that are as much regulatory as statistical.

In essence, the model estimates the log-odds of default as a linear function of borrower and facility characteristics:

ln( PD / (1 − PD) ) = β₀ + β₁x₁ + β₂x₂ + … + βₖxₖ

Rearranging then gives the PD directly:

PD = 1 / (1 + e^−(β₀ + β₁x₁ + … + βₖxₖ))

Usefully, the logistic function maps any real-valued score onto the (0, 1) interval. That is exactly what a probability requires. Consequently, no transformation, clipping, or calibration hack is needed to keep estimates in range.

Why logistic regression dominates in practice

Coefficients are interpretable. Each β is a change in log-odds per unit of the predictor. Exponentiate it, therefore, and you get an odds ratio a credit officer can reason about. So when a supervisor asks why a borrower received a 4.8% PD, the model answers.

It converts cleanly to a scorecard. In addition, weight-of-evidence binning plus logistic regression produces the points-based scorecards that underwriting systems and branch staff actually use. Our walkthrough of logistic regression for PD modelling covers WOE and information value in full.

It stays stable on modest data. Typically, a few thousand observations and a reasonable default rate estimate the coefficients well. Conversely, tree ensembles at the same sample size tend to overfit.

It meets least regulatory resistance. Model risk expectations under the Basel III regulatory framework and RBI’s ECL directions weigh explainability and documented governance heavily.

How to implement logistic regression PD estimation in Python

import pandas as pd

import numpy as np

import statsmodels.api as sm

from sklearn.model_selection import train_test_split

from sklearn.metrics import roc_auc_score

 

# 1. Define target: 1 = defaulted within 12 months (90+ DPD), 0 = otherwise

df = pd.read_csv(“loan_book.csv”)

y = df[“default_12m”]

 

# 2. Select and prepare drivers

features = [

“debt_service_coverage”, “current_ratio”, “vintage_months”,

“utilisation_pct”, “max_dpd_l12m”, “turnover_growth_yoy”

]

X = df[features].copy()

 

# 3. Treat outliers before binning; winsorise at the 1st/99th percentile

for col in features:

lo, hi = X[col].quantile([0.01, 0.99])

X[col] = X[col].clip(lo, hi)

 

# 4. Split out-of-time where possible, not just out-of-sample

X_train, X_test, y_train, y_test = train_test_split(

X, y, test_size=0.30, stratify=y, random_state=42

)

 

# 5. Fit with an intercept

X_train_c = sm.add_constant(X_train)

model = sm.Logit(y_train, X_train_c).fit(disp=0)

print(model.summary())        # coefficients, std errors, p-values

 

# 6. Score and assess discrimination

X_test_c = sm.add_constant(X_test)

pd_hat = model.predict(X_test_c)

print(“AUC:”, round(roc_auc_score(y_test, pd_hat), 4))

Two practitioner notes follow from this. First, prefer statsmodels over scikit-learn for the development build. Model documentation needs p-values and standard errors to justify each variable. Unfortunately, scikit-learn does not surface them.

Second, always hold out an out-of-time sample rather than a random split. Otherwise, a random split shares the economic environment between train and test. As a result, it flatters the model considerably.

 

Limitations of Logistic Regression in IFRS 9 PD Modelling

Historically, logistic regression earned its dominance in a Basel world. There, the deliverable was a stable 12-month through-the-cycle PD, used once a quarter for capital.

IFRS 9 and RBI’s ECL directions ask for something structurally different. Under those new demands, several limitations become visible. None of them disqualifies the method; most banks will still build on a logistic core. Each one, however, requires a bolt-on that must itself be documented and validated.

Structural gaps: term structure and censoring

It produces a point, not a term structure. As noted, IFRS 9 requires a lifetime PD for Stage 2 and Stage 3 exposures. Meanwhile, a logistic model fitted on a 12-month default flag produces exactly one number, at one horizon.

In contrast, extending it to a 30-year mortgage means chaining marginal PDs, applying a rating transition matrix, or fitting separate models at multiple horizons. Every one of those routes introduces assumptions the original model never tested. Ultimately, the extrapolation rather than the regression drives most of the lifetime ECL.

It has no mechanism for censoring. Unfortunately, a binary setup treats loans that prepay, refinance, or remain performing at the data cut-off as clean non-defaults. In Indian retail books with high prepayment rates, this bites hard. In particular, housing and personal loans suffer most.

The reason is straightforward. Essentially, accounts that exited early get counted as successes rather than as observations that simply stopped being observed. Lifetime default risk therefore comes out understated. Survival methods handle this natively; logistic regression does not.

Conditioning and scenario problems

PIT conditioning sits outside the model. Fitted on pooled multi-year data, a logistic model delivers something closer to a hybrid or TTC estimate. Converting it to the PIT basis IFRS 9 requires means applying a separate macro scalar or Vasicek shift afterwards.

Because nobody estimates the macro relationship jointly with the borrower-level coefficients, the two components can drift apart. The model owner has no single likelihood to test.

Scenario sensitivity often runs too flat. In fact, auditors raise this criticism most consistently. During fitting, idiosyncratic borrower variables absorb the bulk of the variance. Little remains for macro drivers to explain.

As a result, the downside scenario moves ECL by only a few basis points. That implies the bank believes a severe recession barely affects its credit losses. Rarely is that credible, and defending it in an audit committee proves difficult.

SICR assessment needs an origination-date PD. Staging under IFRS 9 compares lifetime PD at the reporting date against lifetime PD at initial recognition. For loans booked before the model existed, which covers most of a legacy book, someone must reconstruct that origination PD retrospectively. The underlying data may never have been retained. Logistic regression offers no help here. The problem concerns data lineage, yet it lands squarely on the PD model owner.

Statistical constraints

Linearity in log-odds is a real constraint. Fundamentally, the method assumes each predictor moves log-odds linearly. In reality, credit drivers rarely oblige. Utilisation risk rises sharply past 80%. Vintage risk is hump-shaped. DSCR effects flatten at both tails.

Admittedly, weight-of-evidence binning is the standard fix. Nevertheless, coarse-classing discards within-bin information. The bin boundaries then become an unvalidated modelling choice that tends to destabilise on refresh.

Coefficients turn unstable in low-default portfolios. Large-corporate, NBFC, and sovereign exposures may generate a handful of defaults across an entire cycle. Consequently, maximum likelihood estimation degrades badly at those counts, and complete or quasi-complete separation is common. IFRS 9 still demands an ECL number for these exposures. Consequently, banks usually turn to external ratings-based PD mapping or a shadow-rating approach instead.

What this means for model architecture

Overall, the common architecture now runs three layers. First, a logistic model handles 12-month PD and rank ordering. Next, a survival or transition-matrix layer supplies the lifetime term structure. An explicit macro overlay delivers PIT conditioning.

That means three models, three validation exercises, and three sets of assumptions. In other words, the governance load is considerably heavier than the single scorecard that satisfied Basel. Plan for it well before the April 2027 deadline.

 

Machine Learning Methods for PD Estimation

Gradient-boosted trees and random forests have earned a genuine place in PD estimation. Specifically, they perform best in retail and MSME segments, where non-linearities and interactions run strong and data volumes are large.

Random Forest

Random Forest grows many decision trees on bootstrapped samples with randomised feature subsets, then averages their predicted class probabilities. Usefully, it resists outliers, handles missing values gracefully, and requires little tuning.

Its output probabilities, however, are frequently poorly calibrated. After all, averaged vote shares are not PDs. Isotonic or Platt calibration is therefore close to mandatory before the numbers touch an ECL calculation.

XGBoost and LightGBM

By contrast, these build trees sequentially. In turn, each new tree corrects the residual errors of the ensemble so far.

On structured credit data with rich behavioural features, gradient boosting routinely delivers a 3 to 8 point Gini improvement over a well-built logistic scorecard. For instance, utilisation trends, bureau enquiry velocity, EMI bounce patterns, and GST filing regularity all help here. On thin-file applicants with a dozen variables, though, the gain frequently disappears entirely.

import xgboost as xgb

from sklearn.calibration import CalibratedClassifierCV

from sklearn.metrics import roc_auc_score

 

base = xgb.XGBClassifier(

n_estimators=400,

max_depth=4,                 # keep shallow; deep trees overfit credit data

learning_rate=0.05,

subsample=0.8,

colsample_bytree=0.8,

scale_pos_weight=(y_train == 0).sum() / (y_train == 1).sum(),

eval_metric=”auc”,

random_state=42

)

 

# Calibrate so that outputs behave as probabilities, not scores

clf = CalibratedClassifierCV(base, method=”isotonic”, cv=3)

clf.fit(X_train, y_train)

 

pd_hat_ml = clf.predict_proba(X_test)[:, 1]

print(“AUC:”, round(roc_auc_score(y_test, pd_hat_ml), 4))

Constraints in regulated PD estimation

Explainability. Certainly, SHAP values give local attributions and now appear as standard in model documentation. Still, a SHAP plot explains a prediction rather than a stable economic relationship. Supervisors reviewing an IRB or ECL model will ask whether each driver relates to PD monotonically and sensibly. Monotonic constraints (monotone_constraints in XGBoost) address this directly, so use them.

Overfitting on rare events. By definition, default is an imbalanced outcome. Otherwise, boosted trees will happily memorise the handful of defaulters in a training set. Time-series cross-validation and aggressive early stopping are therefore essential.

Instability under distribution shift. Unfortunately, tree ensembles extrapolate poorly. When macroeconomic conditions move outside the training range, a logistic model degrades gracefully. A boosted ensemble, by contrast, can fail abruptly.

One architecture recurs across Indian banks, and it is defensible. Gradient boosting runs the origination decision engine, where predictive power converts directly into approval quality. A logistic scorecard supplies the regulatory PD for capital and ECL. Teams then benchmark the scorecard against the ML model, confirming that no material discriminatory power goes unused.

 

Survival Analysis for Lifetime PD Estimation

As discussed, logistic regression answers a binary question over a fixed window. Default in twelve months: yes or no?

By contrast, survival analysis answers a richer one. When is default likely to occur? What is the instantaneous risk at each point in the loan’s life?

Naturally, that distinction became commercially important the moment lifetime ECL arrived. Specifically, Stage 2 assets require a PD term structure across the remaining maturity. Survival models produce exactly that, natively.

Hazard rates and survival curves

The hazard h(t) is the instantaneous default rate at time t, conditional on having survived to t. Correspondingly, S(t) — the survival function — is the probability of surviving beyond t. Cumulative PD to time t is then simply 1 − S(t). A lifetime PD therefore reads directly off the survival curve at loan maturity.

Kaplan-Meier estimation produces a non-parametric survival curve from observed default times. Critically, it handles censoring correctly. Loans that prepay, refinance, or remain performing at the data cut-off are censored, not non-defaults.

By contrast, a naive logistic setup treats a loan booked three months ago as a “non-default” observation. That choice systematically biases PD estimation downwards.

Cox proportional hazards

Accordingly, Cox regression extends the survival curve to covariates:

h(t | x) = h₀(t) · exp(β₁x₁ + … + βₖxₖ)

Here, the baseline hazard h₀(t) captures the shape of default timing across the portfolio. Covariates then shift risk multiplicatively.

from lifelines import KaplanMeierFitter, CoxPHFitter

 

kmf = KaplanMeierFitter()

kmf.fit(durations=df[“months_on_book”], event_observed=df[“defaulted”])

kmf.plot_survival_function()

 

cph = CoxPHFitter()

cph.fit(df[[“months_on_book”, “defaulted”, “ltv”, “dscr”, “vintage”]],

duration_col=”months_on_book”, event_col=”defaulted”)

cph.print_summary()

In practice, the payoff shows up in the seasoning curve. For example, Indian unsecured personal loan portfolios typically peak in hazard between months 9 and 18, then decline. A 12-month logistic PD cannot represent that shape at all. Over a five-year loan, the shape separates a defensible lifetime ECL from a guess.

 

How Macroeconomic Variables Affect PD Estimation

A PD model built on borrower characteristics alone assumes the economy of the training period repeats. In reality, it will not. Indeed, ECL under RBI’s directions and IFRS 9 explicitly requires forward-looking information. Macroeconomic conditioning is therefore no longer optional.

The Vasicek transformation

The standard approach links the portfolio’s observed default rate to macro drivers, then applies that relationship to forecast scenarios. Of the available vehicles, the Vasicek/Merton transformation is by far the most common:

PD(PIT, t) = Φ[ (Φ⁻¹(PD_TTC) − √ρ · Z_t) / √(1 − ρ) ]

Here Φ is the standard normal CDF, ρ is asset correlation, and Z_t is a systematic factor estimated from macro variables. A favourable macro environment, meaning positive Z, pulls PIT PD below the TTC level. Conversely, a downturn pushes it above.

Macro drivers that carry signal in Indian portfolios

  • Real GDP growth — the broadest indicator. It typically enters with a lag of two to four quarters, since credit stress follows activity rather than coinciding with it.
  • Policy rate and lending rate spreads — these matter most for floating-rate retail and MSME exposures. Here, a repo increase transmits directly to EMI burden.
  • CPI inflation — this compresses household surplus and drives unsecured retail delinquency.
  • Sector-specific series — IIP for manufacturing, residential price indices for mortgages, freight indices for commercial vehicle finance. Portfolio-relevant series consistently outperform generic aggregates.

Notably, the June 2026 FSR reinforces that last point. Despite a system average of just 1.8%, agriculture carried the highest sectoral GNPA ratio at 5.1%. An aggregate macro variable would miss exactly that kind of dispersion.

Two disciplines that matter more than variable choice

First, every coefficient must point in an economically defensible direction. For example, a model where higher GDP growth increases PD has found a spurious correlation. Therefore, drop the variable, regardless of its statistical significance.

Second, RBI’s ECL directions require probability-weighted scenarios: a baseline, an upside, and a downside, with documented weights. Because the relationship between macro factors and PD is convex, the probability-weighted ECL will exceed the ECL computed from the baseline alone. That convexity is a feature of the framework rather than an artefact.

 

How to Validate and Backtest a PD Model

A PD model is a regulated artefact. Accordingly, it needs evidence of discrimination, calibration, and stability, refreshed at least annually.

Discrimination: can the model separate defaulters from non-defaulters?

ROC and AUC. The ROC curve plots the true positive rate against the false positive rate across all cut-offs. In turn, AUC is the area beneath it.

At the floor, an AUC of 0.5 is random. Meanwhile, application scorecards typically land between 0.70 and 0.80. Meanwhile, behavioural models with repayment history commonly exceed 0.85. Anything above 0.95, however, should prompt a hunt for target leakage rather than celebration.

Gini coefficient. The industry’s preferred expression is simply Gini = 2 × AUC − 1.

Kolmogorov-Smirnov statistic. KS is the maximum vertical distance between the cumulative distributions of defaulters and non-defaulters. It answers a slightly different question from AUC: where in the score range does separation run strongest?

That question is operationally useful, since the answer often marks where the approval cut-off should sit. Generally, KS above 30 is acceptable for retail application models.

from scipy.stats import ks_2samp

ks = ks_2samp(pd_hat[y_test == 1], pd_hat[y_test == 0]).statistic

print(“KS:”, round(ks * 100, 2))

Calibration: are the predicted PD levels right?

Importantly, discrimination and calibration are independent properties. For example, a model can rank perfectly and still predict 2% where the true rate is 6%. That is fine for approval decisions, yet disastrous for ECL.

To test this, bin the portfolio by predicted PD. Compare predicted against observed default rates in each bin, then test the difference. The Hosmer-Lemeshow test and the binomial test per rating grade are the standard tools. Ultimately, persistent one-directional deviation across grades indicates a calibration problem rather than noise.

Stability: has the population moved?

Population Stability Index (PSI) compares the score distribution at development against the current book:

PSI = Σ (Actual% − Expected%) × ln(Actual% / Expected%)

Conventional thresholds run as follows. Below 0.10 is stable. Between 0.10 and 0.25 warrants monitoring. Above 0.25 signals a material shift requiring investigation.

Also compute PSI on individual drivers, not just the final score. After all, a stable overall score can conceal offsetting drifts in two underlying variables. Fortunately, the characteristic-level view catches them.

 

Choosing the Right PD Estimation Method

On the whole, no single approach to PD estimation is correct. Instead, the right choice depends on portfolio size, data depth, the horizon required, and the regulatory use the number will serve.

Matching method to portfolio

Broadly, historical default rates remain the sensible baseline for homogeneous portfolios. They are also the only viable route where defaults are too scarce to model.

Meanwhile, logistic regression is the default choice for regulatory PD. In a supervised environment, interpretability and stability are worth more than a marginal lift in Gini. Under IFRS 9, though, it is a starting point rather than a complete answer. Lifetime term structure, censoring, and PIT conditioning all sit outside what the regression itself estimates.

Similarly, machine learning earns its place where data is rich and non-linearity is real, provided outputs stay calibrated and monotonicity constrained. Survival analysis is less an alternative than a necessary complement, because lifetime PD term structures cannot be built from a 12-month binary model. Macroeconomic conditioning, meanwhile, is what turns any of them into a forward-looking estimate.

The road to April 2027

RBI’s ECL framework takes effect on 1 April 2027, with a glide path running to March 2031. Indian banks and NBFCs are therefore mid-way through a data and modelling build-out that will define credit risk practice for the next decade.

Unfortunately, institutions that treat this as a compliance exercise will produce models that pass validation and inform nothing. Conversely, those that treat it as a chance to understand their loan books properly will get both.

For the wider context in which PD sits, see our comprehensive guide to credit risk modeling, which sets out PD’s role alongside LGD and EAD. For the regulatory side, our Advanced Certificate in IFRS 9 Modeling covers ECL staging and provisioning in depth, while A Beginner’s Guide to Credit Risk Modelling is the right starting point for anyone newer to the subject.

 

Frequently Asked Questions About PD Estimation

What is PD estimation in credit risk?

In short, PD estimation quantifies the probability that a borrower will default over a defined horizon. The result is expressed between 0% and 100%. It is one of three inputs to expected loss, alongside Loss Given Default and Exposure at Default. In practice, it drives regulatory capital, loan pricing, credit approval decisions, and provisioning under IFRS 9 and RBI’s ECL directions.

Which PD estimation method is most accurate?

In practice, no single method wins across all portfolios. Admittedly, gradient boosting delivers the strongest discrimination on large retail books with rich behavioural data, often 3 to 8 Gini points above a logistic scorecard.

However, rank ordering is not the only requirement. Equally, regulatory PD must stay interpretable, stable, and calibrated. On balance, logistic regression usually wins on that combined test. That is why it remains the industry standard for capital and ECL despite lower raw predictive power.

What is the difference between 12-month PD and lifetime PD?

A 12-month PD is the probability of default within one year from the reporting date. Notably, Basel capital and IFRS 9 Stage 1 assets both use it.

A lifetime PD is the cumulative probability of default over the remaining contractual life of the exposure. Conversely, Stage 2 and Stage 3 assets require it. Importantly, you cannot derive lifetime PD by scaling the 12-month figure, because default hazard varies with loan seasoning.

What is a good AUC or Gini for a PD model?

For application scorecards, an AUC between 0.70 and 0.80 is typical and acceptable. Equivalently, that corresponds to a Gini of 0.40 to 0.60. Behavioural models with repayment history routinely exceed 0.85.

However, an AUC above 0.95 usually signals target leakage, meaning a variable in the model encodes the outcome. Investigate before deployment rather than celebrating.

How often should a PD model be validated?

At minimum, annually. Specifically, validation should cover discrimination (AUC, Gini, KS), calibration (predicted versus observed default rates by grade), and stability (PSI on the score and on individual characteristics).

Additionally, more frequent monitoring is warranted after material changes to underwriting policy, product mix, or macroeconomic conditions. Under RBI’s ECL directions, model validation sits within a three-tier model risk management structure spanning business, risk, and audit functions.

 

Ready to Build These Skills Hands-On?

Understanding the theory behind PD, LGD, and EAD is the first step. Building bankable, interview-ready models — in Python or SAS, on real credit datasets, aligned to Basel and IFRS 9 — is what actually moves a career forward.

Explore Dexlab Analytics’ Credit Risk Modeling certification program to build PD, LGD, and EAD models from scratch, work through IFRS 9 ECL frameworks, and learn model validation techniques used by practicing risk teams.

 


.

August 6, 2026 3:25 pm Published by

, , , , , , , , , , , , , ,

Comments are closed here.

...

Call us to know more

×