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.

 

BIBLIOGRAFI

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: