Sebuah perusahaan asuransi kesehatan ingin memahami faktor-faktor yang memengaruhi pilihan nasabah terhadap tiga jenis produk asuransi berbeda: A, B, dan C. Karena variabel target bersifat kategorikal dengan tiga kelas yang tidak berurutan, metode yang digunakan adalah Regresi Logistik Multinomial.


Deskripsi Data

Dataset berisi data demografis dan perilaku pegawai terhadap pemilihan produk asuransi, dengan variabel sebagai berikut:

Load Library & Dataset

library(nnet)
library(dplyr)
## 
## 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
library(ggplot2)
library(caret)
## Loading required package: lattice
library(janitor)
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
#Import dataset
df <- read.csv("health_insurance.csv")
df <- janitor::clean_names(df)
str(df)
## 'data.frame':    1453 obs. of  6 variables:
##  $ product       : chr  "C" "A" "C" "A" ...
##  $ age           : int  57 21 66 36 23 31 37 37 55 66 ...
##  $ household     : int  2 7 7 4 0 5 3 0 3 2 ...
##  $ position_level: int  2 2 2 2 2 1 3 3 3 4 ...
##  $ gender        : chr  "Male" "Male" "Male" "Female" ...
##  $ absent        : int  10 7 1 6 11 14 12 25 3 18 ...
#data prepocessing
df$product <- as.factor(df$product)
df$gender <- as.factor(df$gender)

Eksplorasi data

#distribusi pemilihan produk asuransi
ggplot(df, aes(x = product, fill = product)) +
  geom_bar() +
  labs(title = "Distribusi Pemilihan Produk Asuransi", x = "Produk", y = "Jumlah") +
  theme_minimal()

#usi berdasarkan produk
ggplot(df, aes(x = product, y = age, fill = product)) +
  geom_boxplot() +
  labs(title = "Usia berdasarkan Produk", x = "Produk", y = "Usia") +
  theme_minimal()

#proporsi gender dalam pemilihan produk
ggplot(df, aes(x = gender, fill = product)) +
  geom_bar(position = "fill") +
  labs(title = "Proporsi Gender dalam Pemilihan Produk", x = "Gender", y = "Proporsi") +
  theme_minimal()

Berdasarkan visualisasi yang telah dibuat, diperoleh beberapa temuan penting terkait pemilihan produk asuransi:

  1. Distribusi Produk:
    • Produk C merupakan pilihan yang paling banyak di antara responden, diikuti oleh Produk A dan Produk B.
    • Hal ini mengindikasikan bahwa Produk C memiliki daya tarik tersendiri yang layak untuk dianalisis lebih lanjut.
  2. Distribusi Usia per Produk:
    • Produk A cenderung diminati oleh kelompok usia yang lebih muda.
    • Produk B memiliki sebaran usia yang paling luas, dengan median usia di rentang paruh baya.
    • Produk C dipilih oleh kelompok usia yang relatif lebih tua.
    • Dengan demikian, terdapat perbedaan segmentasi usia yang cukup jelas antar produk.
  3. Distribusi Gender per Produk:
    • Produk B lebih banyak dipilih oleh responden perempuan.
    • Produk A dan C lebih banyak dipilih oleh laki-laki.
    • Responden non-binary memilih Produk A dan B dalam proporsi yang relatif seimbang.
    • Preferensi gender yang berbeda ini menunjukkan pentingnya strategi pemasaran yang disesuaikan dengan karakteristik demografis.

Split data & modeling

set.seed(123)
train_index <- createDataPartition(df$product, p = 0.8, list = FALSE)
train <- df[train_index, ]
test <- df[-train_index, ]

