SlideShare a Scribd company logo
Market Basket Analysis
konsep dan implementasi dengan Bahasa R
Muhammad Rifqi Ma’arif, M.Eng
Matakuliah Ilmu Data Industrial
Program Studi Teknik Industri
Fakultas Teknik & Teknologi Informasi
Universitas Jenderal Achmad Yani Yogyakarta
2020
Pengantar Market Basket Analysis
• Salah satu inovasi bisnis di bidang ritel dan supply chain adalah mencari
asosiasi atau hubungan antar produk dari data transaksi penjualan yang
bertujuan untuk:
• dipaketkan dan dijual bersamaan.
• memberikan rekomendasi produk kepada seseorang.
• menyusun rak display.
• menyusun halaman produk e-commerce.
• Semua hal ini bertujuan untuk meningkatkan penjualan sekaligus
memecahkan masalah inventory – karena produk yang tidak begitu laku
jika dipasangkan dengan tepat akan lebih menarik dan punya kemungkinan
besar dibeli dalam satu paket. Proses ini merupakan proses analisa yang
disebut dengan Market Basket Analysis (MBA).
Tujuan Market Basket Analysis
• Market Basket Analysis bertujuan untuk mencari
rekomendasi paket produk berdasarkan pola unik dari
data transaksi/pembelian pelanggan.
• Aplikasi MBA
• Optimaliasi strategi retail yang dapat meningkatkan
penjualan.
• Sebagai dasar prediksi kebutuhan barang di masa depan
untuk meningkatkan manajemen inventory pada proses
supply chain
• Inovasi pengembangan produk
• Supply chain risk analysis & management
• Dan lain sebagainya
Market Basket Analysis di R
• Penerapan Market Basket Analysis
(MBA) di R dapat menggunakan
algoritma apriori – yang
merupakan salah satu algoritma
terpopuler di area machine
learning - pada package arules.
• Arules sendiri adalah singkatan
dari association rules - kategori
machine learning. Untuk
menjalankan algoritma ini
diperlukan dibutukan dua data,
yaitu data produk dan data
transaksi.
#Menggunakan library arules
library(arules)
#Membaca transaksi dari file data_transaksi.txt
transaksi <- read.transactions(file="data_transaksi.txt",
format="single", sep="t", cols=c(1,2), skip=1)
#Menampilkan data transaksi dengan print dan inspect
inspect(transaksi)
#Menghasilkan model Market Basket Analysis
mba <- apriori(transaksi,parameter = list(supp = 0.1,
confidence = 0.5))
#Menampilkan paket produk
inspect(subset(mba, lift>1))
Market Basket Analysis di R
inspect(transaksi) inspect(subset(mba, lift>1))
Association Rule
• Association rule adalah representasi keterkaitan
antar entitas tertentu (e.g produk) yang memiliki
hubungan atau asosiasi kuat di dalam transaksi.
• Hubungan "kuat" disini akan dilihat berdasarkan
proporsi jumlah kemunculan kombinasi entitas dalam
keseluruhan data transaksi.
• Mari kita lihat contoh pada gambar disamping.
• Asd
• Asd
• Asd
• Asd
• Asd
• Asd
Algoritma Apriori
• Algoritma apriori adalah salah satu algoritma yang merupakan penerapan praktis dari Market
Basket Analysis (MBA). Algoritma ini digunakan untuk menganalisa banyaknya kombinasi produk
yang terjadi di dalam transaksi ritel, yang akan sulit dan lama jika dilakukan secara manual.
• Secara teknis, algoritma apriori akan mencari tingkat asosiasi antar item di dalam banyak
kombinasi kelompok data secara otomatis. Kombinasi ini juga bisa disusun dengan suatu aturan
(rule) asosiasi "Jika membeli ini produk A maka akan membeli produk B", sehingga algoritma ini
dikategorikan sebagai Association Rules di ranah machine learning.
• Dengan menemukan paket produk yang asosiasinya kuat, Anda sebagai seorang data scientist
dapat menyarankan kepada bisnis dapat melakukan berbagai action item seperti membuat paket
produk dengan penawaran khusus, mendekatkan produk-produk tersebut saling berdekatan
dalam satu rak, mengeluarkan rekomendasi produk di sistem e-commerce, mengurangi masalah
stok, dan lain-lain.
Algoritma Apriori di R
• Menampilkan kombinasi transaksi
#Membaca transaksi dari file data_transaksi.txt
transaksi <- read.transactions(file="data_transaksi.txt", format="single",
sep="t", cols=c(1,2), skip=1)
#Menampilkan jumlah kombinasi dari produk yang terdapat pada daftar transaksi yang ada
inspect(apriori(transaksi, parameter = list(support=.1, minlen=2, target='frequent itemsets')))
Item dan Trasaction
• item, itemset dan rules dihasilkan dari
transaksi atau transaction
• Transaction (transaksi) adalah.....
• Output disamping adalah tampilan dari
dataset yang berjumlah sepuluh transaksi,
dengan dua kolom yang terdiri dari:
• Kolom pertama adalah itemset yang berisi
item-item yang dibeli pada transaksi
tertentu.
• Kolom kedua berisi kode struk transaksi
yang menjadi penanda unik untuk tiap
transaksi.
Membaca Item & Transaction di R
• Dibaca sebagai dataframe
• Dibaca sebagai transaksi
transaksi_dataframe <-
read.csv("data_transaksi.txt", sep="t")
print(transaksi_dataframe)
read.transactions(file="data_transaksi.txt",
format="single", sep="t", cols=c(1,2), skip=1)
Membaca Item & Transaction di R
• Menampilkan daftar item transaksi
• Menampilkan top N items
transaksi <-
read.transactions(file="data_transaksi.txt",
format="single", sep="t", cols=c(1,2),
skip=1)
transaksi@itemInfo
library(arules)
transaksi <- read.transactions(file="data_transaksi.txt",
format="single", sep="t", cols=c(1,2), skip=1)
data_item <- itemFrequency(transaksi, type="absolute")
data_item <- sort(data_item, decreasing = TRUE)
data_item <- data_item[1:3]
data_item <- data.frame("Nama Produk"=names(data_item),
"Jumlah"=data_item, row.names=NULL)
Item, Itemset dan Rules
• Perhatikan output dari pengolahan algoritma apriori berikut
• Keterangan
• Item adalah produk tunggal yang terdapat dalam suatu transaksi.
Contoh: Pet Food, Sirup, Gula, dan Teh Celup.
• Itemset adalah kombinasi satu atau lebih item yang terdapat dalam satu transaksi.
Contoh: {Pet Food}, {Gula, Pet Food}, {Sirup}, dan lain-lain.
• Rule adalah pernyataan hubungan antar Itemset. Biasanya dapat diformulasikan menjadi
"Jika membeli itemset A, maka akan membeli itemset B".
Contoh: {Pet Food} => {Sirup}, {Pet Food, Teh Celup} => {Sirup}, dan lain-lain.
Itemset
• Tiap transaksi terdiri atas beberapa item atau itemset. Untuk melihat notasi itemset yang lebih
baik dan mudah dimengerti kita bisa menggunakan function inspect, yang tersedia di arules.
library(arules)
transaksi <- read.transactions
(file="data_transaksi.txt",
format="single",
sep="t",
cols=c(1,2),
skip=1)
inspect(transaksi)
Rules
• rule adalah formula yang
menyatakan kombinasi dari dua
itemset. Satu itemset ada di bagian
kiri rule (left hand side) dan satunya
di bagian kanan (right hand side)
dalam format berikut.
{itemset lhs} => {itemset rhs}
• Untuk menghasilkan rules, dapat
digunakan fungsi apriori yang
tersedia dalam arules.
apriori(transaksi)
Rules
• Melihat Rules dengan fungsi inspect
• Apa makna dari rule jika ingin kita aplikasikan?
• terlihat rule kedua yaitu {Pet Food} => {Sirup} cukup menarik Karena support 0.4
menunjukkan bahwa kombinasi ini terdapat di 40 persen populasi, sehingga:
• rekomendasikan kepada setiap pelanggan yang membeli Pet Food untuk membeli Sirup.
• rak display Pet Food dan Sirup bisa didekatkan.
• Pet Food dan Sirup dipaketkan bersama dan dijual dengan harga khusus.
library(arules)
transaksi <- read.transactions
(file="data_transaksi.txt",
format="single", sep="t",
cols=c(1,2), skip=1)
mba <- apriori(transaksi)
inspect(mba)
Filter RHS
• Dari hasil inspect objek mba yang bertipe association rules diketahui bahwa objek tersebut
mengandung banyak informasi termasuk itemset yang terdapat di left hand side dan right hand
side.
• Ini penting untuk bisnis, misalkan untuk inventory. Kita ingin menjawab, adakah item yang kurang laku
sebelumnya ada di dalam itemset dari rules yang dihasilkan oleh apriori? Jika ada, mungkin saya bisa paketkan
bersama sehingga kemungkinan besar terjual lebih banyak.
• Untuk melakukan ini kita akan melakukan filter atau subsetting dari rules. Banyak cara, salah satunya adalah
dengan menggunakan gabungan function inspect, subset dan operator %in% dengan contoh berikut.
Filter LHS
library(arules)
transaksi <- read.transactions(file="data_transaksi.txt", format="single",
sep="t", cols=c(1,2), skip=1)
mba <- apriori(transaksi)
inspect(subset(mba, lhs %in% "Gula"))
Filter RHS dan LHS
library(arules)
transaksi <- read.transactions(file="data_transaksi.txt", format="single",
sep="t", cols=c(1,2), skip=1)
mba <- apriori(transaksi)
inspect(subset(mba, lhs %in% "Pet Food" & rhs %in% "Sirup"))
Scoring & Evaluation
• Support (nilai penunjang) adalah presentase kombinasi item tersebut
dalam database. Support dari suatu itemset A adalah proporsi dari
kejadian semua item di himpunan A terbeli secara bersamaan.
• Confidence (nilai kepastian) adalah kuatnya hubungan antar-item
dalam aturan asosiasi. Confidence dari suatu itemset A dan B adalah
jumlah dari itemset A,B dari jumlah itemset yang mengandung A.
• Lift adalah sebuah angka ratio yang menunjukkan berapa banyak
kemungkinan menemukan sebuah atribut yang muncul bersamaan
dengan atribut lainnya dibandingkan dengan seluruh kejadian
adanya atribut yang terpenuhi. Lift menunjukkan adanya tingkat
kekuatan ruleatas kejadian acak dari antecedent dan consequent
berdasarkan pada supportnya masing-masing.
Menambahkan Support dan Confidence
library(arules)
transaksi <- read.transactions(
file="data_transaksi.txt",
format="single",
sep="t", cols=c(1,2),
skip=1)
apriori(transaksi,
parameter =
list(supp = 0.1,
confidence = 0.5))
Filter Berdasarkan LIFT
library(arules)
transaksi <- read.transactions(file="data_transaksi.txt", format="single",
sep="t", cols=c(1,2), skip=1)
mba <- apriori(transaksi,parameter = list(supp = 0.1, confidence = 0.5))
inspect(subset(mba, (lhs %in% "Teh Celup" | rhs %in% "Teh Celup") & lift>1))
Visualisasi Rule dengan Graph
library(arules)
library(arulesViz)
transaksi <- read.transactions(
file="data_transaksi.txt",
format="single", sep="t",
cols=c(1,2), skip=1)
mba <- apriori(transaksi,
parameter = list(supp = 0.1,
confidence = 0.5))
plot(subset(mba, lift>1.1),
method="graph")

