I am trying to approach the following problem: Imagine that I am a bank and I have a dataframe of transactions that customers make, the columns that this dataframe has are transaction date, customer id, transaction amount, industry of the company, originating bank, beneficiary bank, and direction of the transaction which is a binary variable that tells you inflow or outflow. Inflow means that the originating bank comes from an external bank other than mine, and outflow means the contrary, that the money goes from my bank to an external beneficiary bank. What I would want to do is to create a trigger when a company is going to outflow too much, maybe predict this with 1 month of anticipation. What features do you guys think I acquire and what ML model should I use, would you use a classification or an autoregressive one?
1 Answer
$\begingroup$
$\endgroup$
There are so many things to take into consideration but my answer will focus on some divergent thoughts to help you with your modeling.
1 - I would start by understanding the underlying distribution of the outflow transactions. It all depends on the data and what you can do with it !
- what is the distribution that "normal behaviors" usually follow ?
- what constitutes "too much outflow" - some domain knowledge would be very helpful here to guide your hypothesis construction.
- what do the clusters of outflow transactions and their originators (in this case customers) look like ? this can also help in classifying triggers afterwards, per cluster. Meaning identifying what "too much outflow" means for each cluster and identifying deviations in behaviors based on your clustering.
- Feature Engineering (and lots of experimentation) : some useful features might be source/destination, frequency, volumes - all per time windows. Also date and time features, such as holiday features, weekend vs workweek as examples.
2 - Research what's been done before !
- Lit review - What are the existing data analytics and machine learning techniques and algorithms that might help address this problem ? (for example: outlier detection, anomaly detection, propensity modeling, local outlier probabilities)
3 - Start simple and iterate !
- Start by building a simple explainable model to help you raise modeling questions and construct better hypotheses. Once you get a "feel" of your problem and its framing you can then start iterating and complexifying your setting little by little.
Hope this helps !