Skip to content

Analyze the customer data, build a neural network to help the operations team identify the customers that are more likely to churn, and provide recommendations on how to retain such customers

Notifications You must be signed in to change notification settings

ArtZaragozaGitHub/NN--Predicting_Customers_Likely_to_Abandon_Bank_Services

Repository files navigation

Prediction of Customers Likely to Drop Bank Services

Neural Network model designed to predict customer churn, optimizing for accuracy and computational efficiency.

Summary:

Is it possible to predict -which customers are highly likely to leave the bank within 6 months? I will design a ANN to answer the question.

A bank services dataset will be used to analyze customer behaviours and tendencies.

dataset

The following observations were extracted using essential statistical libraries against this bank's dataset:

  • The average Age of all Customers is 39 years.

  • 75% of Customers have been with the bank for about 7 years with and average of 5 years.

  • The average Customer balance is 76.5k.

  • 70% of all Customers have Credit Cards.

  • The average salary of Customers is 100k.

  • 50% of Customers are from France and the remaining half are equally divided between Germany and Spain.

    p4_stats

Recommendations:

  • Right off the bat, bank offerings must include services in three languages: French, German and Spanish.
  • There are twice as many French customers, therefore the marketing and customer support and customer retention budgets should reflect the same.
  • Bots or AI assistants should provide culture and language sensitivity to reflect customer's distribution.
  • Important: EU AI Act applies to all 3 countries and the bank must follow these regulations with strict compliance.

Additional Observations from the Exploratory Data Analysis (EDA):

  • A fairly large number of Customers are keeping a 0 balance in their accounts.
  • More precisely 3,617 out of 10,000 (36.2%) or a third of all customers. Recommendations:
  • More research is required in this area. A budget for research should be added to understand contributing factors and corrective actions, RCCAs (Root Cause Corrective Actions).
  • Incentives should be studied to provide value-add to these customers as a win-win for them and for the bank.
  • A fairly large number of Customers are no longer active customers within the last 6 months.
  • More precisely 2037 out of 7963 (26.6%) or a quarter of all customers leave. This is not acceptable.
  • Incentives should be studied to provide value-add to these customers as a win-win for them and for the bank.

Cust_Gens

Conf_Matrix

A Recommendation and Business Justification to design, construct and train a Neural Network Model to predict customer departures:

  • A predictive NN model should be designed to anticipate Customer trends and provide opportunities to interject before is too late. (This project. :-) )
  • Daily runs in production should provide 'alerts' whenever patterns are detected or treshold metrics are crossed with production or unseen data.
  • The predictive model should be fine-tuned regularly to incorporate additional data values accounting for the preventative-actions and measure both their exit-recurrence effectiveness to the business and the efficiency of the model predictions.
  • Transparency of Customer's Privacy protections should be auditable and test-demonstrated frequently as this model is predictive and could cause incorrect, even catastrophic communications to Customers and Regulators when biased.

my_nn

We will design 5 NN models, train them and then fine-tune the best one.

models_to_train

Some examples from intermediate results: Only Model 0 anf Model 5 are shown here. The entire set of models 0--5 is in the python notebook in the repository.

Model 0 - Layers Summary:

model_0

Loss comparison for Training vs Validation data:

model_0_loss

Model 5 - Layers Summary:

model_5

Loss comparison for Training vs Validation data:

model_5_loss

Summary of all the models performance metrics:

Model Optimizations

best_model_performance

After fine-tuning and optimizing the best trained model, it can be further used to make more accurate predictions:

recommendations_for_predictions

Releases

No releases published

Packages

No packages published