More Related Content

What's hot

Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
ahmad haidaroh
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
Frestiany Regina Putri
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
ohohervin
 
Determinan hasil dekomposisi dengan cara crout pada matriks bujur sangkar
Determinan  hasil dekomposisi dengan cara crout pada matriks bujur sangkarDeterminan  hasil dekomposisi dengan cara crout pada matriks bujur sangkar
Determinan hasil dekomposisi dengan cara crout pada matriks bujur sangkarBAIDILAH Baidilah
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
KuliahKita
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
Algoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential SearchAlgoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential Search
KuliahKita
 
Algoritma Gost ( Computer Scurity )
Algoritma Gost ( Computer Scurity )Algoritma Gost ( Computer Scurity )
Algoritma Gost ( Computer Scurity )Er Erlyta
 
Aljabar boolean(1)
Aljabar boolean(1)Aljabar boolean(1)
Aljabar boolean(1)tafrikan
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
Endang Retnoningsih
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritriyana fairuz kholisa
 
CNF
CNFCNF
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
Cheria Asyifa
 
unit kontrol
unit kontrolunit kontrol
unit kontrol
dewi2093
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
said zulhelmi
 
Data mining 5 klasifikasi decision tree dan random forest
Data mining 5   klasifikasi decision tree dan random forestData mining 5   klasifikasi decision tree dan random forest
Data mining 5 klasifikasi decision tree dan random forest
IrwansyahSaputra1
 
