Sebuah bank asal portugal melakukan kampanye marketing dari Mei 2008 sampai November 2010 dengan menggunakan metode telemarketing, kampanye dilakukan dengan melakukan penggilan telepon ke nomor klien atau nasabah untuk menawarkan produk deposito berjangka.
Dari kampanye tersebut, menghasilkan sebuah dataset yang berisi tentang informasi klien selama kampanye berlangsung, dan hasil dari kampanye tersebut secara individual.
Dengan melakukan analisa menggunakan dataset tersebut, diharapkan hasil dari analisa ini mampu untuk menjawab pertanyaan berikut:
Berapa tingkat kesuksesan dalam menawarkan produk kepada klien secara keseluruhan?
Jumlah penawaran yang sukses terbanyak ada pada klien dengan pekerjaan apa?
Tingkat kesuksesan penawaran yang terbanyak ada pada klien dengan tingkat pendidikkan apa?
Berapa saldo rekening secara umum yang dimiliki oleh klien-klien yang penawarannya sukses?
Untuk kampanye selanjutnya, sebaiknya apa yang perlu dilakukan agar bisa mendapatkan tingkat kesuksesan yang lebih baik?
Pada tahap ini akan dilakukan pembacaan data yang kemudian akan diberikan nama “bank”.
#> [1] 45211 17
#> 'data.frame': 45211 obs. of 17 variables:
#> $ age : int 58 44 33 47 33 35 28 42 58 43 ...
#> $ job : chr "management" "technician" "entrepreneur" "blue-collar" ...
#> $ marital : chr "married" "single" "married" "married" ...
#> $ education: chr "tertiary" "secondary" "secondary" "unknown" ...
#> $ default : chr "no" "no" "no" "no" ...
#> $ balance : int 2143 29 2 1506 1 231 447 2 121 593 ...
#> $ housing : chr "yes" "yes" "yes" "yes" ...
#> $ loan : chr "no" "no" "yes" "no" ...
#> $ contact : chr "unknown" "unknown" "unknown" "unknown" ...
#> $ day : int 5 5 5 5 5 5 5 5 5 5 ...
#> $ month : chr "may" "may" "may" "may" ...
#> $ 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 : chr "unknown" "unknown" "unknown" "unknown" ...
#> $ y : chr "no" "no" "no" "no" ...
Dari hasil inspeksi, dapat kita ketahui bahwa ada 45.211 baris data, dan 17 kolom data, kolom data tersebut meliputi:
“age”, yaitu usia klien
“job”, yaitu pekerjaan klien, meliputi “admin.”,“unknown”,“unemployed”,“management”,“housemaid”,“entrepreneur”,“student”,“blue-collar”,“self-employed”,“retired”,“technician”,“services”.
“marital”, yaitu status pernikahan klien, meliputi “married”,“divorced”,“single”.
“education”, yaitu tingkat pendidikan klien, meliputi “unknown”,“secondary”,“primary”,“tertiary”.
“default”, yaitu apakah klien memiliki kartu kredit, meliputi “yes” dan “no”.
“balance”, yaitu saldo rekening rata-rata tahunan yang dimiliki klien.
“housing”, yaitu apakah klien memiliki cicilan rumah, meliputi “yes” dan “no”.
“loan”, yaitu apakah klien memiliki pinjaman, meliputi “yes” dan “no”.
“contact”, yaitu jenis kontak klien yang dimiliki dan dihubungi, meliputi “unknown”,“telephone”,“cellular”.
“day”, yaitu kapan tanggal terakhir klien dihubungi pada “month”.
“month”, yaitu kapan bulan terakhir klien di hubungi.
“duration”, yaitu durasi panggilan/telepon terakhir.
“campaign”, yaitu jumlah telepon atau upaya kontak pada klien selama kampanye berlangsung.
“pdays”, yaitu sudah berapa hari sejak klien terakhir kali di kontak di kampanye sebelumnya, -1 artinya belum pernah dihubungi sejak kampanye sebelumnya.
“previous”, yaitu jumlah kontak yang dilakukan sebelum kampanye mulai.
“poutcome”, yaitu hasil dari penawaran/kampanye yang dilakukan pada klien ini, meliputi “unknown”,“other”,“failure”,“success”.
“y”, yaitu apakah klien sudah pernah menggunakan deposit berjangka sebelumnya, meliputi “yes” dan “no”.
#> age job marital education default balance housing loan
#> 0 0 0 0 0 0 0 0
#> contact day month duration campaign pdays previous poutcome
#> 0 0 0 0 0 0 0 0
#> y
#> 0
Dari kode diatas diketahui bahwa tidak ada missing values pada dataset kita.
Dari hasil inspeksi diatas kita mengetahui bahwa sebagian tipe data belum tepat, pada bagian ini kita akan mengoreksi tipe data dan membersihkan data.
#Konversi ke Data Categori
bank$job <- as.factor(bank$job)
bank$marital <- as.factor(bank$marital)
bank$education <- as.factor(bank$education)
bank$contact <- as.factor(bank$contact)
bank$month <- as.factor(bank$month)
bank$poutcome <- as.factor(bank$poutcome)
bank$default <- as.factor(bank$default)
bank$housing <- as.factor(bank$housing)
bank$loan <- as.factor(bank$loan)
bank$y <- as.factor(bank$y)Sehingga hasilnya menjadi seperti ini:
#> '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-collar",..: 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 : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
#> age job marital education
#> Min. :18.00 blue-collar: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 no :39922
#> 1st Qu.: -1.0 1st Qu.: 0.0000 other : 1840 yes: 5289
#> Median : -1.0 Median : 0.0000 success: 1511
#> Mean : 40.2 Mean : 0.5803 unknown:36959
#> 3rd Qu.: -1.0 3rd Qu.: 0.0000
#> Max. :871.0 Max. :275.0000
#>
Dari summary di atas kita bisa memperoleh beberapa data sebagai berikut:
#>
#> failure other success unknown
#> 10.84 4.07 3.34 81.75
Jawaban: Tingkat keberhasilan dalam menawarkan produk kampanye ini adalah 3.34%
#>
#> failure other success unknown
#> admin. 12.43 4.66 3.95 78.96
#> blue-collar 10.97 4.12 1.52 83.38
#> entrepreneur 11.03 2.62 1.48 84.87
#> housemaid 7.82 2.10 2.34 87.74
#> management 11.04 4.16 4.09 80.71
#> retired 10.16 3.67 7.69 78.49
#> self-employed 10.45 3.86 3.48 82.20
#> services 10.69 4.26 2.05 83.00
#> student 12.47 8.64 9.28 69.62
#> technician 10.49 3.94 3.22 82.35
#> unemployed 8.60 2.84 4.91 83.65
#> unknown 6.94 0.69 3.82 88.54
#>
#> failure other success unknown
#> admin. 643 241 204 4083
#> blue-collar 1068 401 148 8115
#> entrepreneur 164 39 22 1262
#> housemaid 97 26 29 1088
#> management 1044 393 387 7634
#> retired 230 83 174 1777
#> self-employed 165 61 55 1298
#> services 444 177 85 3448
#> student 117 81 87 653
#> technician 797 299 245 6256
#> unemployed 112 37 64 1090
#> unknown 20 2 11 255
Jawaban: Jenis pekerjaan klien yang memiliki jumlah penawaran yang sukses terbanyak adalah Management, yaitu sebanyak 387 penawaran yang sukses, namun jika dilihat dari tingkat kesuksesan penawaran tertinggi ada pada kalangan student dengan tingkat keberhasilan penawaran sebesar 9.28% sedangkan management hanya memiliki tingkat keberhasilan sebesar 4.09%, dan sedangkan kalangan blue-collar yang merupakan mayoritas dari golongan klien-klien kita, justru memiliki tingkat kesuksesan yang lebih kecil, yaitu 1.52%, technician juga merupakan golongan yang perlu di pertimbangkan, karena golongannya adalah yang terbesar ketiga dengan tingkat kesuksesan 3.22%, sementara admin memiliki tingkat kesuksesan sebesar 3.95%.
#>
#> failure other success unknown
#> primary 9.39 3.56 1.94 85.11
#> secondary 11.16 4.25 2.91 81.68
#> tertiary 11.22 4.09 4.68 80.02
#> unknown 9.53 3.50 4.36 82.61
Jawaban: Tingkat kesuksesan penawaran yang tertinggi ada pada klien dengan tingkat pendidikan tertiary dengan tingkat kesuksesan sebesar 4.68%
bank_success <- bank[bank$poutcome == "success",]
ggplot(data = bank_success, mapping = aes(x = "Klien", y = balance)) +
# Second layer
geom_boxplot()Dari boxplot diatas dapat kita lihat bahwa saldo rekening klien-klien kita tidak tersebar secara merata dan terdapat beberapa klien dengan saldo rekening yang sangat menonjol, yaitu yang saldonya melebihi 20000 euro, sedangkan secara umumnya, klien kita memiliki saldo rekening di sekitar 2000 euro ke bawah, dalam menjelaskan ini, boxplot akan kita batasi sampai ke 5000 euro.
bank_success <- bank[bank$poutcome == "success",]
ggplot(data = bank_success, mapping = aes(x = "Klien", y = balance)) +
geom_boxplot()+
coord_cartesian(ylim = c(0, 5000))Dari boxplot diatas yang sudah kita batasi limitnya ke 5000 euro, baru terlihat bahwa saldo klien kita secara garis besarnya adalah berada di angka kurang dari 1000, sekitar 900 euro. untuk lebih detailnya kita bisa memeriksa dengan lebih teliti melalui median di summary di bawah ini.
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> -405 294 920 1939 2316 81204
Jawaban: Saldo rekening klien-klien yang penawarannya sukses, secara umum berada di kisaran 920 euro
#> no yes
#> 1040 471
#> no yes
#> 68.83 31.17
Dari summary housing di atas, klien-klien yang penawarannya sukses, cenderung tidak memiliki cicilan rumah, yakni sebesar 68.83%
#> no yes
#> 1429 82
Dari summary loan di atas, klien-klien yang penawarannya sukses, cenderung tidak memiliki pinjaman/loan.
#> no yes
#> 88.3 11.7
Sebanyak 88.3% klien kita belum pernah menggunakan deposito berjangka
Berdasarkan hasil analisis, terdapat beberapa rekomendasi bisnis yang dapat disampaikan dan sekaligus menjawab pertanyaan bisnis no. 5.
Meninjau Ulang Pemakaian Status Pada Poutcome Dalam Proses Gathering Data
Dari data diatas, sebagian besar hasil dari telemarketing adalah “unknown”, yang tidak dapat memberikan gambaran yang jelas dari hasil suatu penawaran telemarketing, dari status unknown seharusnya dapat dipisahkan lagi dengan status yang lebih menggambarkan hasil dari suatu penawaran, misalnya “Considering” untuk “klien yang sedang mempertimbangkan”, “Wrong Contact Number” untuk kasus salah nomor telepon, dan lain sebagainya, sangat disayangkan jika data-data yang telah dikumpulkan hanya disimpulkan dengan kata “unknown” dan “other”, ini perlu dilakukan agar di analisa masa mendatang bisa menghasilkan insight yang lebih bagus.
Memperkecil Ruang Lingkup Kampanye Telemarketing
Untuk kampanye di masa mendatang, sebaiknya lebih memprioritaskan klien dengan jenis pekerjaan management, teknisi, dan admin yang saldo rata-rata tahunannya di atas 600 euro, dan sebaiknya memprioritaskan klien yang tidak memiliki cicilan rumah. Selain dapat menghemat sumber daya kampanye, kampanye yang memiliki target yang terarah dapat menghasilkan performa yang lebih optimal. Jika memiliki sumber daya extra, cobalah untuk melakukan kampanye di golongan retired dan self-employed dengan syarat yang sama.
Kampanye Akuisisi Klien Baru Khusus Untuk Golongan Student
Dari data bisa kita lihat bahwa tingkat kesuksesan penawaran tertinggi ada di kalangan Student dengan angka 9.28%, namun sangat disayangkan bahwa populasi klien-klien di golongan Student ini sangat kecil, jadi dengan program akuisisi klien baru yang menargetkan Student/pelajar, diharapkan agar populasi Student dapat bertambah dan turut meningkatkan performa kampanye di masa mendatang.