Apa Itu Market Basket Analysis? Metrik, Contoh, dan Kasus Penggunaan

Market basket analysis adalah metode untuk menemukan produk mana saja yang dibeli bersamaan dalam transaksi yang sama. Metode ini memindai data pesanan untuk mencari kombinasi item yang muncul lebih sering daripada yang diperkirakan secara kebetulan. Tiga metrik menjelaskan setiap pola: support, confidence, dan lift. Pengecer dan toko online menggunakannya untuk cross-selling, bundel, dan penempatan produk.
Panduan ini menjelaskan cara kerja metode ini, cara menghitung setiap metrik, dan cara membaca hasilnya. Panduan ini juga membahas algoritma umum, kasus penggunaan utama, dan batasan yang perlu diketahui sebelum Anda mengambil tindakan berdasarkan suatu aturan.
Apa itu market basket analysis
Ide dasar di balik market basket analysis sangat sederhana. Setiap pesanan adalah keranjang berisi item. Di antara ribuan keranjang, beberapa item terus muncul bersamaan. Analisis ini menemukan kombinasi tersebut dan mengukur seberapa kuat masing-masing kombinasi.
Hasilnya adalah sekumpulan aturan asosiasi. Sebuah aturan berbunyi "jika keranjang berisi A, kemungkinan besar keranjang tersebut juga berisi C." A disebut antecedent, dan C disebut consequent. Keduanya bisa berupa item tunggal atau kelompok item.
Dokumentasi untuk mlxtend, pustaka Python yang banyak digunakan untuk pekerjaan ini, memberikan ilustrasi klasik. Dokumentasi tersebut menjelaskan aturan yang menunjukkan "bahwa orang yang membeli popok kemungkinan besar juga membeli bir." Terlepas dari apakah pasangan tersebut berlaku di toko tertentu atau tidak, hal ini menunjukkan bentuk dari hasil analisis tersebut.
Teknik ini termasuk dalam bidang yang lebih luas yang disebut association rule learning. Dokumentasi mlxtend mencatat bahwa algoritma Apriori "telah dirancang untuk beroperasi pada basis data yang berisi transaksi, seperti pembelian oleh pelanggan di toko." Ritel adalah tempat metode ini bermula, tetapi data apa pun yang terdiri dari keranjang belanja dapat digunakan.
Cara kerjanya
Analisis market basket berjalan dalam dua tahap.
Tahap satu menemukan frequent itemsets. Itemset adalah kelompok item apa pun, seperti {casing ponsel, pelindung layar}. Itemset dianggap sering muncul ketika muncul setidaknya dalam porsi minimum dari semua transaksi. Anda menentukan batas minimum tersebut, yang disebut support threshold.
Tahap dua mengubah itemset menjadi aturan. Untuk setiap frequent itemset, algoritma membaginya menjadi antecedent dan consequent serta memberikan skor pada aturan yang dihasilkan. Dokumentasi mlxtend menjelaskan pembuatan aturan sebagai "tugas umum dalam penambangan pola yang sering muncul."
Inputnya selalu memiliki bentuk yang sama. Setiap baris adalah transaksi, dan setiap kolom menandai apakah suatu item ada di dalamnya. Ekspor pesanan dari sebagian besar platform e-commerce dapat diubah ke format ini menggunakan pivot.
Tiga pilihan persiapan menentukan hasil sebelum metrik apa pun dihitung. Pertama, tentukan apa yang dimaksud dengan transaksi, yang biasanya berupa satu ID pesanan. Kedua, catat keberadaan item alih-alih jumlahnya, sehingga tiga unit dari satu item tetap dihitung satu kali. Ketiga, pilih tingkat detailnya. Kategori produk menghasilkan aturan yang lebih sedikit dan lebih luas, sedangkan SKU individual memberikan aturan yang lebih tepat tetapi membutuhkan lebih banyak data.
Tiga metrik utama
Setiap aturan mendapatkan tiga angka. Membaca ketiganya secara bersamaan adalah hal yang membedakan aturan yang berguna dari sekadar kebetulan.
Support
Support adalah bagian dari semua transaksi yang berisi itemset tersebut. Jika 60 dari 1.000 pesanan berisi casing ponsel dan pelindung layar, support dari pasangan tersebut adalah 0,06, atau 6%.
Support memberi tahu Anda seberapa umum suatu pola. Aturan dengan support yang sangat rendah mungkin nyata tetapi terlalu jarang terjadi untuk ditindaklanjuti.
Confidence
Confidence adalah probabilitas melihat consequent, dengan asumsi keranjang sudah berisi antecedent. Nilainya sama dengan support dari pasangan tersebut dibagi dengan support dari antecedent.
Confidence memiliki arah. Confidence dari A yang mengarah ke C biasanya berbeda dengan C yang mengarah ke A. Contoh perhitungan di bawah ini menunjukkan alasannya.
Lift
Lift membandingkan frekuensi aktual pasangan tersebut dengan apa yang Anda harapkan jika kedua item tersebut tidak saling berhubungan. Nilainya sama dengan confidence dari aturan tersebut dibagi dengan support dari consequent.
Dokumentasi mlxtend menjelaskan titik acuan ini dengan jelas: "Jika A dan C saling bebas, skor Lift akan tepat bernilai 1." Lift di atas 1 berarti item-item tersebut muncul bersamaan lebih sering daripada kebetulan. Lift di bawah 1 berarti item-item tersebut muncul bersamaan lebih jarang.
Contoh perhitungan
Bayangkan sebuah toko elektronik online dengan 1.000 pesanan dalam sebulan.
| Metrik | Nilai |
|---|---|
| Pesanan yang berisi casing ponsel | 200 |
| Pesanan yang berisi pelindung layar | 100 |
| Pesanan yang berisi keduanya | 60 |
| Support dari pasangan tersebut | 60 / 1.000 = 0,06 |
| Confidence, casing ponsel ke pelindung layar | 0,06 / 0,20 = 0,30 |
| Confidence, pelindung layar ke casing ponsel | 0,06 / 0,10 = 0,60 |
| Lift | 0,30 / 0,10 = 3,0 |
Baca hasilnya dalam istilah yang sederhana. Tiga dari sepuluh pembeli casing ponsel juga membeli pelindung layar. Enam dari sepuluh pembeli pelindung layar juga membeli casing ponsel. Pasangan ini muncul bersamaan tiga kali lebih sering daripada yang diperkirakan secara kebetulan.
Saat tabel aturan lengkap ditampilkan kembali, bacalah dalam urutan yang tetap. Urutkan berdasarkan lift untuk menemukan hubungan terkuat. Abaikan aturan di bawah support minimum Anda, karena aturan tersebut terlalu jarang terjadi untuk ditindaklanjuti. Kemudian gunakan confidence untuk memutuskan arah rekomendasi mana yang akan diberikan.
Kedua angka confidence tersebut mengarah pada tindakan yang berbeda. Menyarankan casing ponsel kepada pembeli pelindung layar adalah rekomendasi yang lebih kuat, karena 60% dari mereka sudah membelinya. Nilai lift sama di kedua arah, itulah sebabnya lift merupakan ukuran yang lebih baik untuk kekuatan hubungan itu sendiri.
Metrik lain yang perlu diketahui
Tiga metrik utama mencakup sebagian besar kebutuhan, tetapi pustaka melaporkan metrik lain yang membantu menyaring aturan yang lemah.
Leverage mengukur kesenjangan antara kemunculan bersama yang diamati dan yang diharapkan. Dokumentasi mlxtend mendefinisikannya dengan membandingkan kemunculan bersama yang diamati dengan "frekuensi yang diharapkan jika A dan C saling bebas." Nilai leverage sebesar 0 berarti saling bebas.
Conviction mengukur seberapa kuat consequent bergantung pada antecedent. Seperti lift, nilai 1 menunjukkan saling bebas. Nilai yang lebih tinggi berarti aturan tersebut dilanggar lebih jarang daripada yang diperkirakan secara kebetulan.
Dalam praktiknya, sebagian besar tim mengurutkan aturan berdasarkan lift, lalu menyaringnya berdasarkan support dan confidence minimum. Kombinasi tersebut memunculkan pola yang kuat, cukup umum untuk diperhatikan, dan andal.
Algoritma: Apriori dan FP-Growth
Apriori adalah algoritma klasik. Dokumentasi mlxtend mengutip makalah Agrawal dan Srikant tahun 1994 tentang algoritma cepat untuk menambang aturan asosiasi sebagai sumbernya. Apriori membangun itemset tingkat demi tingkat dan memangkas itemset apa pun yang subsetnya tidak sering muncul, sehingga pencarian tetap dapat dikelola.
FP-Growth mencapai frequent itemsets yang sama melalui rute yang berbeda. Dokumentasi mlxtend menjelaskannya sebagai "alternatif populer untuk algoritma Apriori yang sudah mapan." Algoritma ini membangun pohon pola yang sering muncul dan tidak memerlukan pembuatan kandidat. Dokumentasi tersebut menyatakan bahwa hal ini membuatnya "sangat menarik untuk kumpulan data yang besar."
Batas support bekerja dengan cara yang sama pada keduanya. Dokumentasi mlxtend memberikan contoh sederhana: pada ambang batas 0,5, sebuah frequent itemset harus muncul setidaknya di setengah dari semua transaksi. Ambang batas ritel biasanya jauh lebih rendah, karena pasangan yang populer sekalipun hanya muncul di sebagian kecil pesanan.
Untuk sebagian besar pertanyaan bisnis, pilihan algoritma hanya mengubah kecepatan, bukan hasil. Keduanya mengembalikan itemset yang sama untuk support threshold yang sama.
Kegunaan market basket analysis
Market basket analysis paling sering digunakan dalam ritel dan e-commerce, tetapi kasus penggunaannya meluas lebih jauh.
- Cross-selling. Rekomendasikan consequent saat checkout ketika antecedent ada di dalam keranjang.
- Bundles. Paketkan item dengan lift tinggi ke dalam satu penawaran.
- Tata letak toko dan halaman. Tempatkan item yang sering dipasangkan berdekatan satu sama lain, di rak atau di halaman produk.
- Perencanaan inventaris. Stok item yang berpasangan secara bersamaan, sehingga kekurangan salah satu item tidak secara diam-diam menekan penjualan item lainnya.
- Konten dan media. Perlakukan sesi pengguna sebagai keranjang belanja dan temukan artikel atau video mana yang dikonsumsi bersamaan.
- Layanan. Dalam perbankan atau telekomunikasi, perlakukan produk setiap pelanggan sebagai keranjang belanja dan temukan kombinasi mana yang cenderung berjalan bersamaan.
- Tinjauan kampanye. Bandingkan lift untuk suatu pasangan sebelum dan selama kampanye. Lonjakan menunjukkan bahwa kampanye tersebut mengubah perilaku pembelian, bukan hanya volume.
Setiap kasus penggunaan dimulai dari pertanyaan yang sama. Ketika pelanggan memilih satu hal, apa lagi yang cenderung mereka pilih?
Tindakan yang mengikuti harus sesuai dengan arah confidence. Bundel berfungsi ketika kedua item diinginkan bersamaan. Saran checkout berfungsi ketika satu item secara andal mengarah ke item lainnya.
Market basket analysis vs metode terkait
Market basket analysis sering kali disalahartikan sebagai segmentasi pelanggan dan mesin rekomendasi. Tabel ini menunjukkan perbedaannya.
| Metode | Unit analisis | Pertanyaan utama | Hasil umum |
|---|---|---|---|
| Market basket analysis | Transaksi | Item mana saja yang berjalan bersamaan? | Aturan asosiasi dengan support, confidence, dan lift |
| Segmentasi pelanggan | Pelanggan | Pelanggan mana saja yang serupa? | Kelompok pelanggan dengan karakteristik yang sama |
| Collaborative filtering | Riwayat pelanggan dan item | Apa yang akan disukai orang ini selanjutnya? | Rekomendasi yang dipersonalisasi |
| Analisis kohort | Kelompok berdasarkan tanggal mulai | Bagaimana perilaku berubah seiring waktu? | Kurva dan tabel retensi |
Metode-metode ini saling melengkapi. Segmentasi dapat memberi tahu Anda siapa pelanggan bernilai tinggi Anda, dan market basket analysis dapat memberi tahu Anda apa yang dibeli pelanggan tersebut bersama-sama. Panduan kami untuk membuat laporan segmentasi pelanggan membahas bagian pertama, dan penjelasan kami tentang analisis kohort membahas dimensi waktu.
Batasan yang perlu diketahui
Aturan dari market basket analysis memang berguna, tetapi mudah untuk ditafsirkan secara berlebihan.
Kemunculan bersama bukanlah sebab-akibat. Pasangan dengan lift tinggi memberi tahu Anda bahwa dua item dibeli bersamaan. Ini tidak memberi tahu Anda bahwa membeli satu item menyebabkan pembelian item lainnya.
Ambang batas menentukan jawaban. Atur support terlalu tinggi dan Anda akan melewatkan pasangan yang khusus tetapi berharga. Atur terlalu rendah dan Anda akan mendapatkan ribuan aturan, yang sebagian besar di antaranya adalah noise.
Item langka akan hilang. Item mahal yang dibeli beberapa kali dalam sebulan mungkin tidak akan pernah mencapai support threshold, meskipun pasangannya kuat.
Pengembalian dan pembatalan mendistorsi keranjang belanja. Jika item yang dikembalikan tetap ada dalam data, analisis akan menghitung pasangan yang sebenarnya dibatalkan oleh pelanggan. Panduan kami tentang laporan pengembalian produk membahas cara mengukur aspek tersebut secara terpisah.
Banyaknya pasangan berarti adanya beberapa pola palsu. Katalog berisi 500 item memiliki lebih dari 100.000 kemungkinan pasangan. Beberapa di antaranya akan menunjukkan lift tinggi hanya karena kebetulan. Konfirmasikan aturan penting pada periode data kedua sebelum menindaklanjutinya.
Waktu itu penting. Pola selama musim liburan mungkin tidak berlaku di musim semi. Jalankan analisis pada periode yang sebanding sebelum Anda mengubah tata letak atau bundel.
Cara menjalankannya tanpa menulis kode
Rute klasiknya adalah Python, dengan pustaka seperti mlxtend, atau SQL untuk menghitung pasangan. Keduanya memerlukan pembentukan ulang data pesanan menjadi satu baris per transaksi dan satu kolom per item.
Lembar kerja dapat menangani versi kecil. Pivot table menghitung pesanan per item, dan rumus COUNTIFS menghitung pesanan yang berisi kedua item dalam satu pasangan. Batasannya adalah skala, karena jumlah kemungkinan pasangan tumbuh dengan cepat seiring bertambahnya katalog.
Ruang kerja AI dapat melakukan pembentukan ulang dan penghitungan dari ekspor pesanan biasa. Powerdrill Bloom menyediakan fitur unggah Excel dan CSV di setiap paket. Anda dapat menanyakan produk mana yang paling sering dibeli bersamaan dan meminta support, confidence, dan lift untuk pasangan teratas.
Mulailah dengan menjalankan analisis di tingkat kategori untuk melihat pola yang luas. Kemudian jalankan kembali di tingkat SKU untuk kategori yang paling penting.
Periksa hasilnya dengan cara yang sama seperti Anda memeriksa skrip. Konfirmasikan jumlah transaksi, periksa satu pasangan secara manual, dan pastikan pesanan yang dikembalikan telah dikecualikan. Halaman asisten AI CSV menunjukkan alur kerja yang mengutamakan file.
Jika Anda sudah memiliki ekspor pesanan yang siap, Anda dapat mencoba Powerdrill Bloom pada data tersebut dan membandingkan pasangan teratas dengan apa yang diharapkan oleh tim Anda.
Pertanyaan yang sering diajukan
Apa itu market basket analysis dalam bahasa sederhana?
Ini adalah cara untuk menemukan produk mana yang cenderung dibeli bersama oleh pelanggan. Metode ini melihat banyak pesanan dan mengukur seberapa sering setiap kombinasi muncul, dibandingkan dengan apa yang diperkirakan secara kebetulan.
Apa itu lift dalam market basket analysis?
Lift membandingkan seberapa sering dua item muncul bersamaan dengan seberapa sering mereka akan muncul jika mereka tidak saling berhubungan. Lift bernilai 1 berarti tidak ada asosiasi. Di atas 1 berarti mereka muncul bersamaan lebih sering dari yang diharapkan, dan di bawah 1 berarti lebih jarang.
Bagaimana cara menghitung support dan confidence?
Support adalah jumlah transaksi yang berisi itemset dibagi dengan semua transaksi. Confidence is support dari pasangan tersebut dibagi dengan support dari antecedent. Keduanya biasanya ditampilkan sebagai desimal atau persentase.
Algoritma mana yang digunakan untuk market basket analysis?
Apriori adalah algoritma klasik, dan FP-Growth adalah alternatif umum yang lebih cepat. Keduanya menemukan frequent itemsets dari data transaksi, dan aturan kemudian dibuat serta diberi skor dari itemset tersebut.
Apakah Anda bisa melakukan market basket analysis di Excel?
Ya, untuk kumpulan data kecil. Pivot table menghitung pesanan per item, dan COUNTIFS menghitung pesanan yang berisi suatu pasangan. Untuk katalog besar, jumlah pasangan tumbuh dengan cepat, sehingga skrip atau alat AI lebih praktis.
Sumber: mlxtend, Association rules · mlxtend, Apriori. Contoh perhitungan menggunakan angka ilustratif.