Dataset yang saya gunakan pada LBB kali ini adalah data dari sekumpulan keanggotaan VIP member di sebuah mall, yang menginformasikan seperti ID customer, jenis kelamin, usia, pendapatan, dan nilai pengeluaran. Nilai pengeluaran yang dimaksud didata ini adalah data pembelian customer. Dari dataset ini saya ingin menentukan target customer yang akan membantu tim pemasaran dalam merencanakan strategi yang sesuai.
Metode machine learning yang saya gunakan adalah Unsupervised Learning dengan algoritma K-Means karena saya ingin membagi data-data tersebut kedalam beberapa kelompok atau yang disebut clustering. Algoritma K-Means akan mengelompokkan data yang ada ke dalam beberapa kelompok, dimana data dalam satu kelompok mempunyai karakteristik yang sama satu sama lainnya dan mempunyai karakteristik yang berbeda dengan data yang ada di dalam kelompok yang lain.
## 'data.frame': 200 obs. of 5 variables:
## $ CustomerID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Gender : Factor w/ 2 levels "Female","Male": 2 2 1 1 1 1 1 1 2 1 ...
## $ Age : int 19 21 20 23 31 22 35 23 64 30 ...
## $ Annual.Income..k.. : int 15 15 16 16 17 17 18 18 19 19 ...
## $ Spending.Score..1.100.: int 39 81 6 77 40 76 6 94 3 72 ...
Terdapat 200 observasi atau banyaknya customer pada dataset ini, dimana variable-variable yang dimiliki sebanyak 5 variable, dengan keterangan sebagai berikut :
CustomerID : ID customer
Gender : Jenis kelamin customer
Age : Usia customer
Annual.Income : Pendapatan per tahun
Spending.Score : Pengeluaran customer atau nilai pembelian
Scaling perlu dilakukan untuk data dengan variabel-variabel yang memiliki skala yang sangat berbeda. Hal ini karena K-means melakukan clustering menggunakan fungsi jarak, sehingga perbedaan skala dapat memberikan hasil yang kurang tepat.
Clustering yang baik menandakan terdapat kemiripan karakteristik yang tinggi dalam 1 cluster (strong internal cohesion) dan perbedaan karakteristik yang maksimal antar cluster (maximal external separation).
Berarti diinginkan nilai within sum of squares yang kecil (internal cohesion) dan between sum of squares yang tinggi (external separation).
Saya akan menggunakan k
dimana ketika k
ditambah, penurunan nilai total within sum of squares
tidak lagi besar atau menunjukkan kemiringan yang landai yaitu k = 4
set.seed(50)
mall_cust_km <- kmeans(mall_cust_s, 4)
fviz_cluster(mall_cust_km, data = mall_cust ) +
theme_minimal()
## # A tibble: 4 x 4
## cluster Age Annual.Income..k.. Spending.Score..1.100.
## <int> <dbl> <dbl> <dbl>
## 1 1 32.9 86.1 81.5
## 2 2 54.0 47.7 40.0
## 3 3 25.4 40 60.3
## 4 4 39.4 86.5 19.6
Berdasarkan hasil dari pengelompokkan cluster oleh K-Means di atas, maka dapat disimpulkan bahwa :
Cluster 1, dengan usia rata-rata 32 tahun, dengan penghasilan rata-rata 86, memiliki spending score atau daya beli yang paling tinggi dibandingkan dengan cluster lain.
Cluster 2, dengan usia rata-rata 39 tahun, dengan penghasilan rata-rata paling tinggi dibanding cluster lain, namun memiliki spending score atau daya beli yang paling rendah dari cluster yang lain.
Cluster 3, dengan usia rata-rata 25 tahun, memiliki penghasilan paling rendah, namun spending score atau daya beli yang tinggi.
Cluster 4, dengan usia rata-rata 54 tahun, memiliki penghasilan 47, memiliki spending score atau daya beli yang rendah.
Saya dapat mengajukan target customer ke tim pemasaran bahwa customer yang memiliki spending score atau daya beli tingggi yaitu customer yang ada di kelompok atau cluster nomor 1 dan 3 dengan usia 25 - 32 tahun.