10. model data relasional
10. model data relasional10. model data relasional
10. model data relasional
Abdur Rasyid
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus Data
Fraiza Geraldi
 

What's hot (20)

Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Determinan hasil dekomposisi dengan cara crout pada matriks bujur sangkar
Determinan  hasil dekomposisi dengan cara crout pada matriks bujur sangkarDeterminan  hasil dekomposisi dengan cara crout pada matriks bujur sangkar
Determinan hasil dekomposisi dengan cara crout pada matriks bujur sangkar
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Algoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential SearchAlgoritma dan Struktur Data - Sequential Search
Algoritma dan Struktur Data - Sequential Search
 
Algoritma Gost ( Computer Scurity )
Algoritma Gost ( Computer Scurity )Algoritma Gost ( Computer Scurity )
Algoritma Gost ( Computer Scurity )
 
Aljabar boolean(1)
Aljabar boolean(1)Aljabar boolean(1)
Aljabar boolean(1)
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Aljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskritAljabar boolean MK matematika diskrit
Aljabar boolean MK matematika diskrit
 
CNF
CNFCNF
CNF
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
unit kontrol
unit kontrolunit kontrol
unit kontrol
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Data mining 5 klasifikasi decision tree dan random forest
Data mining 5   klasifikasi decision tree dan random forestData mining 5   klasifikasi decision tree dan random forest
Data mining 5 klasifikasi decision tree dan random forest
 
