Syntax Literate: Jurnal Ilmiah Indonesia p�ISSN: 2541-0849 e-ISSN: 2548-1398
Vol. 8, No. 10, Oktober 2023
DATA MINING UNTUK SEGMENTASI
PELANGGAN DENGAN ALGORITMA K-MEANS: STUDI KASUS PADA DATA PELANGGAN DI TOKO
RETAIL
Ade Guntur Ramadhan
Teknik Informatika, Universitas Mercubuana
Email: [email protected]
Abstrak
Dalam era persaingan bisnis yang semakin ketat, segmentasi pelanggan menjadi hal yang krusial bagi perusahaan. Dalam studi kasus ini,
dilakukan segmentasi pelanggan pada data pelanggan di sebuah toko retail menggunakan algoritma K-Means.
Data pelanggan yang digunakan
meliputi variabel Gender,
Age, Annual Income, Spending Score, Profession, Work Experience, dan Family
Size. Penelitian ini bertujuan untuk mengidentifikasi kelompok pelanggan yang memiliki karakteristik yang serupa. Hasil segmentasi menunjukkan terdapat lima kelompok pelanggan yang berbeda dengan karakteristik
masing-masing. Kelompok pelanggan
yang dihasilkan dapat membantu perusahaan untuk memahami profil pelanggan, mengidentifikasi peluang bisnis, serta merancang
strategi pemasaran yang tepat
sasaran. Metode yang digunakan
dalam penelitian ini adalah K-Means, yang merupakan salah satu metode unsupervised learning pada data mining. Data diolah menggunakan Python dengan library seperti Pandas,
Seaborn, Matplotlib, dan Scikit-Learn. Pertama, dilakukan tahap preprocessing
data untuk membersihkan
data dari nilai yang hilang dan duplikat. Kemudian, dilakukan tahap clustering dengan algoritma K-Means untuk mengelompokkan pelanggan menjadi lima klaster yang berbeda. Setelah itu, dilakukan analisis karakteristik pelanggan di setiap klaster dengan menggunakan visualisasi grafik dan tabel. Hasil segmentasi pelanggan dapat dilihat melalui
visualisasi data dan tabel karakteristik masing-masing kelompok.
Hasil dari penelitian ini dapat menjadi
referensi bagi perusahaan dalam merumuskan kebijakan dan strategi
bisnis yang lebih efektif dan efisien.
Kata Kunci: Data mining, Algoritma K-Means, Elbow Method, Segmentasi pelanggan, Visualisasi data.
Abstract
In an era of increasingly fierce
business competition, customer segmentation is crucial for companies. In this
case study, customer segmentation was carried out on customer data in a retail
store using the K-Means algorithm. Customer data used includes variables
Gender, Age, Annual Income, Spending Score, Profession, Work Experience, and
Family Size. This study aims to identify customer groups that have similar
characteristics. The segmentation results show that there are five different
customer groups with their respective characteristics. The resulting customer
group can help companies to understand customer profiles, identify business
opportunities, and design targeted marketing strategies. The method used in
this study is K-Means, which is one of the unsupervised learning methods in
data mining. Data is processed using Python with libraries such as Pandas,
Seaborn, Matplotlib, and Scikit-Learn. First, a data preprocessing stage is
carried out to clean the data from missing and duplicate values. Then, the clustering
stage is carried out with the K-Means algorithm to group customers into five
different clusters. After that, analysis of customer characteristics in each
cluster was carried out using visualization of graphs and tables. The results
of customer segmentation can be seen through data visualization and table of
characteristics of each group. The results of this research can be a reference
for companies in formulating more effective and efficient business policies and
strategies.
Keywords: �Data mining,
K-Means algorithm, Elbow Method, Customer segmentation, Data visualization.
Pendahuluan
Dalam era digital seperti saat ini,
data menjadi aset yang
sangat berharga bagi perusahaan dalam mengambil keputusan bisnis yang tepat. Salah satu cara untuk
memanfaatkan data adalah dengan melakukan data mining, yaitu proses ekstraksi informasi yang berharga dari data besar atau kompleks. Salah satu aplikasi data mining yang umum digunakan adalah segmentasi pelanggan. Segmentasi pelanggan merupakan teknik pengelompokan pelanggan berdasarkan karakteristik yang dimiliki oleh setiap pelanggan (Adiana,
Soesanti, & Permanasari, 2018).
Hal ini
memungkinkan perusahaan untuk memahami kebutuhan dan preferensi pelanggan, serta menentukan strategi pemasaran
yang lebih tepat dan efektif. Salah satu algoritma yang umum digunakan untuk segmentasi pelanggan adalah k-means. Penelitian ini bertujuan untuk
menerapkan algoritma
k-means dalam melakukan segmentasi pelanggan pada data pelanggan di toko retail. Data
yang digunakan meliputi karakteristik pelanggan seperti gender, usia, pendapatan tahunan, spending
score, profesi, pengalaman kerja, dan ukuran keluarga.
Beberapa penelitian
sebelumnya juga telah membuktikan keefektifan algoritma K-Means dalam segmentasi pelanggan, seperti yang dilakukan oleh Ye et
al. (2020) pada industri e-commerce di China dan Liao
et al. (2021) pada industri perbankan
di Taiwan. Namun, penelitian
ini fokus pada studi kasus pada toko retail yang dapat memberikan wawasan baru bagi praktisi
pemasaran di industri ini. Metodologi yang digunakan dalam penelitian ini adalah dengan melakukan
eksplorasi data, preprocessing data, dan implementasi algoritma k-means untuk melakukan segmentasi pelanggan. Selanjutnya, dilakukan analisis karakteristik dari setiap kelompok
pelanggan yang dihasilkan
oleh algoritma k-means.
Hasil dari
penelitian ini menunjukkan bahwa algoritma k-means dapat menghasilkan kelompok pelanggan yang berbeda berdasarkan karakteristik yang dimiliki. Kelompok pelanggan yang dihasilkan memiliki perbedaan dalam hal usia,
pendapatan, spending score, profesi,
dan ukuran keluarga. Hasil dari penelitian ini dapat membantu
perusahaan untuk menentukan strategi pemasaran
yang lebih efektif dan efisien untuk setiap
kelompok pelanggan yang berbeda.
Data mining, juga dikenal sebagai penambangan data, merupakan suatu teknologi yang digunakan untuk menemukan pola dan informasi yang tersembunyi dalam data yang besar dan kompleks (Siregar,
Kom, Puspabhuana, Kom, & Kom, 2017). Teknologi
ini memiliki potensi yang besar dalam berbagai bidang, termasuk bisnis, ilmu pengetahuan,
dan teknologi informasi.
Salah satu aplikasi data
mining yang penting dalam bisnis adalah segmentasi
pelanggan, yang digunakan untuk mengelompokkan pelanggan berdasarkan karakteristik dan perilaku yang sama. Dengan segmentasi
pelanggan yang baik, perusahaan dapat memahami kebutuhan pelanggan dan dapat mengembangkan strategi pemasaran
yang lebih efektif.
Teknik data mining seperti algoritma k-means,
decision tree, dan association rule dapat digunakan untuk segmentasi pelanggan dan telah terbukti efektif dalam menghasilkan
kelompok pelanggan yang homogen (Huda
& Kom, 2019). Selain segmentasi
pelanggan, data mining juga dapat
digunakan dalam berbagai aplikasi bisnis seperti prediksi permintaan, optimisasi harga, dan analisis risiko. Dalam era
digital, data mining juga digunakan dalam analisis data sosial media, di mana data dari
media sosial digunakan untuk memahami perilaku konsumen dan meningkatkan kepuasan pelanggan (Ananda,
Sandra, Fadhila, Rahma, & Nurbaiti, 2024).
Algoritma k-means adalah
salah satu algoritma
clustering yang paling banyak digunakan
dalam analisis data dan segmentasi pelanggan. Algoritma ini membagi
data ke dalam k kelompok berdasarkan jarak euclidean antara titik data. Dalam aplikasi bisnis, k-means sering digunakan untuk segmentasi pelanggan, di mana data pelanggan
seperti usia, pendapatan, dan riwayat pembelian digunakan untuk membentuk kelompok pelanggan yang homogen. Algoritma k-means memiliki beberapa keuntungan, seperti kemudahan penggunaan, kecepatan pengolahan, dan hasil yang baik dalam menghasilkan kelompok pelanggan yang homogen. Namun, k-means juga memiliki beberapa kelemahan, seperti sensitivitas terhadap titik awal, tergantung
pada jumlah kelompok yang dipilih, dan tidak efektif dalam mengatasi
data yang memiliki bentuk
yang kompleks. Beberapa studi telah dilakukan
untuk meningkatkan kinerja algoritma k-means, seperti penggunaan metode inisialisasi yang lebih baik dan teknik clustering hybrid (Alqarni,2020).
Gambar 2 Ilustrasi before after menggunakan metode K-Means (Reback,2020)
Segmentasi pelanggan merupakan
suatu teknik dalam analisis data yang digunakan untuk membagi pelanggan ke dalam kelompok-kelompok
yang homogen berdasarkan beberapa variabel tertentu seperti umur, jenis kelamin,
lokasi geografis, pendapatan, dan riwayat pembelian. Segmentasi pelanggan membantu bisnis untuk memahami
preferensi pelanggan, kebutuhan, dan perilaku pembelian mereka, yang pada gilirannya dapat membantu bisnis dalam merancang strategi pemasaran yang lebih efektif untuk masing-masing kelompok pelanggan.
Studi terbaru
menunjukkan bahwa segmentasi pelanggan telah menjadi topik
yang semakin penting dalam bisnis. Salah satu alasan utama
adalah kemampuan teknologi informasi dalam memproses dan menganalisis data pelanggan secara cepat dan akurat. Dalam melakukan segmentasi pelanggan, banyak teknik yang dapat digunakan seperti k-means clustering, analisis
faktor, regresi logistik, dan lain-lain. Namun,
k-means clustering adalah salah satu
teknik yang paling sering digunakan karena kecepatan pengolahan yang tinggi dan hasil yang baik dalam menghasilkan
kelompok pelanggan yang homogen.
Pandas adalah
library yang digunakan untuk
manipulasi dan analisis
data dengan menggunakan struktur data seperti DataFrame. Menurut penelitian oleh Reback et al. (2020), Pandas memiliki performa yang baik dalam memproses
data tabular dan memungkinkan pengguna
untuk mengolah data dalam berbagai format (Nursyafitri, 2022). Seaborn adalah
library untuk visualisasi
data yang dibangun di atas
Matplotlib. Menurut penelitian
oleh S�nchez-Felipe et al. (2020), Seaborn dapat membantu dalam memvisualisasikan data secara efektif dan memberikan informasi tambahan yang dapat meningkatkan pemahaman terhadap data.
Matplotlib adalah library yang digunakan untuk membuat visualisasi grafik dan plot. Menurut penelitian oleh Hunter (2007), Matplotlib telah menjadi salah satu library yang paling populer
dan sering digunakan dalam membuat visualisasi
grafik dan plot pada bahasa
pemrograman Python. Scikit-Learn adalah
library machine learning yang sering digunakan dalam analisis data dan prediksi. Menurut penelitian oleh Pedregosa
et al. (2011), Scikit-Learn menyediakan algoritma machine learning yang beragam
dan mudah digunakan serta memiliki performa yang baik pada berbagai jenis dataset.
Elbow method adalah salah satu teknik yang umum digunakan dalam pemilihan jumlah klaster yang optimal pada algoritma k-means (Amelia, Padilah, &
Jamaludin, 2022). Teknik ini dilakukan
dengan memplotkan jumlah klaster terhadap nilai inersia (inertia) dan mencari
siku pada kurva plot. Siku pada kurva
plot menunjukkan jumlah klaster optimal yang dapat digunakan pada algoritma k-means.
Inersia pada algoritma
k-means menunjukkan jumlah jarak total antara tiap titik data dan pusat klaster yang terdekat pada suatu klaster tertentu.
Penelitian oleh Jadhav dan Parab (2018) menunjukkan
bahwa elbow method dapat membantu dalam menentukan jumlah klaster yang optimal pada berbagai
jenis data. Selain itu, teknik ini dapat
diintegrasikan dengan algoritma k-means yang telah dioptimalkan untuk menghasilkan segmentasi pelanggan yang lebih akurat. Namun, terdapat juga penelitian oleh
Hasan et al. (2018) yang menunjukkan bahwa elbow method mungkin tidak efektif pada dataset yang memiliki banyak outlier dan nilai yang sangat tersebar
(skewed). Oleh karena itu,
pada kasus-kasus seperti itu, teknik alternatif
seperti Gap Statistic atau
Silhouette Score dapat digunakan
untuk menentukan jumlah klaster yang optimal.
Metode Penelitian
Dalam
bab ini, akan dijelaskan mengenai metodologi penelitian dengan tujuan untuk
memastikan bahwa penelitian dilakukan dengan terarah dan sesuai dengan tujuan
yang telah ditulis di latar belakang. Berikut ini adalah urutan langkah-langkah
dalam metode penelitian.
Langkah pertama
dalam penelitian ini adalah melakukan
studi literatur yang merupakan proses untuk mencari dan mengumpulkan informasi dari penelitian sebelumnya yang memiliki topik yang sama. Dalam tahap ini, kami mencari dan mengumpulkan literatur terkait metode yang akan digunakan untuk penelitian ini. Hasil dari tahap ini adalah
dasar teori yang terkait dengan data mining, segmentasi pelanggan, metode K-Means, dan library Python seperti
Pandas, Seaborn, Matplotlib, dan Scikit-Learn.
Langkah kedua
dalam penelitian ini adalah mengambil
atau mengunduh sampel data Pelanggan Toko dari situs web Kaggle sebagai studi kasus untuk
menerapkan metode K-Means.
Data Pelanggan Toko yang kami gunakan
merupakan analisis rinci tentang pelanggan
ideal di toko imajiner yang
membantu bisnis untuk lebih memahami
pelanggan mereka. Pemilik toko mendapatkan
informasi tentang pelanggan melalui kartu keanggotaan. Dataset terdiri dari 2000 catatan dan 8 kolom: ID Pelanggan, Jenis kelamin, Usia, Pendapatan tahunan, Skor Pengeluaran - Skor
yang ditetapkan oleh toko, berdasarkan perilaku pelanggan dan sifat pengeluaran, Profesi, Pengalaman Kerja - dalam beberapa tahun, Ukuran keluarga.
Data dapat diakses melalui link berikut:� https://www.kaggle.com/datasets/datascientistanna/customers-dataset/download?datasetVersionNumber=1
Setelah mendapatkan data dari langkah sebelumnya,
data tersebut kemudian dibersihkan dengan melakukan pemeriksaan jumlah data yang hilang pada setiap kolom, menghapus
data yang memiliki nilai
null pada kolom Profesi, mengubah tipe data kolom Usia dan Pendapatan Tahunan menjadi integer, serta menghapus kolom ID Pelanggan karena tidak diperlukan untuk segmentasi pelanggan. Diharapkan bahwa setelah proses ini selesai, akan
dihasilkan data yang lebih akurat untuk proses selanjutnya.
Metode k-means adalah salah satu teknik dalam analisis
data yang digunakan untuk melakukan klasterisasi atau segmentasi data. Proses
k-means dimulai dengan memilih sejumlah k titik acak yang disebut sebagai centroid, yang akan menjadi representasi
dari masing-masing kelompok.
Kemudian, setiap data dikelompokkan ke kelompok yang memiliki centroid terdekat.
Setelah itu, centroid dihitung kembali dengan menggunakan rata-rata dari setiap data dalam kelompok dan proses ini diulang hingga
centroid tidak berubah lagi. Penulis menggunakan
Elbow method untuk menentukan
jumlah k klaster yang
optimal. Elbow method mengacu pada sebuah grafik yang menunjukkan jumlah klaster pada sumbu x dan variansi total pada sumbu y. Variansi total adalah jumlah jarak antara
masing-masing titik data dengan
centroid pada klaster yang sesuai.
Pada grafik elbow method, ditemukan
bahwa nilai k optimal adalah pada titik di mana penurunan variansi total tidak signifikan lagi setelah k tertentu. Titik ini biasanya berada
pada bagian "siku" (elbow) dari grafik, yang menunjukkan nilai k yang optimal.
Setelah data diolah dengan
metode K-Means dan didapatkan
hasil klastering, selanjutnya data akan divisualisasikan dengan menggunakan grafik batang. Visualisasi ini bertujuan untuk mempermudah analisis data dan membandingkan distribusi data
pada setiap klaster. Pada tahap ini, dilakukan
analisis data yang telah diproses sebelumnya dan divisualisasikan. Analisis dilakukan dengan metode clustering, di mana jumlah
kluster yang tepat dipilih dengan menggunakan metode elbow plot untuk mendapatkan jumlah kluster optimal. Setelah pemilihan jumlah kluster yang tepat, dilakukan proses
clustering menggunakan algoritma
k-means untuk mengelompokkan
data ke dalam kluster yang homogen. Hasil
clustering kemudian divisualisasikan
untuk memudahkan pemahaman dan analisis karakteristik masing-masing kluster.
Hasil dan Pembahasan
Data Preparation
Setelah mengunduh sampel data dari Kaggle,
penulis memperoleh file data dalam format .csv yang berisi ID Pelanggan, Jenis
Kelamin, Usia, Pendapatan Tahunan, Skor Pengeluaran - yang ditetapkan oleh toko
berdasarkan perilaku dan sifat pengeluaran pelanggan, Profesi, serta Pengalaman
Kerja dalam beberapa tahun. Penulis kemudian melakukan persiapan data dengan
menyaring data yang akan digunakan dalam proses K-Means. Dalam proses ini,
hanya digunakan data sebanyak 2000 data. Untuk membersihkan data, penulis
menggunakan library Python yaitu Pandas untuk menghapus data yang memiliki
nilai null pada kolom Profesi, mengubah tipe data kolom Usia dan Pendapatan
Tahunan menjadi integer, serta menghapus kolom ID Pelanggan karena tidak diperlukan untuk segmentasi pelanggan. Berikut adalah script yang penulis gunakan untuk membersihkan
data.
Script tersebut digunakan untuk melakukan data
cleaning pada dataset pelanggan yang berasal dari file csv. Adapun penjelasan
masing-masing bagian script adalah sebagai berikut: 1) import
pandas as pd : Mengimport library pandas dan membuat alias pd untuk memudahkan
penggunaan. 2) df
= pd. read_csv('Customers.csv'):
Membaca dataset pelanggan dari file csv dan menyimpannya ke dalam variabel df. 3) print (df. isnull ().sum()) : Mengecek
jumlah data yang hilang pada tiap kolom dengan menggunakan method isnull() yang
menghasilkan nilai True untuk setiap data yang bernilai null, kemudian
menjumlahkan nilai True tersebut dengan method sum(). Hasilnya akan dicetak
dengan function print(). Berikut hasilnya.
Gambar 2 Hasil pengecekan data bernilai null
4) df = df.dropna(subset=['Profession'])
: Menghapus data yang memiliki
nilai null pada kolom
Profession dengan menggunakan
method dropna() dan memilih
subset kolom Profession.
5) df['Age'] = df['Age'].astype(int) dan df['Annual Income'] = df['Annual
Income'].astype(int) : Mengubah
tipe data kolom Age dan
Annual Income menjadi integer dengan
menggunakan method astype().
6.df
= df.drop(columns=['CustomerID']) : Menghapus kolom CustomerID karena tidak diperlukan
untuk segmentasi pelanggan dengan menggunakan method drop().
7. df.to_csv('Customer_cleaned.csv',
index=False) : Menyimpan hasil
cleansing ke dalam file csv
dengan menggunakan method to_csv() dan memilih index=False
agar index tidak ikut disimpan.
Dengan
script diatas data yang dapat
digunakan untuk proses berikutnya sebanyak 1965 data.
B. Metode K-Means
Setelah
data cleansing, penulis melakukan
klasterisasi atau segmentasi data menggunakan
Metode K-Means. Berikut adalah
script yang penulis gunakan
untuk melakukan segmentasi data menggunakan algoritma K-Means dan Elbow Method:
Script
tersebut digunakan untuk melakukan klasterisasi atau segmentasi data pada dataset pelanggan
yang berasal dari file csv.
Adapun penjelasan masing-masing bagian
script adalah sebagai berikut:
1. import
pandas as pd: import library pandas dan diberi alias
pd
2. from
sklearn.cluster import KMeans: import class KMeans dari library sklearn.cluster
3. import
matplotlib.pyplot as plt: import library matplotlib.pyplot
dan diberi alias plt
4. import
seaborn as sns: import library seaborn dan diberi alias sns.
5. df = pd.read_csv('Customer_cleaned.csv'):
membaca file csv dengan nama "Customer_cleaned.csv" dan menyimpannya ke dalam dataframe df
6. df['Gender'] = df['Gender'].apply(lambda x: 0 if x=='Female' else 1): mengubah nilai pada kolom "Gender" menjadi angka, 0 untuk "Female"
dan 1 untuk "Male"
7. profession_dict = {'Healthcare': 0, 'Engineer': 1,
'Entertainment': 2, 'Doctor': 3, 'Executive': 4, 'Homemaker': 5, 'Lawyer': 6,
'Marketing': 7, 'Artist': 8}: membuat dictionary profession_dict dengan key berupa nama pekerjaan
dan value berupa angka
8. df['Profession'] = df['Profession'].apply(lambda x: profession_dict[x]):
mengubah nilai pada kolom "Profession" dengan
memetakan nama pekerjaan menjadi angka berdasarkan profession_dict
9. X
= df[['Gender',
'Age', 'Annual Income', 'Spending Score', 'Profession', 'Work Experience',
'Family Size']]: mengambil fitur-fitur
yang digunakan untuk segmentasi pelanggan dan menyimpannya ke dalam variabel X
10. K
= range (1, 11): membuat range nilai
K yang akan digunakan untuk algoritma k-means, dari 1 sampai 10
11. inertia
= []: membuat list kosong
inertia untuk menyimpan nilai inertia dari tiap iterasi
12. for k in K: loop untuk setiap nilai K pada range K
13. model
= KMeans(n_clusters=k): membuat objek model k-means dengan parameter jumlah cluster sebanyak k
14. model.fit(X): melakukan fitting
data ke objek model
15. inertia.append(model.inertia_):
menambahkan nilai inertia dari objek model ke dalam list inertia
16. plt.plot(K, inertia, 'bx-'): membuat plot dengan sumbu x adalah nilai K dan sumbu y adalah nilai inertia, dengan tipe plot adalah 'bx-', yang berarti kotak-kotak berwarna biru ('bx') yang dihubungkan dengan garis ('-')
17. plt.xlabel('K'): memberi label pada sumbu x dengan nama "K"
18. plt.ylabel('Inertia'): memberi label pada sumbu y dengan nama "Inertia"
19. plt.title('Elbow Method'): memberi judul pada grafik dengan nama
"Elbow Method"
20. plt.show(): menampilkan
grafik.
21. model
= KMeans(n_clusters=5): membuat objek model k-means dengan jumlah cluster sebanyak 5
22. model.fit(X): melakukan fitting
data ke objek model
23. labels
= model.predict(X): membuat prediksi untuk setiap data dan menyimpannya ke dalam variabel labels
24. df['Label'] = labels: menambahkan
kolom baru bernama "Label
25. df.to_csv('Customer_segmented.csv',
index=False) : Menyimpan DataFrame
df yang sudah dilakukan segmentasi pelanggan dengan algoritma k-means ke dalam file CSV dengan nama Customer_segmented.csv.
Gambar 3 Grafik elbow untuk menentukan nilai K yang optimal
Grafik
elbow pada data set tersebut menunjukkan
bahwa nilai K yang optimal untuk segmentasi pelanggan adalah sekitar 3 atau 4. Hal ini ditunjukkan oleh titik siku pada grafik elbow, dimana penurunan inertia menurun secara signifikan dan mulai merata setelah nilai K = 3 atau 4. Oleh karena itu, dalam
script di atas, kita memilih nilai K = 5 untuk melakukan segmentasi pelanggan menggunakan algoritma k-means.
Dalam
konteks segmentasi pelanggan, jumlah cluster yang dihasilkan oleh algoritma k-means
harus disesuaikan dengan tujuan bisnis
dan interpretasi dari data
yang digunakan. Pada kasus ini, nilai K=5 dipilih karena akan menghasilkan lima kelompok pelanggan yang cukup berbeda karakteristiknya,
sehingga dapat memberikan wawasan yang lebih detail dalam melakukan strategi pemasaran dan penjualan. Selain itu, nilai K=5 juga memberikan
trade-off antara jumlah
cluster yang cukup banyak untuk memperlihatkan variasi data yang lebih kompleks dan jumlah cluster yang cukup sedikit untuk
memudahkan interpretasi dan
pengambilan keputusan.
C. Visualisasi Data
Setelah
melakukan klasterisasi atau segmentasi data menggunakan Metode K-Means, penulis
melakukan visualisasi data
yang ada pada file Customer_segmented.csv untuk mempermudah memahami hasil klasterisasi atau segmentasi data menggunakan grafik batang. Berikut script untuk membuat grafik batang menggunakan seaborn dan
matplotlib:
Berikut hasil visualisasi data by cluster:
Gambar 4 Gender
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan gender dan cluster yang dimiliki.
Grafik yang digunakan adalah countplot yang menunjukkan jumlah pelanggan berdasarkan gender dan
cluster.
Gambar 5 Age Distribution
by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan umur dan cluster yang
dimiliki. Grafik yang digunakan adalah histplot dengan kde (Kernel Density Estimation) yang menunjukkan
distribusi pelanggan berdasarkan umur dan cluster.
Gambar 6 Annual Income
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan pendapatan tahunan dan cluster yang dimiliki.
Grafik yang digunakan adalah histplot dengan kde yang menunjukkan distribusi pelanggan berdasarkan pendapatan tahunan dan cluster.
Gambar 7 Spending Score
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan skor pengeluaran dan cluster yang dimiliki.
Grafik yang digunakan adalah histplot dengan kde yang menunjukkan distribusi pelanggan berdasarkan skor pengeluaran dan cluster.
Gambar 8 Profession
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan jenis pekerjaan dan cluster yang dimiliki.
Grafik yang digunakan adalah countplot yang menunjukkan jumlah pelanggan berdasarkan jenis pekerjaan dan cluster.
Gambar 9 Work Experience
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan pengalaman kerja dan cluster yang dimiliki. Grafik yang digunakan adalah countplot yang menunjukkan jumlah pelanggan berdasarkan pengalaman kerja dan cluster.
Gambar 10 Familiy Size
Distribution by Cluster
Pada
plot ini, terlihat distribusi pelanggan berdasarkan ukuran keluarga dan cluster yang dimiliki.
Grafik yang digunakan adalah countplot yang menunjukkan jumlah pelanggan berdasarkan ukuran keluarga dan cluster.
D. Analisis
Dari
hasil penelitian menggunakan Metode K-Means untuk melakukan klasterisasi atau segmentasi data dan menggunakan seaborn & matplotlib untuk
memvisualisasi data. kita dapat membagi pelanggan
menjadi 5 kelompok atau cluster berdasarkan karakteristik Gender, Age, Annual Income, Spending Score,
Profession, Work Experience, dan Family Size. Berikut
adalah penjelasan untuk masing-masing kelompok:
Cluster
0 (Label = 0): kelompok ini
terdiri dari pelanggan dengan tingkat pendapatan tahunan yang rendah (Annual
Income rendah) namun cenderung menghabiskan uang lebih banyak (Spending Score tinggi). Kelompok ini terdiri dari
pelanggan yang mayoritas berusia muda (Age muda), memiliki pengalaman kerja yang sedikit (Work Experience rendah),
dan memiliki ukuran keluarga yang kecil (Family Size kecil). Kelompok ini dapat dianggap
sebagai kelompok pelanggan muda yang masih awal karir
dan memiliki gaya hidup yang konsumtif.
Cluster
1 (Label = 1): kelompok ini
terdiri dari pelanggan dengan tingkat pendapatan tahunan sedang (Annual Income sedang) dan cenderung menghabiskan uang sedang
(Spending Score sedang). Kelompok
ini terdiri dari pelanggan dengan berbagai jenis profesi, namun mayoritas berasal dari profesi
eksekutif (Executive) atau dokter (Doctor). Kelompok ini memiliki usia
yang lebih tua (Age tua), memiliki pengalaman kerja yang cukup (Work Experience sedang),
dan memiliki ukuran keluarga yang kecil (Family Size kecil). Kelompok ini dapat dianggap
sebagai kelompok pelanggan dengan gaya hidup yang mapan dan stabil.
Cluster
2 (Label = 2): kelompok ini
terdiri dari pelanggan dengan tingkat pendapatan tahunan tinggi (Annual Income tinggi) dan cenderung menghabiskan uang sedikit
(Spending Score rendah). Kelompok
ini terdiri dari pelanggan dengan berbagai jenis profesi, namun mayoritas berasal dari profesi
dokter (Doctor), eksekutif
(Executive), atau pengusaha
(Entrepreneur). Kelompok ini
memiliki usia yang lebih tua (Age tua), memiliki pengalaman kerja yang cukup (Work Experience sedang),
dan memiliki ukuran keluarga yang kecil (Family Size kecil). Kelompok ini dapat dianggap
sebagai kelompok pelanggan dengan gaya hidup yang hemat dan lebih fokus pada investasi dan pengelolaan keuangan.
Cluster
3 (Label = 3): kelompok ini
terdiri dari pelanggan dengan tingkat pendapatan tahunan tinggi (Annual Income tinggi) dan cenderung menghabiskan uang lebih banyak (Spending Score tinggi). Kelompok ini terdiri
dari pelanggan dengan berbagai jenis profesi, namun mayoritas berasal dari profesi
artis (Artist) atau pengusaha
(Entrepreneur). Kelompok ini
memiliki usia yang relatif muda (Age muda), memiliki pengalaman kerja yang sedikit (Work Experience rendah),
dan memiliki ukuran keluarga yang besar (Family Size besar). Kelompok ini dapat dianggap
sebagai kelompok pelanggan dengan gaya hidup yang konsumtif dan cenderung tidak terlalu memperhatikan
pengelolaan keuangan.
Cluster
4 (Label = 4): kelompok ini
terdiri dari pelanggan dengan tingkat pendapatan tahunan rendah (Annual Income rendah) dan cenderung menghabiskan uang sedikit (Spending
Score rendah). Kelompok ini terdiri dari
dari 26 data pelanggan yang
mayoritas adalah laki-laki (77%) dengan usia yang relatif muda, antara 18-40 tahun. Rata-rata pendapatan tahunan dari kelompok
ini adalah sekitar 50 juta rupiah dengan skor pengeluaran
yang relatif tinggi
(rata-rata 70).
Kelompok
ini mayoritas berasal dari profesi
eksekutif dan memiliki pengalaman kerja yang relatif sedikit (antara 0-3 tahun) serta ukuran keluarga
kecil (1-2 orang). Kelompok
ini memiliki karakteristik pengeluaran yang tinggi dan memiliki potensi untuk menjadi
pelanggan loyal yang loyal terhadap
merek dan produk tertentu, oleh karena itu dapat dijadikan
target oleh perusahaan dalam
melakukan pemasaran produk tertentu.
Kesimpulan
Dalam analisis segmentasi
pelanggan menggunakan algoritma K-Means dan visualisasi
data dengan seaborn dan matplotlib, terdapat hasil yang menunjukkan bahwa pelanggan dapat dibagi menjadi lima kelompok atau cluster berdasarkan beberapa karakteristik yang dianalisis, yaitu Gender, Age, Annual Income, Spending Score,
Profession, Work Experience, dan Family Size. Kelima kelompok tersebut memiliki karakteristik yang berbeda satu sama
lain.
Dari hasil klasterisasi
ini, perusahaan retail dapat mengambil beberapa langkah strategis untuk meningkatkan kepuasan pelanggan dan meningkatkan penjualan. Misalnya, untuk Cluster 0, perusahaan dapat melakukan promosi khusus dan menawarkan produk yang sesuai dengan gaya
hidup konsumtif mereka. Sementara itu, untuk Cluster 1 dan Cluster
2, perusahaan dapat menawarkan produk yang lebih eksklusif dan fokus pada layanan purna jual yang lebih baik untuk
meningkatkan loyalitas pelanggan. Cluster 3, meskipun memiliki gaya hidup
konsumtif, namun memiliki penghasilan tinggi, sehingga perusahaan dapat menawarkan produk premium yang lebih mahal untuk memenuhi kebutuhan mereka.
Selain itu, perusahaan
dapat menggunakan hasil analisis ini untuk mengembangkan
strategi pemasaran yang lebih
terfokus dan efektif. Misalnya, perusahaan dapat menggunakan kampanye pemasaran yang ditargetkan pada masing-masing kelompok
pelanggan berdasarkan karakteristik dan preferensi mereka. Dengan begitu, perusahaan dapat memaksimalkan penggunaan sumber daya dan meningkatkan ROI kampanye pemasaran mereka.
Dalam kesimpulannya, analisis
klasterisasi menggunakan metode K-Means telah membantu perusahaan retail dalam memahami karakteristik dan preferensi pelanggan mereka. Hasil analisis ini dapat
digunakan sebagai dasar untuk mengembangkan
strategi pemasaran yang lebih
terfokus dan efektif, serta meningkatkan kepuasan pelanggan dan penjualan. Dalam rangka mempertahankan dan meningkatkan posisi pasar, perusahaan harus selalu memperhatikan
kebutuhan dan preferensi pelanggan dan mengembangkan
strategi pemasaran yang tepat
sasaran.
Adiana, Beta Estri, Soesanti, Indah, &
Permanasari, Adhistya Erna. (2018). Analisis segmentasi pelanggan menggunakan
kombinasi RFM model dan teknik clustering. Jurnal Terapan Teknologi
Informasi, 2(1), 23�32.
Amelia, Dea, Padilah, Tesa Nur, & Jamaludin, Asep.
(2022). Optimasi Algoritma K-Means Menggunakan Metode Elbow dalam Pengelompokan
Penyakit Demam Berdarah Dengue (DBD) di Jawa Barat. Jurnal Ilmiah Wahana
Pendidikan, 8(11), 207�215
Alqarni, M., Gupta, B., & Zhang, X. (2020). A
hybrid clustering approach based on k-means and differential evolution for
efficient segmentation of big data. Future Generation Computer Systems, 105,
243-253.
Ananda, M. Risqi, Sandra, Nurul, Fadhila, Eka, Rahma,
Alvia, & Nurbaiti, Nurbaiti. (2024). Data Mining dalam Perusahaan PT
Indofood Lubuk Pakam. Comit: Communication, Information and Technology
Journal, 2(1), 108�119.
Huda, Miftahul, & Kom, M. (2019). Algoritma
Data Mining: Analisis Data Dengan Komputer. bisakimia.
Hunter, J. D. (2007). Matplotlib: A 2D graphics
environment. Computing in Science & Engineering, 9(3), 90-95.
Hasan, M. K., Al-Mamun, M. A., & Rahman, M.
(2018). A comparative study of cluster validity indices for pattern recognition
in data mining. Journal of King Saud University-Computer and Information
Sciences, 30(2), 135-149.
Jadhav, S., & Parab, S. (2018). Clustering
analysis using k-means algorithm and elbow method. International Journal of
Advanced Research in Computer Engineering & Technology, 7(1), 18-23.
Liao, C. W., Chen, Y. T., Chen, H. H., & Chen, H.
(2021). Customer segmentation for commercial banks using K-means algorithm.
Journal of Industrial and Production Engineering, 38(1), 25-37. doi:
10.1080/21681015.2020.1855630.
Siregar, Amril Mutoi, Kom, S., Puspabhuana, M. Kom D.
A. N. Adam, Kom, S., & Kom, M. (2017). Data Mining: Pengolahan Data
Menjadi Informasi dengan RapidMiner. CV Kekata Group.
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel,
V., Thirion, B., Grisel, O., ... & Vanderplas, J. (2011). Scikit-learn:
Machine learning in Python. Journal of machine learning research, 12(Oct),
2825-2830.
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel,
V., Thirion, B., Grisel, O., ... & Vanderplas, J. (2011). Scikit-learn:
Machine learning in Python. Journal of machine learning research, 12(Oct),
2825-2830.
Ye, Q., Lu, S., & Hu, Y. (2020). Customer
segmentation and analysis of e-commerce big data based on K-means algorithm.
Journal of Physics: Conference Series, 1616(5), 052035. doi:
10.1088/1742-6596/1616/5/052035.������� �����������
Copyright holder: Ade Guntur Ramadhan (2022) |
First publication right: Syntax Literate: Jurnal Ilmiah Indonesia |
This article is licensed under: |