Abstract : | Ο σκοπός της παρούσας διπλωματικής εργασίας είναι η ανάλυση τεχνικών διαχωρισμού των πελατών (customer segmentation) και η υλοποίηση μίας τεχνικής σε πραγματικά δεδομένα από την Εθνική Τράπεζα της Ελλάδος. Τα δεδομένα της τράπεζας περιέχουν πληροφορίες ενός μήνα για τις συναλλαγές πελατών με πιστωτικές και χρεωστικές κάρτες. Στα δεδομένα, το customer segmentation χρησιμοποιείται για να χωριστούν οι πελάτες σε ομάδες σύμφωνα με την καταναλωτική τους συμπεριφορά. Αρχικά, αναλύεται το θεωρητικό υπόβαθρο σχετικά με το customer segmentation και του clustering, το οποίο είναι η διαδικασία χωρισμού των δεδομένων σε ομάδες. Στη συνέχεια, παρέχεται η ανάλυση των δεδομένων και η επεξεργασία τους τα οποία υλοποιήθηκαν στο Apache Spark, χρησιμοποιώντας το Python API. Η επεξεργασία περιλαμβάνει την κατηγοριοποίηση των συναλλαγών με βάση το τμήμα της αγοράς στο οποίο ανήκει κάθε μία και χρησιμοποιώντας τους διαθέσιμους Merchant Category Codes για κάθε συναλλαγή και τη δημιουργία των ποσοστών των συνολικών δαπανών κάθε πελάτη σε κάθε κατηγορία. Έπειτα, με χρήση της Python, εφαρμόζεται η τεχνική Principal Component Analysis (PCA) για τη μείωση των διαστάσεων και στη συνέχεια υλοποιείται ο αλγόριθμος clustering K-Means στα εξαγόμενα χαρακτηριστικά. Η βέλτιστη παράμετρος k, που δηλώνει τον αριθμό των clusters, επιλέγεται με μετρικές ελέγχου κατάλληλες για το clustering. Τέλος, όλα τα clusters αναλύονται περισσότερο με βάση τα συνολικά έξοδα και τις αγορές των πελατών τους καθώς και με τα διαθέσιμα δημογραφικά δεδομένα για να δημιουργηθεί ένα προφίλ για τους πελάτες κάθε cluster. The objective of this thesis it to analyze customer segmentation techniques and provide an implementation in real banking data from the National Bank of Greece. The provided datasets contain one month’s transaction information of customers with credit and debit cards. In these datasets, customer segmentation is used to provide meaningful segments of customers based on their spending habits. Firstly, the theoretical framework for customer segmentation and clustering is provided. Then, the data are examined and processed in Apache Spark using Python API. This includes a categorization of the transactions, which is achieved based on the market segment the supplier belongs to and using the available Merchant Category Codes for each transaction, and the creation of the percentages of each customer’s total spending in each category. Afterwards, using Python, dimensionality reduction is achieved with Principal Component Analysis (PCA) and then K-Means clustering is implemented on the extracted features. The best parameter k, which indicates the number of clusters, is selected with internal validation metrics suitable for clustering. Finally, all formed clusters are further examined based on their customer’s spending, purchases and available demographical data to provide a customer profile for each cluster.
|
---|