File ini merupakan handson TSA dari kelas B. Mohon di koreksi jika ada kesalahan.
Dalam file ini akan berisikan 3 BAB sesuai rules dari tutor, yaitu :
1. Tahap Explorasi data
2. Tahap Modeling
3. Tahap Ide Bisnis
*************** SUPERVISED LEARNING ***************
Regards,
ALBANI
Data yang di gunakan adalah Telko_Churn_Sample yang sudah di sediakan tutor di Google Drive.
Untuk penjelasan tentang data silahkan klik di sini
## MSISDN los voice_rev voice_trx voice_mou voice_dou sms_rev sms_trx sms_dou
## 1 31441 534 5860 57 251 7 3465 16 5
## 2 31944 589 0 0 0 0 0 0 0
## 3 82538 1223 3744 6 5 2 2475 13 5
## broadband_rev broadband_usg broadband_dou voice_package_rev voice_package_trx
## 1 35000 1713.203 6 34200 8
## 2 0 0.000 0 8350 2
## 3 0 0.000 0 8200 2
## voice_package_dou churn
## 1 6 0
## 2 2 1
## 3 2 0
Tahap ini di lakukan untuk memastikan kebersihan data dari missing value dan data duplicate.
## [1] FALSE
## [1] MSISDN los voice_rev voice_trx
## [5] voice_mou voice_dou sms_rev sms_trx
## [9] sms_dou broadband_rev broadband_usg broadband_dou
## [13] voice_package_rev voice_package_trx voice_package_dou churn
## <0 rows> (or 0-length row.names)
Interpretasi : Dari hasil out put di atas, terlihat cukup jelas bahwa data yang akan kita analisis bisa di lanjutkan. data bersih dari Missing Value dan Data Duplicate.
Tahap ini adalah melakuakan pengecekan type data. apakah sudah sesuai
dengan type yang seharusnya. atau ada data kategori namun terbaca
sebagai str atau type lainnya.
##
## 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
## Rows: 5,000
## Columns: 16
## $ MSISDN <int> 31441, 31944, 82538, 86957, 27618, 96313, 21363, 858…
## $ los <int> 534, 589, 1223, 1221, 60, 188, 255, 594, 3190, 357, …
## $ voice_rev <dbl> 5860.00, 0.00, 3744.00, 231.00, 12073.00, 3829.00, 3…
## $ voice_trx <int> 57, 0, 6, 52, 36, 7, 8, 1, 0, 37, 0, 16, 14, 27, 2, …
## $ voice_mou <int> 251, 0, 5, 188, 588, 261, 207, 0, 0, 67, 0, 51, 16, …
## $ voice_dou <int> 7, 0, 2, 6, 6, 3, 4, 1, 0, 7, 0, 3, 6, 6, 2, 2, 7, 5…
## $ sms_rev <int> 3465, 0, 2475, 0, 2100, 0, 20430, 0, 1505, 2150, 0, …
## $ sms_trx <int> 16, 0, 13, 2, 20, 0, 97, 0, 7, 16, 0, 13, 37, 43, 6,…
## $ sms_dou <int> 5, 0, 5, 2, 5, 0, 7, 0, 4, 6, 0, 5, 7, 6, 2, 0, 7, 6…
## $ broadband_rev <dbl> 35000, 0, 0, 0, 0, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 288…
## $ broadband_usg <dbl> 1.713203e+03, 0.000000e+00, 0.000000e+00, 3.416926e+…
## $ broadband_dou <int> 6, 0, 0, 7, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 2, 0, 0, 1…
## $ voice_package_rev <int> 34200, 8350, 8200, 7950, 26600, 4550, 15800, 17900, …
## $ voice_package_trx <int> 8, 2, 2, 2, 6, 1, 4, 4, 4, 2, 2, 6, 4, 8, 1, 2, 4, 1…
## $ voice_package_dou <int> 6, 2, 2, 2, 5, 1, 4, 2, 4, 2, 1, 5, 4, 6, 1, 2, 4, 1…
## $ churn <int> 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1…
## [1] 2
Data di atas terlihat bahwa ada 2 valiarble yang salah dalam
penggunaan type data. yaitu MSISDN dan churn
(terlihat hanya ada 2 jenis data ini menjadi dasar untuk memastikan
bahwa type data tersebut adalah kategorik bukan integer).
MSISDN memiliki type int harusnnya adalah
char churn memiliki type int
harusnya type yang benar adalah kategorik factor
selanjutnya mengubah type data tersebut
churn
## 'data.frame': 5000 obs. of 16 variables:
## $ MSISDN : int 31441 31944 82538 86957 27618 96313 21363 85847 56880 83060 ...
## $ los : int 534 589 1223 1221 60 188 255 594 3190 357 ...
## $ voice_rev : num 5860 0 3744 231 12073 ...
## $ voice_trx : int 57 0 6 52 36 7 8 1 0 37 ...
## $ voice_mou : int 251 0 5 188 588 261 207 0 0 67 ...
## $ voice_dou : int 7 0 2 6 6 3 4 1 0 7 ...
## $ sms_rev : int 3465 0 2475 0 2100 0 20430 0 1505 2150 ...
## $ sms_trx : int 16 0 13 2 20 0 97 0 7 16 ...
## $ sms_dou : int 5 0 5 2 5 0 7 0 4 6 ...
## $ broadband_rev : num 35000 0 0 0 0 0 0 9000 0 0 ...
## $ broadband_usg : num 1713 0 0 342 0 ...
## $ broadband_dou : int 6 0 0 7 0 0 0 7 0 7 ...
## $ voice_package_rev: int 34200 8350 8200 7950 26600 4550 15800 17900 16650 8700 ...
## $ voice_package_trx: int 8 2 2 2 6 1 4 4 4 2 ...
## $ voice_package_dou: int 6 2 2 2 5 1 4 2 4 2 ...
## $ churn : Factor w/ 2 levels "Tidak berlangganan",..: 2 1 2 2 1 2 2 2 2 2 ...
Perlu di perhatikan No adalah tidak berlanggan
kembali dan yes masih berlangganan
MSISDN
Data bersih yang siap kita gunakan adalah :
## Rows: 5,000
## Columns: 16
## $ MSISDN <chr> "31441", "31944", "82538", "86957", "27618", "96313"…
## $ los <int> 534, 589, 1223, 1221, 60, 188, 255, 594, 3190, 357, …
## $ voice_rev <dbl> 5860.00, 0.00, 3744.00, 231.00, 12073.00, 3829.00, 3…
## $ voice_trx <int> 57, 0, 6, 52, 36, 7, 8, 1, 0, 37, 0, 16, 14, 27, 2, …
## $ voice_mou <int> 251, 0, 5, 188, 588, 261, 207, 0, 0, 67, 0, 51, 16, …
## $ voice_dou <int> 7, 0, 2, 6, 6, 3, 4, 1, 0, 7, 0, 3, 6, 6, 2, 2, 7, 5…
## $ sms_rev <int> 3465, 0, 2475, 0, 2100, 0, 20430, 0, 1505, 2150, 0, …
## $ sms_trx <int> 16, 0, 13, 2, 20, 0, 97, 0, 7, 16, 0, 13, 37, 43, 6,…
## $ sms_dou <int> 5, 0, 5, 2, 5, 0, 7, 0, 4, 6, 0, 5, 7, 6, 2, 0, 7, 6…
## $ broadband_rev <dbl> 35000, 0, 0, 0, 0, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 288…
## $ broadband_usg <dbl> 1.713203e+03, 0.000000e+00, 0.000000e+00, 3.416926e+…
## $ broadband_dou <int> 6, 0, 0, 7, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 2, 0, 0, 1…
## $ voice_package_rev <int> 34200, 8350, 8200, 7950, 26600, 4550, 15800, 17900, …
## $ voice_package_trx <int> 8, 2, 2, 2, 6, 1, 4, 4, 4, 2, 2, 6, 4, 8, 1, 2, 4, 1…
## $ voice_package_dou <int> 6, 2, 2, 2, 5, 1, 4, 2, 4, 2, 1, 5, 4, 6, 1, 2, 4, 1…
## $ churn <fct> Berlangganan, Tidak berlangganan, Berlangganan, Berl…
Jumlah Berlangnan dan Tidak berlanganan
## [1] "3315 1685"
Dari data di atas terlihat bahwa data terdiri dari data
Churn Berlangannan dan tidak berlangganan.
di mana berjumlah 3315 & 1685.
Data yang di analisis di dominasi oleh Customer yang masih berlangganan.
Customer dengan waktu berlanganan terlama merupakan customer yang masih aktif. sedangkan Customer tidak berlanganan merupakan waktu tercepat. namun jika di lihat seksama, datanya tidak terlalu berbeda secara signifikan.
kemungkinan Customer ini mendapat trust isue mengenai pengenalan awal, sehingga menjadi penyebap tidak berlanganan / dengan waktu yang sangat cepat lalu berhenti berlangganan.
Tranasksi Voice_package (Penggunaan paket telfon), itu paling sedikit dalam rata-rata jumlah transaksinya. kemngkinan adalah sms TRX dan Voice trx memliki data bias sehingga terjadi outlier.
Terlihat bahwa memang ke 2 data tersebut terdapat outlier.
Dapat di asumsikan bahwa customer dalam melakukan bisnisnya banyak menggunakan SMS di bandingkan dengan telephon.
## voice_rev sms_rev broadband_rev voice_package_rev
## Min. : 0 Min. : 0 Min. : 0 Min. : 0
## 1st Qu.: 435 1st Qu.: 415 1st Qu.: 0 1st Qu.: 4350
## Median : 3664 Median : 1980 Median : 0 Median : 8200
## Mean : 7962 Mean : 4551 Mean : 3952 Mean :12065
## 3rd Qu.: 9955 3rd Qu.: 5746 3rd Qu.: 0 3rd Qu.:16475
## Max. :397101 Max. :72430 Max. :424720 Max. :88000
Dari data di atas kita bisa bisa menyimpulkan dari penghasilan terbesar berada pada Penghasilan dari paket telepon dalam sebulan terakhir. dan penghasilan terkecil berada pada Penghasilan dari jasa paket data (broadband) dalam sebulan terakhir
terlihat bahwa data Voice_package_trx tidak berbanding lurus degan voice_package_rev, jumlah transksinya paling sedikit, mengapa penghasilannya paling besar? Disini hipotesis saya adalah kemungkinan harga dari voice_package_rev ini cukup mahal. atau harganya lebih besar dari pada sms dan data lainnya.
## corrplot 0.92 loaded
## los voice_rev voice_trx voice_mou voice_dou sms_rev
## los 1.000 0.127 0.111 -0.062 0.221 0.066
## voice_rev 0.127 1.000 0.352 0.167 0.444 0.256
## voice_trx 0.111 0.352 1.000 0.579 0.614 0.303
## voice_mou -0.062 0.167 0.579 1.000 0.403 0.191
## voice_dou 0.221 0.444 0.614 0.403 1.000 0.314
## sms_rev 0.066 0.256 0.303 0.191 0.314 1.000
## sms_trx -0.042 0.119 0.190 0.146 0.165 0.674
## sms_dou 0.191 0.260 0.428 0.294 0.613 0.582
## broadband_rev -0.042 0.097 0.002 0.013 0.069 0.043
## broadband_usg -0.037 0.074 -0.029 -0.001 0.030 -0.004
## broadband_dou -0.072 0.060 -0.017 0.013 0.058 0.050
## voice_package_rev 0.053 0.158 0.502 0.398 0.383 0.203
## voice_package_trx 0.068 0.124 0.491 0.383 0.382 0.205
## voice_package_dou 0.091 0.133 0.471 0.337 0.416 0.204
## sms_trx sms_dou broadband_rev broadband_usg broadband_dou
## los -0.042 0.191 -0.042 -0.037 -0.072
## voice_rev 0.119 0.260 0.097 0.074 0.060
## voice_trx 0.190 0.428 0.002 -0.029 -0.017
## voice_mou 0.146 0.294 0.013 -0.001 0.013
## voice_dou 0.165 0.613 0.069 0.030 0.058
## sms_rev 0.674 0.582 0.043 -0.004 0.050
## sms_trx 1.000 0.388 0.041 -0.001 0.069
## sms_dou 0.388 1.000 0.066 0.028 0.095
## broadband_rev 0.041 0.066 1.000 0.605 0.479
## broadband_usg -0.001 0.028 0.605 1.000 0.486
## broadband_dou 0.069 0.095 0.479 0.486 1.000
## voice_package_rev 0.140 0.280 0.023 0.011 0.020
## voice_package_trx 0.143 0.302 0.007 -0.008 0.016
## voice_package_dou 0.135 0.321 0.016 -0.001 0.018
## voice_package_rev voice_package_trx voice_package_dou
## los 0.053 0.068 0.091
## voice_rev 0.158 0.124 0.133
## voice_trx 0.502 0.491 0.471
## voice_mou 0.398 0.383 0.337
## voice_dou 0.383 0.382 0.416
## sms_rev 0.203 0.205 0.204
## sms_trx 0.140 0.143 0.135
## sms_dou 0.280 0.302 0.321
## broadband_rev 0.023 0.007 0.016
## broadband_usg 0.011 -0.008 -0.001
## broadband_dou 0.020 0.016 0.018
## voice_package_rev 1.000 0.930 0.895
## voice_package_trx 0.930 1.000 0.920
## voice_package_dou 0.895 0.920 1.000
## [1] "menghitung nilai matrix"
Terdapat hubungan korelasi yang sagat tinggi dalam beberapa variable,
di tandai dengan warna yang lebih gelap /
angka yang mendekati 1.
Terdapat Multicoliniaritas pada variable voice_package,
jadi harus di lakukan prosess mengatasi hal tersebut.
Dalam BAB ini akan mencoba membuat Regresi liniear sederhana, Regresi liniar berganda, Regresi logistik & CART.
## 'data.frame': 5000 obs. of 16 variables:
## $ MSISDN : chr "31441" "31944" "82538" "86957" ...
## $ los : int 534 589 1223 1221 60 188 255 594 3190 357 ...
## $ voice_rev : num 5860 0 3744 231 12073 ...
## $ voice_trx : int 57 0 6 52 36 7 8 1 0 37 ...
## $ voice_mou : int 251 0 5 188 588 261 207 0 0 67 ...
## $ voice_dou : int 7 0 2 6 6 3 4 1 0 7 ...
## $ sms_rev : int 3465 0 2475 0 2100 0 20430 0 1505 2150 ...
## $ sms_trx : int 16 0 13 2 20 0 97 0 7 16 ...
## $ sms_dou : int 5 0 5 2 5 0 7 0 4 6 ...
## $ broadband_rev : num 35000 0 0 0 0 0 0 9000 0 0 ...
## $ broadband_usg : num 1713 0 0 342 0 ...
## $ broadband_dou : int 6 0 0 7 0 0 0 7 0 7 ...
## $ voice_package_rev: int 34200 8350 8200 7950 26600 4550 15800 17900 16650 8700 ...
## $ voice_package_trx: int 8 2 2 2 6 1 4 4 4 2 ...
## $ voice_package_dou: int 6 2 2 2 5 1 4 2 4 2 ...
## $ churn : Factor w/ 2 levels "Tidak berlangganan",..: 2 1 2 2 1 2 2 2 2 2 ...
Disini saya ingin melihat apakah ada pengaruh antara Lamanya menjadi customer (los) dengan Penghasilan dari jasa voice (voice_rev)
##
## Call:
## lm(formula = voice_rev ~ los, data = telco_churn)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11544 -6406 -4216 2078 385750
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5745.8823 313.1983 18.346 <2e-16 ***
## los 1.8103 0.1999 9.057 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13830 on 4998 degrees of freedom
## Multiple R-squared: 0.01615, Adjusted R-squared: 0.01595
## F-statistic: 82.03 on 1 and 4998 DF, p-value: < 2.2e-16
Secara keselurahan dari data di atas adalah untuk memprediksi
los berdasarkan voice_rev, Namun
R-squared sangat rendah hanya 1.6% saja.
menunjukan bahwa hanya menjelaskan sebagian kecil variasi dalam
los.
hal ini juga sejalan dengan matriks korelasi pada sub-Bab
Eksplorasi, hanya memiliki nilai 0.05.
hasil prediksi dalam model ini adalah apakah ios atau
lama berlangganan dapat menjelaskan sebarapa banyak
voice_rev atau penghasilan dari jasa telephon. ternayata
hasil regresi ini tidak cukup valid. Bisa digunakan varaible lain untuk
mengujinya. dengan kata lain kemungkinan besar asumsi-asumsi model
linear tidak terpenuhi.
##
## Shapiro-Wilk normality test
##
## data: res
## W = 0.54495, p-value < 2.2e-16
Berdasarkan hasil uji Shapiro-Wilk ini, Anda dapat menyimpulkan bahwa
sampel data res tidak terdistribusi secara normal. Data
yang tidak terdistribusi secara normal mungkin memiliki dampak pada
pemilihan dan interpretasi analisis statistik yang Anda lakukan.
Tujuan lain dari membangun suatu model untuk melakukan prediksi
tess_baru <- data.frame("los" = c(5000, 6000))
pred_reglin_sederhana <- predict(data_reg1, tess_baru)
t(pred_reglin_sederhana)## 1 2
## [1,] 14797.29 16607.57
ini adalah contoh hasil prediksi los dalam regresi
linier sederhana.
Karena hasil \(R^2\) tidak begitu tinggi, maka indikasi perlu di lakukan penambahan variable lain agar dapat menjelaskan keragaman variable Y lebih baik.
## voice_package_rev voice_package_trx voice_package_dou los
## 1 34200 8 6 534
## 2 8350 2 2 589
## 3 8200 2 2 1223
## 4 7950 2 2 1221
## 5 26600 6 5 60
## 6 4550 1 1 188
##
## Call:
## lm(formula = voice_package_rev ~ ., data = data_mul1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -58255 -1055 565 1048 47721
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -501.49200 118.28943 -4.240 2.28e-05 ***
## voice_package_trx 2698.95830 50.05507 53.920 < 2e-16 ***
## voice_package_dou 1592.19855 76.84336 20.720 < 2e-16 ***
## los -0.20663 0.05802 -3.562 0.000372 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3994 on 4996 degrees of freedom
## Multiple R-squared: 0.875, Adjusted R-squared: 0.8749
## F-statistic: 1.165e+04 on 3 and 4996 DF, p-value: < 2.2e-16
Koefisien-koefisien yang signifikan secara statistik dapat digunakan untuk menganalisis hubungan antara variabel-variabel ini.
## voice_package_trx voice_package_dou los
## 6.493809 6.518009 1.010069
variabel voice_package_trx dan
voice_package_dou memiliki VIF yang cukup tinggi, yaitu di
atas 5, yang mengindikasikan adanya multikolinearitas yang signifikan
antara kedua variabel tersebut. Multikolinearitas dapat menyulitkan
dalam interpretasi model dan memengaruhi stabilitas estimasi
koefisien.
untuk menjalanakan model yang lebih baik maka, salah 1 dari ke-2 variable tersebut akan di eliminasi. sehingga :
## voice_package_rev voice_package_trx los
## 1 34200 8 534
## 2 8350 2 589
## 3 8200 2 1223
## 4 7950 2 1221
## 5 26600 6 60
## 6 4550 1 188
##
## Call:
## lm(formula = voice_package_rev ~ ., data = data_mul2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -72616 -1348 287 1394 47335
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 518.49495 112.07470 4.626 3.82e-06 ***
## voice_package_trx 3652.50330 20.51486 178.042 < 2e-16 ***
## los -0.11876 0.06029 -1.970 0.0489 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4162 on 4997 degrees of freedom
## Multiple R-squared: 0.8642, Adjusted R-squared: 0.8642
## F-statistic: 1.59e+04 on 2 and 4997 DF, p-value: < 2.2e-16
Dengan model yang baru maka akan kita lakukan prediksi dengan data baru berikut :
tess_baru2 <- data.frame("los" = c(5000, 6000),
"voice_package_trx" = c(50, 29)
)
pred_reglin_sederhana2 <- predict(data_reg1, tess_baru)
pred_reglin_sederhana2## 1 2
## 14797.29 16607.57
Terlihat bahwa prediksi data baru terhadap
voice_package_rev adalah sebesar Rp.
14.797 dan Rp. 16.607
# partisi 70%
train70 <- telco_churn[indeks, 2:16] # berisi 70%
test30 <- telco_churn[-indeks, 2:16] # berisi 30%##
## Call:
## glm(formula = churn ~ ., family = binomial, data = train70)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.685e+00 1.107e-01 -15.218 < 2e-16 ***
## los 1.558e-04 4.616e-05 3.376 0.000736 ***
## voice_rev -2.630e-05 4.167e-06 -6.310 2.78e-10 ***
## voice_trx 2.425e-02 4.151e-03 5.841 5.18e-09 ***
## voice_mou 2.659e-03 5.724e-04 4.646 3.38e-06 ***
## voice_dou 1.212e-01 2.961e-02 4.095 4.22e-05 ***
## sms_rev -1.303e-05 9.877e-06 -1.320 0.186972
## sms_trx 6.119e-06 6.661e-04 0.009 0.992670
## sms_dou 1.034e-01 2.491e-02 4.151 3.30e-05 ***
## broadband_rev -6.382e-08 3.127e-06 -0.020 0.983719
## broadband_usg -1.444e-04 1.273e-04 -1.134 0.256860
## broadband_dou 2.098e-02 2.226e-02 0.943 0.345935
## voice_package_rev -1.043e-05 1.415e-05 -0.737 0.461268
## voice_package_trx -4.920e-02 6.326e-02 -0.778 0.436770
## voice_package_dou 5.354e-01 8.769e-02 6.105 1.03e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 4492.5 on 3499 degrees of freedom
## Residual deviance: 3399.2 on 3485 degrees of freedom
## AIC: 3429.2
##
## Number of Fisher Scoring iterations: 6
setelah di lihat pada hasil output di atas terlihat beberapa variable yang sangat memiliki tingkat data yang cukup signifikansi yaitu di tandai dengan variable ***. selanjutnya adalah melakukan final model Regresi logistik.
Reglog_final <- glm( formula = churn ~ los + voice_dou + sms_dou + voice_package_dou + voice_rev + voice_mou + voice_trx,
family = binomial,
data = train70)
summary(Reglog_final)##
## Call:
## glm(formula = churn ~ los + voice_dou + sms_dou + voice_package_dou +
## voice_rev + voice_mou + voice_trx, family = binomial, data = train70)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.652e+00 1.083e-01 -15.257 < 2e-16 ***
## los 1.615e-04 4.551e-05 3.549 0.000386 ***
## voice_dou 1.277e-01 2.932e-02 4.356 1.32e-05 ***
## sms_dou 8.442e-02 2.014e-02 4.192 2.77e-05 ***
## voice_package_dou 4.231e-01 3.478e-02 12.165 < 2e-16 ***
## voice_rev -2.766e-05 4.074e-06 -6.789 1.13e-11 ***
## voice_mou 2.644e-03 5.708e-04 4.632 3.63e-06 ***
## voice_trx 2.417e-02 4.143e-03 5.833 5.43e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 4492.5 on 3499 degrees of freedom
## Residual deviance: 3405.1 on 3492 degrees of freedom
## AIC: 3421.1
##
## Number of Fisher Scoring iterations: 6
Kesimpulan utama adalah bahwa beberapa variabel independen, seperti voice_package_dou, voice_rev, dan voice_trx, memiliki pengaruh yang signifikan dalam memprediksi apakah pelanggan akan meninggalkan layanan (churn).
## n= 3500
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 3500 1194 Berlangganan (0.3411429 0.6588571)
## 2) voice_mou< 15.5 1203 453 Tidak berlangganan (0.6234414 0.3765586)
## 4) voice_package_dou< 1.5 738 213 Tidak berlangganan (0.7113821 0.2886179) *
## 5) voice_package_dou>=1.5 465 225 Berlangganan (0.4838710 0.5161290)
## 10) sms_trx< 0.5 171 60 Tidak berlangganan (0.6491228 0.3508772) *
## 11) sms_trx>=0.5 294 114 Berlangganan (0.3877551 0.6122449) *
## 3) voice_mou>=15.5 2297 444 Berlangganan (0.1932956 0.8067044) *
Kesimpulan dari pohon keputusan ini adalah bahwa model menggunakan fitur-fitur seperti “voice_trx”, “voice_package_rev”, “voice_mou”, dan “los” untuk membuat prediksi apakah seseorang akan berlangganan atau tidak berlangganan layanan.
Berikut adalah beberapa masukan atas kendala di atas poin utamanya
adalah mengurangi churn atau customer yang berhenti
berlangganan.
kemungkinan terdapat persaingan antar kompotitor sehingga customer berhenti berlangganan, maka di butuhkan teknik marketing agar menarik kembali minat mantan customer dan menjaga Customer yang masih berlangganan.
Peningkatan layanan membuat diskon sehingga customer mendapatkan
beberapa keuntungan lebih dari sisi sms, voice
& package.
Memberikan program seperti Customer prioritas yang masih berlangganan. untuk menjaga Customer.
pada analisis CART yang menyebapkan persentasi Customer berhenti berlangganan, sebaikan di evaluasi agar meningkatkan peluan customer tidak berhenti berlangganan.
Demikian, mohon untuk di koreksi jika ada kesalahan dan kekeliruan
untuk masukan boleh melalui :
Gmail : al.bani12300@gmail.com
Regards,
ALBANI