← back

Term Deposit Redemption Modelling

How much of a fixed deposit book breaks early — and when
Anindya Kundu · a practical note

What it is

A term deposit has a contractual maturity, but customers can break it early by giving up some interest. A term-deposit redemption model (TDRR) estimates how much of each maturity bucket leaves before its contractual date, converts that into a lifetime redemption rate, and reshapes the cashflows for IRRBB. It is more involved than the NMD models because different maturities break for different reasons.

Why a bank needs it

If every deposit is assumed to run to maturity, the bank overstates how long its funding is locked in. When rates rise, depositors break low-rate deposits and re-book higher — funding shortens and gets dearer exactly when it hurts. For IRRBB and liquidity, the behavioural cashflows are what count.

The method — an eight-step pipeline

  1. Load two matrices. Outstanding balances and early redemptions, each 19 buckets by ~60 month-ends.
  2. Historical TDRR. For each bucket and month, redemptions during the month over the previous month-end's outstanding balance. Then a per-bucket mean and sample standard deviation.
  3. Outlier test. Flag any month above mean + 2×SD (upper tail only) and replace the spike with the mean, then recompute the mean on the cleaned series. Replacing rather than deleting keeps the full history — one company breaking a large deposit shouldn't distort the model.
  4. Group into short / medium / long. The nineteen buckets collapse into three tenor groups, each an average of its buckets.
  5. Load MEVs. Around nine macro variables, including house-price index and unemployment.
  6. Three log-linear regressions. One per group, of the form below. Log-linear keeps a redemption rate positive.
  7. Apportion back to buckets. Each group's forecast is spread across its buckets in proportion to each bucket's historical rate — buckets that broke more get a larger share.
  8. Lifetime conversion. The monthly rate is compounded over the deposit's life, applied to outstanding balances, giving early redemptions and the reshaped cashflow.
TDRR = EXP( a + b₁X₁ + b₂X₂ + … )  — log-linear, one per tenor group

Lifetime rate  =  1 − (1 − monthly rate)months
Early redemption  =  Outstanding × Lifetime rate
Bucketed cashflow  =  Outstanding − Early redemption

How it differs from the NMD models

 NMD (SA / CA)TDRR
Modelled quantitystable / core splitredemption rate
Regressionsonethree (short / medium / long)
Regression formlinear (SA) / log-linear (CA)log-linear
Outlier stepnonemean + 2×SD, replaced by mean
Regulatory capcore ≤ 90%none
Sums to 100%?yesno
Final outputbucket allocationlifetime redemption + cashflow

How I validate

Every step is tallied to the bank's workbook — the historical rate, the outlier replacement, the regression coefficients, the lifetime conversion — matching to several decimals. One practical note: workbook headers are often stale, and in one case a variable labelled as a repo change was, in the formula cell, actually unemployment — confirmed by the coefficient's sign matching the bank's own written intuition. The formula cells, not the labels, are authoritative, and the discrepancy is raised with the bank.

Implementation

As with the NMD models, the method is platform-independent — built in SAS here, portable to Python or R. The calibration and the judgement are what matter, not the language.

All figures are illustrative and show methodology only. This note does not reproduce any client's data, parameters, or code.