HeaderRight Teknologi Nalar

Sabtu, 06 Desember 2025

Rancangan Sistem Klasifikasi Pelanggan untuk UMKM Berbasis K-Means, KNN, dan Decision Tree (Disertai Struktur Pohon Keputusan)

Rancangan Sistem Klasifikasi Pelanggan untuk UMKM — K-Means, KNN, Decision Tree

Rancangan Sistem Klasifikasi Pelanggan

Rancangan Sistem Klasifikasi Pelanggan untuk UMKM Berbasis K-Means, KNN, dan Decision Tree (Disertai Struktur Pohon Keputusan)

Penulis: Teknologi Nalar  |  Kategori: Analisis Sistem » Arsitektur Perangkat Lunak

Isi Singkat
  1. Pendahuluan & Tujuan
  2. Data & Fitur
  3. Arsitektur Perangkat Lunak
  4. Algoritma: K-Means, KNN, Decision Tree (rumus & catatan)
  5. Alur Proses
  6. Contoh Pohon Keputusan (SVG)
  7. Rekomendasi Bisnis
  8. Implementasi & Deploy

I. Pendahuluan & Tujuan

UMKM sering kekurangan sumber daya untuk analisis data, tetapi transaksi harian sudah menyimpan sinyal perilaku pelanggan. Sistem klasifikasi pelanggan sederhana namun efektif membantu UMKM menargetkan promosi, meningkatkan retensi, dan mengoptimalkan inventori.

Tujuan artikel ini adalah mendesain arsitektur perangkat lunak dan alur ML untuk mengelompokkan dan mengklasifikasikan pelanggan menggunakan K-Means (unsupervised clustering), KNN (lazy classifier untuk pelanggan baru), dan Decision Tree (rule extraction dan interpretability).

II. Data & Fitur

Data minimal yang dibutuhkan (sumber: POS / ekspor CSV):

FiturDeskripsi
freq_belanjaFrekuensi transaksi per bulan
avg_order_valueRata-rata nilai transaksi
total_spendingTotal belanja per periode (mis. bulan)
variasi_produkJumlah kategori produk yang dibeli
last_visitHari sejak kunjungan terakhir

III. Arsitektur Perangkat Lunak

Arsitektur direkomendasikan modular dan ringan, cocok untuk UMKM:

  1. Data Ingestion: Eksport CSV / integrasi POS → upload ke aplikasi.
  2. Preprocessing: Imputasi, normalisasi (MinMax / Standard), feature engineering.
  3. ML Engine: K-Means (segmentasi), KNN (prediksi label), Decision Tree (aturan bisnis).
  4. Business Layer: Rule manager yang menyimpan/menyunting aturan dari Decision Tree.
  5. API / Dashboard: Menyajikan segmen, rekomendasi, dan visualisasi pohon keputusan.
  6. Storage: SQLite/MySQL untuk small-scale; backup CSV otomatis.

        
        
          
          Data Ingestion

          
          Preprocessing

          
          ML Engine

          
          Dashboard / API

          
          
          

          (K-Means → label) → train KNN, Decision Tree
        
      

IV. Algoritma & Rumus Singkat

4.1 K-Means (Clustering)

K-Means mencari K centroid yang meminimalkan jarak dalam cluster. Jarak yang umum dipakai: Euclidean.

\[ d(x,\mu) = \sqrt{\sum_{i} (x_i - \mu_i)^2} \]

Pembaruan centroid:

\[ \mu_k = \frac{1}{N_k} \sum_{x_i \in C_k} x_i \]

4.2 K-Nearest Neighbors (KNN)

KNN menggunakan jarak ke k tetangga terdekat untuk menentukan kelas mayoritas.

\[ d(p,q) = \sqrt{\sum_{i} (p_i - q_i)^2} \]

4.3 Decision Tree

Decision Tree dipakai untuk mengekstrak aturan bisnis. Metrik yang umum digunakan: Gini dan Information Gain.

Entropy: H(S) = - \sum_i p_i \log_2 p_i
Gini: Gini(S) = 1 - \sum_i p_i^2

V. Alur Proses (Pipeline)

  1. Unggah data → preprocessing (cleaning, scaling).
  2. Jalankan K-Means dengan K (contoh K=4) → simpan label cluster.
  3. Gunakan label cluster sebagai target untuk melatih Decision Tree dan KNN (supervised).
  4. Sistem menyajikan: visualisasi cluster, skor akurasi KNN, dan pohon keputusan (interpretasi).
  5. Untuk pelanggan baru: jalankan KNN untuk prediksi segmen; juga sediakan rekomendasi bisnis berdasarkan aturan DT.

VI. Contoh Struktur Pohon Keputusan

Berikut contoh pohon keputusan sederhana untuk mengkategorikan pelanggan:


        
        
          
          total_spending <= 300000?

          
          

          
          Yes

          
          No

          
          

          
          freq_belanja <= 2 → Hemat

          
          freq_belanja > 2 → Reguler

          
          

          
          avg_order_value >=150k → Premium

          
          avg_order_value <150k → Loyal
        
        

VII. Rekomendasi Bisnis Berdasarkan Segmen

Hemat

Promo bundling murah, voucher minimal spend.

Reguler

Program poin & reminder stok.

Premium

Promo eksklusif & free delivery.

Loyal

Membership & reward anniversary.

VIII. Implementasi Teknis (Ringkas)

Stack sederhana rekomendasi:

  • Backend: Python (Flask/FastAPI) atau Node.js
  • ML: scikit-learn (KMeans, KNeighborsClassifier, DecisionTreeClassifier)
  • DB: SQLite / MySQL
  • UI: sederhana (Chart.js untuk cluster, D3 atau svg untuk pohon)

Contoh alur training singkat (pseudo):

# load data
X = load_csv('transactions.csv')
# preprocess
X_scaled = scaler.fit_transform(X[['freq_belanja','avg_order_value','total_spending','variasi_produk']])
# kmeans
kmeans = KMeans(n_clusters=4).fit(X_scaled)
labels = kmeans.labels_
# train DT & KNN
dt = DecisionTreeClassifier().fit(X_scaled, labels)
knn = KNeighborsClassifier(n_neighbors=5).fit(X_scaled, labels)

IX. Monitoring & Pemeliharaan

  • Retrain K-Means setiap 1 bulan atau ketika data berubah signifikan.
  • Evaluasi akurasi KNN dan kompleksitas Decision Tree (pruning jika overfit).
  • Gunakan A/B test untuk mengukur pengaruh promosi berdasarkan segmen.

X. Penutup

Sistem klasifikasi berbasis K-Means + KNN + Decision Tree memberikan solusi baik untuk UMKM: segmentasi mudah, prediksi pelanggan baru, dan aturan bisnis yang dapat dibaca manusia. Implementasinya ringan dan dapat dijalankan secara lokal atau cloud kecil.

Tidak ada komentar:

Posting Komentar