Kali ini kita akan belajar mengenai data bank_marketing. Dimana data tersebut berhubungan dengan campaign marketing dari institusi perbankan di Portugal. Campaign tersebut berdasarkan data nomor telepon calon debitur.
Data tersebut terdiri dari:
age (numeric)job : type of jobmarital : marital statuseducationdefault : has credit in default? (binary: “yes”,“no”)balance : average yearly balance, in euros (numeric)housing : has housing loan? (binary: “yes”,“no”)loan : has personal loan? (binary: “yes”,“no”)contact : contact communication type (categorical: “unknown”,“telephone”,“cellular”)day : last contact day of the month (numeric)month : last contact month of year (categorical: “jan”, “feb”, “mar”, …, “nov”, “dec”)duration : last contact duration, in seconds (numeric)campaign : number of contacts performed during this campaign and for this calon debitur (numeric, includes last contact)pdays : number of days that passed by after the calon debitur was last contacted from a previous campaign (numeric, -1 means calon debitur was not previously contacted)previous : number of contacts performed before this campaign and for this calon debitur (numeric)poutcome : outcome of the previous marketing campaigny : has the calon debitur subscribed a term deposit? (binary: “yes”,“no”)Menggunakan function read.csv karena format file adalah csv.
Namun separator dari masing-masing data adalah “;” . Maka digunakan parameter sep = “;” untuk dapat memisahkan antar data.
Kemudian kita panggil 6 data awal untuk kita mengetahui datanya seperti apa.
Dari data tersebut, kita akan memrediksi apakah orang yang telah ditelepon akan melakukan pembelian produk. Dari penjelasan data pada bagian intro, kita bisa memulai filter data dengan menggunakan kolom poutcome “success”.
Sebelum melakukan pengolahan terhadap data tersebut, kita perlu mengetahui jenis datanya apakah sudah benar atau belum. Untuk menampilkan jenis/tipe data, digunakan perintah seperti dibawah ini.
## 'data.frame': 1511 obs. of 17 variables:
## $ age : int 56 30 48 49 42 42 46 36 53 41 ...
## $ job : Factor w/ 12 levels "admin.","blue-collar",..: 10 1 1 5 10 11 8 5 6 2 ...
## $ marital : Factor w/ 3 levels "divorced","married",..: 2 2 1 2 2 2 1 1 2 2 ...
## $ education: Factor w/ 4 levels "primary","secondary",..: 2 2 2 3 3 4 2 3 3 1 ...
## $ default : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ balance : int 589 873 295 64 14282 970 0 3837 2269 1461 ...
## $ housing : Factor w/ 2 levels "no","yes": 2 2 2 1 2 2 1 2 1 2 ...
## $ loan : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ contact : Factor w/ 3 levels "cellular","telephone",..: 3 2 1 1 1 2 1 1 1 1 ...
## $ day : int 23 12 17 17 17 17 17 17 17 18 ...
## $ month : Factor w/ 12 levels "apr","aug","dec",..: 11 10 10 10 10 10 10 10 10 10 ...
## $ duration : int 518 119 123 208 77 725 407 184 1091 290 ...
## $ campaign : int 1 1 1 1 1 1 1 1 2 1 ...
## $ pdays : int 147 167 164 159 103 119 150 193 150 165 ...
## $ previous : int 2 3 2 1 4 10 3 1 1 2 ...
## $ poutcome : Factor w/ 4 levels "failure","other",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ y : Factor w/ 2 levels "no","yes": 2 1 1 1 1 1 1 1 2 1 ...
Ternyata tipe data sudah benar sehingga kita tidak perlu melakukan pengubahan tipe data.
Pada bagian ini, setelah melakukan filtering data hanya dengan poutcome “success”, kita akan melihat apakah data tersebut terdapat null atau missing values. Menggunakan function anyNA dan is.na
## [1] FALSE
Setelah kita run, ternyata hasilnya adalah FALSE, dimana artinya adalah tidak ada missing values pada data kita. Setelah itu, kita akan memulai untuk analisis data pada section selanjutnya.
Agar kita mendapatkan hasil yang lebih akurat, tentu filter data hanya dengan poutcome “success” tidaklah cukup. Kita juga perlu mengetahui seberapa lama durasi calon pembeli tersebut dihubungi oleh telemarketing. Untuk itu, dalam melakukan filtering tersebut, perlu diketahui batasan rata-rata dari durasi call oleh telemarketing untuk dilakukan filtering data.
Ternyata, rata-rata durasi telepon yang dilakukan oleh telemarketing adalah selama 317 detik. Oleh karena itu, kita akan filter data bank_marketing2 dengan duration >= 317 detik.
Kemudian kita perlu mengetahui komposisi dari masing-masing kategori.
##
## management technician retired admin. blue-collar
## 24.30 14.77 14.58 12.71 9.35
## unemployed services student self-employed entrepreneur
## 6.73 6.54 4.49 3.18 2.06
## unknown housemaid
## 0.75 0.56
##
## married single divorced
## 56.26 31.59 12.15
##
## cellular telephone unknown
## 89.72 9.91 0.37
Dari hasil tersebut, diketahui bahwa mayoritas calon debitur yang histori penawarannya sukses adalah kategori:
Hasil tersebut tentu belum memberikan hasil yang cukup spesifik untuk menentukan potensi calon debitur. Untuk itu kita perlu mengetahui kondisi finansialnya dengan mengetahui rata-rata saldonya.
Pengolahan data pada bab sebelumnya, diperoleh hasil sebagai berikut: