How to calculate loan loss provisions from roll rates

You have just received the monthly loan status file, and the month-end close is waiting on your provision figures. The balances are sorted into delinquency buckets, with the current loans making up most of the book. On your screen, last quarter’s sheet multiplies roll rates across those buckets and sets out a coefficient beside each balance. It looks like a routine calculation, one the team has used before, but it turns a distribution of loans into a single figure finance can book. As you work through the cells, which assumption is doing the most work?

Set the delinquency buckets and states

Define the delinquency buckets before calculating a coefficient. Each loan needs a state for this month and a state for next month, such as current, 1–30 days past due, 31–60, 61–90, 90+ and closed.

Keep 90+ as default and closed as a separate state. Both are absorbing states: once a loan reaches either one, it remains there. The book is generated for this article, not taken from a lender’s data. It consists of instalment loans of 2,000 to 8,000 euro over 24 months, with 1,500 booked every month. Provisions are measured at one month-end, with the matrix counted from the twelve moves before it.

Roll-rate diagram: Current through 90+ and Closed, with forward, cure and absorbing-state percentages for each bucket

Build the transition matrix from the monthly status file

Count every loan-month by its starting bucket and next-month bucket to build the transition matrix. Divide each destination count by the total loan-months in its starting bucket, so each row sums to 100%.

For example, 2,505 of the 3,880 loan-months in 31–60 moved to 61–90: 2,505 ÷ 3,880 = 64.6%. The other destinations matter too.

Bar chart of 3,880 loan-months starting in 31–60, with 64.6% moving to 61–90 and other outcomes shown
One row of the matrix: where the loans in 31-60 days past due were the next month

The completed matrix includes stays, closures, forward rolls and cures back to current. A cure rate is the share of delinquent loans that return to current.

This monthCurrent1-3031-6061-9090+Closed
Current93.7%1.8%0004.5%
1-3045.1%12.5%41.3%001.1%
31-6012.6%7.9%14.4%64.6%00.6%
61-905.8%1.9%4.2%17.2%70.5%0.4%
90+0000100%0
Closed00000100%

Compare the roll chain with what the loans did

The roll chain multiplies the forward roll rates from a bucket up to default. It is a quick coefficient, and it uses the matrix’s forward rolls.

BucketCalculationCoefficient
61-9070.5%70.5%
31-6064.6% × 70.5%45.5%
1-3041.3% × 64.6% × 70.5%18.8%
Current1.8% × 41.3% × 64.6% × 70.5%0.34%

But the chain counts only the path where a loan rolls forward every month. The demo book yielded a chain estimate of 18.8% for 1–30, against a twelve-month actual default rate of 35.3%. For current loans, the chain gave 0.34%, against 4.4% actual.

Bar chart compares roll chain, 12-month matrix, and actual 90+ rates across Current, 1–30, 31–60, and 61–90 buckets
Against what the month-end loans did within a year, the matrix run forward was close and the roll chain fell short

The difference matters most in the current bucket, which holds most of the book. The roll-chain provision was 2,006,000 euro, or 2.4% of the book, against 4,371,000 euro, or 5.1%, from the matrix at twelve months.

The same matrix, run forward for twelve months, produced a total provision of 4,371,000 euro. The comparison uses the demo book to show what the chain leaves out.

Run the Markov chain forward

A Markov chain uses the whole transition matrix, so it carries stays, cures and later rolls into the probability of reaching default. Multiply the matrix by itself once for each month of the horizon, then read the 90+ column for each starting bucket.

Chart of forward default probabilities by starting bucket, with the 12-month horizon marked and roll-chain points shown
The matrix run forward month by month: the roll chain is where each line stands after its shortest path

At the shortest path to 90+, the matrix gives the same result as the roll chain. Each additional month adds loans that stayed in place, cured and later rolled forward. The roll chain is the matrix stopped early.

Decisimo decision engine

Put these checks into a decision flow

Create rules for credit, fraud or collections, then run them on live decisions.

Choose a 12-month or lifetime probability

Choose the horizon according to the applicable credit-risk stage. IFRS 9 pairs 12-month expected credit losses with credit risk that remains within the significant-increase threshold since initial recognition, and lifetime expected credit losses with a significant increase in credit risk. More than 30 days past due creates a rebuttable presumption of a significant increase in credit risk. The expected-credit-loss calculation depends on that horizon.

For lifetime risk, the absorbing-chain calculation estimates the probability of ending in 90+ rather than closed. The matrix treats every current loan as if it had the same remaining life. It does not know that a loan ends with its last instalment, which is why its lifetime figure for current loans overshot. In the demo, the lifetime estimate for current loans was 11.7%, while 7.2% actually reached default before closing.

