So I have an interesting problem that I'm working on. I have a dataset of customers from a bank for car loans. For each customer, I also have their associated payment information including repayment amounts, days past due and payment channel (cash, bank transfer etc.) and the type of car. (brand, manufacturing year, new or used etc.)

The bank classifies a loan as NPL (non performing loan) if the customer misses payments 3 times in a row. So I would like to compute the probability that one particular customer misses 1 repayment (30days) 2 repayments in a row (60 days) and 3 repayments in a row (NPL, 90 days)

My first thought was that this is a classification problem, but for each customer I would have to compute 3 probabilities as well as the confidence levels of each probability computed, and I'm not sure how to approach this compute the probabilities involved.

Another approach would be to treat the problem as a time series problem where the y axis would be number of days past due on the loan and I could predict up to 3 time steps ahead (where 1 time step is 30 days) if the days past due would reach 30, 60 and 90 days respectively.

Naturally, the model(s) trained would have to be retrained at least once a month to incorporate new payment records.

Any thoughts on general ideas of how to approach the problem would be greatly appreciated.


1 Answer 1


If the bank really is concerned with NPL status and not gradations of it, then I think your initial instinct to treat this as a classification problem is a sound one. If you go that route, you don't need to compute probabilities of missing first or second payments. Instead, you can use information about number of consecutive payments missed as another feature in your model, along with things like total number of missed payments since loan initiation, repayment amounts, and so on. I would be inclined to treat that feature as categorical rather than scalar, however, so you consider interaction effects with other covariates (e.g., maybe a cash payment means something different when you've already missed one payment than when you haven't missed any). You'll also want to use an approach that lets you group the data by customer/loan, e.g., a mixed-effects model or conditional logistic regression.

Survival analysis is another solid option. Here, you would probably treat months since loan initiation as your primary "clock," NPL status as your failure event, and successful repayment of the entire loan as right censoring. Features like the repayment amount and make of the car would be included as initial conditions, and prior consecutive missed payments could be incorporated as time-varying covariates--or, maybe better, strata across which the shape of the hazard function and the effects of other covariates could vary as well. This approach naturally handles the grouping and sequencing of your observations, which is a big plus, and it can also be used to generate predictions in the form of expected time to failure (NPL status).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.