Clustering Pelanggan Menggunakan K-Means
Studi ini membahas bagaimana algoritma K-Means digunakan untuk mengelompokkan pelanggan berdasarkan perilaku pembelian. Cocok untuk skripsi, tugas akhir, dan proyek analitik bisnis bersama ITS Academics atau layanan jasa joki skripsi.
Pendahuluan
Clustering pelanggan merupakan metode populer dalam analitik bisnis untuk memahami segmentasi pasar. Dengan algoritma K-Means, kita bisa mengelompokkan pelanggan ke dalam beberapa grup berdasarkan kesamaan perilaku seperti jumlah pembelian dan frekuensi transaksi. Proyek ini sangat relevan untuk dijadikan skripsi atau tugas akhir mahasiswa data science, terutama jika dibantu dengan dukungan dari ITS Academics atau layanan jasa joki skripsi.
Deskripsi Dataset
Dataset yang digunakan berisi informasi transaksi pelanggan seperti:
| Fitur | Deskripsi |
|---|---|
| CustomerID | ID unik pelanggan |
| Recency | Hari sejak terakhir transaksi |
| Frequency | Jumlah total transaksi |
| Monetary | Total uang yang dikeluarkan |
Rumus K-Means
Tujuan algoritma K-Means adalah meminimalkan total within-cluster sum of squares (WCSS):
Dimana:
-
: jumlah klaster
-
: himpunan data pada klaster ke-i
-
: centroid klaster ke-i
Implementasi Python dengan K-Means
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
# Contoh dataset RFM
data = {
'CustomerID': [1, 2, 3, 4, 5],
'Recency': [10, 20, 5, 30, 2],
'Frequency': [50, 10, 80, 5, 100],
'Monetary': [1000, 300, 2000, 150, 2500]
}
df = pd.DataFrame(data)
# Scaling fitur
X = df[['Recency', 'Frequency', 'Monetary']]
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Menentukan jumlah cluster (elbow method)
wcss = []
for k in range(1, 6):
kmeans = KMeans(n_clusters=k, random_state=42)
kmeans.fit(X_scaled)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 6), wcss, marker='o')
plt.title('Elbow Method')
plt.xlabel('Jumlah Cluster')
plt.ylabel('WCSS')
plt.show()
# KMeans dengan k=3
kmeans = KMeans(n_clusters=3, random_state=42)
df['Cluster'] = kmeans.fit_predict(X_scaled)
Visualisasi Hasil Clustering
sns.scatterplot(data=df, x='Recency', y='Monetary', hue='Cluster', palette='Set1')
plt.title("Segmentasi Pelanggan Berdasarkan Clustering")
plt.show()
Berikut adalah dua visualisasi yang dihasilkan untuk proyek Clustering Pelanggan Menggunakan K-Means:
Elbow Method Plot: Menampilkan jumlah cluster yang optimal berdasarkan metode elbow. Grafik ini membantu menentukan jumlah klaster yang paling sesuai dengan data.
Scatter Plot Hasil Clustering: Menampilkan segmentasi pelanggan berdasarkan dua fitur, yaitu Recency dan Monetary, dengan warna yang mewakili klaster yang berbeda.
Kesimpulan
Algoritma K-Means efektif dalam mengelompokkan pelanggan berdasarkan pola belanja. Dengan hasil clustering ini, bisnis dapat menyusun strategi pemasaran yang lebih tepat sasaran. Proyek ini sangat bermanfaat sebagai skripsi atau tugas akhir di bidang data science, apalagi jika dibimbing bersama ITS Academics atau memanfaatkan layanan jasa joki skripsi terpercaya.
Apa Reaksi Anda?