#model regresi logistik multinomial
model <- multinom(product ~ age + household + position_level + gender + absent, data = train)
## # weights:  24 (14 variable)
## initial  value 1278.784704 
## iter  10 value 816.403274
## iter  20 value 609.019776
## final  value 608.936017 
## converged
summary(model)
## Call:
## multinom(formula = product ~ age + household + position_level + 
##     gender + absent, data = train)
## 
## Coefficients:
##   (Intercept)       age  household position_level genderMale genderNon-binary
## B   -4.821029 0.2440100 -0.9736457     -0.3260307 -2.1801556        0.2993189
## C  -10.423406 0.2719315  0.1821444     -0.1591155  0.1883674       -1.1883887
##        absent
## B 0.010914879
## C 0.006672787
## 
## Std. Errors:
##   (Intercept)        age  household position_level genderMale genderNon-binary
## B   0.5728851 0.01724552 0.07772138     0.09929768  0.2513283         1.226988
## C   0.6922356 0.01758332 0.05581736     0.09097226  0.2164298         2.012470
##       absent
## B 0.01414291
## C 0.01365930
## 
## Residual Deviance: 1217.872 
## AIC: 1245.872
#odds ratio
coefs <- coef(model)
OR <- exp(coefs)
round(OR, 2)
##   (Intercept)  age household position_level genderMale genderNon-binary absent
## B        0.01 1.28      0.38           0.72       0.11             1.35   1.01
## C        0.00 1.31      1.20           0.85       1.21             0.30   1.01
#prdiksi dan evaluasi model
prediksi <- predict(model, newdata = test)
confusionMatrix(prediksi, test$product)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  A  B  C
##          A 82 13  9
##          B 14 74 13
##          C  3  4 77
## 
## Overall Statistics
##                                           
##                Accuracy : 0.8062          
##                  95% CI : (0.7559, 0.8502)
##     No Information Rate : 0.3426          
##     P-Value [Acc > NIR] : < 2e-16         
##                                           
##                   Kappa : 0.7095          
##                                           
##  Mcnemar's Test P-Value : 0.05029         
## 
## Statistics by Class:
## 
##                      Class: A Class: B Class: C
## Sensitivity            0.8283   0.8132   0.7778
## Specificity            0.8842   0.8636   0.9632
## Pos Pred Value         0.7885   0.7327   0.9167
## Neg Pred Value         0.9081   0.9096   0.8927
## Prevalence             0.3426   0.3149   0.3426
## Detection Rate         0.2837   0.2561   0.2664
## Detection Prevalence   0.3599   0.3495   0.2907
## Balanced Accuracy      0.8562   0.8384   0.8705

Analisis Hasil Regresi Logistik Multinomial

Berdasarkan hasil analisis regresi logistik multinomial terhadap 1.453 data nasabah asuransi, diperoleh beberapa temuan penting terkait faktor-faktor yang memengaruhi pemilihan produk asuransi (A, B, atau C). Model dibangun menggunakan variabel prediktor seperti usia, jumlah anggota rumah tangga, level posisi pekerjaan, jenis kelamin, dan jumlah ketidakhadiran (absent), dengan performa model mencapai akurasi 80,62% dan nilai Kappa 0,71, yang menunjukkan tingkat akurasi dan kesesuaian model yang baik.

1. Pengaruh Usia

Usia memiliki pengaruh positif signifikan terhadap pemilihan produk B dan C dibandingkan dengan produk A.

Nilai odds ratio (OR) untuk usia: - Produk B: 1,28 - Produk C: 1,31

Artinya, setiap peningkatan satu tahun usia meningkatkan peluang memilih produk B sebesar 28% dan produk C sebesar 31% dibandingkan produk A.

2. Jumlah Anggota Rumah Tangga

Untuk produk B, jumlah anggota rumah tangga berbanding terbalik dengan probabilitas pemilihan (OR = 0,38), sedangkan untuk produk C justru menunjukkan kecenderungan yang sedikit meningkat (OR = 1,20).

Hal ini menunjukkan bahwa rumah tangga yang lebih besar lebih cenderung memilih produk C dibandingkan B.

3. Level Posisi Pekerjaan

Variabel ini memiliki efek negatif terhadap pemilihan produk B dan C (OR < 1), meskipun dampaknya relatif kecil.

4. Jenis Kelamin

Jenis kelamin laki-laki cenderung kurang memilih produk B dibandingkan perempuan (OR = 0,11), namun memiliki kecenderungan sedikit lebih besar dalam memilih produk C (OR = 1,21).

Untuk kategori non-binary, hasilnya tidak terlalu dapat diandalkan karena kemungkinan ukuran sampel yang kecil (OR ekstrem dan standar error tinggi).

5. Jumlah Ketidakhadiran

Variabel absent tidak menunjukkan pengaruh yang signifikan terhadap pemilihan produk asuransi, dengan odds ratio yang sangat mendekati 1 untuk semua kategori.

6. Performa Model

Model mampu mengklasifikasikan pilihan produk dengan akurasi 80,62%, jauh lebih tinggi dibandingkan baseline (No Information Rate = 34,26%).

Produk C memiliki nilai Precision tertinggi (91,67%) meskipun bukan yang paling banyak dipilih.

Produk A memiliki sensitivity tertinggi (82,83%) menunjukkan kemampuan model dalam mengidentifikasi kelas A dengan baik.

Kesimpulan

Faktor usia dan jenis kelamin merupakan dua variabel paling signifikan yang memengaruhi keputusan nasabah dalam memilih produk asuransi.

Strategi pemasaran sebaiknya disesuaikan berdasarkan karakteristik demografis:

Penyesuaian produk dan kampanye promosi berbasis segmentasi ini dapat meningkatkan akuisisi pelanggan dan efisiensi strategi pemasaran.

```