Simple Market Basket Analysis with R.

Fadel Agusti
4 min readJul 21, 2021

--

Assalamualaikum teman-teman medium, pada pembahasan kali ini kita akan membahas tentang cara simpel memahami cara kerja market basket analisis menggunakan R.

https://morioh.com/p/98f05b42195b

Sebelum masuk ke pembahasan kita akan membahas terlebih dahulu apa itu Market Basket Analysis. Market Basket Analysis (MBA) adalah suatu analisis yang dilakukan pada tingkah laku konsumen dalam membeli barang. MBA umum digunakan untuk melihat barang yang sering dibeli bersamaan oleh para pelanggan.

Lanjut ke contoh disini saya akan memberikan contoh sederhana dari MBA:

data<-list(c(“A”,”B”),c(“A”,”C”),c(“C”))

Pada isi list diatas saya misalkan barang yang dibeli adalah A(Apel), B(Bawang) dan C(cabe). Pada data terdapat 3 kali transaksi yang pertama adalah pelanggan yang membeli Apel dan Bawang, pelanggan kedua membeli Apel dan Cabe dan pelanggan terakhir hanya membeli cabe.

Kemudian lanjut kita memasukkan data tadi kedalam data transaksi :

data.tran<-as(data,”transactions”)
data.tran
as(data.tran,"data.frame")
Data Transaksi

Kita telah memiliki data transaksi seperti data pada list diatas tadi. Pada data terdapat 3 transaksi dan juga sistem membaca terdapat 3 item yang dibeli (apel, bawang dan cabe).

Kemudian selanjutnya kita ingin melihat apriori dari data yang ada :

data.ap<-apriori(data.tran,parameter = list(supp=0.2,conf=0.2))
inspect(sort(data.ap))
Apriori data

Apriori dari data seperti pada gambar diatas. Mengapa harus melihat apriori data ? apriori sendiri bertujuan untuk menemukan frequent itemsets yaitu itemset yang sering muncul pada setiap transaksi yang dijalankan pada sekumpulan data. Untuk mempermudah kita membaca apriori maka disini kita juga menggunakan inspect. Cara membaca apriori adalah pada baris pertama dilihat bahwa barang C itu memiliki nilai count bernilai 2, sehingga barang C itu terbeli 2 kali dalam data transaksi. pada baris ke4 setiap pelanggan membeli barang B itu ada kemungkinan 100% untuk membeli barang A juga dikarenakan pada nilai confidence bernilai 1.

Kemudian kita lanjut membuat crosstable dari data :

crossTable(data.tran)
crossTable(data.tran,sort=T)
crossTable(data.tran,measure=’lift’,sort=T)

Diatas adalah crosstable dari data transaksi, yaitu pada barang A terbeli sebanyak 2 kali, barang A dan B terbeli bersamaan sebanyak 1 kali dan seterusnya.

Pada hasil ini ditambahkan measure dan sort. Sort berfungsi untuk mengurutkan variabel berdasarkan jumlah barang yang lebih banyak terbeli. itulah mengapa tidak seperti crosstabel pertama, crosstable ini pada baris dan kolom ke dua adalah barang C. Nilai lift akan selalu memuat dua barang seperti contohnya nilai lift ratio dari A>C adalah (0.75). Untuk menjelaskan measure ‘lift’ dapat melihat rumus berikut :

Lift (A>B) = Confidence(A>B)/Support(B)

Sementara untuk Confidence dan Support :

Support (A) = Count(A)/Count(Transaksi)
Support (B) = Count(B)/Count(Transaksi)
Sehingga Support A dan B adalah :
Support (A dan B) = Count (A dan B)/Count (Transaksi)
Confidence (A>B) = Support (A dan B)/ Support (A)

Mudahnya nilai support adalah jumlah transaksi barang A dan B dibagi dengan jumlah transaksi. Sementara confidence adalah jumlah barang A dan B dibagi dengan jumlah barang A.

Selanjutnya kita membuat item frequency :

Dapat dilihat item frequensi dari barang yang ada pada data.

Kemudian terakhir akan menampilkan grafik :

Dari grafik kita dapat mengetahui bahwa semakin besar lingkarannya maka nilai dari supportnya juga akan semakin besar. Pada grafik ini nilai support yang ada pada data berkisar diantara 0.333–0.667. Sementara warna yang semakin terang menunjukkan bahwa lift ratio yang semakin besar, lift ratio yang ada berkisar antara 0.75–1.50. Dari grafik didapatkan pada perilaku pelanggan terdapat bahwa barang apapun yang akan pelanggan beli pada akhirnya akan membeli barang Apel.

Saya rasa cukup sekian paparan singkat dari saya kepada teman-teman medium tentang Market Basket Analysis ini.

Terimakasih telah membaca.

--

--