Probability of default (PD)

Survival, hazard, and macro-conditioned PD term structures

Build period-by-period risk while accounting for surviving accounts and changing conditions.

Visual summary of Survival, hazard, and macro-conditioned PD term structures: Build period-by-period risk while accounting for surviving accounts and changing conditions.
A visual overview of Build period-by-period risk while accounting for surviving accounts and changing conditions. See the guide for assumptions and implementation details.

Purpose

Introduce hazard-based methods for lifetime PD and explain where macro scenarios enter.

Hover over or focus a term for a quick definition, or open its glossary entry.

  • Lifetime PD
  • Prepayment
  • Censoring
  • Default

Key definitions

  • Survival is the probability of not yet defaulting by a time point.
  • A hazard is the conditional event probability or rate in a period among accounts surviving to its start.
Formula
Sₜ = Πₖ₌₁ᵗ(1 − hₖ); marginal default probability in t = Sₜ₋₁ × hₜ.

Worked example

For annual hazards 2%, 3%, and 4%, cumulative PD through year three is 1 − 0.98×0.97×0.96 ≈ 8.84%.

Detailed explanation

Survival methods use the timing of events rather than collapsing every exposure into a single binary label. The conditional hazard is evaluated among accounts still at risk at a period's start. Multiplying period survival probabilities creates a term structure; multiplying survival before a period by its hazard gives the unconditional marginal probability of default in that period.

Macroeconomic conditioning can vary hazards across scenarios or periods. Calibrate and validate those paths against observed outcomes and the intended accounting or risk use. Keep lifetime horizon, censoring, prepayment, and competing exit assumptions visible. A hazard model is not automatically more predictive than a simpler cohort method; its value is that it can use event timing when data and assumptions support it.

Try a reproducible Python example

These examples use synthetic inputs and run locally in a browser worker. Edit the code, run it, and compare its output with the published example.

Runnable Python · local in your browser

Convert a logistic model logit to PD

Apply the logistic function to an illustrative intercept plus two feature contributions.

Output

Run the code to see the output.

Runtime loads only after you press Run. Code runs in a separate browser worker with a 10-second limit and a 20,000-character output cap. Use synthetic examples only; browser execution is not a secure environment for secrets or sensitive records.

Runnable Python · local in your browser

Calculate year-by-year marginal and cumulative PD

Follow years 1–3 separately: conditional PD is the rate among survivors, marginal PD is the share of the original cohort defaulting in that year, and cumulative PD adds those marginal shares.

Output

Run the code to see the output.

Runtime loads only after you press Run. Code runs in a separate browser worker with a 10-second limit and a 20,000-character output cap. Use synthetic examples only; browser execution is not a secure environment for secrets or sensitive records.

Assumptions

  • Period boundaries and conditional versus marginal probability conventions are consistent.

Limitations

  • Hazards need careful treatment of censoring, competing risks, and portfolio changes.
  • Scenario-conditioned PD paths depend on model specification and macro assumptions.

References

Educational material only. Methods and examples are simplified; state and validate the assumptions required for your use case.

Survival, hazard, and macro-conditioned PD term structures | CreditRiskHub