Backtest each coefficient against actual outcomes

Check each selected coefficient against the loans that were in the same bucket a year earlier and what happened to them over the following twelve months. The demo’s matrix results were within about two percentage points of actual in every bucket, while the roll chain fell short.

Assess a lifetime estimate against actual outcomes and the loan’s remaining term before relying on it. The current-bucket result in the demo overshot actual outcomes because the matrix horizon exceeded some loans’ remaining terms.

Use the backtest to decide whether the horizon and the matrix are reasonable for your own book. The example compares the methods, and your own lender data provides the benchmark.

Apply the probability, LGD and balance

For each open bucket, calculate provision as balance × probability of default × loss given default (LGD). The probability comes from the matrix at the selected horizon, and LGD comes from the lender’s recovery experience. In the demo, LGD is assumed to be 65% for every bucket.

For 1–30 in the demo: €1,794,000 × 35.5% × 65% = €414,000. Loans already in 90+ are in default, so use the LGD against their balance.

The provision rate per bucket is probability of default multiplied by LGD. The expected-loss formula expresses the same relationship as probability of default × LGD × exposure.

Loan status data flows through a transition matrix and default coefficients to bucket provisions, including €414,000 for 1–30
BucketBalance, euroCoefficient× LGDProvision, euroProvision rate
Current80,026,0004.05%65%2,107,0002.6%
1-301,794,00035.5%65%414,00023.1%
31-60914,00071.5%65%425,00046.5%
61-90676,00089.8%65%395,00058.4%
90+1,584,000100%65%1,030,00065.0%
Total84,994,0004,371,0005.1%

The matrix-based twelve-month total in the demo was 4,371,000 euro. The current bucket holds 94.2% of the balance, so its coefficient has a large effect on the total.

Provision chart: roll chain €2.006m, 12-month matrix €4.371m, lifetime methods €4.389m and €8.431m
The same book, the same LGD: the total provision by the coefficients behind it

Add discounting and a forward-looking economic adjustment to this worked provision. IFRS 9’s measurement requirements include the time value of money and reasonable, supportable information about forecasts, so the booked figure needs those considerations too. Compare the total with the book using the provision-coverage calculation.

Replace the month-end sheet with a checked calculation

Return to the month-end sheet and replace the unexplained roll-chain coefficient with a calculation you can reproduce from your own status file. The demo highlights the current-bucket assumption, and its figures illustrate the calculation rather than estimate a lender’s provisions.

  1. Set the days-past-due buckets, with 90+ as default and closed as its own state.
  2. Count each loan-month by its bucket this month and its bucket next month.
  3. Divide each destination count by its starting bucket’s total to build the transition matrix.
  4. Read the forward rolls, cures and stays from the matrix.
  5. Run the matrix forward month by month and take the 90+ probability for each starting bucket.
  6. Choose a 12-month or lifetime horizon for each bucket, accounting for remaining term.
  7. Check each coefficient against the outcomes for loans in that bucket a year earlier.
  8. Multiply each bucket’s balance by its coefficient and LGD, using LGD alone for 90+.

Questions about provisions from roll rates

How do you calculate loan loss provisions from roll rates?

Run the transition matrix forward to estimate each bucket’s probability of reaching default over its selected horizon, then multiply that probability by the bucket balance and LGD. Check the result against actual outcomes for your own loans.

What is a provisioning coefficient?

It is the rate applied to a bucket’s balance. In a provision matrix, that rate is the probability of default multiplied by LGD. Keep it distinct from the probability of default alone, which is the coefficient used in the worked calculation before applying LGD.

How do you build a transition matrix from loan data?

Count loan-months by starting bucket and next-month bucket, then divide each destination count by the total for the starting bucket. Confirm that every row sums to 100%.

How is a Markov chain used to calculate provisions?

Multiply the monthly transition matrix by itself for the number of months in the chosen horizon, then read each starting bucket’s probability of reaching 90+. Select the horizon for each bucket and backtest the result.

Why does multiplying roll rates give a lower provision?

It counts only loans that roll forward every month. The matrix also includes loans that stay, cure and roll later, so it can count more loans that reach default. Compare both calculations with actual outcomes before using a coefficient.

Should a delinquency bucket use a 12-month or a lifetime probability of default?

Use the horizon that applies to the instrument’s credit-risk stage. For lifetime risk, account for the loan’s remaining term because an uncapped matrix does not know when the loan ends.

Which LGD goes into the provision per bucket?

Use the lender’s LGD estimate based on recoveries for the relevant exposure. The demo’s 65% LGD is an assumption for its book, not a lender’s estimate.

Decisimo decision engine

Put these checks into a decision flow

Create rules for credit, fraud or collections, then run them on live decisions.