Lesson 2.4: Delinquency buckets, NPAs and portfolio KPIs
Learn the buckets, ratios and flows lenders report monthly: SMA stages, gross and net NPA, provision coverage, slippage, credit cost and collections.
By the end of this lesson you will be able to read and compute the standard portfolio measures that a lender reports every month: the distribution of loans across delinquency buckets, the early-stress categories SMA-0, SMA-1 and SMA-2, the gross and net non-performing asset ratios, the provision coverage ratio, slippage, credit cost and collection efficiency. You will see why the same portfolio can show different numbers depending on whether you count loans or rupees, what the denominator is, and how stock measures differ from flow measures. You should have read Lessons 1.2 and 1.4, which introduced days past due, buckets and the default definition. The arithmetic is percentages and ratios, and each formula is worked on one small book.
Lessons 2.1 to 2.3 looked at loans one at a time, as rows in a modelling table. A risk head, a board or a regulator looks at the whole book, and it speaks in a different language of ratios and buckets. The same data feeds both views, and a credit analyst needs to move between them. Every number in this lesson is built from the monthly snapshot of Lesson 1.2: a row per loan with its balance and days past due.
The delinquency buckets
Days past due, grouped into ranges, give the buckets. In India, the regulator's early-stress categories for loans that are overdue but not yet non-performing are called special mention accounts, or SMA. They are a common language across banks and non-bank lenders.
Bucket · Days past due · StatusCurrent · 0 · Performing, nothing overdue
SMA-0 · 1 to 30 · Performing, early stress
SMA-1 · 31 to 60 · Performing, rising stress
SMA-2 · 61 to 90 · Performing, heavy stress
NPA · More than 90 · Non-performing
A loan stays "performing" until it crosses 90 days past due. Before that point it may be late, but it is not classed as a non-performing asset, or NPA. The SMA categories exist so that stress is visible before it becomes a default, which makes them a natural early warning measure, a theme Module 9 develops in full. Lenders also use finer buckets internally, such as 1 to 15 and 16 to 30.
Take an illustrative lender with a loan book of ₹5,000 crore at a month-end snapshot. The balances by bucket are as follows.
The first check is that the buckets add to the total: 4,520 + 190 + 90 + 50 + 150 = 5,000. Then compute shares of the book. SMA-0 is 190 ÷ 5,000 = 3.8 per cent. SMA-1 is 1.8 per cent and SMA-2 is 1.0 per cent. Together SMA-1 and SMA-2, the "late but not yet NPA" group of 31 to 90 days, are 140 ÷ 5,000 = 2.8 per cent. NPAs are 150 ÷ 5,000 = 3.0 per cent. For context, CRISIL reports that loans overdue by 1 to 60 days, the SMA-1 and SMA-2 groups, are only about 2 to 2.2 per cent of the Indian banking system, and a senior official cited a gross NPA ratio of 1.8 per cent for scheduled commercial banks in March, as Business Standard reported on 27 October 2026. This illustrative lender is therefore weaker than the system average, with more stress at each stage.
Counting loans or counting rupees
Every bucket can be measured in two ways. A count basis divides the number of loans in the bucket by all loans. A balance basis divides the outstanding amount in the bucket by the whole book. Regulators and banks usually report on a balance basis, and microfinance lenders often use a count basis as well. The two differ whenever delinquent loans are larger or smaller than average.
Suppose 4 per cent of loans, by count, are more than 30 days past due, and these loans have 1.5 times the average balance. Then the share of balance in that bucket is 4 × 1.5 ÷ (4 × 1.5 + 96 × 1) = 6 ÷ 102 = 5.9 per cent. The balance basis shows more risk than the count basis because the delinquent loans are bigger.
Neither basis is better. Count tells you how many customers are in trouble, which drives the workload of the collections team. Balance tells you how much money is at risk, which drives provisions and capital. A good report gives both.
The NPA measures
A loan that is more than 90 days past due is a non-performing asset. The portfolio-level measures built from it are the ones most often quoted in the news and by rating agencies.
Gross NPA (GNPA). The total balance of loans that are NPAs. The GNPA ratio divides it by the gross loan book. In our example, 150 ÷ 5,000 = 3.0 per cent.
Provisions. The amount the lender has set aside against those NPAs. Suppose ₹90 crore.
Net NPA (NNPA). Gross NPA minus the provisions held against it: 150 − 90 = ₹60 crore. The NNPA ratio divides it by the net loan book, which is the gross book minus those provisions: 60 ÷ (5,000 − 90) = 60 ÷ 4,910 = 1.22 per cent.
Provision coverage ratio (PCR). Provisions divided by gross NPA: 90 ÷ 150 = 60 per cent. It shows how much of the bad loans is already covered by money set aside.
Predict first: if the lender raised its provisions on NPAs from ₹90 crore to ₹120 crore without any change in the loans, what would happen to GNPA, NNPA and PCR? Think through each before you read on.
GNPA would not change, because it depends only on the balances of NPAs, not on provisions: still 3.0 per cent. NNPA would fall: 150 − 120 = ₹30 crore, divided by 5,000 − 120 = 4,880, or 0.61 per cent. PCR would rise to 120 ÷ 150 = 80 per cent. This is why analysts look at all three together. A low NNPA ratio can mean the loans are good, or it can mean the lender has provided heavily. For context, CRISIL reports that provisioning on non-performing assets in the Indian banking system is about 76 per cent today, which is the sort of coverage to compare against. A lender with a PCR of 60 per cent is below that.
Flows: slippage, upgrades, recoveries and write-offs
The NPA ratios above are stocks: they describe the book on one date. To understand why they move, you need the flows between two dates. In a quarter, the gross NPA balance changes for four reasons.
Slippage. Standard loans that crossed 90 days past due and became NPAs. They add to GNPA.
Upgrades. NPAs that were brought back to performing by paying their arrears. They reduce GNPA.
Recoveries. Cash collected from NPAs, or from selling assets pledged as security. They reduce GNPA.
Write-offs. Loans removed from the books, usually after provisions are fully made. They reduce GNPA, but the loss is real.
The equation is: closing GNPA = opening GNPA + slippage − upgrades and recoveries − write-offs. With opening GNPA of ₹140 crore, slippage of ₹40 crore, upgrades and recoveries of ₹20 crore and write-offs of ₹10 crore, the closing GNPA is 140 + 40 − 20 − 10 = ₹150 crore, matching the snapshot.
The slippage ratio is slippage divided by the opening standard assets. Here the opening standard book is ₹4,860 crore (₹5,000 crore minus the ₹140 crore of opening NPA, treating the whole rest as standard), so slippage is 40 ÷ 4,860 = 0.82 per cent for the quarter, or about 3.3 per cent if it continued at that pace for a year. Slippage is the most responsive measure of new stress, because it counts only loans that newly went bad.
Why the flows matter: a falling GNPA ratio can reflect good news, with few slippages and strong recoveries, or it can reflect large write-offs that remove bad loans from the book. Two lenders with identical GNPA ratios can have very different quality. A careful analyst looks at GNPA plus write-offs, or at slippage, and does not take a falling ratio at face value.
The KPI calculator
All of these can be computed from five numbers. Try them with your own lender.
Set provisions to ₹120 crore and watch net NPA fall to 0.61 per cent and coverage reach 80 per cent, with no change in the loans. Set gross NPA to ₹300 crore with provisions unchanged, and the gross ratio doubles to 6 per cent while coverage falls to 30 per cent. The ratios tell a fuller story together than any one alone.
Credit cost and collection efficiency
Two more measures connect the portfolio to the profit and loss account and to the collections team.
Credit cost is the amount charged to profit for credit losses in a period, divided by the average loan book, usually annualised. It includes provisions made and loans written off. If the lender charges ₹85 crore in a year on an average book of ₹4,800 crore, the credit cost is 85 ÷ 4,800 = 1.77 per cent. This is the number to put beside the pricing logic of Lesson 1.1. A lender that earns a net interest margin of 6 per cent and spends 2 per cent on operations has only a modest profit once a credit cost of 1.77 per cent is paid. If credit cost doubles in a downturn, profit nearly vanishes.
Collection efficiency is the amount collected divided by the amount due in the period. If instalments due this month are ₹420 crore and collections are ₹395 crore, the efficiency is 395 ÷ 420 = 94.0 per cent. It is a fast, monthly signal, because it moves before NPAs do. Beware a common flaw: some definitions count collections of arrears from earlier months in the numerator, which can push efficiency above 100 per cent and hide current stress. Check whether the measure counts only current-month dues.
For small-ticket and microfinance lending, the commonly used measure is portfolio at risk, or PAR. PAR30 is the outstanding balance of loans with any payment more than 30 days overdue, divided by the total outstanding balance. PAR90 uses 90 days. Note that PAR counts the whole outstanding balance of the loan, not just the overdue instalment, which makes it a more conservative measure than a ratio of overdue amounts.
Building the report in Python
A monthly dashboard of buckets and ratios takes a few lines from the snapshot table of Lesson 1.2.
python
import pandas as pd
snap = pd.readcsv("snapshot202610.csv") # loanid, balance, dpd
bins = [-1, 0, 30, 60, 90, 100000]
labels = ["Current", "SMA-0", "SMA-1", "SMA-2", "NPA"]
snap["bucket"] = pd.cut(snap["dpd"], bins, labels=labels)
bybucket = snap.groupby("bucket", observed=True).agg(
loans=("loanid", "count"), balance=("balance", "sum"))
bybucket["shareloans"] = bybucket["loans"] / bybucket["loans"].sum() 100
bybucket["sharebalance"] = bybucket["balance"] / bybucket["balance"].sum() 100
print(bybucket.round(2))
gnpa = bybucket.loc["NPA", "balance"]
print("GNPA ratio %", round(gnpa / snap["balance"].sum() 100, 2))
Show both shares in the output so the count and balance bases sit side by side. Then add a second snapshot from the previous month and merge on the loan id to count how many loans moved between buckets. That table of movements is the roll rate analysis that Module 3 develops.
A worked example: two lenders with the same ratio
Two lenders each report a gross NPA ratio of 3.0 per cent on a book of ₹5,000 crore, so each has ₹150 crore of gross NPA. A reader who stops there would call them equal. Add the flows and the story changes.
Measure · Lender A · Lender BGross NPA · ₹150 crore · ₹150 crore
Write-offs in the year · ₹20 crore · ₹120 crore
Gross NPA plus write-offs · ₹170 crore · ₹270 crore
As a share of the book · 3.4% · 5.4%
Provisions against NPAs · ₹90 crore · ₹45 crore
Provision coverage ratio · 60% · 30%
Slippage in the year · ₹45 crore · ₹150 crore
Lender B cleared ₹120 crore of bad loans through write-offs during the year, so its 3.0 per cent understates the stress it actually went through. Adding the write-offs back gives 5.4 per cent against 3.4 per cent for Lender A. Lender B also provides only 30 per cent against its NPAs, against 60 per cent for A, so a larger part of its bad loans could still turn into losses, and its slippage of ₹150 crore, more than three times A's, shows new stress arriving fast. Same headline, very different risk. This is the habit to build: never accept a single ratio, always ask for the flows, the coverage and the write-offs behind it.
Reading the numbers: three traps
The denominator. A GNPA ratio of 3.0 per cent on a book of ₹5,000 crore becomes 3.9 per cent if the book shrinks to ₹3,850 crore with the same NPAs. A ratio can worsen simply because the lender lent less. Growth flatters the ratio too, since new loans are performing, and a fast-growing lender can hide stress until its growth slows. This is why analysts look at the stress in seasoned loans, those that have had time to go bad, a point Module 4 develops with vintages.
Write-offs and restructuring. A lender can lower GNPA by writing off bad loans or by restructuring them so they restart as standard. Both are legitimate in the right circumstances, and both can flatter the ratio. Look at the write-off rate and the share of restructured loans alongside it.
Averages across products. A book mixing secured and unsecured loans, or small and large loans, has an overall ratio that hides the differences. Split the buckets by product, channel and region, as the bivariate analysis of Lesson 2.3 would, to see where stress sits.
Common mistakes
Mixing count and balance bases. State which one you use, and give both when you can.
Quoting only GNPA. Read it with net NPA, coverage and slippage. Provisions and write-offs change the picture.
Forgetting the denominator. A ratio moves when the book grows or shrinks. Look at the numbers behind it.
Treating a falling GNPA as good news without checking write-offs. Add back write-offs to see underlying stress.
Using a collection efficiency that includes arrears. It can exceed 100 per cent and hide current stress.
Comparing lenders without matching definitions. Days-past-due counting, restructured loan treatment and write-off policy differ.
Ignoring SMA buckets. They show stress before it becomes an NPA, and are the earliest simple warning.
Key takeaways
Days past due are grouped into buckets: current, SMA-0 (1 to 30), SMA-1 (31 to 60), SMA-2 (61 to 90) and NPA (more than 90). The SMA buckets show stress before default.
Every bucket can be measured by count or by balance. Delinquent loans bigger than average make the balance share higher.
Gross NPA is the balance of non-performing loans. Net NPA subtracts provisions, and the provision coverage ratio is provisions divided by gross NPA. Read the three together.
Closing gross NPA equals opening plus slippage, less upgrades and recoveries, less write-offs. Slippage is the most responsive measure of new stress.
Credit cost is the charge to profit for credit losses divided by the average book, and collection efficiency is collections divided by dues. Portfolio at risk is the common measure in small-ticket lending.
Watch denominators, write-offs and restructuring, and split every ratio by product and channel.
Check yourself
1. A book of ₹2,000 crore has SMA-1 of ₹30 crore, SMA-2 of ₹20 crore and NPA of ₹60 crore. What are the SMA-1 plus SMA-2 share and the gross NPA ratio?
SMA-1 plus SMA-2 is 50 ÷ 2,000 = 2.5 per cent. Gross NPA is 60 ÷ 2,000 = 3.0 per cent.
2. Gross NPA is ₹60 crore and provisions are ₹36 crore. What is the provision coverage ratio?
36 ÷ 60 = 60 per cent.
3. Opening gross NPA is ₹100 crore, slippage ₹30 crore, upgrades and recoveries ₹12 crore and write-offs ₹8 crore. What is the closing gross NPA?
100 + 30 − 12 − 8 = ₹110 crore.
4. Why can a lender's gross NPA ratio fall even though more borrowers are defaulting?
Large write-offs remove bad loans from the book, or rapid growth in new performing loans enlarges the denominator. The flows and the book size reveal the truth.
5. Instalments due are ₹250 crore and collections of the current dues are ₹230 crore. What is the collection efficiency?
230 ÷ 250 = 92 per cent.
Try this
Build a small monthly report for a made-up or open-data loan portfolio. Set aside forty to forty-five minutes.
1. Create a snapshot table of at least 40 loans with a balance and days past due. Include some current, some late and a few over 90 days.
2. Group them into the five buckets. Compute loans and balance in each, and the shares on both bases. Check that the buckets add up.
3. Compute the gross NPA ratio. Invent provisions on the NPAs and compute net NPA and the provision coverage ratio.
4. Make a second snapshot for the previous month, with a few loans in different buckets. Work out slippage, upgrades and the closing gross NPA from the movement equation.
5. Compute credit cost from invented figures for provisions and write-offs, and compute a collection efficiency that counts only current dues.
6. Use the KPI simulator and the count-versus-balance simulator with your own figures. Note one number that would change your reading of the portfolio.
7. Write a four-sentence summary for a risk committee: where stress sits, which ratio worries you most, what the flows say and what you would check next.
A good result is a one-page report with five buckets, three NPA ratios and one flow table, each number traceable to the snapshot. With Module 2 complete, you can now build a modelling dataset, profile its variables, relate them to default and read the portfolio. Module 3 uses the same snapshots to measure loss and to follow loans as they roll from one bucket to the next.
Tags: Credit Risk Analytics NPA SMA Portfolio KPIs Delinquency