Learn / Basics
What is DPD (days past due) and how to calculate it
DPD stands for days past due. It is the number of days a borrower is behind on a payment. Almost every credit-risk number starts here: buckets, roll rates, NPA and provisions. If DPD is wrong, everything built on it is wrong.
The rule in one line
DPD on a date = that date minus the due date of the oldest unpaid instalment. If nothing is overdue, DPD is 0.
Two words matter in that rule: oldest and unpaid. A borrower with three missed instalments is not 'one instalment late'. The clock runs from the first one that is still open.
Worked example
| Instalment due 5 Jan | Not paid |
| Instalment due 5 Feb | Not paid |
| Instalment due 5 Mar | Not paid |
| As-of date | 10 Mar |
| Oldest unpaid due date | 5 Jan |
| DPD | 64 days (59 days from 5 Jan to 5 Mar, plus 5) |
If the borrower now pays only the 5 Jan instalment, the oldest unpaid due date moves to 5 Feb. DPD on 10 Mar falls to 33. The loan did not become less risky in one day, but the rule says DPD is 33.
Where DPD goes wrong
- Counting from the latest due date instead of the oldest unpaid one.
- Ignoring part payments. Decide how a payment is applied (oldest instalment first, or interest first) and write it down.
- Mixing as-of dates. DPD for one loan on the 31st and another on the 5th cannot be compared.
- Letting DPD go negative when a payment arrives before the due date. Floor it at 0.
- Joining the schedule table to the payment table so that one loan appears many times.
What to do with DPD once you have it
Tag each loan into a bucket (see the buckets guide), then count loans or sum outstanding balance by bucket. Do this on the same as-of date every month so months can be compared.
Quick checks before you trust your DPD
- Loan count after the query equals the loan count in the loan master.
- No negative DPD anywhere.
- Pick ten loans and work out DPD by hand from their schedule and payments.
- Total of all buckets equals the active book.
Try it on your own tables
The free tools give you the prompt, the checks and how to present the result. You enter table names only.
See the free toolsFrequently asked questions
What does DPD mean in lending?
DPD means days past due. It is the number of days since the oldest unpaid instalment fell due. A loan with nothing overdue has DPD 0.
How is DPD different from NPA?
DPD is a count of days. NPA is a classification. Under the RBI norms for term loans, a loan is classified NPA when it is overdue for more than 90 days. Check the current RBI circular for the exact rule that applies to your product.
Is DPD calculated on a loan or on a customer?
It depends on your policy. Many lenders calculate it per loan. Some classify at customer level. Fix the choice in your definition sheet and use it everywhere.
Keep reading
Delinquency buckets: 1-30, 31-60, 61-90 and 90+ explained
What delinquency buckets are, how DPD maps to them, how they link to RBI's SMA categories and Ind AS 109 stages, and how to report them.
Using AIHow to check AI-written credit-risk SQL before you trust it
AI tools write SQL that runs but may be wrong. Ten checks to run on any credit-risk query: row counts, duplicates, DPD edges, bucket totals and a hand trace.