I am working to create a Risk score on a data where I have variables - Invested_amount, Profit Amount, Age of Account in days, Total Trading Transactions,Profit per Transaction & Investment per transaction. Basically I want to derive a method to calculate the Risk score , where a person profit is more (most of the time he is wining) . Here the score should be higher, so that I can classify them as High Risk (Mostly wins and create a big profit), medium Risk and low Risk customers (Always makes Loss).

Basically my problem is to assign a Risk score to each customer, the higher the score more the customer is Risky. Once this score is derived then using this score we will segment the customers in three class.

Below are the variables currently I am using…

|Variable|               Definition|
|username|               UserId to identify the records|
|Total_Freq_transaction| Total Number of trades done|
|Total_Freq_win|         Total number of trade won|
|Account_age_days|       Account activated date - Last trade date |
|Invest_Amount|          Total Amount invested in trade|
|total_profit|           Profit made on trade (pay out amount - Investment Amount)|
|Trade_per_day|          Total Number of trades done / Account age|
|Win_prob%|              Wining probability from total number of trades|

Any help would be greatly appreciated.

| improve this question | | | | |

There are traditional ways of creating a risk scorecard using linear regression techniques. It's a whole topic in itself. A good book for beginners to read in-depth about it would be this.

For sure, you can also tackle it as three-class classification problem if you have labelled data for that. Or consider it as binary classification problem and create three buckets out of class probability output by the classifier.

| improve this answer | | | | |
  • $\begingroup$ Thanks for the suggestion. Basically my idea is to first create a Riskscore and then segment using those scores. The high the risk score the more risky the customer. $\endgroup$ – jaiprakash prajapati May 2 '18 at 8:18
  • $\begingroup$ Do you have labels? If yes, treat it as a classification problem as suggested. $\endgroup$ – Santoshi M May 3 '18 at 14:06
  • $\begingroup$ No , we do not have labels $\endgroup$ – jaiprakash prajapati May 4 '18 at 14:35

Since your winning_probability (Win_prob%) is a continuous numeric outcome variable, it is a supervised learning regression problem. For this there are many methods, both linear and non-linear (especially see scikit-learn: http://scikit-learn.org/stable/supervised_learning.html ). Which of these algorithm is best for you depends on your data. It is likely that you need to try multiple algorithms and see which one gives best results. Cross-validation ( http://scikit-learn.org/stable/modules/cross_validation.html ) is likely to be best way to determine this.

You may also try neural networks using other libraries, e.g. https://www.tensorflow.org/tutorials/keras/basic_regression or https://www.kaggle.com/xgdbigdata/keras-regression-tutorial# .

Once you have predicted winning_probability, it can be segmented into low, medium and high risk using any chosen criteria.

Hope this helps.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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