Η συγκεκριμένη εργασία πραγματοποιεί ανάλυση συσταδοποίησης (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= 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 για την καθεμία: