Εισαγωγή και Παρουσίαση του Dataset

Η συγκεκριμένη εργασία πραγματοποιεί ανάλυση συσταδοποίησης (Clustering) στο dataset “Credit Card Dataset for Clustering” . Το σύνολο δεδομένων αφορά τη χρήση πιστωτικών καρτών από περίπου 9000 κατόχους κατά τη διάρκεια 6 μηνών , με σκοπό την τμηματοποίηση της πελατειακής βάσης

Επιχειρησιακός Στόχος

Ο κύριος στόχος της ανάλυσης είναι ο εντοπισμός διακριτών ομάδων πελατών (Customer Segments) με βάση 17 μεταβλητές συμπεριφοράς (όπως το ύψος των αγορών, συχνότητα πληρωμών, προκαταβολές μετρητών κ.α.). Η τμηαμτοποίηση αυτή επιτρέπει στην επιχείρηση τα εξής : 1. Την κατανόηση των διαφορετικών προφίλ πελατών . 2. Την εφαρμογή στοχευμένων στρατιγικών Marketing 3. Τη βελτιώση των πιστώτικων ορίων ανά ομάδα

Εισαγωγή και Προετοιμασία δεδομένων

credit_data <- read.csv("CC GENERAL.csv")

head(credit_data)
##   CUST_ID    BALANCE BALANCE_FREQUENCY PURCHASES ONEOFF_PURCHASES
## 1  C10001   40.90075          0.818182     95.40             0.00
## 2  C10002 3202.46742          0.909091      0.00             0.00
## 3  C10003 2495.14886          1.000000    773.17           773.17
## 4  C10004 1666.67054          0.636364   1499.00          1499.00
## 5  C10005  817.71434          1.000000     16.00            16.00
## 6  C10006 1809.82875          1.000000   1333.28             0.00
##   INSTALLMENTS_PURCHASES CASH_ADVANCE PURCHASES_FREQUENCY
## 1                  95.40        0.000            0.166667
## 2                   0.00     6442.945            0.000000
## 3                   0.00        0.000            1.000000
## 4                   0.00      205.788            0.083333
## 5                   0.00        0.000            0.083333
## 6                1333.28        0.000            0.666667
##   ONEOFF_PURCHASES_FREQUENCY PURCHASES_INSTALLMENTS_FREQUENCY
## 1                   0.000000                         0.083333
## 2                   0.000000                         0.000000
## 3                   1.000000                         0.000000
## 4                   0.083333                         0.000000
## 5                   0.083333                         0.000000
## 6                   0.000000                         0.583333
##   CASH_ADVANCE_FREQUENCY CASH_ADVANCE_TRX PURCHASES_TRX CREDIT_LIMIT  PAYMENTS
## 1               0.000000                0             2         1000  201.8021
## 2               0.250000                4             0         7000 4103.0326
## 3               0.000000                0            12         7500  622.0667
## 4               0.083333                1             1         7500    0.0000
## 5               0.000000                0             1         1200  678.3348
## 6               0.000000                0             8         1800 1400.0578
##   MINIMUM_PAYMENTS PRC_FULL_PAYMENT TENURE
## 1         139.5098         0.000000     12
## 2        1072.3402         0.222222     12
## 3         627.2848         0.000000     12
## 4               NA         0.000000     12
## 5         244.7912         0.000000     12
## 6        2407.2460         0.000000     12
credit_data$CUST_ID <- NULL

credit_data <- na.omit(credit_data)

# Κανονικοποιούμε λόγο της μεγάλης κλήμακας των αριθμών , ώστε οι μεγάλες μεταβλητές να μην υπερκαλύπτουν τις μικρές 
credit_scaled <- scale(credit_data)

Ιεράρχικη Συσταδοποίηση

Παρρκάτω υπολογίζουμε τον πίνακα ευκλείδειων αποστάσεων και θα εφαρμόσουμε τη μέθοδο ward.D2 για την δημιουργία των συστάδων.

distances <- dist(credit_scaled , method = "euclidean")

cluster_hieratchical <- hclust(distances, method = "ward.D2")

plot(cluster_hieratchical, main="Δενδρόγραμμα Πελάτες Πιστωτικών καρτών ", xlab= "Πελάτες" , sub="" , cex=0.5 , labels = FALSE)

rect.hclust(cluster_hieratchical, k=4 , border= "red")

cluster_groups_h <- cutree(cluster_hieratchical, k=4)

cluster_profiles_h <- aggregate(credit_data[,c("BALANCE","PURCHASES","CASH_ADVANCE","CREDIT_LIMIT")], by = list(Cluster=cluster_groups_h),mean)

print(cluster_profiles_h)
##   Cluster   BALANCE PURCHASES CASH_ADVANCE CREDIT_LIMIT
## 1       1  979.6092  338.9002     651.2530     3234.823
## 2       2 4695.2462  516.4857    4167.2467     7805.749
## 3       3  954.7354 1385.7190     286.6769     4430.277
## 4       4 3879.5146 6908.2178     679.1512     9467.048

Συσταδιοποίηση με K-means