10. model data relasional
10. model data relasional10. model data relasional
10. model data relasional
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus Data
 

Similar to Market Basket Analisis dengan R

Kecerdasan bisnis
Kecerdasan bisnisKecerdasan bisnis
Kecerdasan bisnis
HehePangibulan2
 
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAILANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
Dwi Putra Asana
 
DWO - Pertemuan 2 & 3
DWO - Pertemuan 2 & 3DWO - Pertemuan 2 & 3
DWO - Pertemuan 2 & 3
Abrianto Nugraha
 
Kecerdasan bisnis- Sistem Penunjang Keputusan
Kecerdasan bisnis- Sistem Penunjang KeputusanKecerdasan bisnis- Sistem Penunjang Keputusan
Kecerdasan bisnis- Sistem Penunjang Keputusan
Dasufianti
 
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
Suryo Aji Saputro
 
DATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdfDATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdf
ZoeniardiPutra
 
Pertemuan 4 -_multi_dimensional_model_design_1
Pertemuan 4 -_multi_dimensional_model_design_1Pertemuan 4 -_multi_dimensional_model_design_1
Pertemuan 4 -_multi_dimensional_model_design_1
Abrianto Nugraha
 
Ully data wearhouse
Ully data wearhouseUlly data wearhouse
Ully data wearhousearri adhy
 
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
gifariwk
 
DATAWAREHOSE.ppt
DATAWAREHOSE.pptDATAWAREHOSE.ppt
DATAWAREHOSE.ppt
AhnafGaming
 
DATAWAREHOSE.ppt
DATAWAREHOSE.pptDATAWAREHOSE.ppt
DATAWAREHOSE.ppt
Dedek28
 
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdfKonsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
ferisulianta.com
 
Informasi proses bisnis
Informasi proses bisnisInformasi proses bisnis
Informasi proses bisnis
Frans Frans
 
Materi rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisMateri rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisdonasiilmu
 
