Visualisasi data bank disini adalah visualisasi dari variabel pinjaman dengan variabel bulan dan variabel pekerjaan dengan variabel pinjaman yang berasal dari data survei pelanggan untuk pemasaran deposito berjangka. Berikut hasilnya. Membaca data dari file csv.

bank <- read.csv("D:/dataset/dataset/bank customer survey/bank_customer_survey.csv", header = T, sep=",")

Memanggil data dan deskripsis statistik data.

##   age          job marital education default balance housing loan contact
## 1  58   management married  tertiary      no    2143     yes   no unknown
## 2  44   technician  single secondary      no      29     yes   no unknown
## 3  33 entrepreneur married secondary      no       2     yes  yes unknown
## 4  47         blue married   unknown      no    1506     yes   no unknown
## 5  33      unknown  single   unknown      no       1      no   no unknown
## 6  35   management married  tertiary      no     231     yes   no unknown
##   day month duration campaign pdays previous poutcome y
## 1   5   may      261        1    -1        0  unknown 0
## 2   5   may      151        1    -1        0  unknown 0
## 3   5   may       76        1    -1        0  unknown 0
## 4   5   may       92        1    -1        0  unknown 0
## 5   5   may      198        1    -1        0  unknown 0
## 6   5   may      139        1    -1        0  unknown 0
##       age                job           marital          education    
##  Min.   :18.00   blue      :9732   divorced: 5207   primary  : 6851  
##  1st Qu.:33.00   management:9458   married :27214   secondary:23202  
##  Median :39.00   technician:7597   single  :12790   tertiary :13301  
##  Mean   :40.94   admin     :5171                    unknown  : 1857  
##  3rd Qu.:48.00   services  :4154                                     
##  Max.   :95.00   retired   :2264                                     
##                  (Other)   :6835                                     
##  default        balance       housing      loan            contact     
##  no :44396   Min.   : -8019   no :20081   no :37967   cellular :29285  
##  yes:  815   1st Qu.:    72   yes:25130   yes: 7244   telephone: 2906  
##              Median :   448                           unknown  :13020  
##              Mean   :  1362                                            
##              3rd Qu.:  1428                                            
##              Max.   :102127                                            
##                                                                        
##       day            month          duration         campaign     
##  Min.   : 1.00   may    :13766   Min.   :   0.0   Min.   : 1.000  
##  1st Qu.: 8.00   jul    : 6895   1st Qu.: 103.0   1st Qu.: 1.000  
##  Median :16.00   aug    : 6247   Median : 180.0   Median : 2.000  
##  Mean   :15.81   jun    : 5341   Mean   : 258.2   Mean   : 2.764  
##  3rd Qu.:21.00   nov    : 3970   3rd Qu.: 319.0   3rd Qu.: 3.000  
##  Max.   :31.00   apr    : 2932   Max.   :4918.0   Max.   :63.000  
##                  (Other): 6060                                    
##      pdays          previous           poutcome           y        
##  Min.   : -1.0   Min.   :  0.0000   failure: 4901   Min.   :0.000  
##  1st Qu.: -1.0   1st Qu.:  0.0000   other  : 1840   1st Qu.:0.000  
##  Median : -1.0   Median :  0.0000   success: 1511   Median :0.000  
##  Mean   : 40.2   Mean   :  0.5803   unknown:36959   Mean   :0.117  
##  3rd Qu.: -1.0   3rd Qu.:  0.0000                   3rd Qu.:0.000  
##  Max.   :871.0   Max.   :275.0000                   Max.   :1.000  
## 

Dataset ini berisi memiliki variabel yang menjadikan data ini memiliki dua set pelanggan, pelanggan yang merupakan bagian dari iklan sebelumnya dan pelanggan yang dihubungi untuk pertama kalinya. Akan dibuat 2 data yang berbeda pelanggan lama dan pelanggan baru.

pelanggan_lama<-subset(bank, bank$poutcome != "nonexistent")
str(pelanggan_lama)
## 'data.frame':    45211 obs. of  17 variables:
##  $ age      : int  58 44 33 47 33 35 28 42 58 43 ...
##  $ job      : Factor w/ 12 levels "admin","blue",..: 5 10 3 2 12 5 5 3 6 10 ...
##  $ marital  : Factor w/ 3 levels "divorced","married",..: 2 3 2 2 3 2 3 1 2 3 ...
##  $ education: Factor w/ 4 levels "primary","secondary",..: 3 2 2 4 4 3 3 3 1 2 ...
##  $ default  : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 2 1 1 ...
##  $ balance  : int  2143 29 2 1506 1 231 447 2 121 593 ...
##  $ housing  : Factor w/ 2 levels "no","yes": 2 2 2 2 1 2 2 2 2 2 ...
##  $ loan     : Factor w/ 2 levels "no","yes": 1 1 2 1 1 1 2 1 1 1 ...
##  $ contact  : Factor w/ 3 levels "cellular","telephone",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ day      : int  5 5 5 5 5 5 5 5 5 5 ...
##  $ month    : Factor w/ 12 levels "apr","aug","dec",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ duration : int  261 151 76 92 198 139 217 380 50 55 ...
##  $ campaign : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ pdays    : int  -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
##  $ previous : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ poutcome : Factor w/ 4 levels "failure","other",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ y        : int  0 0 0 0 0 0 0 0 0 0 ...

