Back to Blog

Sistem Rekomendasi Berbasis AI untuk E-Commerce

Bagaimana mesin rekomendasi modern bekerja dan cara mengimplementasikan yang mendorong pendapatan untuk toko online Anda.

Mesin di Balik “Anda Mungkin Juga Suka”

Sistem rekomendasi adalah salah satu aplikasi AI yang paling berdampak secara komersial. Amazon mengaitkan hingga 35% pendapatannya dengan mesin rekomendasinya. Netflix memperkirakan sistem rekomendasinya menghemat lebih dari $1 miliar per tahun dalam retensi pelanggan.

Bagi bisnis e-commerce Indonesia, peluangnya sama menariknya. Dengan basis pembeli online yang terus tumbuh dan ukuran katalog yang meningkat, membantu pelanggan menemukan produk yang relevan bukan lagi opsional. Ini adalah penggerak pendapatan.

Panduan ini menjelaskan bagaimana sistem rekomendasi bekerja, pendekatan mana yang cocok untuk bisnis Anda, dan cara mengimplementasikan yang memberikan hasil terukur.

Cara Kerja Sistem Rekomendasi

Collaborative Filtering

Pendekatan paling intuitif. Jika pengguna A dan B memiliki riwayat pembelian yang mirip, item yang dibeli A tetapi belum dilihat B adalah rekomendasi yang baik untuk B.

User-based collaborative filtering menemukan pengguna yang mirip dan merekomendasikan apa yang disukai pengguna tersebut.

Item-based collaborative filtering menemukan item yang mirip dengan apa yang sudah diinteraksikan pengguna. Pendekatan ini lebih scalable dan lebih banyak digunakan di production.

import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

# Matriks interaksi user-item (baris: user, kolom: item)
# Nilai merepresentasikan rating atau jumlah pembelian
interaction_matrix = np.array([
    [5, 3, 0, 1, 0],  # User 0
    [4, 0, 0, 1, 1],  # User 1
    [1, 1, 0, 5, 0],  # User 2
    [0, 0, 5, 4, 4],  # User 3
    [0, 1, 4, 0, 5],  # User 4
])

# Hitung kesamaan item-item
item_similarity = cosine_similarity(interaction_matrix.T)

def rekomendasikan_item(user_id: int, n_rekomendasi: int = 3) -> list:
    """Rekomendasikan item berdasarkan item-item collaborative filtering."""
    user_ratings = interaction_matrix[user_id]
    scores = item_similarity.dot(user_ratings)

    # Kecualikan item yang sudah di-rating
    sudah_dirating = np.where(user_ratings > 0)[0]
    scores[sudah_dirating] = -1

    # Return N item teratas
    top_items = np.argsort(scores)[::-1][:n_rekomendasi]
    return top_items.tolist()

# Dapatkan rekomendasi untuk User 0
recs = rekomendasikan_item(user_id=0, n_rekomendasi=2)
print(f"Item yang direkomendasikan untuk User 0: {recs}")

Content-Based Filtering

Merekomendasikan item yang mirip dengan apa yang disukai pengguna sebelumnya, berdasarkan atribut item (kategori, merek, rentang harga, deskripsi teks).

Pendekatan ini bekerja baik untuk item baru yang belum memiliki data interaksi (masalah cold-start) karena rekomendasi didasarkan pada fitur item, bukan pola perilaku pengguna.

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel

# Deskripsi produk
produk = [
    {"id": 1, "nama": "Kemeja Batik", "desc": "Kemeja batik katun tradisional Jawa"},
    {"id": 2, "nama": "Sarung Sutra", "desc": "Sarung sutra tenun tangan motif Bali"},
    {"id": 3, "nama": "Dress Batik", "desc": "Dress batik katun modern desain Indonesia"},
    {"id": 4, "nama": "Tas Kulit", "desc": "Tas selempang kulit asli buatan tangan"},
    {"id": 5, "nama": "Keranjang Rotan", "desc": "Keranjang penyimpanan rotan anyaman tradisional"},
]

deskripsi = [p["desc"] for p in produk]
tfidf = TfidfVectorizer()
tfidf_matrix = tfidf.fit_transform(deskripsi)
similarity = linear_kernel(tfidf_matrix, tfidf_matrix)

def cari_produk_mirip(product_idx: int, n: int = 2) -> list:
    """Temukan produk yang mirip dengan produk yang diberikan."""
    sim_scores = list(enumerate(similarity[product_idx]))
    sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
    # Kecualikan produk itu sendiri
    return [produk[i]["nama"] for i, _ in sim_scores[1:n+1]]

# Cari produk mirip "Kemeja Batik"
mirip = cari_produk_mirip(0)
print(f"Mirip dengan Kemeja Batik: {mirip}")

Pendekatan Hybrid

Sistem production hampir selalu menggabungkan beberapa teknik. Sistem hybrid tipikal mungkin menggunakan:

  1. Collaborative filtering untuk pengguna dengan riwayat interaksi yang cukup
  2. Content-based filtering untuk pengguna baru atau item baru
  3. Rekomendasi berbasis popularitas sebagai fallback
  4. Business rules untuk menegakkan constraint (level inventori, target margin, item promosi)

Pendekatan Deep Learning

Sistem rekomendasi modern semakin menggunakan deep learning. Neural collaborative filtering, model sequence-aware (memperlakukan riwayat browsing sebagai sequence), dan arsitektur berbasis transformer menangkap pola lebih kompleks daripada metode tradisional.

Untuk platform e-commerce Indonesia yang lebih besar yang memproses jutaan interaksi harian, pendekatan ini memberikan peningkatan akurasi yang bermakna.

Merancang Rekomendasi untuk E-Commerce Indonesia

Memahami Perilaku Belanja Lokal

Pembeli online Indonesia menunjukkan pola khas yang harus diperhitungkan sistem rekomendasi Anda:

Sensitivitas harga. Banyak pembeli aktif membandingkan harga lintas platform. Rekomendasi harus mempertimbangkan preferensi rentang harga dan menyoroti proposisi nilai.

Didorong flash sale dan promosi. E-commerce Indonesia sangat event-driven (Harbolnas, sale Ramadan, promo gajian). Sistem rekomendasi Anda harus beradaptasi dengan pola temporal ini dan mempromosikan deal yang relevan.

Social proof penting. Produk dengan lebih banyak ulasan dan rating lebih tinggi membawa bobot signifikan. Masukkan sinyal sosial ke dalam scoring rekomendasi Anda.

Browsing mobile-first. Lebih dari 90% traffic e-commerce Indonesia berasal dari perangkat mobile. Interface rekomendasi harus bekerja dalam batasan layar mobile, biasanya menampilkan 2 hingga 4 item sekaligus.

Di Mana Menempatkan Rekomendasi

PenempatanStrategiDampak yang Diharapkan
HomepagePilihan personal, item trendingMeningkatkan kedalaman sesi
Halaman produk”Item serupa,” “Sering dibeli bersama”Meningkatkan AOV
Halaman keranjangCross-sell item komplementerMeningkatkan AOV 15 hingga 25%
Hasil pencarian”Anda mungkin juga suka” di samping hasilMengurangi bounce rate
Email pasca-pembelian”Berdasarkan pembelian terbaru Anda”Mendorong pembelian ulang
Keranjang / wishlist kosongItem populer di kategori yang dijelajahiRe-engage pengguna

Menangani Masalah Cold-Start

Pengguna baru dan produk baru tidak memiliki riwayat interaksi. Tangani ini dengan:

  • Pengguna baru: Gunakan data demografis, sumber referral, atau tipe perangkat untuk membuat rekomendasi awal. Segera setelah pengguna berinteraksi dengan beberapa item, beralih ke rekomendasi personal.
  • Produk baru: Gunakan fitur content-based (kategori, harga, deskripsi) untuk menempatkan produk bersama item serupa. Boost produk baru dalam rekomendasi untuk mengumpulkan data interaksi awal.

Roadmap Implementasi

Fase 1: Quick Wins (Minggu 1 hingga 2)

Implementasi rekomendasi non-personal yang tetap mendorong pendapatan:

  • “Best seller di kategori ini”
  • “Pelanggan yang membeli ini juga membeli”
  • “Item yang baru dilihat”

Ini memerlukan infrastruktur ML minimal dan memberikan nilai langsung.

Fase 2: Personalisasi Dasar (Minggu 3 hingga 6)

Implementasi collaborative filtering menggunakan data pembelian dan browsing yang ada. Mulai dengan item-based collaborative filtering yang efisien secara komputasi dan efektif.

Fase 3: Personalisasi Lanjutan (Bulan 2 hingga 3)

Tambahkan content-based filtering, hybrid scoring, dan rekomendasi berbasis sesi real-time. Implementasi infrastruktur A/B testing untuk mengukur dampak setiap perubahan.

Fase 4: Optimasi (Berkelanjutan)

Terus perbaiki model Anda berdasarkan hasil A/B test. Eksplorasi pendekatan deep learning, update rekomendasi real-time, dan optimasi multi-objektif (menyeimbangkan relevansi, keragaman, dan tujuan bisnis).

Mengukur Keberhasilan

Pantau metrik ini sejak awal:

  • Click-through rate (CTR): Persentase rekomendasi yang ditampilkan yang diklik pengguna
  • Conversion rate: Persentase klik rekomendasi yang menghasilkan pembelian
  • Average order value (AOV): Perubahan nilai pesanan yang diatribusikan ke rekomendasi
  • Revenue per session: Dampak pendapatan keseluruhan
  • Catalog coverage: Persentase katalog yang muncul dalam rekomendasi (hindari hanya merekomendasikan item populer)
  • Diversity: Seberapa beragam rekomendasinya (hindari menampilkan item yang sama berulang kali)

A/B test setiap perubahan signifikan. Bandingkan sistem rekomendasi Anda terhadap baseline (acak atau berbasis popularitas) untuk mengkuantifikasi dampak bisnis aktual.

Pertimbangan Teknis

Skalabilitas. Jika katalog Anda memiliki 100.000 produk dan 1 juta pengguna, menghitung semua rekomendasi secara precompute tidak praktis. Gunakan algoritma approximate nearest neighbor (FAISS, Annoy) untuk pencarian kesamaan yang efisien dalam skala.

Update real-time. Preferensi pengguna berubah selama sesi. Masukkan sinyal real-time (klik sesi saat ini, penambahan keranjang) bersama data historis.

Privasi. Bersikaplah transparan tentang penggunaan data. Patuhi regulasi perlindungan data Indonesia (UU PDP). Izinkan pengguna mengontrol preferensi rekomendasi mereka.

Memulai

Anda tidak memerlukan dataset besar atau tim peneliti ML untuk mulai memberikan rekomendasi yang bernilai. Mulai dengan pendekatan sederhana berbasis aturan, ukur dampaknya, dan secara progresif perkenalkan personalisasi berbasis ML.

Idea Comindo telah mengimplementasikan sistem rekomendasi untuk bisnis e-commerce Indonesia mulai dari startup yang berkembang hingga platform marketplace yang sudah mapan. Kami membantu Anda memilih pendekatan yang tepat untuk ukuran katalog, volume traffic, dan tujuan bisnis Anda, lalu membangun dan men-deploy sistem yang mendorong pertumbuhan pendapatan terukur.

Read in English English Version