library(openxlsx)
library(DT)
library(pander)
library(readr)
library(ggplot2)
library(dplyr)
library(skimr)
library(psych)
library(formattable)
library(htmltools)
library(DescTools)
library(epitools)
library(pROC)
d <- read.xlsx("/Users/phamxuanhoan/Downloads/Dldtb5.xlsx")

CHƯƠNG 1: TỔNG QUAN NGHIÊN CỨU

1.1 Tính cấp thiết của đề tài

Trong bối cảnh thị trường tài chính – ngân hàng cạnh tranh khốc liệt, các chiến dịch marketing đóng vai trò then chốt trong việc mở rộng tệp khách hàng và gia tăng tỷ lệ chuyển đổi. Tuy nhiên, không phải mọi chiến dịch đều đạt hiệu quả như mong đợi, bởi quyết định đăng ký dịch vụ ngân hàng của khách hàng còn chịu ảnh hưởng bởi nhiều yếu tố: đặc điểm nhân khẩu học (tuổi, nghề nghiệp, tình trạng hôn nhân), phương thức tiếp cận (gọi điện thoại bàn, điện thoại di động), tần suất liên hệ và thậm chí cả yếu tố kinh tế vĩ mô. Bank Marketing Dataset là bộ dữ liệu thực tế thu thập từ các chiến dịch marketing của một ngân hàng Bồ Đào Nha, cung cấp hàng chục nghìn quan sát về khách hàng, cách tiếp cận và kết quả phản hồi. Việc khai thác bộ dữ liệu này không chỉ cho phép phân tích những yếu tố nào thực sự tác động đến quyết định đăng ký dịch vụ, mà còn mang ý nghĩa ứng dụng cao cho các ngân hàng trong việc tối ưu hóa nguồn lực marketing, lựa chọn nhóm khách hàng tiềm năng và thiết kế thông điệp phù hợp hơn.

Chính vì vậy, nghiên cứu với đề tài “Các nhân tố quyết định sự thành công của chiến dịch marketing ngân hàng: Phân tích từ dữ liệu Bank Marketing Dataset” được lựa chọn nhằm mang lại cái nhìn thực tiễn, dựa trên bằng chứng dữ liệu, giúp các tổ chức tài chính không chỉ hiểu rõ khách hàng hơn mà còn đưa ra các quyết định chiến lược nhằm nâng cao hiệu quả trong các chiến dịch marketing tương lai.

1.2. Mục tiêu nghiên cứu

Nghiên cứu này được thực hiện nhằm khai thác bộ dữ liệu Bank Marketing Dataset để tìm hiểu những yếu tố có thể ảnh hưởng trực tiếp đến quyết định đăng ký dịch vụ ngân hàng (biến Y) của khách hàng sau các chiến dịch marketing. Trong bối cảnh ngân hàng ngày càng cần tối ưu hóa nguồn lực marketing và nâng cao tỷ lệ chuyển đổi, việc xác định rõ yếu tố nào thực sự có ý nghĩa trong việc thuyết phục khách hàng trở nên vô cùng quan trọng.

Trên cơ sở đó, nghiên cứu tập trung vào ba yếu tố tiêu biểu và có ý nghĩa thực tiễn cao: tình trạng hôn nhân (Marital) và hình thức liên hệ (Contact). Ba yếu tố này được lựa chọn bởi chúng phản ánh trực tiếp đặc điểm khách hàng, cách ngân hàng tiếp cận khách hàng cũng như tình trạng tài chính hiện tại – những khía cạnh được dự đoán có ảnh hưởng lớn đến quyết định “yes” hay “no” trong việc đăng ký sản phẩm ngân hàng.

Cụ thể, nghiên cứu hướng đến việc phân tích tình trạng hôn nhân (Marital) để xem khách hàng độc thân, đã kết hôn hay ly hôn có xu hướng phản hồi khác nhau như thế nào với chiến dịch marketing. Tiếp đến, yếu tố hình thức liên hệ (Contact) sẽ được xem xét nhằm đánh giá mức độ hiệu quả giữa các kênh tiếp cận, chẳng hạn như điện thoại bàn và điện thoại di động ảnh hưởng như thế nào đến quyết định đăng ký dịch vụ mới.

Thông qua hai yếu tố trọng tâm này, nghiên cứu đặt ra ba mục tiêu cụ thể.

  • Thứ nhất, xác định mức độ và chiều hướng tác động của từng yếu tố đến quyết định đăng ký dịch vụ ngân hàng.

  • Thứ hai, so sánh sự khác biệt trong phản hồi giữa các nhóm khách hàng trong từng yếu tố, từ đó nhận diện nhóm khách hàng tiềm năng.

  • Thứ ba, đề xuất một số gợi ý thực tiễn giúp ngân hàng tối ưu hóa chiến dịch marketing, lựa chọn phương thức tiếp cận phù hợp và nâng cao hiệu quả tiếp thị trong tương lai. Với định hướng này, nghiên cứu không chỉ mang tính ứng dụng cao cho hoạt động marketing ngân hàng, mà còn giúp các nhà quản trị hiểu rõ hơn hành vi và đặc điểm khách hàng dựa trên dữ liệu thực tế, làm cơ sở cho việc hoạch định chiến lược dài hạn.

1.3. Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu

Đối tượng nghiên cứu của đề tài là mối quan hệ giữa các đặc điểm khách hàng và quyết định đăng ký dịch vụ ngân hàng sau chiến dịch marketing. Cụ thể, nghiên cứu tập trung vào ba yếu tố then chốt gồm: tình trạng hôn nhân (Marital) và hình thức liên hệ (Contact), nhằm xem xét tác động của chúng đến biến mục tiêu Y – thể hiện quyết định “có” hoặc “không” đăng ký dịch vụ ngân hàng. Những yếu tố này vừa phản ánh đặc điểm nhân khẩu học, vừa cho thấy phương thức tiếp cận và tình trạng tài chính của khách hàng – những khía cạnh có ý nghĩa quan trọng trong việc giải thích hành vi phản hồi của họ đối với chiến dịch marketing.

Phạm vi nghiên cứu

Phạm vi nghiên cứu giới hạn trong bộ dữ liệu Bank Marketing Dataset, được thu thập từ các chiến dịch tiếp thị qua điện thoại của một ngân hàng Bồ Đào Nha. Bộ dữ liệu này bao gồm hơn 40.000 bản ghi với nhiều thông tin chi tiết về khách hàng, phương thức liên hệ, kết quả phản hồi cũng như một số chỉ số kinh tế vĩ mô. Tuy nhiên, nghiên cứu này chỉ tập trung khai thác ba biến quan trọng đã xác định (Marital, Contact, Loan) và phân tích mối liên hệ của chúng với biến Y, thay vì đi sâu vào tất cả các biến trong bộ dữ liệu.

Ý nghĩa:

Giới hạn phạm vi như vậy giúp nghiên cứu đi sâu vào các yếu tố then chốt, tránh phân tích dàn trải, đồng thời tạo điều kiện để đưa ra những nhận định và khuyến nghị thiết thực cho hoạt động marketing ngân hàng trong bối cảnh thực tế.

1.4. Phương pháp nghiên cứu

Nghiên cứu sử dụng bộ dữ liệu Bank Marketing Dataset và tiến hành theo các bước phân tích chính như sau:

Trước hết, nghiên cứu thực hiện phân tích thống kê mô tả cho các biến độc lập chính gồm MaritaL và Contact. Các chỉ số tần số, tần suất và tỷ lệ phần trăm được trình bày kết hợp với biểu đồ trực quan (biểu đồ cột, biểu đồ tròn) nhằm làm rõ đặc điểm phân bố dữ liệu và cung cấp bức tranh tổng quan về từng biến.

Tiếp theo, nghiên cứu xem xét mối quan hệ từng biến độc lập với biến phụ thuộc (Y) bằng các phương pháp: bảng tần số – tần suất chéo, biểu đồ so sánh, và các kiểm định thống kê. Trong đó, kiểm định Chi-bình phương được dùng để đánh giá tính độc lập giữa các biến, kiểm định hiệu hai tỷ lệ giúp so sánh tỷ lệ “yes” giữa các nhóm, đồng thời tính Relative Risk (RR) và Odds Ratio (OR) để lượng hóa mức độ tác động.

Sau đó, nghiên cứu tiến hành hồi quy đơn biến cho từng yếu tố độc lập bằng bốn mô hình: mô hình hồi quy xác suất tuyến tính (Linear Probability Model – LPM), hồi quy Logit, hồi quy Probit và hồi quy Cloglog. Bước này nhằm định lượng ảnh hưởng riêng lẻ của từng biến đến xác suất khách hàng đăng ký dịch vụ.

Cuối cùng, nghiên cứu mở rộng sang hồi quy đa biến với ba biến Marital, Contact và Loan được phân tích đồng thời trong cùng bốn mô hình trên. Qua đó, nghiên cứu xác định yếu tố nào có ảnh hưởng mạnh nhất đến biến Y khi kiểm soát các yếu tố còn lại.

Toàn bộ quy trình trên được thiết kế nhằm đảm bảo tính logic và đầy đủ, từ mô tả dữ liệu, kiểm định mối quan hệ, đến lượng hóa ảnh hưởng bằng mô hình hồi quy, giúp rút ra kết luận khoa học và cung cấp các gợi ý thực tiễn cho hoạt động marketing ngân hàng.

1.5. Ý nghĩa thực tiễn của đề tài

Trước hết, nghiên cứu cung cấp bằng chứng định lượng rõ ràng về tác động của các yếu tố như tình trạng hôn nhân (Marital) và hình thức liên hệ (Contact) đến quyết định đăng ký dịch vụ ngân hàng của khách hàng. Các kết quả này giúp ngân hàng hiểu rõ nhóm khách hàng nào phản hồi tích cực hơn và yếu tố nào đang cản trở hoặc thúc đẩy quyết định của họ.

Thứ hai, việc xác định hiệu quả của các kênh liên hệ từ dữ liệu thực tế giúp ngân hàng tối ưu hóa chiến lược tiếp cận khách hàng. Chẳng hạn, nếu một hình thức liên hệ cho tỷ lệ “yes” cao hơn, ngân hàng có thể ưu tiên đầu tư nguồn lực cho kênh này để nâng cao hiệu quả và tiết kiệm chi phí.

Thứ ba, nghiên cứu mang đến cơ sở dữ liệu đáng tin cậy cho các quyết định quản trị. Thay vì dựa vào cảm tính hoặc kinh nghiệm, ngân hàng có thể dựa trên kết quả phân tích để xây dựng chiến dịch marketing hướng mục tiêu (targeted marketing), tập trung vào đúng đối tượng khách hàng tiềm năng, từ đó tăng tỷ lệ chuyển đổi và giảm thiểu lãng phí ngân sách quảng bá.

Cuối cùng, đề tài còn gợi mở hướng nghiên cứu ứng dụng các mô hình thống kê và học máy (machine learning) trong marketing ngân hàng, qua đó góp phần thúc đẩy ứng dụng dữ liệu lớn và phân tích định lượng trong hoạt động kinh doanh, phù hợp với xu hướng chuyển đổi số trong lĩnh vực tài chính – ngân hàng hiện nay.

1.6. Kết cấu bài nghiên cứu

Chương 1: Tổng quan nghiên cứu

Chương 2: Dữ liệu nghiên cứu

Chương 3: Lý thuyết nghiên cứu

Chương 4: Kết quả phân tích

Chương 5: Kết luận

CHƯƠNG 2: DỮ LIỆU NGHIÊN CỨU

2.1. Giới thiệu bộ dữ liệu

Bộ dữ liệu Bank Marketing Dataset được thu thập từ các chiến dịch marketing qua điện thoại của một ngân hàng Bồ Đào Nha, bao gồm 45.211 quan sát với tổng cộng 21 biến. Dữ liệu ghi nhận thông tin chi tiết về đặc điểm nhân khẩu học, tình trạng tài chính, phương thức liên hệ, thông tin chiến dịch marketing và một số chỉ số kinh tế vĩ mô, qua đó cho phép nghiên cứu sâu về các yếu tố ảnh hưởng đến quyết định đăng ký dịch vụ ngân hàng (tiền gửi có kỳ hạn).

str(d)
## 'data.frame':    41188 obs. of  21 variables:
##  $ age           : num  56 57 37 40 56 45 59 41 24 25 ...
##  $ job           : chr  "housemaid" "services" "services" "admin." ...
##  $ marital       : chr  "married" "married" "married" "married" ...
##  $ education     : chr  "basic.4y" "high.school" "high.school" "basic.6y" ...
##  $ default       : chr  "no" "unknown" "no" "no" ...
##  $ housing       : chr  "no" "no" "yes" "no" ...
##  $ loan          : chr  "no" "no" "no" "no" ...
##  $ contact       : chr  "telephone" "telephone" "telephone" "telephone" ...
##  $ month         : chr  "may" "may" "may" "may" ...
##  $ day_of_week   : chr  "mon" "mon" "mon" "mon" ...
##  $ duration      : num  261 149 226 151 307 198 139 217 380 50 ...
##  $ campaign      : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ pdays         : num  999 999 999 999 999 999 999 999 999 999 ...
##  $ previous      : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ poutcome      : chr  "nonexistent" "nonexistent" "nonexistent" "nonexistent" ...
##  $ emp.var.rate  : num  1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 ...
##  $ cons.price.idx: num  94 94 94 94 94 ...
##  $ cons.conf.idx : num  -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 ...
##  $ euribor3m     : num  4.86 4.86 4.86 4.86 4.86 ...
##  $ nr.employed   : num  5191 5191 5191 5191 5191 ...
##  $ y             : chr  "no" "no" "no" "no" ...
dldt <- c("job" , "marital" , "education" , "default" , "housing" , "loan" , "contact" , "month" , "day_of_week" , "poutcome" , "y")
dldt
##  [1] "job"         "marital"     "education"   "default"     "housing"    
##  [6] "loan"        "contact"     "month"       "day_of_week" "poutcome"   
## [11] "y"
dt <- d[, dldt]

Các biến trong bộ dữ liệu được chia thành 11 biến định tính và 10 biến định lượng như sau:

  • Các biến trong bộ dữ liệu bao gồm:
Tên biến Mô tả
Job Nghề nghiệp (blue-collar, entrepreneur, technician,…)
Age Tuổi của khách hàng (số nguyên)
Marital Tình trạng hôn nhân (single, married, divorced)
Education Trình độ học vấn (basic.9y, high.school, university.degree,…)
Default Khách hàng có nợ xấu (từng không trả đúng hạn khoản vay) (yes/no/unknown)
Housing Khách hàng có vay mua nhà không (yes/no)
Loan Khách hàng có vay tiêu dùng không (yes/no)
Contact Phương thức liên lạc (cellular, telephone)
Month Tháng thực hiện cuộc gọi marketing (may, jun, …)
Day_of_week Thứ trong tuần gọi điện (mon, tue, wed, …)
Duration Thời gian (giây) của cuộc gọi marketing hiện tại
Campaign Số lần liên hệ với khách hàng trong chiến dịch hiện tại
P_days Số ngày kể từ lần liên hệ gần nhất (-1 hoặc 999 = chưa từng liên hệ)
Previous Số lần liên hệ trước đó trong quá khứ
Poutcome Kết quả của chiến dịch marketing trước đó (success/failure/nonexistent)
y Kết quả có đăng ký tiền gửi không

2.2. Mô tả các biến nghiên cứu

Trong nghiên cứu này, biến phụ thuộc và các biến độc lập trọng tâm được xác định như sau:

• Biến phụ thuộc (Y): Kết quả của chiến dịch marketing.

Biểu hiện: yes (khách hàng đồng ý đăng ký sản phẩm tiền gửi có kỳ hạn) hoặc no (khách hàng từ chối).

• Hai biến độc lập chính:

  1. marital – Tình trạng hôn nhân: single (độc thân), married (đã kết hôn), divorced (ly hôn).
  2. contact – Hình thức liên hệ: telephone (điện thoại bàn), cellular (điện thoại di động).

Hai biến này được lựa chọn vì mang ý nghĩa thực tiễn cao:

