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.

Clustering Pelanggan Menggunakan K-Means

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):

J=i=1kxCixμi2J = \sum_{i=1}^{k} \sum_{x \in C_i} \|x - \mu_i\|^2

Dimana:

  • kk: jumlah klaster

  • CiC_i: himpunan data pada klaster ke-i

  • μi\mu_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.

Output image

Scatter Plot Hasil Clustering: Menampilkan segmentasi pelanggan berdasarkan dua fitur, yaitu Recency dan Monetary, dengan warna yang mewakili klaster yang berbeda.

Output image

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?

like

dislike

love

funny

angry

sad

wow