Materi rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisMateri rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisdonasiilmu
 
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
auliacaesaveranza
 
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas...
Sim, aulia caesa veranza, sistem   manajemen database, hapzi ali, universitas...Sim, aulia caesa veranza, sistem   manajemen database, hapzi ali, universitas...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas...
auliacaesa
 
Karakteristik data warehouse
Karakteristik data warehouseKarakteristik data warehouse
Karakteristik data warehouse
suleman ganteng
 

Similar to Market Basket Analisis dengan R (20)

Randy oktrima putra
Randy oktrima putraRandy oktrima putra
Randy oktrima putra
 
Kecerdasan bisnis
Kecerdasan bisnisKecerdasan bisnis
Kecerdasan bisnis
 
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAILANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
ANALISIS KERANJANG BELANJA DENGAN ALGORITMA APRIORI PADA PERUSAHAAN RETAIL
 
DWO - Pertemuan 2 & 3
DWO - Pertemuan 2 & 3DWO - Pertemuan 2 & 3
DWO - Pertemuan 2 & 3
 
Kecerdasan bisnis- Sistem Penunjang Keputusan
Kecerdasan bisnis- Sistem Penunjang KeputusanKecerdasan bisnis- Sistem Penunjang Keputusan
Kecerdasan bisnis- Sistem Penunjang Keputusan
 
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
SIM, Suryo Aji Saputro, Prof. Dr. Hapzi Ali, M.M, Sistem Manajemen Database, ...
 
DATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdfDATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdf
 
Pertemuan 4 -_multi_dimensional_model_design_1
Pertemuan 4 -_multi_dimensional_model_design_1Pertemuan 4 -_multi_dimensional_model_design_1
Pertemuan 4 -_multi_dimensional_model_design_1
 
Ully data wearhouse
Ully data wearhouseUlly data wearhouse
Ully data wearhouse
 
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
Teknik Audit Berbantuan Komputer Dengan Ms.Excel (Dasar pemahaman)
 
DATAWAREHOSE.ppt
DATAWAREHOSE.pptDATAWAREHOSE.ppt
DATAWAREHOSE.ppt
 
DATAWAREHOSE.ppt
DATAWAREHOSE.pptDATAWAREHOSE.ppt
DATAWAREHOSE.ppt
 
DATAWAREHOSE.ppt
DATAWAREHOSE.pptDATAWAREHOSE.ppt
DATAWAREHOSE.ppt
 
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdfKonsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
Konsumen Sebagai Co-Creation untuk Menentukan Strategi.pdf
 
Informasi proses bisnis
Informasi proses bisnisInformasi proses bisnis
Informasi proses bisnis
 
Materi rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisMateri rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnis
 
Materi rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnisMateri rsi 6 analisa bid bisnis
Materi rsi 6 analisa bid bisnis
 
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas m...
 
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas...
Sim, aulia caesa veranza, sistem   manajemen database, hapzi ali, universitas...Sim, aulia caesa veranza, sistem   manajemen database, hapzi ali, universitas...
Sim, aulia caesa veranza, sistem manajemen database, hapzi ali, universitas...
 
Karakteristik data warehouse
Karakteristik data warehouseKarakteristik data warehouse
Karakteristik data warehouse
 

More from Muhammad Rifqi

Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan R
Muhammad Rifqi
 
Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2
Muhammad Rifqi
 
Data Pribadi di Ruang Siber
Data Pribadi di Ruang SiberData Pribadi di Ruang Siber
Data Pribadi di Ruang Siber
Muhammad Rifqi
 
Pengenalan Social Network ANalysis
Pengenalan Social Network ANalysisPengenalan Social Network ANalysis
Pengenalan Social Network ANalysis
Muhammad Rifqi
 
Social Media Analytics
Social Media AnalyticsSocial Media Analytics
Social Media Analytics
Muhammad Rifqi
 
Open source stak of big data techs open suse asia
Open source stak of big data techs   open suse asiaOpen source stak of big data techs   open suse asia
Open source stak of big data techs open suse asia
Muhammad Rifqi
 

More from Muhammad Rifqi (6)

Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan R
 
Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2
 
Data Pribadi di Ruang Siber
Data Pribadi di Ruang SiberData Pribadi di Ruang Siber
Data Pribadi di Ruang Siber
 