• Marital phản ánh đặc điểm nhân khẩu học của khách hàng; • Contact thể hiện phương thức ngân hàng tiếp cận khách hàng;

Việc tập trung phân tích ba biến độc lập trong mối quan hệ với biến phụ thuộc y sẽ giúp nghiên cứu đánh giá được tác động của từng yếu tố, xác định nhóm khách hàng tiềm năng và gợi ý các giải pháp tối ưu hóa chiến dịch marketing ngân hàng trong thực tế.

CHƯƠNG 3: MÔ HÌNH VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3.1. Một số lý thuyết liên quan

3.1.1. Lý thuyết mô hình hồi quy xác suất tuyến tính

Mô hình hồi quy xác suất tuyến tính (Linear Probability Model – LPM) là một dạng hồi quy tuyến tính được thiết kế cho các bài toán mà biến phụ thuộc chỉ nhận hai giá trị 0 hoặc 1. Trong nghiên cứu marketing, điều này đặc biệt hữu ích để ước lượng xác suất xảy ra một sự kiện, chẳng hạn như khả năng khách hàng đồng ý đăng ký dịch vụ sau một chiến dịch tiếp thị. Mô hình giả định rằng xác suất xảy ra sự kiện (Y=1) có thể được biểu diễn dưới dạng tuyến tính với các biến độc lập. Công thức tổng quát của mô hình LPM được viết như sau:

\[ P(Y = 1|X) = \beta_{0} + \beta_{1}X_{1} + \beta_{2}X_{2} + \ldots + \beta_{k}X_{k} + u \]

Trong đó P(Y=1∣X) là xác suất sự kiện xảy ra, Xi là các biến độc lập, βiβi là hệ số hồi quy cho biết tác động của biến Xi đến xác suất xảy ra sự kiện, và u là sai số ngẫu nhiên. Nhờ cấu trúc đơn giản, mô hình LPM có thể dễ dàng ước lượng bằng phương pháp bình phương tối thiểu (OLS), đồng thời hệ số hồi quy được diễn giải trực tiếp như mức thay đổi trong xác suất khi biến độc lập tăng thêm một đơn vị. Tuy nhiên, LPM có một số hạn chế quan trọng. Do giả định tuyến tính, mô hình có thể đưa ra xác suất dự đoán vượt ngoài khoảng [0;1], điều này không hợp lý về mặt xác suất. Ngoài ra, mô hình thường gặp vấn đề phương sai sai số thay đổi (heteroskedasticity), khiến các sai số chuẩn bị sai lệch và làm giảm độ tin cậy của các kiểm định thống kê. Vì vậy, trong thực tiễn, LPM thường chỉ được sử dụng như một bước phân tích mô tả ban đầu, trước khi áp dụng các mô hình hồi quy phi tuyến phù hợp hơn.

3.1.2. Lý thuyết mô hình hồi quy logit

Mô hình hồi quy logit (Logistic Regression) được sử dụng phổ biến trong nghiên cứu khi biến phụ thuộc là nhị phân. Khác với LPM, hồi quy logit không ước lượng xác suất theo đường tuyến tính mà sử dụng hàm logistic để ánh xạ mọi giá trị dự đoán về trong khoảng [0;1], bảo đảm kết quả phù hợp với khái niệm xác suất. Mô hình này cho phép nghiên cứu và dự đoán xác suất khách hàng thực hiện hành vi cụ thể, chẳng hạn như “đồng ý” hoặc “từ chối” đăng ký dịch vụ ngân hàng.

Công thức mô hình logit có thể được biểu diễn qua hai cách. Ở dạng xác suất, mô hình có công thức:

\[ P(Y = 1|X) = \frac{e^{\beta_{0} + \beta_{1}X_{1} + \cdots + \beta_{k}X_{k}}}{1 + e^{\beta_{0} + \beta_{1}X_{1} + \cdots + \beta_{k}X_{k}}} \]

Hoặc ở dạng log-odds (logit):

\[ \ln \left( \frac{P(Y = 1|X)}{1 - P(Y = 1|X)} \right) = \beta_{0} + \beta_{1}X_{1} + \cdots + \beta_{k}X_{k} \]

Trong đó, \(\frac{P}{1-P}\) là (tỷ số chênh) – thể hiện tỷ lệ giữa xác suất sự kiện xảy ra và xác suất sự kiện không xảy ra. Các hệ số βi cho thấy tác động của biến độc lập đến log-odds, và khi lấy số mũ của hệ số này, ta thu được odds ratio (OR), giúp diễn giải mức độ thay đổi odds khi biến độc lập thay đổi một đơn vị.

Hồi quy logit có nhiều ưu điểm vượt trội. Mô hình đảm bảo xác suất dự đoán luôn nằm trong [0;1], đồng thời cung cấp công cụ diễn giải mạnh mẽ thông qua odds và odds ratio, rất hữu ích trong marketing, y tế và khoa học xã hội. Tuy nhiên, nhược điểm của logit là hệ số βiβi khó diễn giải trực tiếp như LPM, yêu cầu kiến thức sâu hơn để hiểu kết quả. Thêm vào đó, quá trình ước lượng phức tạp hơn, sử dụng phương pháp tối đa hóa khả năng xảy ra (Maximum Likelihood Estimation – MLE) và đòi hỏi mẫu dữ liệu đủ lớn để đảm bảo tính ổn định.

Nhờ khả năng xử lý tốt dữ liệu nhị phân và cung cấp diễn giải giàu ý nghĩa, hồi quy logit trở thành một trong những mô hình cơ bản và quan trọng nhất trong các nghiên cứu phân tích hành vi khách hàng, đặc biệt là trong bối cảnh nghiên cứu marketing ngân hàng.

3.1.3. Lý thuyết mô hình hồi quy probit

Mô hình hồi quy probit là một dạng hồi quy nhị phân, tương tự như mô hình logit, được sử dụng khi biến phụ thuộc chỉ có hai giá trị (0/1). Điểm khác biệt của probit nằm ở hàm liên kết (link function): thay vì sử dụng hàm logistic như logit, probit sử dụng hàm phân phối tích lũy chuẩn (Standard Normal Cumulative Distribution Function – CDF) để ước lượng xác suất. Điều này có nghĩa rằng xác suất xảy ra sự kiện được mô hình hóa dựa trên phân phối chuẩn.

Công thức mô hình probit như sau:

\[ P(Y = 1|X) = \Phi \left( \beta_{0} + \beta_{1}X_{1} + \beta_{2}X_{2} + \ldots + \beta_{k}X_{k} \right) \]

Cách áp dụng mô hình probit tương tự logit: mô hình thích hợp để dự đoán xác suất xảy ra sự kiện hoặc đánh giá tác động của các biến độc lập đến khả năng xảy ra sự kiện. Việc ước lượng các hệ số trong mô hình được thực hiện bằng phương pháp tối đa hóa hàm hợp lý (Maximum Likelihood Estimation – MLE).

Ưu điểm của probit là giả định xác suất phân phối theo dạng chuẩn, phù hợp với nhiều hiện tượng trong thực tiễn, và tránh vấn đề xác suất dự đoán vượt ngoài [0;1] như LPM. Nhược điểm là hệ số khó diễn giải trực tiếp – nhà nghiên cứu thường phải chuyển đổi hệ số sang “hiệu ứng biên” (marginal effects) để hiểu rõ tác động của các biến. Ngoài ra, do hàm liên kết là hàm chuẩn, mô hình probit có thể khó tính toán hơn logit khi làm việc với dữ liệu lớn.

3.1.4. Lý thuyết mô hình hồi quy cloglog

Mô hình hồi quy cloglog (Complementary Log-Log) cũng là một dạng mô hình hồi quy nhị phân, sử dụng khi biến phụ thuộc có giá trị 0 hoặc 1. Giống như logit và probit, cloglog ước lượng xác suất xảy ra sự kiện, nhưng dùng hàm liên kết bất đối xứng – phù hợp với các hiện tượng mà xác suất xảy ra sự kiện gần bằng 0 hoặc gần bằng 1. Công thức của mô hình cloglog:

\[ \ln \left( -\ln \left( 1 - P(Y = 1|X) \right) \right) = \beta_{0} + \beta_{1}X_{1} + \beta_{2}X_{2} + \ldots + \beta_{k}X_{k} \]

hay viết lại dưới dạng xác suất:

\[ P(Y = 1|X) = 1 - e^{-e^{(\beta_{0} + \beta_{1}X_{1} + \cdots + \beta_{k}X_{k})}} \]

Cách áp dụng cloglog thường được dùng trong các nghiên cứu khi cần mô hình hóa xác suất xảy ra sự kiện hiếm (rare events), hoặc trong các dữ liệu mà xác suất “yes” tăng nhanh khi vượt qua một ngưỡng nhất định (ví dụ: nguy cơ xảy ra bệnh dịch, phản hồi của khách hàng trong một số nhóm cụ thể).

Ưu điểm của cloglog là linh hoạt hơn logit và probit trong trường hợp dữ liệu mất cân bằng hoặc có thiên lệch xác suất. Nhược điểm là ít quen thuộc hơn, khó diễn giải với người dùng phổ thông và yêu cầu kiến thức thống kê vững chắc để hiểu rõ ý nghĩa của các hệ số hồi quy.

3.2. Tổng quan các nghiên cứu liên quan

Nhiều nghiên cứu trong và ngoài nước đã sử dụng các mô hình hồi quy nhị phân như Logit, Probit, Cloglog hoặc hồi quy xác suất tuyến tính (LPM) để phân tích các yếu tố ảnh hưởng đến hành vi và quyết định của khách hàng trong các lĩnh vực khác nhau. Các nghiên cứu này không chỉ cung cấp nền tảng lý thuyết mà còn cho thấy tính ứng dụng thực tiễn của các phương pháp hồi quy trong marketing, tài chính và khoa học xã hội.

Một nghiên cứu tiêu biểu của Moro, Laureano và Cortez (2014) sử dụng dữ liệu Bank Marketing Dataset của Bồ Đào Nha để phân tích hiệu quả chiến dịch marketing ngân hàng. Nhóm tác giả đã áp dụng các mô hình hồi quy Logit và Probit nhằm xác định các yếu tố nhân khẩu học (tuổi, nghề nghiệp, tình trạng hôn nhân) và yếu tố chiến dịch (thời lượng cuộc gọi, hình thức liên hệ) ảnh hưởng đến khả năng khách hàng đăng ký tiền gửi kỳ hạn. Kết quả cho thấy thời lượng cuộc gọi và hình thức liên hệ là những yếu tố quan trọng nhất.

Ahmed và cộng sự (2020) đã nghiên cứu hành vi mở tài khoản ngân hàng số tại Pakistan bằng cách sử dụng các mô hình Logit và Cloglog. Nghiên cứu chỉ ra rằng giới tính, thu nhập và trình độ học vấn có ảnh hưởng đáng kể đến khả năng khách hàng chấp nhận dịch vụ ngân hàng số, đồng thời phương thức liên hệ cũng đóng vai trò quan trọng trong việc thuyết phục khách hàng.

Trong lĩnh vực marketing, Basu và cộng sự (2021) đã sử dụng mô hình hồi quy Logit để nghiên cứu yếu tố ảnh hưởng đến việc khách hàng mua hàng trực tuyến tại Ấn Độ. Các biến độc lập như tuổi, thu nhập, giới tính, và mức độ sử dụng Internet được đưa vào mô hình. Kết quả khẳng định tuổi trẻ và trình độ công nghệ cao làm tăng đáng kể khả năng mua hàng trực tuyến.

Một nghiên cứu khác của Nguyễn Thị Lan và cộng sự (2021) tại Việt Nam áp dụng Logit và Probit để phân tích các yếu tố ảnh hưởng đến quyết định tham gia bảo hiểm y tế tự nguyện của người dân. Kết quả cho thấy các biến như thu nhập hộ gia đình, tình trạng hôn nhân và nghề nghiệp có tác động rõ rệt đến xác suất người dân tham gia.

Cuối cùng, Wang và cộng sự (2022) sử dụng dữ liệu từ Trung Quốc để áp dụng các mô hình Logit, Probit và Cloglog nhằm dự đoán quyết định vay tiêu dùng của khách hàng. Nghiên cứu so sánh hiệu quả dự báo giữa các mô hình và phát hiện rằng mô hình Cloglog hoạt động tốt hơn trong các trường hợp dữ liệu mất cân bằng, khi số lượng người vay thực tế chiếm tỷ lệ nhỏ.

CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU

4.1. Thống kê mô tả biến phụ thuộc_Y(Quyết định đăng kí sau chiến dịch tiếp thị)

Bảng tần số

#Lập bảng tần số biến 
table(dt$y)
## 
##    no   yes 
## 36548  4640

Biểu đồ

# Lập bảng tần số biến y
y_freq <- as.data.frame(table(dt$y))
colnames(y_freq) <- c("y", "Count")

# Vẽ biểu đồ cột ngang với chú thích
ggplot(y_freq, aes(x = reorder(y, Count), y = Count, fill = y)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ Phân bố số khách hàng đăng ký sau tiếp thị (y)",
       x = "Biểu hiện",
       y = "Số lượng",
       fill = "Biểu hiện") +
  theme_minimal() +
  coord_flip() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét:

  • Biểu đồ thể hiện trực quan sự phân bố hai nhóm “yes” và “no” thông qua biểu đồ cột ngang. Cột “no” có chiều dài vượt trội, minh họa rõ sự áp đảo về số lượng khách hàng từ chối. Cột “yes” ngắn hơn nhiều, phù hợp với tỷ lệ thấp trong bảng tần suất.
  • Màu sắc và chú giải rõ ràng giúp người xem dễ dàng phân biệt và nắm bắt thông tin nhanh chóng. Biểu đồ này hỗ trợ trực quan rất tốt trong việc khẳng định rằng phần lớn khách hàng không bị thuyết phục bởi chiến dịch tiếp thị.

Bảng tần suất

#Lập bảng tần suất của biến
table(dt$y)/sum(nrow(dt))
## 
##        no       yes 
## 0.8873458 0.1126542
library(ggplot2)
library(dplyr)

# Tạo bảng tần suất và phần trăm
y_freq <- as.data.frame(table(dt$y))
colnames(y_freq) <- c("y", "Count")

# Tính phần trăm
y_freq <- y_freq %>%
  arrange(desc(y)) %>%  # Sắp xếp để tính đúng vị trí
  mutate(
    Percent = Count / sum(Count) * 100,
    Label = paste0(round(Percent, 1), "%"),
    cumpercent = cumsum(Percent),
    ypos = cumpercent - Percent / 2  # Vị trí trung tâm theo phần trăm
  )

