0
$\begingroup$

I have clients who take loans (Advances) weekly. The way that they repay the advance is after 3 weeks when their goods are sold, using the sales proceeds of the goods. But if the goods don't sell for the estimated amount these clients may have arrears, but still in the next week they can take a loan. These Advances are given after the client gives the stock to us. However, due to the arrears, the client can be over-advanced. That means we give the advance against the stock. (The client has debts more than the stock we have at our warehouse).

For my project, I need the asses the risk of giving advances? Can you suggest a way to assess the risk. In my dataset no measurement directly assesses the risk.

After that, I need to forecast the risk of each client separately for the upcoming 4 weeks. I have more than 75 clients is there an easy way to forecast the risk without building separate models for each client?

I'll give the variable names of the data that I have. I think it will help to get a clearer idea:

( Sale Date | Total stock | Factory Code | Stock Value | Arrears | Advance Given | Is over Advance | Over Advance amount )

$\endgroup$
1
  • $\begingroup$ Certainly it is alright to ask on the forum as there are many credit risk experts, but there are also a plethora of retail credit risk models out there in many well known text books. Perhaps start there instead? $\endgroup$
    – KaiSqDist
    Commented Jan 21 at 12:30

1 Answer 1

0
$\begingroup$

I think there are many ways you could do this! It will depend on what tools and skills you already have in the bag, and maybe areas of knowledge such as risk assessment (like KaiSqDist suggested).

First, think about it conceptually. What do you want to create? (model? Formula? Metric?) Do you want to use existing systems, or do you want to create your own? What factors contribute to creating such a model? Look at existing models or use your data to construct scores/metrics to the best of your ability.

If you are more familiar with code, use python/R and libraries to help. Use existing risk-models, open-sourced on huggingface or on GitHub.

In any case, get as MUCH data as you can about these clients. See if there is more history, or maybe even other datasheets or even client info.

Then see if this is something you can integrate into the risk model as a variable. (age, married, company age, has_children, ...)

For some more concrete steps:

Design your pipeline. EG, define a risk measurement variable. This could be a score that quantifies the likelihood of a client defaulting or being unable to repay the advance. You could get there in steps by creating intermediary variables to then calculate a score. This score can then also be discretized into 'low' / 'medium' / 'high' risk, as categories for instance.

Random Forest Regressor or a Gradient Boosting Machine (GBM), amongst other models, and many forms of neural networks could have some awesome results, but could require more work. But it is a natural step to advance to if you have the skills.

It also aligns with my other suggestions which can be generally seen as the 'machine learning steps': data processing, feature engineering, model selection/training, prediction.

I recommend for you to research what exists and if you go the custom route then try to design a pipeline from data to 'what do i want to see or know'. Then use the output of this pipeline as actionable insights.

For the ML route, options are infinite. I named a few ideas to handle the problem directly, but it's all about how you frame the problem!

  • you could do clustering (without labels) to identify different kinds over customers (EG: risky, ok, safe customers).

  • Or you could create labels over the timeseries, showing the 'anomaly' points you want to avoid. Use future look-ahead to label points of
    interest. You should put careful thought in to how you design these
    and if the labels can be found through the data. EG:
    'Defaults_within_6mo', 'Defaults_within_3mo', 'repay_early',
    'we_should_call_him', then use the labels to train.

  • Training can be done with SKlearn or with ML libraries like pytorch/tensorflow/keras. (youtube, github and huggingface for existing models).

But yeah as you can see there are so many ways to do what you want. Testing and literature will show you want might work for your case. search a bit to know what to test, and test a bit to know what to search.

Good luck and let me know if you have more questions!

$\endgroup$
2
  • 1
    $\begingroup$ What prompt did you use? :) $\endgroup$ Commented Jan 23 at 0:05
  • $\begingroup$ I wrote it mate $\endgroup$
    – Iloos
    Commented Jan 23 at 10:31

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