Hasil yang didapat terdapat 8252 data pelanggan pada hasil iklan sebelumnya atau pelanggan lama.

pelanggan_baru<-subset(bank, bank$poutcome == "nonexistent")

Hasil yang didapat terdapat 0 data pelanggan pada hasil iklan yang baru. Sehingga data yang digunakan pada data pelanggan_lama.

library(reshape2)
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.5.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Visualisasi variabel pekerjaan(job) dengan pinjaman(loan)

Membuat data dari model long ke wide

wide.df.old = dcast(pelanggan_lama, job ~ loan)
## Using y as value column: use value.var to override.
## Aggregation function missing: defaulting to length
head(wide.df.old)
##            job   no  yes
## 1        admin 4180  991
## 2         blue 8048 1684
## 3 entrepreneur 1131  356
## 4    housemaid 1088  152
## 5   management 8205 1253
## 6      retired 1955  309

Membuat kolom baru untuk total no dan yes

wide.df.old$total= wide.df.old$no+wide.df.old$yes
wide.df.old
##             job   no  yes total
## 1         admin 4180  991  5171
## 2          blue 8048 1684  9732
## 3  entrepreneur 1131  356  1487
## 4     housemaid 1088  152  1240
## 5    management 8205 1253  9458
## 6       retired 1955  309  2264
## 7          self 1350  229  1579
## 8      services 3318  836  4154
## 9       student  926   12   938
## 10   technician 6288 1309  7597
## 11   unemployed 1194  109  1303
## 12      unknown  284    4   288

Visualisasi

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.3
ggplot(data=wide.df.old, aes(x=job, y=total, fill=job))+geom_bar(stat="identity",position=position_dodge()) + 
  xlab("Pekerjaan") + ylab("Total Pekerjaan") + ggtitle("Jenis Pekerjaan Yang Sudah Mendapatkan Iklan") +
  geom_text(aes(y=total/2, label=total), position=position_dodge(width = 1))+
  coord_flip()

ggplot(data=wide.df.old, aes(x=job, y=yes, fill=job))+geom_bar(stat="identity",position=position_dodge()) + 
  xlab("Pekerjaan") + ylab("Total Yang Telah Memiliki Pinjaman") + ggtitle("Jenis Pekerjaan Yang Sudah Memiliki Pinjaman") +
  geom_text(aes(y=yes/2, label=yes), position=position_dodge(width = 1))+
  coord_flip()

Hasil yang didapat dalam pemasaran deposito berjangka bank adalah status pekerjaan pengusaha(entrepreneur) yang sudah melakukan pinjaman paling banyak.Jadi rekomendasi kedepannya untuk target pemasaran diutamakan adalah status perkerjaan pengusaha karena pada pekerjaan pengusaha lebih banyak dalam melakukan peminjaman uang.

Visualisasi variabel bulan(montn) dengan pinjaman(loan)

Analisis bulan terhadap peminjaman uang

wide.df.old = dcast(pelanggan_lama, month ~ loan)
## Using y as value column: use value.var to override.
## Aggregation function missing: defaulting to length
head(wide.df.old)
##   month   no  yes
## 1   apr 2574  358
## 2   aug 5643  604
## 3   dec  203   11
## 4   feb 2259  390
## 5   jan 1191  212
## 6   jul 4790 2105

Membuat kolom baru untuk total no dan yes

wide.df.old$total= wide.df.old$no+wide.df.old$yes
wide.df.old
##    month    no  yes total
## 1    apr  2574  358  2932
## 2    aug  5643  604  6247
## 3    dec   203   11   214
## 4    feb  2259  390  2649
## 5    jan  1191  212  1403
## 6    jul  4790 2105  6895
## 7    jun  4607  734  5341
## 8    mar   451   26   477
## 9    may 11773 1993 13766
## 10   nov  3244  726  3970
## 11   oct   683   55   738
## 12   sep   549   30   579

Visualisasi

#Visualisasi
library(ggplot2)
ggplot(data=wide.df.old, aes(x=month, y=total, fill=month))+geom_bar(stat="identity",position=position_dodge()) + 
  xlab("Bulan") + ylab("Total Pelanggan Yang Sudah Mendapatkan iklan") + ggtitle("Total iklan Dalam Bulan") +
  geom_text(aes(y=total/2, label=total), position=position_dodge(width = 1))+
  coord_flip()

ggplot(data=wide.df.old, aes(x=month, y=yes, fill=month))+geom_bar(stat="identity",position=position_dodge()) + 
  xlab("Bulan") + ylab("Pinjaman") + ggtitle("Jumlah Yang Memiliki Pinjaman Dalam Bulan") +
  geom_text(aes(y=yes/2, label=yes), position=position_dodge(width = 1))+
  coord_flip()

Hasil yang didapat dari pemasaran deposito berjangka bank adalah pada bulan mei respon dari terhadapa penawaran bank paling banyak dan bulan mei mendapatkan pelanggan yang memiliki pinjaman paling banyak. Jadi rekomendasi kedepannya untuk target pemasaran adalah diutamakan pada bulan mei karena paling banyak respon pelanggan.