Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS

Bangun Strategi Bisnis dengan Market Basket Analysis Menggunakan R

Belajar Data Science di Rumah 22-Maret-2022
https://dqlab.id/files/dqlab/cache/7ed2df71968400894362ee123fb0923d_x_Thumbnail800.jpg

Market basket analysis (MBA) adalah sebuah metodologi yang menganalisis perilaku jual-beli antara usaha dengan kostumer. Metodologi ini menjadi sangat berguna mengingat persaingan dalam perdagangan semakin berkembang dengan pesat. Metodologi ini digunakan baik dalam bisnis retail maupun e-commerce. Dengan menggunakan market basket analysis, pelaku usaha bisa menghasilkan strategi dan inovasi bisnis guna meningkatkan pendapatan. Contohnya dalam tata letak barang di bisnis retail yang disesuaikan dengan perilaku belanja kostumer.


Market basket analysis termasuk dalam metodologi yang sering digunakan dalam proses data mining. Maka tak heran, orang-orang yang ingin berkecimpung dalam karir data analyst maupun business intelligence rela berinvestasi agar bisa menguasai metodologi ini. Baik lewat belajar otodidak, kursus online, hingga di bangku kuliah. Tapi sahabat data tidak usah khawatir, artikel ini akan mendemokan penggunaan market basket analysis menggunakan R. Adapun detail tentang market basket analysis tentunya bisa sahabat data dapatkan di modul DQLAB.


1. Sekilas tentang MBA

Ada beberapa istilah dalam market basket analysis yang perlu untuk diketahui, yakni:

Item adalah produk tunggal yang terdapat dalam suatu transaksi. Contoh: rice, yoghurt dan whole milk.

  • Itemset adalah kombinasi satu atau lebih item yang terdapat dalam satu transaksi. Contoh: {whole milk}, {whole milk, rice}, {whole milk, rice}, dan lain-lain.

  • Rule adalah pernyataan hubungan antar Itemset. Biasanya dapat diformulasikan menjadi œJika membeli itemset A, maka akan membeli itemset B. Contoh: {whole milk, rice} => {yogurt}.

  • Support adalah suatu ukuran yang menunjukkan seberapa besar tingkat dominasi atau seberapa sering muncul suatu item atau itemset dari keseluruhan transaksi.

  • Confidence, adalah suatu ukuran yang menunjukkan hubungan antar dua item secara conditional (berdasarkan suatu kondisi tertentu).

  • Lift adalah ukuran korelasi sederhana antara kejadian A dan B 


2. Dataset dan Tools

Dataset yang digunakan adalah data transaksi di sebuah perusahaan retail dalam jangka waktu tertentu yang bernama Groceries. Dataset Groceries bisa didapatkan melalui package datasets di R yang umumnya telah tersedia secara default. Ada beberapa informasi yang ada pada data ini, seperti jumlah transaksi, item, maupun label. Tools yang digunakan untuk mengolah data Groceries pada artikel ini tentunya adalah R dibantu IDE RStudio. Detail pengolahan datanya akan dijelaskan dibagian berikutnya.


Baca juga : Kursus Belajar Data dengan Bahasa R Untuk Pemula


3. Packages yang Digunakan

Ada beberapa package yang dibutuhkan untuk melakukan market basket analysis, yakni:

  • arules, adalah package yang menyediakan infrastruktur dasar untuk membuat dan memanipulasi kumpulan data input serta menganalisis kumpulan item dan aturan (rules) yang dihasilkan

  • arulesViz, adalah paket yang mengimplementasikan beberapa teknik visualisasi yang untuk mengeksplorasi aturan asosiasi (rules)

  • datasets, adalah package ini berisi berbagai kumpulan data yang siap untuk dianalisis.


Untuk menggunakan pertama kali packages di atas, kita harus menginstallnya terlebih dahulu. Menginstall package hanya perlu dilakukan sekali, jika sebelumnya sudah pernah menginstall bisa melewati bagian ini. Namun jika belum pernah ikuti langkah dibawah:



install.packages(c("arules", "arulesViz", "datasets"))



R


Setelah penginstallan packages berhasil, selanjutnya kita perlu mengimpor packages agar bisa digunakan.

library(arules)
library(arulesViz)
library(datasets)


R



3. Impor dan Persiapan Data

Data yang digunakan pada artikel ini adalah data Groceries dari package datasets. Untuk mengimpor Groceries, jalankan code berikut:


# Load the data set
data(Groceries)


R


Detail data Groceries bisa dilihat pada gambar dibawah, dimana terdapat informasi yang tersedia seperti data, itemInfo dan itemsetInfo.

R



4. Eksplorasi Data

Pada bagian ini kita akan melakukan eksplorasi sederhana pada data Groceries. Dimulai dengan melihat 5 items pertama.


R


Pada gambar dibawah bisa kita lihat, items pertama terdiri dari pembelian citrus fruit, semi-finished bread, margarine, dan ready soups. Adapun items kedua terdiri dari tropical fruit, yogurt, dan coffe. Dapat diperhatikan umumnya kostumer membeli lebih dari 1 produk. Jika pemilik usaha bisa melihat pola pembelian produk, tentunya ini bisa menjadi landasan inovasi bisnis. Dimana inovasi ini diharapkan meningkatkan keuntungan bisnis atau perusahaan.


R

Selain melihat items, kita juga bisa melihat tiap-tiap item. Seperti yang telah disebutkan di awal, item adalah kesatuan produk. Coba cek gambar dibawah.

#Daftar Item Transaksi
Groceries@itemInfo