Pengenalan Social Network ANalysis
Pengenalan Social Network ANalysisPengenalan Social Network ANalysis
Pengenalan Social Network ANalysis
 
Social Media Analytics
Social Media AnalyticsSocial Media Analytics
Social Media Analytics
 
Open source stak of big data techs open suse asia
Open source stak of big data techs   open suse asiaOpen source stak of big data techs   open suse asia
Open source stak of big data techs open suse asia
 

Recently uploaded

CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docxCONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
WagKuza
 
MINGGU 03_Metode Consistent Deformation (1).pdf
MINGGU 03_Metode Consistent Deformation (1).pdfMINGGU 03_Metode Consistent Deformation (1).pdf
MINGGU 03_Metode Consistent Deformation (1).pdf
AlmaDani8
 
Konsep dasar asuhan neonatus ,bayi dan balita
Konsep dasar asuhan neonatus ,bayi dan balitaKonsep dasar asuhan neonatus ,bayi dan balita
Konsep dasar asuhan neonatus ,bayi dan balita
Dilasambong
 
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdfPulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
MRoyanzainuddin9A
 
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
idoer11
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
MiliaSumendap
 

Recently uploaded (6)

CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docxCONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
CONTOH CATATAN OBSERVASI KEPALA SEKOLAH.docx
 
MINGGU 03_Metode Consistent Deformation (1).pdf
MINGGU 03_Metode Consistent Deformation (1).pdfMINGGU 03_Metode Consistent Deformation (1).pdf
MINGGU 03_Metode Consistent Deformation (1).pdf
 
Konsep dasar asuhan neonatus ,bayi dan balita
Konsep dasar asuhan neonatus ,bayi dan balitaKonsep dasar asuhan neonatus ,bayi dan balita
Konsep dasar asuhan neonatus ,bayi dan balita
 
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdfPulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
Pulupugbglueysoyaoyatiaitstisitatjsigsktstj.pdf
 
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
Pertemuan 9 - PERT CPM.pdfPertemuan 9 - PERT CPM.pdf
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
 

