  Gaining the trust and confidence of customers is the essence of the growth
and success of financial institutions and organizations. Of late, the financial
industry is significantly impacted by numerous instances of fraudulent
activities. Further, owing to the generation of large voluminous datasets, it
is highly essential that underlying framework is scalable and meet real time
needs. To address this issue, in the study, we proposed ATM fraud detection in
static and streaming contexts respectively. In the static context, we
investigated a parallel and scalable machine learning algorithms for ATM fraud
detection that is built on Spark and trained with a variety of machine learning
(ML) models including Naive Bayes (NB), Logistic Regression (LR), Support
Vector Machine (SVM), Decision Tree (DT), Random Forest (RF), Gradient Boosting
Tree (GBT), and Multi-layer perceptron (MLP). We also employed several
balancing techniques like Synthetic Minority Oversampling Technique (SMOTE) and
its variants, Generative Adversarial Networks (GAN), to address the rarity in
the dataset. In addition, we proposed a streaming based ATM fraud detection in
the streaming context. Our sliding window based method collects ATM
transactions that are performed within a specified time interval and then
utilizes to train several ML models, including NB, RF, DT, and K-Nearest
Neighbour (KNN). We selected these models based on their less model complexity
and quicker response time. In both contexts, RF turned out to be the best
model. RF obtained the best mean AUC of 0.975 in the static context and mean
AUC of 0.910 in the streaming context. RF is also empirically proven to be
statistically significant than the next-best performing models.
