Proyek ini adalah end-to-end data science pipeline yang bertujuan untuk mengidentifikasi segmen pelanggan dari data transaksi ritel dan merumuskan strategi bisnis yang dapat ditindaklanjuti.
Berbeda dengan pendekatan RFM standar, proyek ini menggunakan fitur perilaku berbasis Volume (Total Quantity), Nilai Transaksi (Avg Transaction Value), dan Preferensi Harga (Avg Unit Price) untuk menemukan pola belanja yang unik.
Alur proyek terdiri dari tiga tahapan utama:
- Data Cleaning: Membersihkan data transaksi mentah, membuang transaksi retur/negatif, dan menangani outliers.
- Clustering (K-Means): Mengelompokkan pelanggan menjadi 4 persona utama: Big Spender, The Whales, Quality Seekers, dan Budget Shoppers.
- Business Simulation: Menghitung potensi kenaikan pendapatan (revenue uplift) dengan menerapkan strategi promosi yang dipersonalisasi untuk setiap persona.
Ikuti langkah-langkah berikut untuk menyiapkan lingkungan kerja lokal Anda agar kode dapat berjalan tanpa error.
- Python 3.8 atau lebih baru.
- Anaconda atau Virtualenv (disarankan).
-
Clone Repository
git clone [https://github.com/username/customer-segmentation-project.git](https://github.com/username/customer-segmentation-project.git) cd customer-segmentation-project -
Buat Virtual Environment
# Menggunakan venv python -m venv venv # Aktivasi (Windows) venv\Scripts\activate # Aktivasi (Mac/Linux) source venv/bin/activate
-
Install Dependencies Pastikan file
requirements.txttersedia (berisi pandas, numpy, sklearn, matplotlib, seaborn, plotly).pip install -r requirements.txt
Proyek ini menghasilkan model K-Means dan dataset yang telah diproses. Anda dapat mengunduh atau memuat file berikut:
-
Dataset Bersih (Cleaned Data): Download Sales_Transaction_Cleaned.csv (Output dari Sprint 1)
-
Hasil Clustering (Customer Personas): Download Hasil_Clustering_Customer.csv (Output dari Sprint 2 & 3, digunakan sebagai input Sprint 4)
-
Model K-Means (Pickle File - Opsional): Download kmeans_model.pkl (Gunakan
joblib.load()ataupickle.load()untuk memuat model ini tanpa training ulang)
Aplikasi ini berbentuk serangkaian Jupyter Notebook yang harus dijalankan secara berurutan untuk menjaga integritas data.
Langkah 1: Data Cleaning
- Buka file
Sprint_1_A25_CS286.ipynb. - Jalankan semua sel. Notebook ini akan memproses data mentah dan menghasilkan file
Sales_Transaction_Cleaned.csv.
Langkah 2: Modeling & Clustering
- Buka file
Sprint_2_dan_3_A25_CS286.ipynb. - Pastikan file
Sales_Transaction_Cleaned.csvberada di direktori yang sama. - Jalankan notebook untuk melatih model K-Means. Output berupa file
Hasil_Clustering_Customer.csvyang berisi label klaster setiap pelanggan.
Langkah 3: Business Insight & Strategy
- Buka file
Sprint_4_A25_CS286.ipynb. - Notebook ini akan memuat hasil klasterisasi, memetakan persona (misal: Cluster 0 -> Big Spender), dan memvisualisasikan simulasi bisnis.
- Gunakan slider atau parameter di dalam notebook untuk melihat proyeksi revenue berdasarkan skenario strategi yang berbeda.