Για την επιβεβαίωση των αποτελεσμάτων μας, θα εφαρμόσουμε τον αλγόριθμο K-means επιλέγοντας ξανά k= 4 συστάδες.

set.seed(94)

kmeans_model <- kmeans(credit_scaled, centers = 4, nstart = 25)

table(kmeans_model$cluster)
## 
##    1    2    3    4 
## 3276 1155  391 3814
credit_data$KMeans_Cluster <- kmeans_model$cluster

# Μέσα προφίλ των 4 συστάδων του K-Means
cluster_profiles_k <- aggregate(credit_data[, c("BALANCE", "PURCHASES", "CASH_ADVANCE", "CREDIT_LIMIT")],  by=list(Cluster=credit_data$KMeans_Cluster), mean)

print(cluster_profiles_k)
##   Cluster   BALANCE PURCHASES CASH_ADVANCE CREDIT_LIMIT
## 1       1  917.6449 1269.5531     219.0945     4268.565
## 2       2 4654.6686  504.5857    4588.7162     7648.099
## 3       3 3589.1937 7843.3112     663.2804     9758.312
## 4       4 1059.8995  274.5306     605.3058     3256.398

Συμπεράσματα

Από την ανάλυση συσταδοποίησης (Clustering) που πραγματοποιήθηκε, τόσο με την Ιεραρχική μέθοδο όσο και με τον αλγόριθμο K-Means (\(k=4\)), αναδείχθηκαν 4 διακριτά τμήματα (segments) πελατών με πολύ διαφορετική συμπεριφορά ως προς τη χρήση της πιστωτικής τους κάρτας.

Παρακάτω παρουσιάζεται το προφίλ κάθε συστάδας (Cluster) καθώς και προτεινόμενες στρατηγικές Marketing για την καθεμία:

Cluster 1: Οι “Περιστασιακοί” Πελάτες

  • Προφίλ: Χαρακτηρίζονται από χαμηλό υπόλοιπο (Balance ~980), χαμηλό πιστωτικό όριο και ελάχιστες αγορές ή αναλήψεις μετρητών. Χρησιμοποιούν την κάρτα σπάνια ή μόνο για μικροέξοδα ρουτίνας.
  • Στρατηγική Marketing: Στόχος είναι η ενθάρρυνση της χρήσης της κάρτας. Προτείνεται η ένταξή τους σε προγράμματα επιβράβευσης (συλλογή πόντων) για καθημερινές αγορές (π.χ. σούπερ μάρκετ, βενζίνη) ώστε η κάρτα να γίνει η κύρια μέθοδος πληρωμής τους.

Cluster 2: Οι “Εξαρτημένοι από Μετρητά”

  • Προφίλ: Η ομάδα αυτή έχει υψηλό χρέος (Balance ~4695) αλλά ελάχιστες απευθείας αγορές. Το βασικό τους χαρακτηριστικό είναι οι ακραία υψηλές αναλήψεις μετρητών μέσω της κάρτας (Cash Advance ~4167). Πιθανότατα αντιμετωπίζουν προβλήματα ρευστότητας.
  • Στρατηγική Marketing: Καθώς η ανάληψη μετρητών από πιστωτική έχει τεράστια επιτόκια, η τράπεζα θα μπορούσε να τους προσεγγίσει με προσφορές σταυροειδούς πώλησης για καταναλωτικά δάνεια με ευνοϊκότερο επιτόκιο ή προγράμματα μεταφοράς υπολοίπου, μειώνοντας τον κίνδυνο αθέτησης πληρωμών.

Cluster 3: Οι “Ενεργοί Αγοραστές”

  • Προφίλ: Χαρακτηρίζονται από πολλές αγορές (Purchases ~1386) αλλά διατηρούν χαμηλό υπόλοιπο (Balance ~955) και σχεδόν μηδενικές αναλήψεις μετρητών. Αυτό δείχνει πελάτες που χρησιμοποιούν πολύ την κάρτα, αλλά εξοφλούν το λογαριασμό τους εγκαίρως κάθε μήνα.
  • Στρατηγική Marketing: Εφόσον είναι αξιόπιστοι πελάτες με συχνή χρήση, προτείνεται η αύξηση του πιστωτικού τους ορίου (ώστε να μπορούν να κάνουν μεγαλύτερες αγορές) καθώς και στοχευμένες προσφορές σε συνεργαζόμενα καταστήματα λιανικής, ένδυσης ή ηλεκτρονικών ειδών.

Cluster 4: Οι “Premium Πελάτες”

  • Προφίλ: Αυτή είναι η πιο κερδοφόρα ομάδα για την τράπεζα. Έχουν το υψηλότερο πιστωτικό όριο (Credit Limit ~9467), υψηλό υπόλοιπο και πραγματοποιούν τεράστιο όγκο αγορών (Purchases ~6908).
  • Στρατηγική Marketing: Η διατήρηση αυτών των πελατών είναι κρίσιμη. Προτείνεται η αναβάθμιση των καρτών τους σε προγράμματα κατηγορίας Gold/Platinum, παρέχοντας VIP προνόμια όπως πρόσβαση σε airport lounges, υπηρεσίες concierge και υψηλότερα όρια πόντων επιβράβευσης.