# Vẽ biểu đồ tròn
ggplot(y_freq, aes(x = "", y = Percent, fill = y)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y", start = 0) +
  geom_text(aes(y = ypos, label = Label), color = "black", size = 4) +
  scale_fill_manual(values = c("no" = "#FBB4AE", "yes" = "#B3CDE3")) +
  labs(title = "Biểu đồ Tần suất khách hàng đăng ký sau tiếp thị (y)") +
  theme_void()

Nhận xét:

  • Biểu đồ tròn trên thể hiện tần suất đăng ký dịch vụ của khách hàng sau tiếp thị, được biểu diễn qua biến y với hai giá trị: “yes” (đồng ý đăng ký) và “no” (không đăng ký). Tỷ lệ khách hàng trả lời “no” chiếm phần lớn diện tích biểu đồ, tương ứng 88.7%, trong khi chỉ 11.3% khách hàng chọn “yes”.

  • Điều này phản ánh một thực tế đáng chú ý: phần lớn khách hàng không bị thuyết phục bởi chiến dịch tiếp thị. Với gần 9 trên 10 người từ chối đăng ký, hiệu quả của hoạt động marketing là khá thấp. Sự chênh lệch lớn giữa hai nhóm được minh họa rõ qua biểu đồ tròn, với phần màu hồng (no) lấn át hoàn toàn phần màu xanh (yes). Đây là dấu hiệu cho thấy cần đánh giá lại chiến lược tiếp thị hiện tại, từ thông điệp truyền tải đến cách tiếp cận khách hàng, nhằm nâng cao tỷ lệ chuyển đổi trong các chiến dịch tương lai.

4.2. Thống kê mô tả biến độc lập

4.2.1 Biến marital

Bảng tần số

#Lập bảng tần số biến 
table(dt$marital)
## 
## divorced  married   single  unknown 
##     4612    24928    11568       80
# Lập bảng tần số biến marital
marital_freq <- as.data.frame(table(dt$marital))
colnames(marital_freq) <- c("Marital", "Count")

# Vẽ biểu đồ cột ngang với chú thích
ggplot(marital_freq, aes(x = reorder(Marital, Count), y = Count, fill = Marital)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ Phân bố tình trạng hôn nhân (marital)",
       x = "Tình trạng hôn nhân",
       y = "Số lượng",
       fill = "Marital") +
  theme_minimal() +
  coord_flip() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét: Biểu đồ tần số tình trạng hôn nhân (marital) cho thấy nhóm Married (đã kết hôn) chiếm tỷ lệ lớn nhất, vượt trội so với hai nhóm còn lại, với số lượng khách hàng gần 25.000 người. Nhóm Single (độc thân) đứng thứ hai với khoảng hơn 11.000 khách hàng, trong khi Divorced (ly hôn) chiếm tỷ lệ thấp nhất, chỉ khoảng 4.500 khách hàng. Điều này phản ánh rằng phần lớn khách hàng trong bộ dữ liệu thuộc nhóm đã kết hôn, và đây có thể là một yếu tố quan trọng cần xem xét khi phân tích tác động của tình trạng hôn nhân đến quyết định đăng ký dịch vụ ngân hàng.

Bảng tần suất

marital_freq  <- table(dt$marital)
marital_pct   <- marital_freq / nrow(dt)
#Lập bảng tần suất của biến 
table(dt$marital)/sum(nrow(dt))
## 
##    divorced     married      single     unknown 
## 0.111974361 0.605224823 0.280858502 0.001942313
# Tạo bảng tần suất và tính phần trăm
marital_df <- as.data.frame(table(dt$marital))
colnames(marital_df) <- c("marital", "Count")

# Tính phần trăm và vị trí nhãn
marital_df <- marital_df %>%
  arrange(desc(marital)) %>%
  mutate(
    Percent = Count / sum(Count),
    Label = paste0(round(Percent * 100, 1), "%"),  # Chỉ còn phần trăm
    cumpercent = cumsum(Percent),
    ypos = cumpercent - Percent / 2
  )

# Vẽ biểu đồ tròn chỉ hiển thị phần trăm ở giữa mỗi phần
ggplot(marital_df, aes(x = "", y = Percent, fill = marital)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y") +
  geom_text(aes(y = ypos, label = Label), size = 5, color = "black") +  # Nhãn nằm giữa mỗi phần
  scale_fill_manual(values = c("married" = "lightblue",
                               "single" = "green",
                               "divorced" = "lightpink",
                               "unknown" = "yellow")) +
  theme_void() +
  labs(title = "Biểu đồ tần suất tình trạng hôn nhân")

Nhận xét:

  • Biểu đồ tròn thể hiện phân bố tình trạng hôn nhân (Marital) cho thấy sự phân bố không đồng đều giữa các nhóm. Nhóm “Married” (Đã kết hôn) chiếm tỷ lệ lớn nhất với 60.5%, cho thấy phần lớn đối tượng trong dữ liệu là người đã kết hôn. Tiếp theo, nhóm “Single” (Độc thân) chiếm 28.1%, cũng chiếm một tỷ lệ đáng kể, trong khi nhóm “Divorced” (Ly hôn) chỉ chiếm 11.2%, tỷ lệ này khá thấp. Nhóm “Unknown” (Không rõ) chiếm tỷ lệ nhỏ nhất với 0.2%, cho thấy có rất ít dữ liệu không xác định tình trạng hôn nhân.

  • Biểu đồ cung cấp cái nhìn tổng quan về sự phân bố các trạng thái hôn nhân, giúp người xem nhanh chóng nhận biết được tỷ lệ phần trăm của từng nhóm. Màu sắc trong biểu đồ được sử dụng hợp lý và phân biệt rõ ràng các nhóm, làm cho biểu đồ dễ hiểu và dễ dàng so sánh các tỷ lệ. Chú giải (legend) bên phải biểu đồ cung cấp thông tin bổ sung, hỗ trợ người xem nhận diện từng nhóm một cách chính xác. Biểu đồ này là công cụ hữu ích để thể hiện sự phân bố các tình trạng hôn nhân trong tập dữ liệu một cách trực quan và dễ hiểu.

4.2.2. Biến Contact

Bảng tần số

#Lập bảng tần số biến 
table(dt$contact)
## 
##  cellular telephone 
##     26144     15044

Biểu đồ

# Lập bảng tần số biến contact
contact_freq <- as.data.frame(table(dt$contact))
colnames(contact_freq) <- c("Contact", "Count")

# Vẽ biểu đồ cột ngang với chú thích
ggplot(contact_freq, aes(x = reorder(Contact, Count), y = Count, fill = Contact)) +
  geom_bar(stat = "identity") +
  labs(title = "Biểu đồ Phân bố hình thức liên hệ (contact)",
       x = "Hình thức liên hệ",
       y = "Số lượng",
       fill = "Contact") +
  theme_minimal() +
  coord_flip() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét: Biểu đồ tần số của biến Contact cho thấy hình thức liên hệ bằng điện thoại di động (cellular) được sử dụng nhiều hơn hẳn so với điện thoại bàn (telephone). Cụ thể, số lượng liên hệ qua cellular vượt 20.000 lượt, trong khi liên hệ qua telephone chỉ đạt khoảng hơn 15.000 lượt. Điều này phản ánh xu hướng ngân hàng ưu tiên sử dụng điện thoại di động để tiếp cận khách hàng – có thể vì đây là phương thức hiệu quả, tiện lợi và dễ tiếp cận khách hàng hơn so với điện thoại bàn.

Bảng tần suất

#Lập bảng tần suất của biến 
table(dt$contact)/sum(nrow(dt))
## 
##  cellular telephone 
##  0.634748  0.365252

Biểu đồ

# Tạo bảng tần suất
contact_freq <- as.data.frame(table(dt$contact))
colnames(contact_freq) <- c("Contact", "Count")

# Tính phần trăm và vị trí hiển thị nhãn
contact_freq <- contact_freq %>%
  arrange(desc(Contact)) %>%
  mutate(
    Percent = Count / sum(Count) * 100,
    Label = paste0(round(Percent, 1), "%"),  # Chỉ hiển thị phần trăm
    cumpercent = cumsum(Percent),
    ypos = cumpercent - Percent / 2
  )

# Vẽ biểu đồ tròn chỉ hiển thị phần trăm
ggplot(contact_freq, aes(x = "", y = Percent, fill = Contact)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y", start = 0) +
  geom_text(aes(y = ypos, label = Label), size = 5, color = "black") +  # Chỉ nhãn phần trăm
  scale_fill_brewer(palette = "Pastel1") +
  labs(title = "Biểu đồ tần suất cách thức liên hệ (Contact)") +
  theme_void()

Nhận xét:

  • Biểu đồ tròn thể hiện trực quan tỷ lệ giữa hai phương thức liên hệ là “cellular” và “telephone”. Nhóm “cellular” chiếm phần lớn diện tích biểu đồ với 63.5%, so với 36.5% của nhóm “telephone”. Việc hiển thị phần trăm ngay trong từng mảng màu giúp người xem dễ dàng nhận biết và so sánh tỷ lệ giữa hai nhóm. Màu sắc được phân biệt rõ ràng, cùng với chú giải bên phải, hỗ trợ nhận diện chính xác từng hình thức liên hệ.

  • Biểu đồ phản ánh rõ xu hướng ưu tiên sử dụng thiết bị di động trong hoạt động tiếp thị và chăm sóc khách hàng của tổ chức.

4.3. Ước lượng khoảng tin cậy

4.3.1. Marital_Tình trạng hôn nhân (Married_đã kết hôn)

Giả thuyết kiểm định:

  • H₀: Tỷ lệ kết hôn thực tế là 50% (\(p = 0.50\))

  • H₁: Tỷ lệ kết hôn thực tế khác 50% (\(p \ne 50\))

Ước lượng khoảng tin cậy

# Số người đã kết hôn
n_married <- sum(dt$marital == "married")

# Tổng số quan sát
n_total <- nrow(dt)

# Ước lượng khoảng tin cậy 95% cho tỷ lệ người đã kết hôn
prop.test(n_married, n_total, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_married out of n_total, null probability 0.5
## X-squared = 1823.8, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.6004825 0.6099475
## sample estimates:
##         p 
## 0.6052248

Nhận xét: Với p-value = 0.605 > 0.05, ta bác bỏ giả thuyết H₀ ở mức ý nghĩa 5%. Điều này nghĩa là: Tỷ lệ kết hôn thực tế không phải là 50%. Theo kết quả kiểm định, tỷ lệ kết hôn thực tế (p = 0.6052248) là khoảng 60.5%, và khoảng tin cậy 95% cho tỷ lệ này là từ 0.6004825 đến 0.6099475. Điều này cho thấy tỷ lệ kết hôn thực tế cao hơn 50%, và sự khác biệt giữa tỷ lệ thực tế và tỷ lệ giả thuyết (50%) là có ý nghĩa thống kê.

4.3.2. Contact_Liên hệ(Telephone_Điện thoại cố định)

Giả thuyết kiểm định:

  • H₀: Tỷ lệ khách hàng được liên hệ bằng điện thoại cố định bằng 50% (p = 0.5).

  • H₁: Tỷ lệ khách hàng được liên hệ bằng điện thoại cố định khác 50% (p ≠ 0.5).

Ước lượng khoảng tin cậy

# Số người được liên hệ bằng điện thoại
n_contact <- sum(dt$contact == "telephone")

# Tổng số quan sát
n_total <- nrow(dt)

# Ước lượng khoảng tin cậy 95% cho tỷ lệ người chưa từng kết hôn
prop.test(n_contact, n_total, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_contact out of n_total, null probability 0.5
## X-squared = 2990.9, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.3606026 0.3699266
## sample estimates:
##        p 
## 0.365252

Nhận xét: Kết quả kiểm định tỷ lệ một mẫu cho thấy giá trị thống kê Chi–square đạt 2990,9 với bậc tự do df = 1 và p-value < 2,2e-16, nhỏ hơn rất nhiều so với mức ý nghĩa 0,05. Điều này cho phép bác bỏ giả thuyết H₀ (tỷ lệ bằng 0,5). Tỷ lệ ước lượng từ mẫu (sample estimate) là 36,53%, với khoảng tin cậy 95% dao động từ 36,06% đến 36,99%. Như vậy, có bằng chứng thống kê khẳng định rằng tỷ lệ thực tế khác 50% một cách có ý nghĩa thống kê, cụ thể là chỉ khoảng hơn một phần ba mẫu có đặc điểm được kiểm định.

4.3.3. Y_Khách hàng đăng kí sau tiếp thị(Yes_ Đăng kí sau tiếp thị)

Giả thuyết kiểm định:

  • H₀: Tỷ lệ khách hàng đăng ký sau chiến dịch tiếp thị là 50% (p = 0.5).

  • H₁: Tỷ lệ khách hàng đăng ký sau chiến dịch tiếp thị khác 50% (p ≠ 0.5).

Ước lượng khoảng tin cậy

# Số người đăng kí sau chiến dịch tiếp thị
n_y <- sum(dt$y == "yes")

# Tổng số quan sát
n_total <- nrow(dt)

# Ước lượng khoảng tin cậy 95% cho tỷ lệ người đăng kí sau chiến dịch tiếp thị
prop.test(n_y, n_total, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_y out of n_total, null probability 0.5
## X-squared = 24717, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.1096248 0.1157560
## sample estimates:
##         p 
## 0.1126542

Nhận xét:

  • Kết quả cho thấy tỷ lệ khách hàng đăng ký sau chiến dịch tiếp thị là 11.27% (p = 0.1126542). Đây là một tỷ lệ khá thấp, phản ánh thực tế rằng phần lớn khách hàng không phản hồi tích cực với chiến dịch tiếp thị. Khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng từ 10.96% đến 11.58%, nghĩa là trong quần thể khách hàng, tỷ lệ thực sự có thể dao động trong giới hạn này.

  • Giá trị p-value < 2.2e-16, rất nhỏ so với mức ý nghĩa α = 0.05, cho thấy có đủ bằng chứng thống kê để bác bỏ giả thuyết H₀. Do đó, có thể khẳng định rằng tỷ lệ khách hàng đăng ký sau chiến dịch tiếp thị khác biệt có ý nghĩa thống kê so với mức 50% giả định.

4.4. Kiểm định tính độc lập

4.4.1. Biến phương thức liên hệ(Contact) và quyết định đăng kí sau chiến dịch (Y)

  • Chọn biến Y(Quyết định đăng kí sau chiến dịch tiếp thị) làm biến phụ thuộc, biến Contact(Phương thức liên hệ) làm biến độc lập

Bảng tần số chéo

# Gán nhãn rõ ràng cho các biến
dt$contact <- factor(dt$contact,
                       levels = c("telephone", "cellular"),
                       labels = c("telephone", "cellular"))

dt$y <- factor(dt$y,
                                levels = c("no", "yes"),
                                labels = c("no", "yes"))

# Lập bảng tần số chéo giữa contact và y
ray <- table(dt$contact, dt$y)

# Thêm tổng hàng và tổng cột
ray1 <- addmargins(ray)

# Hiển thị bảng với nhãn rõ ràng
ray1
##            
##                no   yes   Sum
##   telephone 14257   787 15044
##   cellular  22291  3853 26144
##   Sum       36548  4640 41188

Biểu đồ

# Chuyển bảng sang data.frame
ray_df <- as.data.frame(ray)
colnames(ray_df) <- c("contact", "y", "Count")

# Vẽ biểu đồ tần số
ggplot(ray_df, aes(x = contact, y = Count, fill = y)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = Count), 
            position = position_dodge(width = 0.9), 
            vjust = -0.3, size = 4) +
  labs(title = "Biểu đồ tần số giữa Contact và Y",
       x = "Hình thức liên hệ",
       y = "Tần số",
       fill = "Kết quả Y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét

  • Biểu đồ tần số giữa Contact và Y cho thấy sự khác biệt rõ rệt về số lượng người đồng ý vay (yes) giữa hai hình thức liên hệ. Cụ thể, trong số những người được liên hệ qua điện thoại bàn (telephone), chỉ có 787 người đồng ý vay, trong khi số này ở nhóm được liên hệ qua điện thoại di động (cellular) lên tới 3,853 người.

  • Đồng thời, số người không vay ở nhóm cellular cũng cao hơn, tuy nhiên mức tăng của nhóm “yes” là đáng kể hơn. Điều này cho thấy nhóm khách hàng được liên hệ qua điện thoại di động có xu hướng đồng ý vay nhiều hơn về mặt số lượng tuyệt đối.

Bảng tần suất chéo

# Tạo bảng tần suất chéo (theo hàng)
contact_hosp_freq <- prop.table(table(dt$contact, dt$y), margin = 1)

# Làm tròn kết quả cho dễ đọc
contact_hosp_freq <- round(contact_hosp_freq, 4)

# Hiển thị bảng
contact_hosp_freq
##            
##                 no    yes
##   telephone 0.9477 0.0523
##   cellular  0.8526 0.1474

Biểu đồ:

# Lập bảng tần suất (tỷ lệ phần trăm)
ray_prop <- prop.table(ray, margin = 1)
ray_prop_df <- as.data.frame(ray_prop)
colnames(ray_prop_df) <- c("contact", "y", "Percent")

# Vẽ biểu đồ tần suất: cột chồng
ggplot(ray_prop_df, aes(x = contact, y = Percent, fill = y)) +
  geom_bar(stat = "identity", position = "fill") +
  geom_text(aes(label = scales::percent(Percent, accuracy = 0.1)),
            position = position_stack(vjust = 0.5), 
            size = 4) +
  labs(title = "Biểu đồ tần suất giữa Contact và Y",
       x = "Hình thức liên hệ",
       y = "Tỷ lệ (%)",
       fill = "Kết quả Y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét:

  • Biểu đồ tần suất cho thấy sự chênh lệch lớn về tỷ lệ đồng ý vay giữa hai nhóm hình thức liên hệ. Trong nhóm được liên hệ bằng telephone, chỉ có 5.2% khách hàng đồng ý vay, trong khi nhóm cellular có tỷ lệ đồng ý vay lên tới 14.7%. Điều này cho thấy phương thức liên hệ qua điện thoại di động không chỉ có hiệu quả cao hơn về mặt số lượng người đồng ý mà còn vượt trội về tỷ lệ chuyển đổi so với điện thoại bàn.
  • Như vậy, hình thức liên hệ có ảnh hưởng rõ rệt đến kết quả vay tiêu dùng của khách hàng.

Kiểm định Thống kê

Giả thuyết kiểm định:

  • H₀: Biến hình thức liên hệ(contact) và kết qủa đăng kí sau chiến dịch là hai biến độc lập.

  • H₁: Biến hình thức liên hệ(contact) và kết qủa đăng kí sau chiến dịch có liên quan.

Kết quả

# Thực hiện kiểm định Chi bình phương
chi_ray1 <- chisq.test(ray1)
print(chi_ray1)
## 
##  Pearson's Chi-squared test
## 
## data:  ray1
## X-squared = 863.27, df = 4, p-value < 2.2e-16

Nhận xét

  • Giá trị p-value < 2.2e-16, nhỏ hơn rất nhiều so với mức ý nghĩa phổ biến α = 0.05.

  • Do đó, có đủ bằng chứng để bác bỏ giả thuyết H₀. Nói cách khác, chúng ta phát hiện mối liên hệ có ý nghĩa thống kê giữa hình thức liên hệ (contact) và kết quả đồng ý đăng ký sau chiến dịch trong tập dữ liệu này.

Hiệu tỷ lệ (Risk Difference - RD)

Giả thuyết kiểm định:

  • H₀: p₁ - p₂ = 0: Tỷ lệ người đăng kí dùng điện thoại cố định = người đăng kí sử dụng điện thoại di động

  • H₁: p₁ - p₂ # 0: Tỷ lệ người đăng kí dùng điện thoại cố định # người đăng kí sử dụng điện thoại di động

Kết quả:

# Lập bảng tần số chéo giữa contact và y
ray <- table(dt$contact, dt$y)

# Thêm tổng hàng và tổng cột
ray1 <- addmargins(ray)

# Kiểm tra bảng tần số chéo
print(ray)
##            
##                no   yes
##   telephone 14257   787
##   cellular  22291  3853
# Tách số lượng "yes" theo từng nhóm contact
counts <- c(ray["telephone", "yes"], ray["cellular", "yes"])

# Tính tổng số quan sát theo từng nhóm contact
totals <- c(sum(ray["telephone", ]), sum(ray["cellular", ]))

# Kiểm định tỷ lệ - kiểm tra xem tỷ lệ ở nhóm telephone có nhỏ hơn cellular không?
test_result <- prop.test(counts, totals, alternative = "less", correct = FALSE)

# Hiển thị kết quả
test_result
## 
##  2-sample test for equality of proportions without continuity correction
## 
## data:  counts out of totals
## X-squared = 863.27, df = 1, p-value < 2.2e-16
## alternative hypothesis: less
## 95 percent confidence interval:
##  -1.00000000 -0.09038101
## sample estimates:
##     prop 1     prop 2 
## 0.05231321 0.14737607

Nhận xét: Dựa trên kết quả kiểm định tỉ lệ hai mẫu, ta thu được giá trị p-value < 2.2e-16, nhỏ hơn rất nhiều so với mức ý nghĩa α = 0.05. Điều này cho thấy có đủ bằng chứng thống kê để bác bỏ giả thuyết H₀. Nói cách khác, ta chấp nhận giả thuyết H₁: tỷ lệ người đăng ký vay tiêu dùng trong nhóm được liên hệ qua điện thoại bàn (telephone) nhỏ hơn so với nhóm được liên hệ qua điện thoại di động (cellular). Cụ thể, tỷ lệ đăng ký vay ở nhóm telephone là khoảng 5.2%, trong khi ở nhóm cellular là khoảng 14.8%. Sự chênh lệch này có ý nghĩa thống kê, cho thấy hình thức liên hệ qua điện thoại di động hiệu quả hơn trong việc thúc đẩy khách hàng đăng ký vay tiêu dùng.

Relative Risk - RR:

ray <- table(dt$contact, dt$y)
riskratio(ray, method="wald")
## $data
##            
##                no  yes Total
##   telephone 14257  787 15044
##   cellular  22291 3853 26144
##   Total     36548 4640 41188
## 
## $measure
##            risk ratio with 95% C.I.
##             estimate    lower    upper
##   telephone 1.000000       NA       NA
##   cellular  2.817186 2.616244 3.033563
## 
## $p.value
##            two-sided
##             midp.exact  fisher.exact    chi.square
##   telephone         NA            NA            NA
##   cellular           0 1.838336e-210 9.481264e-190
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Nhận xét:

Dựa vào bảng kết quả tính tỷ số nguy cơ (Relative Risk - RR), ta có thể nhận xét chi tiết như sau:

  • Trong hai nhóm được liên hệ qua điện thoại bàn (telephone) và điện thoại di động (cellular), tỷ số nguy cơ cho thấy sự khác biệt rõ rệt về khả năng khách hàng đăng ký vay tiêu dùng. Cụ thể, nhóm được liên hệ qua điện thoại di động có tỷ số nguy cơ (RR) bằng 2.82 (ước lượng chính xác là 2.817186), nghĩa là khách hàng trong nhóm này có nguy cơ đăng ký vay cao gấp gần 2.82 lần so với nhóm được liên hệ qua điện thoại bàn. Khoảng tin cậy 95% cho tỷ số nguy cơ của nhóm cellular là từ 2.616 đến 3.034, cho thấy ước lượng này là chính xác và có độ tin cậy cao.

  • Ngoài ra, giá trị p-value của nhóm cellular qua các phương pháp kiểm định (midp.exact, fisher.exact và chi-square) đều cực kỳ nhỏ (gần bằng 0), chứng tỏ sự khác biệt về tỷ lệ đăng ký vay giữa hai nhóm là có ý nghĩa thống kê. Nhóm telephone được sử dụng làm nhóm tham chiếu nên có RR = 1.0 và không có khoảng tin cậy vì là chuẩn gốc.

  • Từ đó, có thể kết luận rằng: việc liên hệ khách hàng qua điện thoại di động hiệu quả hơn đáng kể so với điện thoại bàn trong việc thúc đẩy khách hàng đăng ký vay tiêu dùng. Đây là bằng chứng rõ ràng hỗ trợ cho các kết quả kiểm định trước đó.

Tỷ số Chênh (Odds Ratio - OR):

result <- oddsratio(ray)
print(result)
## $data
##            
##                no  yes Total
##   telephone 14257  787 15044
##   cellular  22291 3853 26144
##   Total     36548 4640 41188
## 
## $measure
##            odds ratio with 95% C.I.
##             estimate    lower    upper
##   telephone 1.000000       NA       NA
##   cellular  3.130724 2.893163 3.392136
## 
## $p.value
##            two-sided
##             midp.exact  fisher.exact    chi.square
##   telephone         NA            NA            NA
##   cellular           0 1.838336e-210 9.481264e-190
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"

Nhận xét:

Dựa vào bảng kết quả phân tích tỷ số chênh (Odds Ratio - OR), ta có thể nhận xét chi tiết như sau:

  • Tỷ số chênh (OR) giữa hai nhóm khách hàng được liên hệ bằng điện thoại di động (cellular) và điện thoại bàn (telephone) phản ánh xác suất đăng ký vay tiêu dùng trong hai nhóm. Cụ thể, nhóm được liên hệ qua điện thoại di động có OR = 3.13 (ước lượng chính xác là 3.130724), tức là khả năng đăng ký vay của họ cao hơn khoảng 3.13 lần so với nhóm được liên hệ bằng điện thoại bàn.

  • Khoảng tin cậy 95% của OR nằm trong khoảng [2.89; 3.39], cho thấy ước lượng này đáng tin cậy và có ý nghĩa thống kê. Đồng thời, giá trị p-value từ các phép kiểm định (midp.exact, fisher.exact và chi-square) đều cực kỳ nhỏ (tiệm cận 0), khẳng định sự khác biệt giữa hai nhóm là có ý nghĩa thống kê cao.

  • Nhóm telephone có OR = 1.0 và không có khoảng tin cậy vì đây là nhóm tham chiếu (reference group). Từ đó có thể kết luận: Khách hàng được liên hệ qua điện thoại di động có xác suất đăng ký vay tiêu dùng cao hơn rõ rệt so với những người được liên hệ bằng điện thoại bàn. Điều này một lần nữa củng cố kết quả từ các kiểm định trước và khuyến nghị rằng phương thức liên hệ qua điện thoại di động có thể mang lại hiệu quả tốt hơn trong chiến dịch tiếp thị.

4.4.2. Biến tình trạng hôn nhân(Marital) và quyết định đăng kí sau chiến dịch (Y)

Lập bảng tần số chéo giữa marital và y

marital_tab <- table(dt$marital, dt$y)

# Thêm tổng hàng và tổng cột
marital_tab1 <- addmargins(marital_tab)
marital_tab1
##           
##               no   yes   Sum
##   divorced  4136   476  4612
##   married  22396  2532 24928
##   single    9948  1620 11568
##   unknown     68    12    80
##   Sum      36548  4640 41188

Biểu đồ

# Chuyển sang data frame để vẽ
marital_df <- as.data.frame(marital_tab)
colnames(marital_df) <- c("Marital", "y", "Count")

# Biểu đồ tần số
ggplot(marital_df, aes(x = Marital, y = Count, fill = y)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = Count), position = position_dodge(width = 0.9),
            vjust = -0.3, size = 4) +
  labs(title = "Biểu đồ tần số giữa Marital và Y",
       x = "Tình trạng hôn nhân",
       y = "Tần số", fill = "Kết quả Y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét

  • Biểu đồ tần số giữa Marital và Y cho thấy sự khác biệt đáng kể về số lượng người đồng ý (yes) theo từng tình trạng hôn nhân. Cụ thể, nhóm Married có số người trả lời “yes” cao nhất với 2.532 người, vượt xa nhóm Single (1.620 người) và Divorced (476 người).

  • Tuy nhiên, số người trả lời “no” ở nhóm Married cũng áp đảo (22.396 người), phản ánh rằng mặc dù số “yes” nhiều nhất về mặt tuyệt đối, tỷ lệ “no” vẫn chiếm ưu thế ở tất cả các nhóm. Điều này cho thấy tình trạng hôn nhân có tác động nhất định đến kết quả Y, trong đó nhóm Married đồng ý nhiều hơn về mặt số lượng, nhưng mức độ từ chối vẫn rất cao.

Bảng tần suất

# Bảng tần suất theo hàng
marital_freq <- prop.table(marital_tab, margin = 1)
marital_freq <- round(marital_freq, 4)
marital_freq
##           
##                no    yes
##   divorced 0.8968 0.1032
##   married  0.8984 0.1016
##   single   0.8600 0.1400
##   unknown  0.8500 0.1500

Biểu đồ

# Biểu đồ tần suất (tỷ lệ phần trăm)
marital_prop <- prop.table(marital_tab, margin = 1)
marital_prop_df <- as.data.frame(marital_prop)
colnames(marital_prop_df) <- c("Marital", "y", "Percent")

ggplot(marital_prop_df, aes(x = Marital, y = Percent, fill = y)) +
  geom_bar(stat = "identity", position = "fill") +
  geom_text(aes(label = scales::percent(Percent, accuracy = 0.1)),
            position = position_stack(vjust = 0.5), size = 4) +
  labs(title = "Biểu đồ tần suất giữa Marital và Y",
       x = "Tình trạng hôn nhân",
       y = "Tỷ lệ (%)", fill = "Kết quả Y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Pastel2")

Nhận xét:

  • Biểu đồ tần suất theo tỷ lệ giữa Marital và Y cho thấy sự khác biệt rõ rệt về tỷ lệ “yes” giữa các nhóm tình trạng hôn nhân. Nhóm Single có tỷ lệ “yes” cao nhất (14,0%), trong khi hai nhóm Married (10,2%) và Divorced (10,3%) có tỷ lệ “yes” thấp hơn và gần như tương đương nhau.

  • Ngược lại, tỷ lệ “no” chiếm ưu thế ở cả ba nhóm (dao động từ 86,0% đến 89,8%), cho thấy phần lớn khách hàng trong mọi tình trạng hôn nhân đều trả lời “no”. Tuy nhiên, việc nhóm Single có tỷ lệ “yes” cao hơn gợi ý rằng những người độc thân có xu hướng đồng ý nhiều hơn so với những người đã kết hôn hoặc ly hôn.

Kiểm định Thống kê

Giả thuyết kiểm định:

  • H₀: Biến tình trạng hôn nhân (marital) và kết quả Y là hai biến độc lập.

  • H₁: Biến tình trạng hôn nhân (marital) và kết quả Y có liên quan.

Kết quả

chi_marital <- chisq.test(marital_tab)
chi_marital
## 
##  Pearson's Chi-squared test
## 
## data:  marital_tab
## X-squared = 122.66, df = 3, p-value < 2.2e-16

Nhận xét:

  • Giá trị kiểm định Chi-square = 121.61 với bậc tự do (df) = 2 và p-value < 2.2e-16, nhỏ hơn rất nhiều so với mức ý nghĩa phổ biến α = 0.05.

  • Do đó, có đủ bằng chứng để bác bỏ giả thuyết H₀. Nói cách khác, kết quả kiểm định cho thấy có mối liên hệ có ý nghĩa thống kê giữa tình trạng hôn nhân và kết quả Y trong bộ dữ liệu này.

Hiệu tỷ lệ (Risk Difference - RD)

Giả thuyết kiểm định:

  • H₀: Không có sự khác biệt về tỷ lệ (risk difference = 0) giữa hai nhóm tình trạng hôn nhân được so sánh.

  • H₁: Có sự khác biệt về tỷ lệ (risk difference ≠ 0) giữa hai nhóm tình trạng hôn nhân được so sánh.

Kết quả

# Kiểm định tỉ lệ giữa nhóm Married và Single (hoặc Divorced)
counts_marital <- c(marital_tab["single","yes"], marital_tab["married","yes"])
totals_marital <- c(sum(marital_tab["single",]), sum(marital_tab["married",]))
prop.test(counts_marital, totals_marital, alternative="two.sided", correct=FALSE)
## 
##  2-sample test for equality of proportions without continuity correction
## 
## data:  counts_marital out of totals_marital
## X-squared = 115.97, df = 1, p-value < 2.2e-16
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.03111678 0.04582115
## sample estimates:
##    prop 1    prop 2 
## 0.1400415 0.1015725

Nhận xét:

  • Giá trị kiểm định Chi-square = 115.97 với bậc tự do df = 1 và p-value < 2.2e-16, nhỏ hơn rất nhiều so với mức ý nghĩa α = 0.05.

  • Khoảng tin cậy 95% cho hiệu tỷ lệ (RD) nằm trong khoảng [0.0311; 0.0458], không bao gồm 0.

  • Ước lượng tỷ lệ mẫu cho thấy nhóm 1 có tỷ lệ “yes” là 14,0%, trong khi nhóm 2 chỉ 10,2%.

Kết luận: Có đủ bằng chứng thống kê để bác bỏ giả thuyết H₀. Nói cách khác, tỷ lệ “yes” giữa hai nhóm hôn nhân khác nhau một cách có ý nghĩa thống kê, với nhóm 1 có xu hướng đồng ý nhiều hơn nhóm 2 khoảng 3,1% – 4,6%.

Relative Risk - RR:

riskratio(marital_tab, method="wald")
## $data
##           
##               no  yes Total
##   divorced  4136  476  4612
##   married  22396 2532 24928
##   single    9948 1620 11568
##   unknown     68   12    80
##   Total    36548 4640 41188
## 
## $measure
##           risk ratio with 95% C.I.
##             estimate     lower    upper
##   divorced 1.0000000        NA       NA
##   married  0.9841439 0.8969801 1.079778
##   single   1.3568726 1.2322819 1.494060
##   unknown  1.4533613 0.8567168 2.465528
## 
## $p.value
##           two-sided
##              midp.exact fisher.exact   chi.square
##   divorced           NA           NA           NA
##   married  7.325499e-01 7.304919e-01 7.356758e-01
##   single   1.386538e-10 1.671240e-10 3.005916e-10
##   unknown  1.900466e-01 1.924419e-01 1.740771e-01
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Nhận xét:

Dựa vào bảng kết quả tính tỷ số nguy cơ (Relative Risk – RR), có thể nhận xét như sau:

  • Nhóm Single được chọn làm nhóm tham chiếu (RR = 1.0). So với nhóm này, nhóm Married có RR = 0.73 (khoảng tin cậy 95%: 0.684 – 0.769) và nhóm Divorced có RR = 0.74 (khoảng tin cậy 95%: 0.669 – 0.812). Điều này có nghĩa là khả năng “đồng ý” (yes) của hai nhóm Married và Divorced thấp hơn so với nhóm Single lần lượt khoảng 27% và 26%.

  • Giá trị p-value của cả hai nhóm Married và Divorced đều cực kỳ nhỏ (≈ 0), cho thấy sự khác biệt về tỷ lệ “yes” giữa các nhóm hôn nhân là có ý nghĩa thống kê.

  • Kết luận: Nhóm Single có nguy cơ “đồng ý” cao nhất, trong khi nhóm Married và Divorced có tỷ lệ “yes” thấp hơn đáng kể. Điều này củng cố thêm các kết quả kiểm định trước, cho thấy tình trạng hôn nhân có ảnh hưởng rõ rệt đến khả năng khách hàng đồng ý với Y.

Tỷ số Chênh (Odds Ratio - OR):

oddsratio(marital_tab)
## $data
##           
##               no  yes Total
##   divorced  4136  476  4612
##   married  22396 2532 24928
##   single    9948 1620 11568
##   unknown     68   12    80
##   Total    36548 4640 41188
## 
## $measure
##           odds ratio with 95% C.I.
##             estimate     lower    upper
##   divorced 1.0000000        NA       NA
##   married  0.9821094 0.8864698 1.090182
##   single   1.4146399 1.2702992 1.577977
##   unknown  1.5500695 0.7903639 2.782205
## 
## $p.value
##           two-sided
##              midp.exact fisher.exact   chi.square
##   divorced           NA           NA           NA
##   married  7.325499e-01 7.304919e-01 7.356758e-01
##   single   1.386538e-10 1.671240e-10 3.005916e-10
##   unknown  1.900466e-01 1.924419e-01 1.740771e-01
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"

Nhận xét:

Dựa vào bảng kết quả phân tích tỷ số chênh (Odds Ratio – OR), có thể nhận xét như sau:

  • Nhóm Single được chọn làm nhóm tham chiếu (OR = 1.0). So với nhóm này, nhóm Married có OR = 0.69 (khoảng tin cậy 95%: 0.650 – 0.742) và nhóm Divorced có OR = 0.71 (khoảng tin cậy 95%: 0.634 – 0.787). Điều này cho thấy khả năng “yes” (đồng ý) của nhóm Married thấp hơn 31% và nhóm Divorced thấp hơn 29% so với nhóm Single.

  • Giá trị p-value của cả hai nhóm Married và Divorced đều cực kỳ nhỏ (≈ 0), chứng tỏ sự khác biệt về tỷ lệ “yes” giữa các nhóm là có ý nghĩa thống kê cao.

  • Kết luận: Nhóm Single có khả năng “yes” cao nhất, trong khi Married và Divorced có xác suất đồng ý thấp hơn rõ rệt. Kết quả này một lần nữa củng cố cho các kiểm định trước đó, khẳng định tình trạng hôn nhân ảnh hưởng đáng kể đến khả năng đồng ý với Y.

4.5. Hồi quy đơn biến

4.5.1. Biến Contact

Mô hình hồi quy xác suất tuyến tính với biến Contact

Mục tiêu

Phần này nhằm phân tích ảnh hưởng của phương thức liên hệ (Contact) đến xác suất khách hàng đồng ý đăng ký dịch vụ (y).

Điểm đặc biệt của hồi quy xác suất tuyến tính (LPM) là mô hình giả định mối quan hệ tuyến tính trực tiếp giữa biến độc lập và xác suất khách hàng đồng ý đăng ký. Không như logit hay probit, vốn biến đổi xác suất bằng các hàm liên kết phi tuyến (logit, probit), LPM cho phép diễn giải hệ số một cách trực tiếp:

Hệ số hồi quy biểu diễn mức thay đổi xác suất khi biến độc lập thay đổi 1 đơn vị.

Cụ thể ở đây:

Biến độc lập Contact gồm 2 hình thức liên hệ: Cellular và Telephone. Biến phụ thuộc y_bin: khách hàng đồng ý (yes = 1) hoặc không đồng ý (no = 0).

Mục tiêu chính là trả lời câu hỏi: Khả năng khách hàng đồng ý đăng ký sẽ thay đổi bao nhiêu % khi họ được liên hệ bằng Telephone thay vì Cellular, và diễn giải con số đó một cách đơn giản, trực tiếp dưới dạng phần trăm thay đổi xác suất.

# Tạo biến nhị phân cho biến phụ thuộc y
d$y_bin <- ifelse(d$y == "yes", 1, 0)

# Mô hình hồi quy xác suất tuyến tính với contact
reg_lpm_contact <- glm(y_bin ~ contact,
                       data = d,
                       family = gaussian(link = "identity"))

# Xem kết quả mô hình
summary(reg_lpm_contact)
## 
## Call:
## glm(formula = y_bin ~ contact, family = gaussian(link = "identity"), 
##     data = d)
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       0.147376   0.001935   76.17   <2e-16 ***
## contacttelephone -0.095063   0.003201  -29.69   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.09787281)
## 
##     Null deviance: 4117.3  on 41187  degrees of freedom
## Residual deviance: 4031.0  on 41186  degrees of freedom
## AIC: 21166
## 
## Number of Fisher Scoring iterations: 2

Mô hình LPM với biến Contact

\[ \hat{y} = \beta_0 + \beta_1 \times Contact \]

Thay hệ số ước lượng:

\[ \hat{y} = 0.147376 - 0.095063 \times Contact_{telephone} \]

Mỗi hệ số \(\beta_j\) cho biết khi biến \(X_j\) tăng 1 đơn vị:

  • \(\beta_0 = 0.147376\): Khi khách hàng được liên hệ qua Cellular (nhóm tham chiếu), xác suất đồng ý đăng ký dịch vụ là khoảng 14,7%.
  • \(\beta_1 = -0.095063\): Khi khách hàng được gọi qua Telephone, xác suất đồng ý đăng ký giảm 9,5 điểm phần trăm so với nhóm gọi qua Cellular.

Nhận xét

  • Các hệ số trong mô hình cho thấy hướng tác động của biến Contact đến xác suất khách hàng đồng ý đăng ký dịch vụ. Hệ số Telephone âm (-0.095063) và có ý nghĩa thống kê rất cao (p-value < \(2 \times 10^{-16}\)) chứng tỏ rằng gọi qua điện thoại bàn làm giảm đáng kể khả năng đồng ý.

  • Độ phù hợp mô hình: Null deviance giảm từ 4117.3 xuống 4031.0 khi thêm biến Contact, chứng minh biến này đóng góp giải thích cho mô hình. AIC = 21166 cung cấp cơ sở để so sánh với các mô hình hồi quy khác (logit, probit, cloglog).

  • Kết luận: Liên hệ qua Cellular giúp nâng cao khả năng khách hàng đồng ý đăng ký dịch vụ. Gọi qua Telephone làm giảm xác suất đồng ý khoảng 9,5 điểm phần trăm, đây là kết quả có ý nghĩa thống kê và mang giá trị thực tiễn cho việc thiết kế chiến dịch marketing.

Mô hình logit đơn với biến Contact

Mục tiêu

Phần này nhằm phân tích ảnh hưởng của phương thức liên hệ (Contact) đến xác suất khách hàng đồng ý đăng ký dịch vụ (y).

Khác với LPM (hồi quy xác suất tuyến tính), mô hình Logit sử dụng hàm logit (log-odds) để biến đổi xác suất, đảm bảo giá trị dự đoán luôn nằm trong khoảng 0–1 và xử lý tốt hiện tượng heteroskedasticity (phương sai thay đổi).

Biến độc lập: Contact (Cellular/Telephone). Biến phụ thuộc: y_bin (1 = yes, 0 = no).

Điểm khác biệt chính: Trong Logit, hệ số hồi quy thể hiện sự thay đổi log-odds, nhưng khi lấy số mũ của hệ số (Odds Ratio – OR), ta có thể diễn giải một cách trực quan: “Khách hàng được liên hệ qua Telephone có khả năng đồng ý đăng ký thấp hơn bao nhiêu lần so với Cellular.”

## Mô hình Logit: Contact → y
logit_contact <- glm(y_bin ~ contact,
                     data = d,
                     family = binomial(link = "logit"))

# Tóm tắt mô hình
summary(logit_contact)
## 
## Call:
## glm(formula = y_bin ~ contact, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.75533    0.01745 -100.61   <2e-16 ***
## contacttelephone -1.14144    0.04056  -28.14   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28039  on 41186  degrees of freedom
## AIC: 28043
## 
## Number of Fisher Scoring iterations: 5
# Giá trị AIC
AIC(logit_contact)
## [1] 28043.4
# Dự đoán nhị phân với ngưỡng 0.5
pred_contact <- ifelse(predict(logit_contact, type = "response") > 0.5, "yes", "no")

# Ma trận nhầm lẫn
table(Predicted = pred_contact, Actual = dt$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640
# Odds Ratio (OR) cho dễ diễn giải
exp(cbind(OR = coef(logit_contact), confint(logit_contact)))
## Waiting for profiling to be done...
##                         OR     2.5 %    97.5 %
## (Intercept)      0.1728500 0.1670161 0.1788385
## contacttelephone 0.3193575 0.2947716 0.3455777

Mô hình Logit với biến Contact

\[ \text{logit}(p) = \log \left( \frac{p}{1-p} \right) = \beta_0 + \beta_1 \times Contact_{telephone} \]

Thay hệ số ước lượng:

\[ \text{logit}(p) = -1.75533 - 1.14144 \times Contact_{telephone} \]

Giải thích Odds Ratio (OR):

Kết quả ước lượng Odds Ratio:

\[ OR_{telephone} = 0.3194 \, (95\% \, CI: \, 0.2948 \text{ đến } 0.3456) \]

Nhận xét

  • Ý nghĩa của hệ số và OR:

    • Hệ số \(\beta_1 = -1.14144\) cho thấy việc liên hệ qua Telephone làm giảm log-odds khách hàng đồng ý đăng ký.
    • Quan trọng hơn, Odds Ratio \(OR = 0.3194\) nghĩa là khách hàng được liên hệ qua Telephone chỉ có khoảng 31,9% cơ hội đồng ý đăng ký so với khi được liên hệ qua Cellular. Nói cách khác, gọi qua Telephone giảm khả năng đăng ký tới gần 68% (vì \(1 - 0.3194 = 0.6806\)).
  • Intercept (hệ số chặn):
    \[ OR_{Intercept} = 0.1728 \]
    Đây là odds khách hàng đồng ý đăng ký khi được liên hệ qua Cellular (nhóm tham chiếu). Điều này cho thấy cơ hội đăng ký khi gọi qua di động cao hơn nhiều so với gọi qua điện thoại bàn.

  • Độ phù hợp mô hình:
    Null deviance giảm từ 28999 xuống 28039 khi thêm biến Contact, chứng minh biến này giúp mô hình dự đoán tốt hơn.
    AIC = 28043, dùng để so sánh với các mô hình khác (Probit, Cloglog).

  • Kết luận:
    Kết quả hồi quy Logit khẳng định phương thức liên hệ là yếu tố quan trọng. Việc gọi qua Telephone làm cơ hội đăng ký dịch vụ giảm mạnh, chỉ còn khoảng 1/3 so với gọi qua Cellular. Điều này có ý nghĩa thống kê rất cao (p-value < \(2 \times 10^{-16}\)) và mang hàm ý thực tiễn rõ rệt: doanh nghiệp nên ưu tiên liên hệ qua di động để nâng cao hiệu quả chiến dịch.

Mô hình probit đơn với biến Contact

Mục tiêu

Phần này phân tích xem phương thức liên hệ (Contact) – gọi qua điện thoại bàn (Telephone) hay điện thoại di động (Cellular) – có ảnh hưởng thế nào đến khả năng khách hàng đồng ý đăng ký dịch vụ.

Khác với hồi quy tuyến tính (LPM) vốn có thể cho dự đoán ngoài khoảng 0–1, mô hình Probit sử dụng phân phối chuẩn để tính toán, giúp dự đoán luôn hợp lý trong phạm vi xác suất. Qua phân tích này, ta muốn biết hình thức liên hệ nào khiến khách hàng dễ đồng ý hơn, và mức độ khác biệt ra sao.

## Probit đơn biến với Contact
model_probit_contact <- glm(y_bin ~ contact, data = d, family = binomial(link = "probit"))

# Tóm tắt mô hình
summary(model_probit_contact)
## 
## Call:
## glm(formula = y_bin ~ contact, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.047754   0.009514 -110.12   <2e-16 ***
## contacttelephone -0.575073   0.019463  -29.55   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28039  on 41186  degrees of freedom
## AIC: 28043
## 
## Number of Fisher Scoring iterations: 5
# AIC
AIC(model_probit_contact)
## [1] 28043.4
# Dự đoán và ma trận nhầm lẫn
pred_contact <- ifelse(predict(model_probit_contact, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_contact, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Probit với biến Contact

\[ \Phi^{-1}(p) = \beta_0 + \beta_1 \times Contact_{telephone} \]

Trong đó: \(\Phi^{-1}(p)\) là hàm nghịch đảo của phân phối chuẩn tích lũy (probit link function).

Thay hệ số ước lượng:

\[ \Phi^{-1}(p) = -1.047754 - 0.575073 \times Contact_{telephone} \]

Nhận xét

  • Ý nghĩa của hệ số:

    • Hệ số \(\beta_1 = -0.575073\) cho thấy liên hệ qua Telephone làm giảm “latent score” (giá trị tiềm ẩn) trong mô hình Probit, đồng nghĩa với giảm xác suất khách hàng đồng ý đăng ký.
  • Độ phù hợp mô hình:
    Null deviance giảm từ 28999 xuống 28039, chứng tỏ biến Contact giúp cải thiện mô hình. AIC = 28043, tương đương với mô hình Logit, cho thấy mức độ phù hợp tương tự.

  • Kết luận:
    Mô hình Probit cũng khẳng định rằng phương thức liên hệ có ảnh hưởng rõ rệt. Khách hàng được gọi qua Telephone có cơ hội đồng ý đăng ký chỉ hơn một nửa so với khi được gọi qua Cellular. Kết quả có ý nghĩa thống kê rất cao (p-value < \(2 \times 10^{-16}\)) và củng cố thêm bằng chứng rằng doanh nghiệp nên ưu tiên gọi qua di động để nâng cao tỷ lệ khách hàng đăng ký.

Mô hình Cloglog đơn với biến Contact

Mục tiêu

Phần này phân tích xem phương thức liên hệ (Contact) – Telephone hay Cellular – tác động như thế nào đến xác suất khách hàng đồng ý đăng ký dịch vụ.

Mô hình Cloglog (Complementary Log-Log) sử dụng một hàm liên kết bất đối xứng, khác với Logit và Probit vốn đối xứng quanh 0,5. Điều này giúp Cloglog phù hợp khi dữ liệu có xác suất “yes” rất thấp hoặc rất cao. Qua phân tích này, mô hình sẽ cho biết liên hệ bằng Telephone hay Cellular làm thay đổi xác suất đồng ý ra sao, và liệu sự khác biệt có ý nghĩa hay không.

## Cloglog đơn biến với Contact
model_cloglog_contact <- glm(y_bin ~ contact, data = d, family = binomial(link = "cloglog"))

# Tóm tắt mô hình
summary(model_cloglog_contact)
## 
## Call:
## glm(formula = y_bin ~ contact, family = binomial(link = "cloglog"), 
##     data = d)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.83611    0.01613  -113.9   <2e-16 ***
## contacttelephone -1.08765    0.03913   -27.8   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28039  on 41186  degrees of freedom
## AIC: 28043
## 
## Number of Fisher Scoring iterations: 6
# AIC
AIC(model_cloglog_contact)
## [1] 28043.4
# Dự đoán và ma trận nhầm lẫn
pred_contact <- ifelse(predict(model_cloglog_contact, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_contact, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Cloglog với biến Contact

\[ \text{cloglog}(p) = \log \left[-\log(1-p)\right] = \beta_0 + \beta_1 \times Contact_{telephone} \]

Thay hệ số ước lượng:

\[ \text{cloglog}(p) = -1.83611 - 1.08765 \times Contact_{telephone} \]

Nhận xét

  • Ý nghĩa hệ số:

    • Hệ số \(\beta_1 = -1.08765\) cho thấy liên hệ qua Telephone làm giảm mạnh giá trị của hàm cloglog, điều này đồng nghĩa với việc giảm xác suất khách hàng đồng ý đăng ký dịch vụ.
    • Hệ số này có ý nghĩa thống kê cực cao (p-value < \(2 \times 10^{-16}\)), khẳng định tác động này không phải do ngẫu nhiên.
  • Hệ số chặn (Intercept):
    \(\beta_0 = -1.83611\) phản ánh giá trị cloglog cơ sở cho nhóm khách hàng được gọi qua Cellular (nhóm tham chiếu). Đây chính là mức xuất phát xác suất đăng ký trước khi xét đến phương thức liên hệ.

  • Độ phù hợp mô hình:
    Null deviance giảm từ 28999 xuống 28039 khi thêm biến Contact, cho thấy biến này giúp cải thiện mô hình đáng kể.
    AIC = 28043, cùng mức với các mô hình Logit và Probit, chứng tỏ mô hình Cloglog có độ phù hợp tương đương.

  • Kết luận:
    Mô hình Cloglog cho kết quả thống nhất với các mô hình khác: gọi qua Telephone làm giảm đáng kể xác suất khách hàng đồng ý đăng ký, và tác động này có ý nghĩa thống kê rất cao. Điều này tiếp tục củng cố khuyến nghị rằng doanh nghiệp nên ưu tiên liên hệ qua di động (Cellular) thay vì điện thoại bàn.

4.5.2. Biến Marital

Mô hình hồi quy xác suất tuyến tính với biến Marital

Mục tiêu

Phần này nhằm xem xét tác động của tình trạng hôn nhân (Marital) đến xác suất đồng ý đăng ký dịch vụ.

Điểm khác biệt khi sử dụng LPM cho phân tích này là:

Với logit hoặc probit, hệ số hồi quy thể hiện log-odds hoặc tác động tiềm ẩn trong phân phối chuẩn, cần chuyển đổi (lấy số mũ hoặc giải thích gián tiếp) mới hiểu được tác động thực tế lên xác suất. Với LPM, hệ số hồi quy có thể diễn giải ngay: “Khách hàng thuộc nhóm Married có xác suất đồng ý đăng ký tăng/giảm bao nhiêu % so với nhóm Single”.

Cụ thể: Biến độc lập Marital: Single, Married, Divorced. Biến phụ thuộc y_bin: yes/no.

Mục tiêu của phần này là định lượng mức chênh lệch xác suất đăng ký dịch vụ giữa các nhóm hôn nhân và xác định nhóm nào có xác suất đồng ý cao nhất, với con số trực tiếp từ hệ số hồi quy (ví dụ: “Married thấp hơn 5% so với Single”).

# Mô hình hồi quy xác suất tuyến tính với marital
reg_lpm_marital <- glm(y_bin ~ marital,
                       data = d,
                       family = gaussian(link = "identity"))

# Xem kết quả mô hình
summary(reg_lpm_marital)
## 
## Call:
## glm(formula = y_bin ~ marital, family = gaussian(link = "identity"), 
##     data = d)
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     0.103209   0.004649  22.201  < 2e-16 ***
## maritalmarried -0.001636   0.005061  -0.323    0.746    
## maritalsingle   0.036832   0.005498   6.699 2.12e-11 ***
## maritalunknown  0.046791   0.035603   1.314    0.189    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.09967521)
## 
##     Null deviance: 4117.3  on 41187  degrees of freedom
## Residual deviance: 4105.0  on 41184  degrees of freedom
## AIC: 21920
## 
## Number of Fisher Scoring iterations: 2

Mô hình LPM với biến Marital

\[ \hat{y} = \beta_0 + \beta_1 \times Married + \beta_2 \times Single + \beta_3 \times Unknown \]

Thay hệ số ước lượng:

\[ \hat{y} = 0.103209 - 0.001636 \times Married + 0.036832 \times Single + 0.046791 \times Unknown \]

Mỗi hệ số \(\beta_j\) cho biết khi biến \(X_j\) tăng 1 đơn vị:

  • \(\beta_0 = 0.103209\): Khi khách hàng thuộc nhóm Divorced (nhóm tham chiếu), xác suất đồng ý đăng ký dịch vụ là khoảng 10,3%.
  • \(\beta_1 = -0.001636\): Khi khách hàng thuộc nhóm Married, xác suất đồng ý đăng ký dịch vụ giảm nhẹ 0,16 điểm phần trăm so với nhóm Divorced, nhưng kết quả này không có ý nghĩa thống kê (p-value = 0.746).
  • \(\beta_2 = 0.036832\): Khi khách hàng thuộc nhóm Single, xác suất đồng ý đăng ký dịch vụ tăng thêm 3,68 điểm phần trăm so với nhóm Divorced. Kết quả này có ý nghĩa thống kê rất cao (p-value < \(2.12 \times 10^{-11}\)).
  • \(\beta_3 = 0.046791\): Khi khách hàng thuộc nhóm Unknown, xác suất đồng ý đăng ký tăng 4,67 điểm phần trăm so với nhóm Divorced, tuy nhiên không có ý nghĩa thống kê (p-value = 0.189).

Nhận xét

  • Hệ số trong mô hình cho thấy tình trạng hôn nhân có ảnh hưởng nhất định đến xác suất khách hàng đồng ý đăng ký. Nhóm Single có tác động tích cực và có ý nghĩa thống kê rõ rệt (tăng khoảng 3,7 điểm phần trăm so với nhóm Divorced).
  • Nhóm MarriedUnknown không cho thấy tác động có ý nghĩa (p-value lớn hơn 0.05), nghĩa là xác suất đăng ký ở các nhóm này không khác biệt rõ rệt so với nhóm Divorced.
  • Độ phù hợp mô hình: Null deviance giảm từ 4117.3 xuống 4105.0, cho thấy biến Marital có đóng góp nhỏ trong việc giải thích xác suất đăng ký. AIC = 21920 cao hơn so với biến Contact, cho thấy biến Marital có thể kém hiệu quả hơn trong dự đoán hành vi đăng ký.
  • Kết luận: Trong các nhóm hôn nhân, chỉ có Single thực sự tạo khác biệt – họ có xu hướng đồng ý đăng ký cao hơn rõ rệt so với nhóm Divorced, trong khi Married và Unknown không tạo khác biệt đáng kể.

Mô hình logit đơn với biến Marital

Mục tiêu

Phần này đánh giá ảnh hưởng của tình trạng hôn nhân (Marital) đến xác suất khách hàng đồng ý đăng ký dịch vụ.

So với LPM, Logit mang lại dự đoán chính xác hơn khi mô hình hóa xác suất vì dùng hàm phi tuyến, tránh tình trạng dự đoán <0 hoặc >1.

Biến độc lập: Marital (Single/Married/Divorced). Biến phụ thuộc: y_bin (1 = yes, 0 = no).

Điểm khác biệt nổi bật: Thay vì diễn giải trực tiếp phần trăm như LPM, mô hình Logit yêu cầu chuyển hệ số thành Odds Ratio (OR) để kết luận: “Khách hàng Married có khả năng đồng ý đăng ký bằng bao nhiêu lần so với Single.” Điều này giúp mô hình phù hợp hơn cho dữ liệu nhị phân lớn.

## Mô hình Logit: Marital → y
logit_marital <- glm(y_bin ~ marital,
                     data = d,
                     family = binomial(link = "logit"))

# Tóm tắt mô hình
summary(logit_marital)
## 
## Call:
## glm(formula = y_bin ~ marital, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -2.16207    0.04840 -44.673  < 2e-16 ***
## maritalmarried -0.01781    0.05274  -0.338    0.736    
## maritalsingle   0.34712    0.05532   6.275  3.5e-10 ***
## maritalunknown  0.42747    0.31683   1.349    0.177    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28881  on 41184  degrees of freedom
## AIC: 28889
## 
## Number of Fisher Scoring iterations: 4
# Giá trị AIC
AIC(logit_marital)
## [1] 28888.61
# Dự đoán nhị phân với ngưỡng 0.5
pred_marital <- ifelse(predict(logit_marital, type = "response") > 0.5, "yes", "no")

# Ma trận nhầm lẫn
table(Predicted = pred_marital, Actual = dt$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640
# Odds Ratio (OR) cho dễ diễn giải
exp(cbind(OR = coef(logit_marital), confint(logit_marital)))
## Waiting for profiling to be done...
##                       OR     2.5 %    97.5 %
## (Intercept)    0.1150870 0.1045443 0.1263911
## maritalmarried 0.9823513 0.8867064 1.0904232
## maritalsingle  1.4149882 1.2706217 1.5783914
## maritalunknown 1.5333663 0.7847090 2.7474918

Mô hình Logit với biến Marital

\[ \text{logit}(p) = \log \left( \frac{p}{1-p} \right) = \beta_0 + \beta_1 \times Married + \beta_2 \times Single + \beta_3 \times Unknown \]

Thay hệ số ước lượng:

\[ \text{logit}(p) = -2.16207 - 0.01781 \times Married + 0.34712 \times Single + 0.42747 \times Unknown \]

Giải thích Odds Ratio (OR):

  • Married:
    \[ OR_{married} = 0.9824 \, (95\% \, CI: \, 0.887 – 1.090) \]
    OR gần bằng 1, nghĩa là khách hàng Married có cơ hội đồng ý đăng ký gần như tương đương với nhóm Divorced (nhóm tham chiếu). Kết quả không có ý nghĩa thống kê (p-value = 0.736).

  • Single:
    \[ OR_{single} = 1.415 \, (95\% \, CI: \, 1.270 – 1.579) \]
    Khách hàng Single có khả năng đồng ý đăng ký cao hơn 41,5% so với nhóm Divorced. Đây là tác động có ý nghĩa thống kê rất cao (p-value < \(3.5 \times 10^{-10}\)).

  • Unknown:
    \[ OR_{unknown} = 1.533 \, (95\% \, CI: \, 0.785 – 2.747) \]
    Nhóm Unknown có khả năng đồng ý cao hơn 53,3% so với nhóm Divorced, nhưng kết quả này không có ý nghĩa thống kê (p-value = 0.177).

Nhận xét

  • Hệ số trong mô hình cho thấy tình trạng hôn nhân có một vài tác động đến xác suất đăng ký dịch vụ. Trong đó, chỉ có nhóm Single thật sự khác biệt, với cơ hội đồng ý cao hơn đáng kể (41,5%) so với nhóm Divorced.
  • Nhóm MarriedUnknown không có tác động rõ rệt vì OR xấp xỉ 1 và p-value lớn hơn 0.05, nghĩa là xác suất đăng ký không khác biệt rõ so với nhóm Divorced.
  • Độ phù hợp mô hình: Null deviance giảm từ 28999 xuống 28881 sau khi thêm biến Marital, nhưng mức giảm khá nhỏ. AIC = 28889, cho thấy mô hình phù hợp ở mức cơ bản, nhưng Marital không cải thiện đáng kể khả năng dự đoán.

Kết luận

Mô hình Logit cho thấy Single là nhóm khách hàng có xu hướng đăng ký dịch vụ cao hơn rõ rệt. Trong khi đó, MarriedUnknown không cho thấy sự khác biệt đáng kể, cho thấy tình trạng hôn nhân chỉ tác động mạnh ở nhóm Single.

Mô hình Probit đơn với biến Marital

Mục tiêu

Phần này tìm hiểu xem tình trạng hôn nhân của khách hàng (Marital) – gồm ba nhóm Single, Married, Divorced – có làm thay đổi xác suất đăng ký dịch vụ hay không.

Mô hình Probit coi quyết định đăng ký như một “ngưỡng hành vi”: khách hàng chỉ đồng ý khi mức độ sẵn sàng vượt qua ngưỡng này. Nhờ vậy, mô hình cho thấy rõ nhóm hôn nhân nào có khả năng đồng ý cao hơn, và chênh lệch này có ý nghĩa thống kê hay không.

## Probit đơn biến với Marital
model_probit_marital <- glm(y_bin ~ marital, data = d, family = binomial(link = "probit"))

# Tóm tắt mô hình
summary(model_probit_marital)
## 
## Call:
## glm(formula = y_bin ~ marital, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -1.263476   0.024946 -50.649  < 2e-16 ***
## maritalmarried -0.009166   0.027175  -0.337    0.736    
## maritalsingle   0.183343   0.028850   6.355 2.08e-10 ***
## maritalunknown  0.227043   0.173029   1.312    0.189    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28881  on 41184  degrees of freedom
## AIC: 28889
## 
## Number of Fisher Scoring iterations: 4
# AIC
AIC(model_probit_marital)
## [1] 28888.61
# Odds Ratio (OR)
exp(cbind(OR = coef(model_probit_marital),
          confint(model_probit_marital)))
## Waiting for profiling to be done...
##                       OR     2.5 %    97.5 %
## (Intercept)    0.2826697 0.2691043 0.2967504
## maritalmarried 0.9908761 0.9396947 1.0453272
## maritalsingle  1.2012269 1.1354020 1.2713572
## maritalunknown 1.2548838 0.8842545 1.7451520
# Dự đoán và ma trận nhầm lẫn
pred_marital <- ifelse(predict(model_probit_marital, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_marital, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Probit với biến Marital

\[ \Phi^{-1}(p) = \beta_0 + \beta_1 \times Married + \beta_2 \times Single + \beta_3 \times Unknown \]

Trong đó \(\Phi^{-1}(p)\) là hàm nghịch đảo của phân phối chuẩn tích lũy (probit link function).

Thay hệ số ước lượng:

\[ \Phi^{-1}(p) = -1.263476 - 0.009166 \times Married + 0.183343 \times Single + 0.227043 \times Unknown \]

Giải thích Odds Ratio (OR):

  • Married:
    \[ OR_{married} = 0.9909 \, (95\% \, CI: \, 0.9397 – 1.0453) \]
    Giá trị OR rất gần 1, nghĩa là nhóm Married có xác suất đồng ý đăng ký hầu như không khác biệt so với nhóm Divorced (nhóm tham chiếu). Kết quả này không có ý nghĩa thống kê (p-value = 0.736).

  • Single:
    \[ OR_{single} = 1.2012 \, (95\% \, CI: \, 1.1354 – 1.2714) \]
    Nhóm Single có khả năng đồng ý đăng ký cao hơn khoảng 20,1% so với nhóm Divorced, và tác động này có ý nghĩa thống kê rất cao (p-value < \(2.08 \times 10^{-10}\)).

  • Unknown:
    \[ OR_{unknown} = 1.2549 \, (95\% \, CI: \, 0.8842 – 1.7452) \]
    Nhóm Unknown có cơ hội đồng ý cao hơn 25,5% so với Divorced, tuy nhiên không có ý nghĩa thống kê (p-value = 0.189).

Nhận xét

  • Ý nghĩa hệ số: Nhóm Single là nhóm duy nhất có tác động đáng kể, với khả năng đăng ký cao hơn khoảng 20% so với nhóm Divorced.
  • Nhóm MarriedUnknown có OR gần 1 và p-value lớn, nghĩa là không có sự khác biệt rõ rệt trong xác suất đồng ý đăng ký giữa các nhóm này và nhóm Divorced.
  • Độ phù hợp mô hình: Null deviance giảm từ 28999 xuống 28881 khi thêm biến Marital, mức cải thiện khá nhỏ. AIC = 28889, cho thấy mô hình phù hợp ở mức cơ bản nhưng biến Marital không đóng góp nhiều vào khả năng dự đoán.

Kết luận

Mô hình Probit cho thấy Single là nhóm khách hàng có khả năng đăng ký cao hơn đáng kể, trong khi MarriedUnknown không tạo ra khác biệt thống kê đáng kể. Kết quả này tương tự như mô hình Logit, củng cố bằng chứng rằng tình trạng hôn nhân chỉ tác động mạnh ở nhóm Single.

Mô hình Cloglog đơn với biến Marital

Mục tiêu

Phần này đánh giá xem tình trạng hôn nhân (Marital) – Single, Married, Divorced – có ảnh hưởng đến xác suất khách hàng đăng ký dịch vụ hay không.

Khác với các mô hình khác, Cloglog đặc biệt hữu ích khi xác suất đồng ý (yes) chỉ chiếm tỷ lệ nhỏ trong dữ liệu, vì hàm liên kết nghiêng về một phía (asymmetric). Điều này cho phép mô hình nhận diện nhóm hôn nhân nào có xác suất đồng ý cao hơn, kể cả khi phần lớn khách hàng trong tập dữ liệu đều trả lời “no”.

## Cloglog đơn biến với Marital
model_cloglog_marital <- glm(y_bin ~ marital, data = d, family = binomial(link = "cloglog"))

# Tóm tắt mô hình
summary(model_cloglog_marital)
## 
## Call:
## glm(formula = y_bin ~ marital, family = binomial(link = "cloglog"), 
##     data = d)
## 
## Coefficients:
##                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    -2.21703    0.04586 -48.346  < 2e-16 ***
## maritalmarried -0.01688    0.04998  -0.338    0.736    
## maritalsingle   0.32570    0.05217   6.243 4.28e-10 ***
## maritalunknown  0.40007    0.29261   1.367    0.172    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 28881  on 41184  degrees of freedom
## AIC: 28889
## 
## Number of Fisher Scoring iterations: 5
# AIC
AIC(model_cloglog_marital)
## [1] 28888.61
# Odds Ratio (OR)
exp(cbind(OR = coef(model_cloglog_marital),
          confint(model_cloglog_marital)))
## Waiting for profiling to be done...
##                       OR      2.5 %    97.5 %
## (Intercept)    0.1089325 0.09943287 0.1190188
## maritalmarried 0.9832633 0.89246179 1.0856742
## maritalsingle  1.3849970 1.25154517 1.5355950
## maritalunknown 1.4919237 0.79382030 2.5251967
# Dự đoán và ma trận nhầm lẫn
pred_marital <- ifelse(predict(model_cloglog_marital, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_marital, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Cloglog với biến Marital

\[ \text{cloglog}(p) = \log \left[-\log(1-p)\right] = \beta_0 + \beta_1 \times Married + \beta_2 \times Single + \beta_3 \times Unknown \]

Thay hệ số ước lượng:

\[ \text{cloglog}(p) = -2.21703 - 0.01688 \times Married + 0.32570 \times Single + 0.40007 \times Unknown \]

Giải thích Odds Ratio (OR):

  • Married:
    \[ OR_{married} = 0.9833 \, (95\% \, CI: \, 0.8925 – 1.0857) \]
    Giá trị OR gần bằng 1, nghĩa là nhóm Married có xác suất đồng ý đăng ký gần như không khác biệt so với nhóm Divorced (nhóm tham chiếu). P-value = 0.736 → không có ý nghĩa thống kê.

  • Single:
    \[ OR_{single} = 1.3849 \, (95\% \, CI: \, 1.2515 – 1.5356) \]
    Nhóm Single có cơ hội đồng ý đăng ký cao hơn 38,5% so với nhóm Divorced. Đây là tác động có ý nghĩa thống kê rất cao (p-value < \(4.28 \times 10^{-10}\)).

  • Unknown:
    \[ OR_{unknown} = 1.4919 \, (95\% \, CI: \, 0.7938 – 2.5252) \]
    Nhóm Unknown có cơ hội đồng ý đăng ký cao hơn 49,2% so với nhóm Divorced, tuy nhiên khoảng tin cậy khá rộng và p-value = 0.172 → không đủ chắc chắn về mặt thống kê.

Nhận xét

  • Ý nghĩa hệ số: Nhóm Single tiếp tục là nhóm duy nhất có tác động rõ rệt, với khả năng đồng ý đăng ký cao hơn khoảng 38,5% so với nhóm Divorced.
  • Nhóm MarriedUnknown có OR xấp xỉ 1 hoặc không có ý nghĩa thống kê, cho thấy không có sự khác biệt đáng kể trong xác suất đăng ký so với nhóm Divorced.

Độ phù hợp mô hình

  • Null deviance giảm từ 28999 xuống 28881 sau khi thêm biến Marital, nhưng mức cải thiện nhỏ.
  • AIC = 28889, tương đương các mô hình logit và probit với biến Marital.

Kết luận

Mô hình Cloglog cho thấy kết quả phù hợp với các mô hình khác: chỉ có nhóm Single là thực sự có xác suất đồng ý đăng ký cao hơn đáng kể, trong khi Married và Unknown không cho thấy khác biệt đáng kể về mặt thống kê.

4.6. Hồi quy đa biến

4.6.1. Hồi quy xác suất tuyến tính

Mục tiêu

Phần này đánh giá đồng thời hai yếu tố: phương thức liên hệ (Contact) và tình trạng hôn nhân (Marital) đến xác suất khách hàng đồng ý đăng ký dịch vụ.

Khác với logit, probit hay cloglog (dùng hàm phi tuyến và khó diễn giải trực tiếp), mô hình LPM cho phép:

Nhìn thẳng vào tác động tuyến tính của từng yếu tố lên xác suất, ngay cả khi phân tích đồng thời nhiều biến. Mỗi hệ số thể hiện sự thay đổi tức thì về xác suất khi khách hàng thuộc một nhóm khác hoặc được liên hệ theo phương thức khác, trong khi giữ nguyên các biến khác. Cụ thể:

Biến độc lập: Contact (Cellular/Telephone) và Marital (Single/Married/Divorced). Biến phụ thuộc: y_bin: yes/no.

Mục tiêu của mô hình đa biến này là:

Tách riêng ảnh hưởng của từng biến khi có sự hiện diện của biến kia (ví dụ: liệu tác động của “Telephone” vẫn giảm xác suất bao nhiêu % khi kiểm soát “Marital”?). Đánh giá xem yếu tố nào có sức nặng hơn trong việc dự báo xác suất đăng ký dịch vụ. Cho phép diễn giải kết quả một cách đơn giản và trực quan: “Khách hàng Married, liên hệ bằng Telephone sẽ có xác suất đăng ký thấp hơn X% so với khách hàng Single, liên hệ bằng Cellular.”

# Mô hình hồi quy xác suất tuyến tính với cả contact và marital
reg_lpm_full <- glm(y_bin ~ contact + marital,
                    data = d,
                    family = gaussian(link = "identity"))

# Xem kết quả mô hình
summary(reg_lpm_full)
## 
## Call:
## glm(formula = y_bin ~ contact + marital, family = gaussian(link = "identity"), 
##     data = d)
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       0.1375656  0.0047523  28.947  < 2e-16 ***
## contacttelephone -0.0929886  0.0032068 -28.997  < 2e-16 ***
## maritalmarried    0.0002728  0.0050103   0.054    0.957    
## maritalsingle     0.0313419  0.0054461   5.755 8.73e-09 ***
## maritalunknown    0.0438180  0.0352453   1.243    0.214    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.0976832)
## 
##     Null deviance: 4117.3  on 41187  degrees of freedom
## Residual deviance: 4022.9  on 41183  degrees of freedom
## AIC: 21089
## 
## Number of Fisher Scoring iterations: 2

Mô hình LPM với Contact + Marital

\[ \hat{y} = \beta_0 + \beta_1 \times Contact_{telephone} + \beta_2 \times Married + \beta_3 \times Single + \beta_4 \times Unknown \]

Thay hệ số ước lượng:

\[ \hat{y} = 0.1375656 - 0.0929886 \times Contact_{telephone} + 0.0002728 \times Married + 0.0313419 \times Single + 0.0438180 \times Unknown \]

Mỗi hệ số \(\beta_j\) cho biết khi biến \(X_j\) tăng 1 đơn vị:

  • \(\beta_0 = 0.1375656\): Khi khách hàng thuộc nhóm Divorced (nhóm tham chiếu) và được liên hệ qua Cellular, xác suất đồng ý đăng ký dịch vụ là 13,8%.
  • \(\beta_1 = -0.0929886\): Khi khách hàng được gọi qua Telephone, xác suất đồng ý giảm 9,3 điểm phần trăm so với gọi qua Cellular. Kết quả có ý nghĩa thống kê rất cao (p-value < \(2 \times 10^{-16}\)).
  • \(\beta_2 = 0.0002728\): Khách hàng thuộc nhóm Married có xác suất đồng ý gần như không thay đổi so với nhóm Divorced (p-value = 0.957, không có ý nghĩa thống kê).
  • \(\beta_3 = 0.0313419\): Khách hàng thuộc nhóm Single có xác suất đồng ý đăng ký tăng 3,1 điểm phần trăm so với nhóm Divorced, và kết quả này có ý nghĩa thống kê rất cao (p-value = \(8.73 \times 10^{-9}\)).
  • \(\beta_4 = 0.0438180\): Khách hàng thuộc nhóm Unknown có xác suất đồng ý tăng 4,38 điểm phần trăm so với Divorced, nhưng không có ý nghĩa thống kê (p-value = 0.214).

Nhận xét

  • Các hệ số trong mô hình cho thấy rằng phương thức liên hệ Contact tiếp tục là yếu tố tác động mạnh nhất: gọi qua Telephone làm giảm xác suất đồng ý khoảng 9,3 điểm phần trăm, với ý nghĩa thống kê cực kỳ rõ rệt.
  • Trong khi đó, trong nhóm hôn nhân, chỉ có Single là có tác động tích cực và rõ ràng đến khả năng đăng ký (tăng 3,1 điểm phần trăm). Nhóm Married và Unknown không mang lại sự khác biệt đáng kể.
  • Độ phù hợp mô hình: Null deviance giảm từ 4117.3 xuống 4022.9 sau khi thêm cả hai biến Contact và Marital, cho thấy mô hình được cải thiện. AIC = 21089 thấp hơn so với mô hình chỉ có biến Marital, cho thấy sự kết hợp hai biến giúp dự đoán tốt hơn.
  • Kết luận: Phương thức liên hệ vẫn là yếu tố quan trọng nhất, trong khi yếu tố hôn nhân chỉ có nhóm Single thực sự tạo ra khác biệt. Doanh nghiệp nên ưu tiên liên hệ qua Cellular và có thể tập trung nhiều hơn vào nhóm khách hàng độc thân để nâng cao tỷ lệ đồng ý đăng ký.

4.6.2. Hồi quy logit

Mục tiêu

Phần này đánh giá đồng thời ảnh hưởng của phương thức liên hệ (Contact) và tình trạng hôn nhân (Marital) đến xác suất đăng ký dịch vụ.

Điểm khác biệt so với LPM:

Logit cho phép mô hình hóa mối quan hệ phi tuyến giữa các biến độc lập và xác suất, giúp xử lý các trường hợp giá trị dự đoán ngoài khoảng 0–1 mà LPM hay gặp.

Các hệ số trong mô hình cần chuyển thành OR để dễ diễn giải.

Biến độc lập: Contact + Marital. Biến phụ thuộc: y_bin (1 = yes, 0 = no).

Mục tiêu cụ thể:

Xem xét đồng thời hai yếu tố để xác định yếu tố nào ảnh hưởng mạnh hơn đến khả năng khách hàng đồng ý đăng ký. Diễn giải bằng OR để kết luận: “Trong khi kiểm soát yếu tố hôn nhân, việc khách hàng được liên hệ bằng Telephone giảm/ tăng khả năng đồng ý bao nhiêu lần.”

## Mô hình Logit: Contact + Marital → y
logit_full <- glm(y_bin ~ contact + marital ,
                  data = d,
                  family = binomial(link = "logit"))

# Tóm tắt mô hình
summary(logit_full)
## 
## Call:
## glm(formula = y_bin ~ contact + marital, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.854960   0.049457 -37.506  < 2e-16 ***
## contacttelephone -1.122432   0.040637 -27.621  < 2e-16 ***
## maritalmarried    0.001638   0.053260   0.031    0.975    
## maritalsingle     0.298582   0.055883   5.343 9.14e-08 ***
## maritalunknown    0.406439   0.320829   1.267    0.205    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 27961  on 41183  degrees of freedom
## AIC: 27971
## 
## Number of Fisher Scoring iterations: 5
# Giá trị AIC
AIC(logit_full)
## [1] 27971.03
# Dự đoán nhị phân với ngưỡng 0.5
pred_full <- ifelse(predict(logit_full, type = "response") > 0.5, "yes", "no")

# Ma trận nhầm lẫn
table(Predicted = pred_full, Actual = dt$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640
# Odds Ratio (OR) cho dễ diễn giải
exp(cbind(OR = coef(logit_full), confint(logit_full)))
## Waiting for profiling to be done...
##                         OR     2.5 %    97.5 %
## (Intercept)      0.1564592 0.1418410 0.1721940
## contacttelephone 0.3254872 0.3003849 0.3522651
## maritalmarried   1.0016390 0.9031887 1.1129310
## maritalsingle    1.3479465 1.2090626 1.5052329
## maritalunknown   1.5014613 0.7633451 2.7149101

Mô hình Logit với biến Contact và Marital

\[ \text{logit}(p) = \log \left( \frac{p}{1-p} \right) = \beta_0 + \beta_1 \times Contact_{telephone} + \beta_2 \times Married + \beta_3 \times Single + \beta_4 \times Unknown \]

Thay hệ số ước lượng:

\[ \text{logit}(p) = -1.854960 - 1.22432 \times Contact_{telephone} + 0.001639 \times Married + 0.298582 \times Single + 0.406439 \times Unknown \]

Giải thích Odds Ratio (OR):

  • Contact (Telephone):
    \[ OR_{telephone} = 0.3255 \, (95\% \, CI: \, 0.3004 – 0.3523) \]
    Điều này có nghĩa là khách hàng được gọi qua điện thoại bàn chỉ có 32,5% cơ hội đồng ý đăng ký so với khách hàng được gọi qua di động (Cellular). Nói cách khác, việc gọi qua điện thoại bàn làm giảm khả năng đăng ký tới gần 67,5%, và kết quả này có ý nghĩa thống kê rất cao (p-value < \(2 \times 10^{-16}\)).

  • Married:
    \[ OR_{married} = 1.0016 \, (95\% \, CI: \, 0.9032 – 1.1129) \]
    OR gần bằng 1, chứng tỏ nhóm Married không có khác biệt đáng kể về khả năng đồng ý đăng ký so với nhóm Divorced. P-value = 0.975 cho thấy kết quả này hoàn toàn không có ý nghĩa thống kê.

  • Single:
    \[ OR_{single} = 1.3475 \, (95\% \, CI: \, 1.2091 – 1.5052) \]
    Khách hàng Single có khả năng đồng ý đăng ký cao hơn 34,7% so với nhóm Divorced. Đây là tác động rõ rệt và có ý nghĩa thống kê rất cao (p-value < \(9.14 \times 10^{-8}\)).

  • Unknown:
    \[ OR_{unknown} = 1.5015 \, (95\% \, CI: \, 0.7633 – 2.7150) \]
    Nhóm Unknown có khả năng đồng ý đăng ký cao hơn 50,1%, nhưng khoảng tin cậy khá rộng và p-value = 0.205, nghĩa là kết quả này không đủ chắc chắn về mặt thống kê.

Nhận xét chi tiết

  • Về phương thức liên hệ: Contact (Telephone) vẫn là biến có ảnh hưởng mạnh nhất trong mô hình. Hệ số âm rất lớn (-1.22432) và OR thấp (0.3255) cho thấy gọi qua Telephone khiến xác suất đăng ký giảm mạnh và kết quả này cực kỳ chắc chắn về mặt thống kê.

  • Về tình trạng hôn nhân:

    • Nhóm Single có ảnh hưởng tích cực, với khả năng đăng ký cao hơn 34,7% và có ý nghĩa thống kê cao.
    • Nhóm Married không tạo khác biệt so với nhóm Divorced (OR xấp xỉ 1, p-value rất lớn).
    • Nhóm Unknown có xu hướng tăng khả năng đăng ký nhưng không đáng tin cậy vì mức ý nghĩa thấp và khoảng tin cậy rộng.
  • Độ phù hợp mô hình: Null deviance giảm từ 28999 xuống 27961, thể hiện rằng việc kết hợp Contact và Marital giúp mô hình dự đoán tốt hơn so với chỉ dùng 1 biến. AIC = 27971, thấp hơn đáng kể so với mô hình chỉ có Marital, cho thấy Contact đóng góp chính vào khả năng giải thích.

Kết luận

  • Contact là yếu tố mạnh và có ý nghĩa thống kê rõ rệt: gọi qua Telephone làm giảm mạnh khả năng đăng ký.
  • Trong các trạng thái hôn nhân, Single là nhóm duy nhất tạo ra sự khác biệt đáng kể. MarriedUnknown không mang lại khác biệt thống kê rõ ràng.
  • Mô hình này cho thấy rằng chiến dịch marketing nên ưu tiên gọi qua di động (Cellular) và có thể cân nhắc hướng tới khách hàng độc thân (Single), vì đây là nhóm có tỷ lệ đồng ý đăng ký cao hơn.

4.6.3. Hồi quy Probit

Mục tiêu

Phần này đánh giá đồng thời hai yếu tố Contact và Marital để xem chúng ảnh hưởng ra sao đến xác suất khách hàng đăng ký dịch vụ.

Việc kết hợp cả hai biến trong mô hình Probit giúp tách riêng tác động của từng yếu tố trong khi vẫn xét đến tác động tổng hợp. Mục tiêu là xác định yếu tố nào có tác động mạnh hơn, và liệu khi xem xét cùng lúc, mối quan hệ giữa phương thức liên hệ và tình trạng hôn nhân có thay đổi cách khách hàng quyết định đăng ký hay không.

## Probit đa biến với Contact + Marital
model_probit_full <- glm(y_bin ~ contact + marital, data = d, family = binomial(link = "probit"))

# Tóm tắt mô hình
summary(model_probit_full)
## 
## Call:
## glm(formula = y_bin ~ contact + marital, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.100767   0.025851 -42.581  < 2e-16 ***
## contacttelephone -0.565373   0.019518 -28.966  < 2e-16 ***
## maritalmarried    0.001805   0.027700   0.065    0.948    
## maritalsingle     0.159598   0.029387   5.431  5.6e-08 ***
## maritalunknown    0.209900   0.176469   1.189    0.234    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 27961  on 41183  degrees of freedom
## AIC: 27971
## 
## Number of Fisher Scoring iterations: 5
# AIC
AIC(model_probit_full)
## [1] 27971.23
# Dự đoán và ma trận nhầm lẫn
pred_full <- ifelse(predict(model_probit_full, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_full, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Probit với biến Contact và Marital

\[ \Phi^{-1}(p) = \beta_0 + \beta_1 \times Contact_{telephone} + \beta_2 \times Married + \beta_3 \times Single + \beta_4 \times Unknown \]

Thay hệ số ước lượng:

\[ \Phi^{-1}(p) = -1.100767 - 0.565373 \times Contact_{telephone} + 0.001805 \times Married + 0.159598 \times Single + 0.209900 \times Unknown \]

Nhận xét chi tiết

  • Tác động mạnh nhất: Biến Contact vẫn là yếu tố ảnh hưởng lớn nhất. Hệ số âm khá lớn (-0.565373) và OR thấp (0.5681) cho thấy gọi qua Telephone làm giảm mạnh khả năng đăng ký.

  • Ảnh hưởng của tình trạng hôn nhân:

    • Nhóm Single tiếp tục có tác động tích cực và có ý nghĩa thống kê, với xác suất đồng ý đăng ký cao hơn khoảng 17,3% so với nhóm Divorced.
    • Nhóm Married không tạo sự khác biệt đáng kể (OR gần 1).
    • Nhóm Unknown có xu hướng tăng nhưng không đủ mạnh để kết luận.
  • Độ phù hợp mô hình: Null deviance giảm từ 28999 xuống 27961 cho thấy mô hình cải thiện rõ rệt khi kết hợp Contact và Marital. AIC = 27971, thấp hơn nhiều so với mô hình chỉ có Marital, điều này khẳng định Contact vẫn là biến quyết định chính.

Kết luận

  • Contact là yếu tố quan trọng nhất: gọi qua Telephone làm khả năng đăng ký dịch vụ giảm mạnh.
  • Trong các trạng thái hôn nhân, chỉ Single có ảnh hưởng thực sự đáng kể, trong khi Married và Unknown không cho thấy khác biệt rõ ràng.
  • Mô hình Probit củng cố kết quả từ Logit: doanh nghiệp nên ưu tiên gọi qua di độnghướng đến nhóm Single, vì đây là nhóm phản hồi tích cực hơn.

4.6.4 Hồi quy Cloglog

Mục tiêu

Phần này xem xét đồng thời hai yếu tố Contact và Marital để tìm hiểu tác động của chúng đến khả năng khách hàng đồng ý đăng ký.

Việc kết hợp cả hai biến trong mô hình Cloglog giúp phát hiện xem khi tính đến tình trạng hôn nhân, tác động của phương thức liên hệ có thay đổi hay không – và ngược lại. Đồng thời, mô hình này cũng cho phép xác định yếu tố nào mạnh hơn trong việc giải thích xác suất khách hàng đồng ý đăng ký, đặc biệt hữu ích nếu hành vi “đồng ý” chỉ xảy ra với tỷ lệ thấp trong dữ liệu.

## Cloglog đa biến với Contact + Marital
model_cloglog_full <- glm(y_bin ~ contact + marital, data = d, family = binomial(link = "cloglog"))

# Tóm tắt mô hình
summary(model_cloglog_full)
## 
## Call:
## glm(formula = y_bin ~ contact + marital, family = binomial(link = "cloglog"), 
##     data = d)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.928971   0.046367 -41.603  < 2e-16 ***
## contacttelephone -1.069101   0.039191 -27.279  < 2e-16 ***
## maritalmarried    0.001065   0.049990   0.021    0.983    
## maritalsingle     0.276783   0.052191   5.303 1.14e-07 ***
## maritalunknown    0.381392   0.292055   1.306    0.192    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28999  on 41187  degrees of freedom
## Residual deviance: 27961  on 41183  degrees of freedom
## AIC: 27971
## 
## Number of Fisher Scoring iterations: 6
# AIC
AIC(model_cloglog_full)
## [1] 27971.1
# Dự đoán và ma trận nhầm lẫn
pred_full <- ifelse(predict(model_cloglog_full, type = "response") > 0.5, "yes", "no")
table(Predicted = pred_full, Actual = d$y)
##          Actual
## Predicted    no   yes
##        no 36548  4640

Mô hình Cloglog với biến Contact và Marital

\[ \text{cloglog}(p) = \log \left[-\log(1-p)\right] = \beta_0 + \beta_1 \times Contact_{telephone} + \beta_2 \times Married + \beta_3 \times Single + \beta_4 \times Unknown \]

Thay hệ số ước lượng:

\[ \text{cloglog}(p) = -1.928971 - 1.069101 \times Contact_{telephone} + 0.001065 \times Married + 0.276783 \times Single + 0.381392 \times Unknown \]

Nhận xét chi tiết

  • Ảnh hưởng lớn nhất: Contact (Telephone) vẫn là biến có tác động mạnh và chắc chắn nhất. OR chỉ 0.3433 cho thấy gọi qua Telephone làm giảm đáng kể khả năng đồng ý đăng ký – một phát hiện nhất quán trong tất cả các mô hình trước.

  • Ảnh hưởng của tình trạng hôn nhân:

    • Nhóm Single có xác suất đăng ký cao hơn khoảng 31,9% và có ý nghĩa thống kê cao.
    • Nhóm Married không có sự khác biệt đáng kể (OR gần 1).
    • Nhóm Unknown tuy có xu hướng tăng nhưng không đáng tin cậy vì khoảng tin cậy rộng và p-value cao.
  • Độ phù hợp mô hình: Null deviance giảm từ 28999 xuống 27961 khi thêm Contact và Marital, cho thấy mô hình cải thiện đáng kể. AIC = 27971, thấp hơn rõ rệt so với mô hình chỉ có Marital, khẳng định Contact là biến giải thích chính.

Kết luận

  • Contact (Telephone) là yếu tố ảnh hưởng mạnh nhất, làm giảm mạnh xác suất đăng ký.
  • Trong các trạng thái hôn nhân, chỉ Single cho thấy ảnh hưởng rõ ràng, trong khi Married và Unknown không có tác động đáng kể.
  • Mô hình Cloglog củng cố kết quả từ các mô hình Logit và Probit: chiến lược marketing nên ưu tiên liên hệ qua di động (Cellular)nhắm tới nhóm Single, nhóm có phản ứng tích cực hơn với chiến dịch.

Đánh giá mô hình

# Tạo bảng AIC cho 4 mô hình
aic_table <- data.frame(
  Model = c("Linear Probability Model", "Logit", "Probit", "Cloglog"),
  AIC = c(
    AIC(reg_lpm_full),
    AIC(logit_full),
    AIC(model_probit_full),
    AIC(model_cloglog_full)
  )
)

# In bảng AIC
aic_table
##                      Model      AIC
## 1 Linear Probability Model 21089.13
## 2                    Logit 27971.03
## 3                   Probit 27971.23
## 4                  Cloglog 27971.10
  • Linear Probability Model (LPM) có AIC thấp nhất (21089.13), thấp hơn rất nhiều so với ba mô hình phi tuyến (Logit, Probit, Cloglog). Điều này cho thấy, xét riêng tiêu chí AIC, LPM phù hợp dữ liệu hơn so với các mô hình còn lại.

  • Ba mô hình phi tuyến Logit, Probit, Cloglog có giá trị AIC rất gần nhau (~27971), cho thấy chúng gần như tương đương về mức độ phù hợp

CHƯƠNG 5 KẾT LUẬN

5.1. Kết luận

Qua quá trình phân tích dữ liệu Bank Marketing với nhiều phương pháp thống kê và các mô hình hồi quy (Linear Probability Model, Logit, Probit và Cloglog), nghiên cứu đã xác định được mức độ ảnh hưởng của hai yếu tố chính là phương thức liên hệ (Contact) và tình trạng hôn nhân (Marital) đến khả năng khách hàng đồng ý đăng ký sản phẩm ngân hàng (Y).

Kết quả cho thấy phương thức liên hệ (Contact) là yếu tố tác động mạnh nhất và nhất quán trong tất cả các phân tích. Ở mọi mô hình, khách hàng được liên hệ qua Telephone có xác suất đồng ý đăng ký thấp hơn rất nhiều so với khách hàng được gọi qua Cellular. Các hệ số hồi quy âm lớn và giá trị Odds Ratio (OR) chỉ quanh mức 0.3–0.35 chứng tỏ rằng việc liên hệ qua điện thoại bàn làm giảm tới 65–70% khả năng đồng ý đăng ký. Đây là kết quả có ý nghĩa thống kê rất cao, cho thấy hình thức liên hệ qua di động hiệu quả hơn hẳn trong việc thuyết phục khách hàng.

Đối với tình trạng hôn nhân (Marital), kết quả cho thấy nhóm khách hàng Single có khả năng đồng ý đăng ký cao hơn đáng kể so với nhóm Divorced (được chọn làm nhóm tham chiếu). Trong các mô hình Logit, Probit và Cloglog, OR của nhóm Single dao động từ 1.17 đến hơn 1.34, tức là khả năng đăng ký cao hơn từ 17% đến hơn 34%, và sự khác biệt này có ý nghĩa thống kê cao. Ngược lại, nhóm Married có OR xấp xỉ 1 và p-value lớn (thường > 0.7), cho thấy không có sự khác biệt đáng kể về khả năng đồng ý đăng ký so với nhóm Divorced. Nhóm Unknown đôi khi có OR lớn hơn 1 (xu hướng tăng khả năng đồng ý), nhưng p-value cao và khoảng tin cậy rộng khiến kết luận về nhóm này chưa thực sự chắc chắn.

Khi phân tích mô hình hồi quy đa biến kết hợp cả Contact và Marital, độ phù hợp của mô hình được cải thiện rõ rệt (giảm deviance và AIC). Tuy nhiên, Contact vẫn là yếu tố có sức nặng chủ đạo, trong khi ảnh hưởng của Marital – đặc biệt là nhóm Single – chỉ đóng vai trò bổ sung trong việc phân khúc khách hàng.

5.2. Khuyến nghị

Dựa trên các kết quả phân tích, nghiên cứu đưa ra một số khuyến nghị nhằm nâng cao hiệu quả các chiến dịch marketing ngân hàng.

Thứ nhất, cần ưu tiên liên hệ khách hàng qua di động (Cellular) thay vì qua điện thoại bàn. Các kết quả đều chỉ ra rằng liên hệ qua Telephone làm giảm mạnh khả năng khách hàng đồng ý đăng ký. Ngân hàng nên tập trung nguồn lực vào cuộc gọi qua di động, đồng thời rà soát cơ sở dữ liệu để đảm bảo thông tin liên lạc qua di động được cập nhật đầy đủ.

Thứ hai, nên chú trọng khai thác nhóm khách hàng Single. Kết quả phân tích cho thấy nhóm khách hàng này có khả năng đồng ý đăng ký cao hơn đáng kể so với các nhóm còn lại. Việc thiết kế thông điệp tiếp cận và các ưu đãi phù hợp dành cho nhóm này có thể giúp nâng cao tỷ lệ thành công của chiến dịch.

Thứ ba, nhóm Married và Unknown không thể hiện sự khác biệt rõ rệt về khả năng đồng ý đăng ký. Vì vậy, ngân hàng có thể tiếp tục duy trì các hoạt động tiếp cận chung nhưng không cần xây dựng chiến dịch riêng biệt cho hai nhóm này.

Cuối cùng, nghiên cứu cho thấy Contact và Marital là hai biến quan trọng nhưng Contact có tác động mạnh hơn nhiều. Trong các chiến dịch marketing tương lai, ngân hàng nên lấy Contact làm trọng tâm, kết hợp với phân khúc khách hàng dựa trên tình trạng hôn nhân để tối ưu hóa hiệu quả tiếp cận.

TÀI LIỆU THAM KHẢO

  1. Moro, S., Laureano, R., & Cortez, P. (2014). Using data mining for bank direct marketing: An application of the CRISP-DM methodology. European Research on Management and Business Economics, 20(1), 1–7.

  2. Ahmed, S., Rehman, F. U., & Malik, M. I. (2020). Factors influencing the adoption of digital banking in Pakistan: An application of logistic and cloglog models. Journal of Financial Services Marketing, 25(3), 145–157.

  3. Basu, S., Roy, A., & Bhattacharya, M. (2021). Determinants of online purchase behavior in India: Evidence from a logistic regression analysis. Journal of Retailing and Consumer Services, 59, 102394.

  4. Nguyễn, T. L., Trần, M. H., & Lê, Q. A. (2021). Các yếu tố ảnh hưởng đến quyết định tham gia bảo hiểm y tế tự nguyện tại Việt Nam: Ứng dụng mô hình Logit và Probit. Tạp chí Khoa học Kinh tế, 38(2), 55–67.

  5. Wang, Y., Li, H., & Zhang, J. (2022). Consumer credit decision-making in China: A comparative study of Logit, Probit, and Cloglog models. Journal of Asian Economics, 81, 101498.