R


Beberapa item yang ada seperti produk frankfuter, sausage, ham, meat dan produk-produk lainnya.

R



Selanjutnya kita bisa melihat jumlah masing-masing item dalam seluruh items. Jalankan kode berikut:


sort(itemFrequency(Groceries, type = "absolute"), decreasing = TRUE)


R

Dapat dilihat secara berurutan, bahwa whole milk adalah produk paling populer dengan jumlah 2513 transaksi. Disusul other vegetables dengan 1903 transaksi, rolls/buns dengan 1809 transaksi, lalu soda, yogurt dan produk-produk lainnya.


R


Agar lebih mudah untuk dilihat, jumlah item di atas kita buat ke dalam visualisasi menggunakan barplot.


# Create an item frequency plot for the top 20 items
itemFrequencyPlot(Groceries,topN=10,type="absolute")


R


Dengan visualisasi data, kita lebih mudah memahami informasi apa yang terdapat pada sekumpulan data

R


Baca juga : Belajar Data Science: Bahasa Pemrograman R Cocok untuk Pemula 


5. Membangun Model Market Basket Analysis dengan Algoritma Apriori

Bagian ini merupakan bagian inti dari market basket analysis. Algoritma apriori akan menghasilkan aturan-aturan yang menggambarkan asosiasi tiap-tiap item pada seluruh transaksi. Jalankan kode berikut:


#MBA
rules <- apriori(Groceries, parameter = list(supp=0.001, conf=0.8))
rules


R

Model MBA yang dibangun dengan algoritma apriori tadi dibuat dengan kriteria nilai support lebih dari sama dengan 0.001 dan nilai confidence lebih dari sama dengan 0.8. Tidak ada aturan paten untuk menentukan kriteria ini. Sesuaikan dengan kebutuhan dan bagaimana keadaan data. Pada output dibawah, kita lihat dengan kriteria tersebut, aturan yang dihasilkan ada 410 aturan.


R


6. Melihat Aturan dengan Fungsi Inspect

Tentunya kita bisa melihat aturan-aturan yang telah dibangun tadi. Namun karena jumlahnya yang terlalu banyak, kita hanya akan melihat 5 aturan dengan nilai confidence tertinggi. Jika dibutuhkan sahabat data bisa mengatur sendiri berapa jumlah aturan yang ingin dilihat.


rules <- sort(rules, by='confidence', decreasing = TRUE)
inspect(rules[1:5])


R



LHS adalah singkatan dari left hand side. Sedangkan RHS adalah singkatan dari right hand side. Aturan yang dibangun dapat kita baca pada lhs, rhs dan metrik yang diinginkan. Misalnya pada aturan 1, bisa kita baca œjika seseorang membeli rice dan sugar maka terdapat kemungkinan orang tersebut akan membeli whole milk dengan support 0.00122, confidence 1 dan lift 1. Begitu pula cara membaca untuk aturan ke 2 hingga ke 410. Metrik-metrik seperti support, confidence maupun lift, nilai akan lebih bagus jika semakin besar.

R


7. Filter Aturan Berdasarkan Kriteria Tertentu

Jika kode diatas menampilkan aturan berdasarkan urutan tertentu, kita juga bisa menampilkan aturan berdasarkan kriteria tertentu. Misal nilai minimum confidence maupun item di lhs maupun rhs. Pada kode di bawah, akan di filter aturan dengan kriteria lhs terdapat item rice dan pada rhs terdapat item whole milk

    
inspect(subset(rules, lhs %in% "rice"))
inspect(subset(rules, lhs %in% "rice" & rhs %in% "whole milk"))


R


Dapat dilihat, ada 9 aturan yang memiliki kriteria terdapat rice pada lhs dan whole milk pada rhsnya.

8. Visualisasi

Berhubung ada ratusan aturan yang dibangun, kita hanya akan memvisualisasikan 10 aturan terbaik. Hal ini juga untuk memudahkan dalam membaca visualisasi network graph yang akan dibentuk.


topRules <- rules[1:10]



plot(topRules, method="graph")



R

Pada grafik network berikut kita bisa melihat hubungan antara item satu dengan item lainnya. Hubungan ini ditandai dengan arah panah ke titik yang sama dan ukuran lingkaran. Contoh citrus fruit, soft cheese, root vegetable dan other vegetables membentuk sebuah jaringan dengan nilai lift yang cenderung besar ditandai dengan warna yang lebih terang. 

R

9.Insight dan Rekomendasi

Beberapa insight dari market basket analysis pada data Groceries adalah:

  • Item yang paling diminati adalah whole milk, other vegetables, rolls/buns, soda dan yogurt.

  • Terdapat kecenderungan kostumer yang membeli rice dan sugar akan membeli whole milk. Sehingga dalam penataan item di toko, ketiga item bisa susun berdekatan. Selain itu bisa juga membuat paket bundling dari 3 item ini.


10. Mahir Market Basket Analysis bersama DQLab

Tentunya masih banyak hal-hal yang diinfokan pada artikel ini. Mulai dari pendalaman teori maupun modifikasi kode. 


DQLab memiliki modul Data Science in Retail: Market Basket Analysis yang akan membahas secara lengkap market basket analysis. 


Selain itu terdapat modul-modul lain yang tidak kalah keren yang tentunya bisa menunjang kemampuan analisis data. 


Penasaran dengan modulenya? Yuk, tunggu apalagi! Mulai Signup di DQLab dan nikmati module lengkapnya untuk mulai belajar data science! 

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login