Market Basket Analisis dengan R

  • 1. Market Basket Analysis konsep dan implementasi dengan Bahasa R Muhammad Rifqi Ma’arif, M.Eng Matakuliah Ilmu Data Industrial Program Studi Teknik Industri Fakultas Teknik & Teknologi Informasi Universitas Jenderal Achmad Yani Yogyakarta 2020
  • 2. Pengantar Market Basket Analysis • Salah satu inovasi bisnis di bidang ritel dan supply chain adalah mencari asosiasi atau hubungan antar produk dari data transaksi penjualan yang bertujuan untuk: • dipaketkan dan dijual bersamaan. • memberikan rekomendasi produk kepada seseorang. • menyusun rak display. • menyusun halaman produk e-commerce. • Semua hal ini bertujuan untuk meningkatkan penjualan sekaligus memecahkan masalah inventory – karena produk yang tidak begitu laku jika dipasangkan dengan tepat akan lebih menarik dan punya kemungkinan besar dibeli dalam satu paket. Proses ini merupakan proses analisa yang disebut dengan Market Basket Analysis (MBA).
  • 3. Tujuan Market Basket Analysis • Market Basket Analysis bertujuan untuk mencari rekomendasi paket produk berdasarkan pola unik dari data transaksi/pembelian pelanggan. • Aplikasi MBA • Optimaliasi strategi retail yang dapat meningkatkan penjualan. • Sebagai dasar prediksi kebutuhan barang di masa depan untuk meningkatkan manajemen inventory pada proses supply chain • Inovasi pengembangan produk • Supply chain risk analysis & management • Dan lain sebagainya
  • 4. Market Basket Analysis di R • Penerapan Market Basket Analysis (MBA) di R dapat menggunakan algoritma apriori – yang merupakan salah satu algoritma terpopuler di area machine learning - pada package arules. • Arules sendiri adalah singkatan dari association rules - kategori machine learning. Untuk menjalankan algoritma ini diperlukan dibutukan dua data, yaitu data produk dan data transaksi. #Menggunakan library arules library(arules) #Membaca transaksi dari file data_transaksi.txt transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) #Menampilkan data transaksi dengan print dan inspect inspect(transaksi) #Menghasilkan model Market Basket Analysis mba <- apriori(transaksi,parameter = list(supp = 0.1, confidence = 0.5)) #Menampilkan paket produk inspect(subset(mba, lift>1))
  • 5. Market Basket Analysis di R inspect(transaksi) inspect(subset(mba, lift>1))
  • 6. Association Rule • Association rule adalah representasi keterkaitan antar entitas tertentu (e.g produk) yang memiliki hubungan atau asosiasi kuat di dalam transaksi. • Hubungan "kuat" disini akan dilihat berdasarkan proporsi jumlah kemunculan kombinasi entitas dalam keseluruhan data transaksi. • Mari kita lihat contoh pada gambar disamping. • Asd • Asd • Asd • Asd • Asd • Asd
  • 7. Algoritma Apriori • Algoritma apriori adalah salah satu algoritma yang merupakan penerapan praktis dari Market Basket Analysis (MBA). Algoritma ini digunakan untuk menganalisa banyaknya kombinasi produk yang terjadi di dalam transaksi ritel, yang akan sulit dan lama jika dilakukan secara manual. • Secara teknis, algoritma apriori akan mencari tingkat asosiasi antar item di dalam banyak kombinasi kelompok data secara otomatis. Kombinasi ini juga bisa disusun dengan suatu aturan (rule) asosiasi "Jika membeli ini produk A maka akan membeli produk B", sehingga algoritma ini dikategorikan sebagai Association Rules di ranah machine learning. • Dengan menemukan paket produk yang asosiasinya kuat, Anda sebagai seorang data scientist dapat menyarankan kepada bisnis dapat melakukan berbagai action item seperti membuat paket produk dengan penawaran khusus, mendekatkan produk-produk tersebut saling berdekatan dalam satu rak, mengeluarkan rekomendasi produk di sistem e-commerce, mengurangi masalah stok, dan lain-lain.
  • 8. Algoritma Apriori di R • Menampilkan kombinasi transaksi #Membaca transaksi dari file data_transaksi.txt transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) #Menampilkan jumlah kombinasi dari produk yang terdapat pada daftar transaksi yang ada inspect(apriori(transaksi, parameter = list(support=.1, minlen=2, target='frequent itemsets')))
  • 9. Item dan Trasaction • item, itemset dan rules dihasilkan dari transaksi atau transaction • Transaction (transaksi) adalah..... • Output disamping adalah tampilan dari dataset yang berjumlah sepuluh transaksi, dengan dua kolom yang terdiri dari: • Kolom pertama adalah itemset yang berisi item-item yang dibeli pada transaksi tertentu. • Kolom kedua berisi kode struk transaksi yang menjadi penanda unik untuk tiap transaksi.
  • 10. Membaca Item & Transaction di R • Dibaca sebagai dataframe • Dibaca sebagai transaksi transaksi_dataframe <- read.csv("data_transaksi.txt", sep="t") print(transaksi_dataframe) read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1)
  • 11. Membaca Item & Transaction di R • Menampilkan daftar item transaksi • Menampilkan top N items transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) transaksi@itemInfo library(arules) transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) data_item <- itemFrequency(transaksi, type="absolute") data_item <- sort(data_item, decreasing = TRUE) data_item <- data_item[1:3] data_item <- data.frame("Nama Produk"=names(data_item), "Jumlah"=data_item, row.names=NULL)
  • 12. Item, Itemset dan Rules • Perhatikan output dari pengolahan algoritma apriori berikut • Keterangan • Item adalah produk tunggal yang terdapat dalam suatu transaksi. Contoh: Pet Food, Sirup, Gula, dan Teh Celup. • Itemset adalah kombinasi satu atau lebih item yang terdapat dalam satu transaksi. Contoh: {Pet Food}, {Gula, Pet Food}, {Sirup}, dan lain-lain. • Rule adalah pernyataan hubungan antar Itemset. Biasanya dapat diformulasikan menjadi "Jika membeli itemset A, maka akan membeli itemset B". Contoh: {Pet Food} => {Sirup}, {Pet Food, Teh Celup} => {Sirup}, dan lain-lain.
  • 13. Itemset • Tiap transaksi terdiri atas beberapa item atau itemset. Untuk melihat notasi itemset yang lebih baik dan mudah dimengerti kita bisa menggunakan function inspect, yang tersedia di arules. library(arules) transaksi <- read.transactions (file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) inspect(transaksi)
  • 14. Rules • rule adalah formula yang menyatakan kombinasi dari dua itemset. Satu itemset ada di bagian kiri rule (left hand side) dan satunya di bagian kanan (right hand side) dalam format berikut. {itemset lhs} => {itemset rhs} • Untuk menghasilkan rules, dapat digunakan fungsi apriori yang tersedia dalam arules. apriori(transaksi)
  • 15. Rules • Melihat Rules dengan fungsi inspect • Apa makna dari rule jika ingin kita aplikasikan? • terlihat rule kedua yaitu {Pet Food} => {Sirup} cukup menarik Karena support 0.4 menunjukkan bahwa kombinasi ini terdapat di 40 persen populasi, sehingga: • rekomendasikan kepada setiap pelanggan yang membeli Pet Food untuk membeli Sirup. • rak display Pet Food dan Sirup bisa didekatkan. • Pet Food dan Sirup dipaketkan bersama dan dijual dengan harga khusus. library(arules) transaksi <- read.transactions (file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) mba <- apriori(transaksi) inspect(mba)
  • 16. Filter RHS • Dari hasil inspect objek mba yang bertipe association rules diketahui bahwa objek tersebut mengandung banyak informasi termasuk itemset yang terdapat di left hand side dan right hand side. • Ini penting untuk bisnis, misalkan untuk inventory. Kita ingin menjawab, adakah item yang kurang laku sebelumnya ada di dalam itemset dari rules yang dihasilkan oleh apriori? Jika ada, mungkin saya bisa paketkan bersama sehingga kemungkinan besar terjual lebih banyak. • Untuk melakukan ini kita akan melakukan filter atau subsetting dari rules. Banyak cara, salah satunya adalah dengan menggunakan gabungan function inspect, subset dan operator %in% dengan contoh berikut.
  • 17. Filter LHS library(arules) transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) mba <- apriori(transaksi) inspect(subset(mba, lhs %in% "Gula"))
  • 18. Filter RHS dan LHS library(arules) transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) mba <- apriori(transaksi) inspect(subset(mba, lhs %in% "Pet Food" & rhs %in% "Sirup"))
  • 19. Scoring & Evaluation • Support (nilai penunjang) adalah presentase kombinasi item tersebut dalam database. Support dari suatu itemset A adalah proporsi dari kejadian semua item di himpunan A terbeli secara bersamaan. • Confidence (nilai kepastian) adalah kuatnya hubungan antar-item dalam aturan asosiasi. Confidence dari suatu itemset A dan B adalah jumlah dari itemset A,B dari jumlah itemset yang mengandung A. • Lift adalah sebuah angka ratio yang menunjukkan berapa banyak kemungkinan menemukan sebuah atribut yang muncul bersamaan dengan atribut lainnya dibandingkan dengan seluruh kejadian adanya atribut yang terpenuhi. Lift menunjukkan adanya tingkat kekuatan ruleatas kejadian acak dari antecedent dan consequent berdasarkan pada supportnya masing-masing.
  • 20. Menambahkan Support dan Confidence library(arules) transaksi <- read.transactions( file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) apriori(transaksi, parameter = list(supp = 0.1, confidence = 0.5))
  • 21. Filter Berdasarkan LIFT library(arules) transaksi <- read.transactions(file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) mba <- apriori(transaksi,parameter = list(supp = 0.1, confidence = 0.5)) inspect(subset(mba, (lhs %in% "Teh Celup" | rhs %in% "Teh Celup") & lift>1))
  • 22. Visualisasi Rule dengan Graph library(arules) library(arulesViz) transaksi <- read.transactions( file="data_transaksi.txt", format="single", sep="t", cols=c(1,2), skip=1) mba <- apriori(transaksi, parameter = list(supp = 0.1, confidence = 0.5)) plot(subset(mba, lift>1.1), method="graph")