Definisi Collaborative Filtering
Collaborative Filtering adalah metode sistem rekomendasi yang menghasilkan saran item (produk, film, lagu) berdasarkan pola kesamaan perilaku antar pengguna atau item, bukan berdasarkan atribut konten item.
Prinsip utama:
Preferensi pengguna dapat diprediksi dari preferensi pengguna lain yang serupa.
Komponen Utama Collaborative Filtering
User (Pengguna)
Entitas yang berinteraksi dengan sistem:
-
Memberi rating
-
Melakukan pembelian
-
Klik / view produk
Item
Objek yang direkomendasikan:
-
Produk e-commerce
-
Film, lagu, buku
Interaksi
Data hubungan user–item:
-
Explicit feedback → rating (1–5)
-
Implicit feedback → klik, waktu kunjungan, pembelian
User–Item Interaction Matrix
CF direpresentasikan dalam bentuk matriks pengguna–item:
R=[r11r12…r1nr21r22…r2n⋮⋮⋱⋮rm1rm2…rmn]R = \begin{bmatrix} r_{11} & r_{12} & \dots & r_{1n} \\ r_{21} & r_{22} & \dots & r_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ r_{m1} & r_{m2} & \dots & r_{mn} \end{bmatrix}
Dimana:
-
ruir_{ui} = rating/interaksi user uu terhadap item ii
-
Nilai kosong → user belum berinteraksi
Masalah utama: sparse matrix (banyak nilai kosong)
Jenis Collaborative Filtering
Memory-Based Collaborative Filtering
Menggunakan data mentah tanpa pelatihan model.
A. User-Based Collaborative Filtering
Konsep
Rekomendasi untuk user uu berdasarkan user lain yang paling mirip dengan uu.
Tahapan
-
Hitung similarity antar user
-
Pilih Top-K user paling mirip
-
Prediksi rating item berdasarkan neighbor
Rumus Prediksi Rating
r^u,i=∑v∈N(u)sim(u,v)⋅rv,i∑v∈N(u)∣sim(u,v)∣\hat{r}_{u,i} = \frac{\sum_{v \in N(u)} sim(u,v) \cdot r_{v,i}} {\sum_{v \in N(u)} |sim(u,v)|}
Metode Similarity
-
Cosine Similarity
-
Pearson Correlation
-
Jaccard Index (implicit feedback)
B. Item-Based Collaborative Filtering
Konsep
Rekomendasi berdasarkan kemiripan antar item, bukan user.
Tahapan
-
Hitung similarity antar item
-
Ambil item yang mirip dengan item yang pernah disukai user
-
Hitung skor rekomendasi
Rumus Prediksi
r^u,i=∑j∈I(u)sim(i,j)⋅ru,j∑j∈I(u)∣sim(i,j)∣\hat{r}_{u,i} = \frac{\sum_{j \in I(u)} sim(i,j) \cdot r_{u,j}} {\sum_{j \in I(u)} |sim(i,j)|}
Keunggulan:
-
Lebih stabil
-
Cocok untuk e-commerce skala besar
Model-Based Collaborative Filtering
Menggunakan machine learning untuk mempelajari pola laten.
A. Matrix Factorization
Memecah matriks user–item menjadi dua matriks laten:
R≈P×QTR \approx P \times Q^T
-
PP = matriks fitur laten user
-
QQ = matriks fitur laten item
Metode Populer
-
SVD (Singular Value Decomposition)
-
ALS (Alternating Least Squares)
-
PMF (Probabilistic Matrix Factorization)
Fungsi Objektif
min∑(rui−pu⋅qi)2+λ(∣∣pu∣∣2+∣∣qi∣∣2)\min \sum (r_{ui} – p_u \cdot q_i)^2 + \lambda(||p_u||^2 + ||q_i||^2)
B. Neural Collaborative Filtering (NCF)
Menggunakan Deep Learning:
-
Embedding user & item
-
Multi-layer perceptron (MLP)
Keunggulan:
-
Menangkap hubungan non-linear
-
Cocok untuk data implicit besar
Similarity Measure (Detail)
Cosine Similarity
sim(A,B)=A⋅B∣∣A∣∣⋅∣∣B∣∣sim(A,B) = \frac{A \cdot B}{||A|| \cdot ||B||}
Pearson Correlation
sim(A,B)=∑(Ai−Aˉ)(Bi−Bˉ)∑(Ai−Aˉ)2∑(Bi−Bˉ)2sim(A,B) = \frac{\sum (A_i – \bar{A})(B_i – \bar{B})} {\sqrt{\sum (A_i – \bar{A})^2} \sqrt{\sum (B_i – \bar{B})^2}}
Masalah Utama Collaborative Filtering
| Masalah | Penjelasan |
|---|---|
| Cold Start User | User baru tanpa riwayat |
| Cold Start Item | Produk baru |
| Sparsity | Data jarang |
| Scalability | Data sangat besar |
Solusi & Pengembangan
-
Hybrid CF + Content-Based
-
Implicit CF (confidence weighting)
-
Dimensionality Reduction
-
Online Learning
-
Context-Aware CF
Evaluasi Sistem Rekomendasi
Offline Metrics
-
RMSE
-
MAE
-
Precision@K
-
Recall@K
-
NDCG
Online Metrics
-
CTR (Click Through Rate)
-
Conversion Rate
Contoh Alur Penerapan di E-Commerce
-
Kumpulkan data transaksi
-
Bangun user–item matrix
-
Terapkan item-based CF
-
Hitung similarity
-
Generate rekomendasi real-time
Data yang Digunakan di E-Commerce
Collaborative Filtering dapat menggunakan:
| Jenis Data | Contoh |
|---|---|
| Explicit Feedback | Rating bintang (1–5) |
| Implicit Feedback | Klik, pembelian, waktu melihat produk |
| Transaction Data | Riwayat belanja |
Biasanya dibuat User–Item Matrix:
| User / Item | Produk A | Produk B | Produk C |
|---|---|---|---|
| User 1 | 5 | 0 | 3 |
| User 2 | 4 | 2 | 0 |
| User 3 | 0 | 5 | 4 |
(0 = belum berinteraksi)
Langkah Penerapan Collaborative Filtering
1️⃣ Preprocessing Data
-
Hilangkan user/item dengan interaksi terlalu sedikit
-
Normalisasi rating (jika perlu)
2️⃣ Hitung Similarity
Contoh Cosine Similarity:
similarity(A,B)=A⋅B∣∣A∣∣×∣∣B∣∣\text{similarity}(A,B) = \frac{A \cdot B}{||A|| \times ||B||}
3️⃣ Tentukan Neighbor
-
Ambil Top-K user/item paling mirip
4️⃣ Generate Rekomendasi
-
Prediksi rating atau skor ketertarikan
-
Urutkan produk dengan skor tertinggi
Contoh Implementasi Sederhana (Python)
from sklearn.metrics.pairwise import cosine_similarity
import pandas as pd
# User-Item Matrix
data = pd.DataFrame({
‘Produk_A’: [5, 4, 0],
‘Produk_B’: [0, 2, 5],
‘Produk_C’: [3, 0, 4]
}, index=[‘User1’, ‘User2’, ‘User3’])
# Similarity antar user
user_similarity = cosine_similarity(data)
Kelebihan Collaborative Filtering
✅ Tidak memerlukan deskripsi produk
✅ Rekomendasi terasa personal
✅ Cocok untuk katalog besar
Kekurangan & Tantangan
| Masalah | Penjelasan |
|---|---|
| Cold Start | User atau produk baru |
| Sparsity | Data interaksi jarang |
| Scalability | Perhitungan berat di data besar |
Solusi Umum:
-
Hybrid dengan Content-Based Filtering
-
Matrix Factorization (SVD, ALS)
-
Deep Learning (Neural Collaborative Filtering)
Penerapan Nyata di E-Commerce
-
Tokopedia / Shopee → “Produk serupa” & “Sering dibeli bersama”
-
Amazon → Item-based CF
-
Netflix → User & item-based hybrid

Collaborative Filtering merupakan salah satu metode yang efektif dalam sistem rekomendasi, khususnya pada platform e-commerce, karena mampu memanfaatkan pola perilaku pengguna untuk menghasilkan rekomendasi yang bersifat personal. Dengan menganalisis kesamaan antar pengguna atau antar item, sistem dapat menyarankan produk yang relevan tanpa memerlukan informasi detail mengenai atribut produk tersebut.
Meskipun Collaborative Filtering memiliki keunggulan dalam hal personalisasi dan fleksibilitas, metode ini juga menghadapi beberapa tantangan, seperti masalah cold start, sparsity data, dan skalabilitas pada sistem berskala besar. Oleh karena itu, diperlukan pengembangan lebih lanjut, seperti penerapan metode model-based, pendekatan hybrid, serta pemanfaatan teknik machine learning dan deep learning untuk meningkatkan akurasi dan kinerja sistem rekomendasi.
Dengan penerapan dan pengembangan yang tepat, Collaborative Filtering diharapkan dapat meningkatkan pengalaman pengguna, mendorong peningkatan penjualan, serta memberikan nilai tambah yang signifikan bagi sistem e-commerce di masa mendatang.
