LỜI CẢM ƠN

Em xin chân thành cảm ơn Thầy ThS. Trần Mạnh Tường – giảng viên phụ trách học phần Phân tích dữ liệu định tính – đã tận tình giảng dạy, định hướng và hỗ trợ em trong suốt quá trình học tập cũng như thực hiện bài tiểu luận này. Nhờ sự hướng dẫn tận tâm và những kiến thức chuyên môn sâu sắc từ Thầy, em đã có cơ hội tiếp cận, hiểu rõ hơn về phương pháp nghiên cứu định tính cũng như vận dụng vào thực tiễn phân tích dữ liệu. Dù bài làm vẫn còn nhiều thiếu sót, nhưng em xin chân thành cảm ơn Thầy đã tạo điều kiện và truyền cảm hứng học tập cho em trong suốt học kỳ vừa qua.

LỜI CAM ĐOAN

Em xin cam đoan bài tiểu luận này là kết quả của quá trình học tập và nghiên cứu nghiêm túc của bản thân, dưới sự hướng dẫn của ThS. Trần Mạnh Tường. Các thông tin, dữ liệu và tài liệu tham khảo được sử dụng trong bài đều được trích dẫn rõ ràng và trung thực. Em hoàn toàn chịu trách nhiệm về tính trung thực và nội dung của bài làm. Em cam kết không sao chép, không vi phạm quy định về đạo văn, và bài tiểu luận này chưa từng được nộp ở bất kỳ học phần nào khác.

PHẦN 1: TỔNG QUAN NGHIÊN CỨU

1.1. Giới thiệu bộ dữ liệu Telco Customer Churn

Bộ dữ liệu Telco Customer Churn là một tập dữ liệu thực tế được cung cấp bởi IBM, chứa thông tin chi tiết về các khách hàng của một công ty viễn thông tại Mỹ. Mục đích chính của bộ dữ liệu là giúp phân tích và dự đoán hành vi rời bỏ dịch vụ của khách hàng, từ đó hỗ trợ doanh nghiệp đưa ra các chiến lược giữ chân khách hàng hiệu quả hơn.

Bộ dữ liệu bao gồm 7043 quan sát, mỗi quan sát đại diện cho một khách hàng, và 21 biến mô tả các đặc điểm liên quan đến thông tin cá nhân, dịch vụ đã đăng ký, hành vi tiêu dùng, hình thức thanh toán và tình trạng sử dụng dịch vụ.

d <- read.csv("D:/PTDLDT CT2/WA_Fn-UseC_-Telco-Customer-Churn.csv")
str(d)
## 'data.frame':    7043 obs. of  21 variables:
##  $ customerID      : chr  "7590-VHVEG" "5575-GNVDE" "3668-QPYBK" "7795-CFOCW" ...
##  $ gender          : chr  "Female" "Male" "Male" "Male" ...
##  $ SeniorCitizen   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Partner         : chr  "Yes" "No" "No" "No" ...
##  $ Dependents      : chr  "No" "No" "No" "No" ...
##  $ tenure          : int  1 34 2 45 2 8 22 10 28 62 ...
##  $ PhoneService    : chr  "No" "Yes" "Yes" "No" ...
##  $ MultipleLines   : chr  "No phone service" "No" "No" "No phone service" ...
##  $ InternetService : chr  "DSL" "DSL" "DSL" "DSL" ...
##  $ OnlineSecurity  : chr  "No" "Yes" "Yes" "Yes" ...
##  $ OnlineBackup    : chr  "Yes" "No" "Yes" "No" ...
##  $ DeviceProtection: chr  "No" "Yes" "No" "Yes" ...
##  $ TechSupport     : chr  "No" "No" "No" "Yes" ...
##  $ StreamingTV     : chr  "No" "No" "No" "No" ...
##  $ StreamingMovies : chr  "No" "No" "No" "No" ...
##  $ Contract        : chr  "Month-to-month" "One year" "Month-to-month" "One year" ...
##  $ PaperlessBilling: chr  "Yes" "No" "Yes" "No" ...
##  $ PaymentMethod   : chr  "Electronic check" "Mailed check" "Mailed check" "Bank transfer (automatic)" ...
##  $ MonthlyCharges  : num  29.9 57 53.9 42.3 70.7 ...
##  $ TotalCharges    : num  29.9 1889.5 108.2 1840.8 151.7 ...
##  $ Churn           : chr  "No" "No" "Yes" "No" ...

1.2. Tổng quan các biến trong dữ liệu

  • Tổng số biến: 21

    • Biến định tính (categorical): 16 biến
Tên biến Mô tả biến
gender Giới tính của khách hàng (Male hoặc Female)
Partner Khách hàng có sống với bạn đời hay không (Yes hoặc No)
Dependents Khách hàng có người phụ thuộc (con cái, cha mẹ…) hay không (Yes hoặc No)
PhoneService Có sử dụng dịch vụ điện thoại không (Yes hoặc No)
MultipleLines Có sử dụng nhiều đường dây điện thoại hay không (Yes, No, No phone service)
InternetService Loại dịch vụ internet sử dụng (DSL, Fiber optic, hoặc No)
OnlineSecurity Có sử dụng dịch vụ bảo mật trực tuyến hay không
OnlineBackup Có sử dụng dịch vụ sao lưu trực tuyến hay không
DeviceProtection Có sử dụng bảo vệ thiết bị hay không
TechSupport Có hỗ trợ kỹ thuật hay không
StreamingTV Có sử dụng dịch vụ truyền hình trực tuyến không
StreamingMovies Có sử dụng dịch vụ xem phim trực tuyến không
Contract Loại hợp đồng khách hàng đang sử dụng (theo tháng, 1 năm, 2 năm)
PaperlessBilling Có sử dụng hóa đơn điện tử hay không (Yes hoặc No)
PaymentMethod Phương thức thanh toán (Electronic check, Mailed check, Credit card,…)
Churn Khách hàng có rời bỏ dịch vụ trong tháng vừa qua hay không (Yes hoặc No)
  • Biến định lượng (numerical): 4 biến
Tên biến Mô tả biến
tenure Số tháng khách hàng đã sử dụng dịch vụ
MonthlyCharges Số tiền khách hàng phải trả hàng tháng
TotalCharges Tổng số tiền khách hàng đã trả từ trước đến nay
SeniorCitizen Người cao tuổi hay không (0 = Không, 1 = Có)
  • Biến định danh (ID): 1 biến
Tên biến Mô tả biến
customerID Mã định danh duy nhất của từng khách hàng

1.3. Bối cảnh nghiên cứu

Trong bối cảnh thị trường viễn thông đang bước vào giai đoạn bão hòa, việc giữ chân khách hàng trở thành một thách thức chiến lược đối với các doanh nghiệp. Chi phí để thu hút một khách hàng mới thường cao hơn nhiều lần so với chi phí duy trì một khách hàng hiện tại, khiến cho hiện tượng khách hàng rời bỏ dịch vụ (customer churn) trở thành một chỉ số then chốt cần theo dõi và phân tích. Đặc biệt, trong môi trường cạnh tranh gay gắt, khách hàng có xu hướng chuyển đổi nhà cung cấp nếu họ không hài lòng với chất lượng dịch vụ, chính sách chăm sóc, hoặc phương thức thanh toán không thuận tiện.

Bộ dữ liệu Telco Customer Churn, được cung cấp bởi IBM, là một tập dữ liệu giả lập nhưng phản ánh sát thực tế các yếu tố có thể ảnh hưởng đến quyết định rời bỏ dịch vụ của khách hàng trong ngành viễn thông. Mỗi dòng dữ liệu đại diện cho một khách hàng, bao gồm thông tin về đặc điểm nhân khẩu học (như độ tuổi, tình trạng hôn nhân, người phụ thuộc), loại hình dịch vụ sử dụng (dịch vụ internet, hỗ trợ kỹ thuật, truyền hình,…), hình thức thanh toán (tự động, hóa đơn điện tử,…), loại hợp đồng (tháng-tháng, 1 năm, 2 năm), chi phí (phí hàng tháng, tổng chi tiêu), và đặc biệt là cột Churn thể hiện khách hàng có rời bỏ dịch vụ hay không.

Trong nghiên cứu này, bộ dữ liệu sẽ được sử dụng để phân tích mối quan hệ giữa một số biến định tính có ý nghĩa học thuật cao (như loại hợp đồng, hình thức thanh toán, dịch vụ hỗ trợ kỹ thuật, v.v.) và hành vi rời bỏ dịch vụ. Mục tiêu là làm rõ các yếu tố có ảnh hưởng rõ rệt đến khả năng rời bỏ, từ đó cung cấp nền tảng dữ liệu phục vụ cho việc xây dựng các chính sách chăm sóc và giữ chân khách hàng hiệu quả hơn trong ngành viễn thông.

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

Mục tiêu chính của nghiên cứu này là phân tích các yếu tố định tính có ảnh hưởng đến hành vi rời bỏ dịch vụ của khách hàng trong ngành viễn thông, dựa trên dữ liệu khách hàng thực tế. Cụ thể, nghiên cứu tập trung vào các mục tiêu sau:

  • Xác định các yếu tố định tính có mối liên hệ thống kê rõ ràng với hành vi rời bỏ dịch vụ (Churn), bao gồm: loại hợp đồng, loại dịch vụ internet, phương thức thanh toán, có hỗ trợ kỹ thuật hay không, và việc sử dụng hóa đơn điện tử.

  • Đánh giá mức độ ảnh hưởng của từng yếu tố định tính đến khả năng rời bỏ dịch vụ, thông qua phân tích tần suất, bảng chéo và kiểm định thống kê (ví dụ: kiểm định Chi-square).

  • Làm rõ mối quan hệ giữa các yếu tố đã chọn, từ đó rút ra những đặc điểm phổ biến của nhóm khách hàng có nguy cơ rời bỏ cao.

  • Đề xuất định hướng chiến lược cho doanh nghiệp viễn thông, nhằm cải thiện chính sách chăm sóc khách hàng, giảm tỷ lệ rời bỏ dịch vụ, và nâng cao sự gắn bó lâu dài của người dùng.

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

Nghiên cứu sử dụng phương pháp thống kê mô tả để phân tích đặc điểm tổng quan của khách hàng và hành vi rời bỏ dịch vụ (Churn). Các chỉ số như Odds Ratio, Relative Risk và bảng tần suất được sử dụng để đánh giá mối liên hệ giữa các biến định tính (hợp đồng, phương thức thanh toán, v.v.) với xác suất rời bỏ. Ngoài ra, các mô hình xác suất tuyến tính, Logit và Probit cũng được triển khai nhằm ước lượng khả năng rời bỏ dịch vụ theo từng nhóm khách hàng khác nhau.

1.6. Ý nghĩa của nghiên cứu

  • Về mặt học thuật: Nghiên cứu góp phần củng cố và làm rõ hơn vai trò của các yếu tố định tính trong việc dự báo hành vi khách hàng, đặc biệt là hành vi rời bỏ dịch vụ – một chủ đề được quan tâm trong lĩnh vực marketing, phân tích dữ liệu và quản trị quan hệ khách hàng. Việc áp dụng các kỹ thuật phân tích thống kê như kiểm định Chi-square, Odds Ratio hay mô hình xác suất giúp nâng cao tính ứng dụng của các phương pháp định lượng trong nghiên cứu hành vi người tiêu dùng.

  • Về mặt thực tiễn: Kết quả nghiên cứu cung cấp cơ sở dữ liệu quan trọng để các doanh nghiệp viễn thông hiểu rõ hơn về đặc điểm của nhóm khách hàng có khả năng rời bỏ cao. Từ đó, doanh nghiệp có thể điều chỉnh chính sách về loại hợp đồng, phương thức thanh toán, dịch vụ hỗ trợ và trải nghiệm người dùng, nhằm giảm tỷ lệ khách hàng rời bỏ, gia tăng mức độ hài lòng, và nâng cao khả năng giữ chân khách hàng trong dài hạn.

PHẦN 2: PHÂN TÍCH CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN HÀNH VI RỜI BỎ DỊCH VỤ CỦA KHÁCH HÀNG VIỄN THÔNG

2.1. Phân tích loại hợp đồng ảnh hưởng đến hành vi rời bỏ dịch vụ (Contract → Churn)

2.1.1. Bảng tần số - tần suất biến hành vi rời bỏ dịch vụ của khách hàng

Bảng tần số

d$Churn <- factor(d$Churn, levels = c("No", "Yes"),
                          labels = c("Không rời bỏ", "Rời bỏ"))
table(d$Churn) %>% addmargins()
## 
## Không rời bỏ       Rời bỏ          Sum 
##         5174         1869         7043
ggplot(d, aes(x = Churn, fill = Churn)) +
  geom_bar() +
  geom_text(aes(label = after_stat(count),
                y = after_stat(count / 2)),  
            stat = "count",
            color = "white", size = 5, fontface = "bold") +
  labs(title = "Biểu đồ tần số khách hàng rời bỏ dịch vụ",
       x = "Tình trạng rời bỏ dịch vụ",
       y = "Tần số") +
  scale_fill_manual(values = c("Không rời bỏ" = "skyblue", 
                               "Rời bỏ" = "salmon")) +
  theme_minimal()

Biểu đồ cho thấy có 5174 khách hàng không rời bỏ dịch vụ và 1869 khách hàng đã rời bỏ dịch vụ. Số lượng khách hàng không rời bỏ chiếm ưu thế rõ rệt so với số khách hàng rời bỏ.

Bảng tần suất

prop.table(table(d$Churn))
## 
## Không rời bỏ       Rời bỏ 
##    0.7346301    0.2653699
ggplot(
  data.frame(
    Churn = names(prop.table(table(d$Churn))),
    Percent = as.numeric(prop.table(table(d$Churn)))
  ),
  aes(x = "", y = Percent, fill = Churn)
) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  geom_text(aes(label = paste0(round(Percent * 100, 1), "%")),
            position = position_stack(vjust = 0.5),
            color = "white", size = 5, fontface = "bold") +
  theme_void() +
  scale_fill_manual(values = c("Không rời bỏ" = "skyblue",
                               "Rời bỏ" = "salmon")) +
  ggtitle("Tỷ lệ khách hàng rời bỏ dịch vụ")

Kết quả tần suất cho thấy trong tổng thể dữ liệu, khoảng 73,5% khách hàng không rời bỏ dịch vụ, trong khi 26,5% khách hàng đã rời bỏ dịch vụ. Tỷ lệ khách hàng duy trì dịch vụ chiếm đa số, tuy nhiên tỷ lệ rời bỏ ở mức 1/4 tổng số là đáng lưu ý.

2.1.2. Bảng tần số - tần suất theo loại hợp đồng

Bảng tần số

d$Contract <- factor(d$Contract,
                     levels = c("Month-to-month", "One year", "Two year"),
                     labels = c("Theo tháng", "1 năm", "2 năm"))
table(d$Contract) %>% addmargins()
## 
## Theo tháng      1 năm      2 năm        Sum 
##       3875       1473       1695       7043
ggplot(d, aes(x = Contract, fill = Contract)) +
  geom_bar() +
  geom_text(aes(label = after_stat(count),
                y = after_stat(count / 2)),  
            stat = "count",
            color = "white", size = 5, fontface = "bold") +
  labs(title = "Biểu đồ tần số theo loại hợp đồng",
       x = "Loại hợp đồng",
       y = "Tần số") +
  scale_fill_manual(values = c("Theo tháng" = "#FDB462", 
                               "1 năm"      = "#80B1D3", 
                               "2 năm"      = "#B3DE69")) +
  theme_minimal()

  • Biểu đồ cho thấy:

    • Có 3.875 khách hàng sử dụng hợp đồng theo tháng (Month-to-month),

    • 1.473 khách hàng ký hợp đồng 1 năm (One year),

    • Và 1.695 khách hàng chọn hợp đồng 2 năm (Two year).

  • Hợp đồng theo tháng là hình thức phổ biến nhất, chiếm số lượng lớn nhất trong ba loại. Trong khi đó, số lượng khách hàng ký hợp đồng 1 năm và 2 năm xấp xỉ nhau và thấp hơn nhiều so với hình thức theo tháng. Điều này cho thấy phần lớn khách hàng có xu hướng chọn phương án linh hoạt ngắn hạn, có thể liên quan đến mức độ cam kết thấp và khả năng rời bỏ dịch vụ cao hơn so với nhóm hợp đồng dài hạn.

    Bảng tần suất

prop.table(table(d$Contract))
## 
## Theo tháng      1 năm      2 năm 
##  0.5501917  0.2091438  0.2406645
ggplot(
  data.frame(
    Contract = names(prop.table(table(d$Contract))),
    Percent = as.numeric(prop.table(table(d$Contract)))
  ),
  aes(x = "", y = Percent, fill = Contract)
) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  geom_text(
    aes(label = paste0(round(Percent * 100, 1), "%")),
    position = position_stack(vjust = 0.5),
    color = "white", size = 5, fontface = "bold"
  ) +
  theme_void() +
  scale_fill_manual(values = c("Theo tháng" = "#FDB462",
                               "1 năm" = "#80B1D3",
                               "2 năm" = "#B3DE69")) +
  ggtitle("Tỷ lệ theo loại hợp đồng")

  • Kết quả tần suất cho thấy trong tổng số khách hàng:

    • 55,0% sử dụng hợp đồng theo tháng (Month-to-month),

    • 20,9% chọn hợp đồng 1 năm (One year),

    • Và 24,1% sử dụng hợp đồng 2 năm (Two year).

  • Tỷ lệ khách hàng chọn hợp đồng theo tháng chiếm hơn một nửa tổng số, cao hơn rõ rệt so với hai loại còn lại. Điều này phản ánh xu hướng khách hàng ưu tiên sự linh hoạt, ít ràng buộc trong việc sử dụng dịch vụ. Tuy nhiên, đây cũng có thể là nhóm khách dễ rời bỏ dịch vụ nhất do không có cam kết lâu dài.

2.1.3. Bảng tần số – tần suất kết hợp giữa loại hợp đồng và hành vi rời bỏ dịch vụ

Bảng tần số

table(d$Contract, d$Churn) %>%  addmargins()
##             
##              Không rời bỏ Rời bỏ  Sum
##   Theo tháng         2220   1655 3875
##   1 năm              1307    166 1473
##   2 năm              1647     48 1695
##   Sum                5174   1869 7043
ggplot(d, aes(x = Contract, fill = Churn)) +
  geom_bar(position = position_dodge(width = 0.9)) +
  geom_text(stat = "count",
            aes(label = after_stat(count)),
            position = position_dodge(width = 0.9),
            vjust = -0.3,
            size = 4) +
  labs(title = "Tần số khách hàng theo loại hợp đồng và hành vi rời bỏ",
       x = "Loại hợp đồng",
       y = "Số lượng khách hàng",
       fill = "Hành vi rời bỏ") +
  scale_fill_manual(values = c("Không rời bỏ" = "skyblue",
                               "Rời bỏ"        = "salmon")) +
  theme_minimal()

  • Biểu đồ cho thấy số lượng khách hàng rời bỏ dịch vụ có sự khác biệt rõ rệt giữa các nhóm loại hợp đồng.

    • Nhóm hợp đồng theo tháng (Month-to-month) có 1.655 khách hàng rời bỏ, chiếm số lượng lớn nhất trong ba loại hợp đồng.

    • Nhóm hợp đồng 1 năm (One year) chỉ có 166 khách hàng rời bỏ.

    • Nhóm hợp đồng 2 năm (Two year) có số lượng thấp nhất với 48 khách hàng rời bỏ.

  • Kết quả này phản ánh rằng khách hàng sử dụng hợp đồng ngắn hạn có xu hướng rời bỏ dịch vụ cao hơn, trong khi các khách hàng ký hợp đồng dài hạn có mức độ ổn định và gắn bó cao hơn. Điều này gợi ý rằng hình thức hợp đồng là một yếu tố quan trọng ảnh hưởng đến hành vi rời bỏ dịch vụ, và doanh nghiệp nên chú trọng giữ chân nhóm khách hàng ngắn hạn thông qua các chính sách ưu đãi, chăm sóc cá nhân hóa hoặc chuyển đổi sang hợp đồng dài hạn.

    Bảng tần suất

round(prop.table(table(d$Contract, d$Churn), margin = 1) * 100, 1)
##             
##              Không rời bỏ Rời bỏ
##   Theo tháng         57.3   42.7
##   1 năm              88.7   11.3
##   2 năm              97.2    2.8
ggplot(as.data.frame(round(prop.table(table(d$Contract, d$Churn), margin = 1) * 100, 1)), 
       aes(x = Var1, y = Freq, fill = Var2)) +
  geom_col(position = position_dodge(width = 0.9)) +
  geom_text(aes(label = paste0(Freq, "%"), y = Freq / 2),
            position = position_dodge(width = 0.9),
            color = "white", size = 4, fontface = "bold") +
  labs(title = "Ảnh hưởng của loại hợp đồng đến hành vi rời bỏ dịch vụ",
       x = "Loại hợp đồng", 
       y = "Tỷ lệ (%)", 
       fill = "Hành vi rời bỏ") +
  scale_fill_manual(values = c("Không rời bỏ" = "skyblue",
                               "Rời bỏ"        = "salmon")) +
  theme_minimal()

  • Kết quả phân tích cho thấy tỷ lệ khách hàng rời bỏ dịch vụ có sự khác biệt rõ rệt giữa các loại hợp đồng.

    • Trong nhóm khách hàng sử dụng hợp đồng theo tháng, có tới 42,7% đã rời bỏ dịch vụ, là tỷ lệ cao nhất trong ba nhóm.

    • Khách hàng sử dụng hợp đồng 1 năm có tỷ lệ rời bỏ chỉ 11,3%.

    • Nhóm hợp đồng 2 năm có tỷ lệ rời bỏ thấp nhất, chỉ 2,8%.

  • Những con số này cho thấy loại hợp đồng là yếu tố quan trọng ảnh hưởng đến hành vi rời bỏ dịch vụ. Khách hàng có hợp đồng dài hạn thường gắn bó hơn, có thể do cam kết lâu dài, mức chiết khấu cao hơn hoặc do rào cản rút hợp đồng. Ngược lại, hợp đồng theo tháng mang tính linh hoạt cao nhưng dễ dẫn đến rời bỏ nếu khách hàng không hài lòng với dịch vụ.

2.1.4. Phân tích Relative Risk hành vi rời bỏ dịch vụ giữa các nhóm hợp đồng

2.1.4.1. Relative Risk

Dựa trên bảng tần số đã trình bày ở phần trước, em tiến hành tính toán Relative Risk (RR) nhằm phân tích mối quan hệ giữa loại hợp đồng (biến độc lập) và hành vi rời bỏ dịch vụ của khách hàng (biến phụ thuộc). Trong đó, loại hợp đồng “2 năm” được chọn làm nhóm tham chiếu, do đây là nhóm có tỷ lệ rời bỏ dịch vụ thấp nhất, thể hiện tính ổn định cao trong việc duy trì dịch vụ. Việc so sánh các nhóm “Theo tháng” và “1 năm” với nhóm “2 năm” giúp làm rõ mức độ rủi ro rời bỏ dịch vụ tương đối giữa các loại hợp đồng, qua đó cung cấp bằng chứng thực nghiệm cho chiến lược giữ chân khách hàng trong ngành viễn thông.

RR <- matrix(c(2220, 1655,   # Theo tháng: Không rời bỏ - Rời bỏ
               1307,  166,   # 1 năm
               1647,   48),  # 2 năm
             nrow = 3,
             byrow = TRUE,
             dimnames = list(c("Theo tháng", "1 năm", "2 năm"),
                             c("Không rời bỏ", "Rời bỏ")))

# Chuyển sang dạng bảng dữ liệu
RR_table <- as.data.frame(RR)

# Tính tổng số khách hàng trong mỗi nhóm hợp đồng
RR_table$Total <- rowSums(RR_table)
# Tính tỷ lệ không rời bỏ và rời bỏ
RR_table$Rate_Khong <- RR_table$`Không rời bỏ` / RR_table$Total
RR_table$Rate_Roi   <- RR_table$`Rời bỏ` / RR_table$Total

# Lấy nhóm tham chiếu là "2 năm"
ref_khong <- RR_table["2 năm", "Rate_Khong"]
ref_roi   <- RR_table["2 năm", "Rate_Roi"]

# Tính Relative Risk
RR_table$RR_Khong <- round(RR_table$Rate_Khong / ref_khong, 2)
RR_table$RR_Roi   <- round(RR_table$Rate_Roi / ref_roi, 2)

# Hiển thị kết quả gọn theo yêu cầu
RR_final <- RR_table[, c("RR_Khong", "RR_Roi")]
colnames(RR_final) <- c("RR_Không rời bỏ", "RR_Rời bỏ")
RR_final
##            RR_Không rời bỏ RR_Rời bỏ
## Theo tháng            0.59     15.08
## 1 năm                 0.91      3.98
## 2 năm                 1.00      1.00
  • Kết quả phân tích Relative Risk (RR) cho thấy hành vi rời bỏ dịch vụ của khách hàng có sự khác biệt đáng kể giữa các nhóm hợp đồng. Cụ thể, nhóm khách hàng sử dụng hợp đồng “Theo tháng” có RR_Rời bỏ = 15.08, tức là họ có khả năng rời bỏ dịch vụ cao gấp 15 lần so với nhóm sử dụng hợp đồng “2 năm” (nhóm tham chiếu). Trong khi đó, nhóm “1 năm” cũng có RR_Rời bỏ = 3.98, cao gấp gần 4 lần so với nhóm “2 năm”.

  • Ở chiều ngược lại, giá trị RR_Không rời bỏ của nhóm “Theo tháng” chỉ bằng 0.59, thấp hơn nhiều so với nhóm tham chiếu (1.00), cho thấy khách hàng theo tháng ít có xu hướng duy trì sử dụng dịch vụ. Nhóm “1 năm” có RR_Không rời bỏ = 0.91, gần với nhóm “2 năm” nhưng vẫn thấp hơn.

  • Kết quả này cho thấy loại hợp đồng có ảnh hưởng rõ rệt đến hành vi rời bỏ, trong đó hợp đồng có thời hạn dài (đặc biệt là “2 năm”) đóng vai trò như một yếu tố giữ chân khách hàng hiệu quả. Ngược lại, hợp đồng “Theo tháng” thể hiện rủi ro cao về mất khách, đòi hỏi các doanh nghiệp viễn thông cần có chiến lược chăm sóc và giữ chân phù hợp cho nhóm khách hàng này.

2.1.4.2. Khoảng ước lượng cho Relative Risk

RR giữa nhóm khách hàng có hợp đồng “Theo tháng” so với nhóm “2 năm”

RR_month_vs_2year <- matrix(c(2220, 1655,
                              1647,   48),
                            nrow = 2,
                            byrow = TRUE,
                            dimnames = list(
                              c("Theo tháng", "2 năm"),
                              c("Không rời bỏ", "Rời bỏ")
                            ))
epitab(RR_month_vs_2year, method = "riskratio", rev = "c")
## $tab
##            Rời bỏ         p0 Không rời bỏ        p1 riskratio    lower    upper
## Theo tháng   1655 0.42709677         2220 0.5729032  1.000000       NA       NA
## 2 năm          48 0.02831858         1647 0.9716814  1.696066 1.648617 1.744879
##                  p.value
## Theo tháng            NA
## 2 năm      1.102868e-247
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích cho thấy nhóm khách hàng sử dụng hợp đồng “Theo tháng” có tỷ lệ rời bỏ dịch vụ là 42.71%, trong khi nhóm sử dụng hợp đồng “2 năm” chỉ có tỷ lệ rời bỏ là 2.83%. Dựa trên phép so sánh này, chỉ số Relative Risk (RR) được ước tính là 1.696, với khoảng tin cậy 95% là từ 1.6486 đến 1.7449.

  • Điều này có nghĩa là:

    • Nguy cơ rời bỏ dịch vụ của khách hàng “Theo tháng” cao hơn khoảng 1.7 lần so với khách hàng “2 năm”.

    • Vì khoảng tin cậy không chứa giá trị 1, kết quả này có ý nghĩa thống kê ở mức 5%.

    • P-value rất nhỏ (p < 2.2e-16), cho thấy xác suất để kết quả xảy ra do ngẫu nhiên là gần như bằng 0.

    • Do đó, loại hợp đồng có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ.

  • Phân tích này cho thấy, khách hàng sử dụng gói hợp đồng “Theo tháng” là nhóm có nguy cơ rời bỏ cao nhất, và cần được ưu tiên trong các chương trình giữ chân. Các doanh nghiệp viễn thông có thể xem xét chính sách chuyển đổi từ “Theo tháng” sang “1 năm” hoặc “2 năm” nhằm giảm tỷ lệ rời bỏ.

RR giữa nhóm khách hàng có hợp đồng “1 năm” so với nhóm “2 năm”

RR_1year_vs_2year <- matrix(c(1307, 166,
                              1647,  48),
                            nrow = 2,
                            byrow = TRUE,
                            dimnames = list(
                              c("1 năm", "2 năm"),
                              c("Không rời bỏ", "Rời bỏ")
                            ))
epitab(RR_1year_vs_2year, method = "riskratio", rev = "c")
## $tab
##       Rời bỏ         p0 Không rời bỏ        p1 riskratio    lower    upper
## 1 năm    166 0.11269518         1307 0.8873048  1.000000       NA       NA
## 2 năm     48 0.02831858         1647 0.9716814  1.095093 1.073482 1.117139
##            p.value
## 1 năm           NA
## 2 năm 8.815105e-22
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích cho thấy nhóm khách hàng sử dụng hợp đồng “1 năm” có tỷ lệ rời bỏ dịch vụ là 11.27%, trong khi tỷ lệ này ở nhóm “2 năm” chỉ là 2.83%. Khi sử dụng nhóm “1 năm” làm chuẩn (RR = 1), Relative Risk (RR) của nhóm “2 năm” được ước tính là 1.095.

  • Khoảng tin cậy 95% cho chỉ số RR là [1.073; 1.117], và giá trị p-value = 8.81 × 10⁻²², nhỏ hơn 0.05 rất nhiều, cho thấy kết quả có ý nghĩa thống kê cao.

  • Điều này cho thấy:

    • Khách hàng dùng hợp đồng “1 năm” có nguy cơ rời bỏ cao hơn khoảng 1.1 lần so với nhóm “2 năm”.

    • Tuy RR < 2, nhưng vẫn có sự khác biệt có ý nghĩa về mặt thống kê.

    • Nhóm “2 năm” vẫn là nhóm có độ trung thành cao hơn, trong khi nhóm “1 năm” cần có thêm các chính sách chăm sóc hoặc gia hạn hợp đồng để giảm nguy cơ rời bỏ.

  • So sánh này tiếp tục khẳng định rằng loại hợp đồng là một yếu tố quan trọng ảnh hưởng đến hành vi rời bỏ dịch vụ.

2.1.5. Phân tích odds ratio giữa loại hợp đồng và hành vi rời bỏ dịch vụ

Odd ratio và khoảng ước lượng giữa nhóm khách hàng có hợp đồng “Theo tháng” so với nhóm “2 năm”

odd <- table(d$Contract, d$Churn)

# Lấy nhóm "Theo tháng" và "2 năm", sắp theo thứ tự: Rời bỏ - Không rời bỏ
odd_month_vs_2year <- odd[c("Theo tháng", "2 năm"), c("Rời bỏ", "Không rời bỏ")]

# Tính Odds Ratio
epitab(odd_month_vs_2year, method = "oddsratio")
## $tab
##             
##              Rời bỏ         p0 Không rời bỏ        p1 oddsratio    lower
##   Theo tháng   1655 0.97181445         2220 0.5740884   1.00000       NA
##   2 năm          48 0.02818555         1647 0.4259116  25.57981 19.06474
##             
##                 upper       p.value
##   Theo tháng       NA            NA
##   2 năm      34.32132 1.102868e-247
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích Odds Ratio giữa hai nhóm khách hàng sử dụng hợp đồng “Theo tháng” và “2 năm” cho thấy:

    • Tỷ lệ rời bỏ dịch vụ ở nhóm “Theo tháng” là 97,18%, trong khi ở nhóm “2 năm” chỉ là 2,82%.

    • Giá trị Odds Ratio = 25,58, nghĩa là:

    • Khách hàng sử dụng hợp đồng theo tháng có khả năng rời bỏ dịch vụ cao hơn gấp khoảng 25,6 lần so với khách hàng sử dụng hợp đồng 2 năm.

    • Khoảng tin cậy 95% cho Odds Ratio nằm trong khoảng từ 19,06 đến 34,32, cho thấy kết quả ổn định và có ý nghĩa thống kê.

    • Giá trị p-value ≈ 0 (p < 2.2e-16) xác nhận rằng sự khác biệt này là có ý nghĩa thống kê rất cao.

  • Kết luận: Loại hợp đồng là một yếu tố có ảnh hưởng rất mạnh mẽ đến hành vi rời bỏ dịch vụ. Cụ thể, hợp đồng theo tháng là loại hình có rủi ro rời bỏ dịch vụ cao nhất. Điều này hàm ý rằng doanh nghiệp cần thiết kế các chương trình giữ chân khách hàng cho nhóm này, hoặc khuyến khích khách hàng chuyển sang hợp đồng dài hạn như 1 năm hoặc 2 năm để giảm thiểu rủi ro mất khách.

Odd ratio và khoảng ước lượng giữa nhóm khách hàng có hợp đồng “1 năm” so với nhóm “2 năm”

odd_1year_vs_2year <- odd[c("1 năm", "2 năm"), c("Rời bỏ", "Không rời bỏ")]

# Tính Odds Ratio
epitab(odd_1year_vs_2year, method = "oddsratio")
## $tab
##        
##         Rời bỏ        p0 Không rời bỏ        p1 oddsratio    lower    upper
##   1 năm    166 0.7757009         1307 0.4424509  1.000000       NA       NA
##   2 năm     48 0.2242991         1647 0.5575491  4.357976 3.135224 6.057608
##        
##              p.value
##   1 năm           NA
##   2 năm 8.815105e-22
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích Odds Ratio giữa hai nhóm khách hàng sử dụng hợp đồng “1 năm” và “2 năm” cho thấy:

    • Tỷ lệ rời bỏ dịch vụ ở nhóm “1 năm” là 77,57%, trong khi ở nhóm “2 năm” chỉ là 22,43%.

    • Giá trị Odds Ratio = 4,36, điều này có nghĩa là:

    • Khách hàng sử dụng hợp đồng 1 năm có khả năng rời bỏ dịch vụ cao hơn gấp khoảng 4,36 lần so với nhóm khách hàng dùng hợp đồng 2 năm.

    • Khoảng tin cậy 95% cho Odds Ratio là [3,14; 6,06], cho thấy kết quả đáng tin cậy và có ý nghĩa thực tiễn.

    • Giá trị p-value ≈ 8.8e-22 (< 0.05) khẳng định rằng sự khác biệt là có ý nghĩa thống kê rất mạnh.

  • Kết luận: Hợp đồng 2 năm tiếp tục cho thấy là hình thức có tỷ lệ rời bỏ dịch vụ thấp nhất, trong khi hợp đồng 1 năm vẫn tồn tại rủi ro cao hơn đáng kể. So với kết quả giữa nhóm “Theo tháng” và “2 năm”, ta có thể thấy rằng nguy cơ rời bỏ giảm dần theo thời hạn hợp đồng. Điều này gợi ý các doanh nghiệp nên ưu tiên các chính sách khuyến khích khách hàng gắn bó lâu dài, chẳng hạn như ưu đãi chuyển đổi từ hợp đồng 1 năm sang 2 năm.

2.1.6. Thống kê suy diễn

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

  • Mục tiêu của kiểm định là đánh giá xem loại hợp đồng (Contract) và hành vi rời bỏ dịch vụ (Churn) có phụ thuộc nhau hay không. Nói cách khác, muốn xác định xem việc lựa chọn loại hợp đồng có ảnh hưởng đến hành vi rời bỏ dịch vụ của khách hàng hay không.

  • Bài toán kiểm định:

\[ H_0: \text{Loại hợp đồng và hành vi rời bỏ dịch vụ là độc lập với nhau.} \\ H_1: \text{Loại hợp đồng và hành vi rời bỏ dịch vụ có mối quan hệ phụ thuộc.} \]

chisq.test(table(d$Contract, d$Churn))
## 
##  Pearson's Chi-squared test
## 
## data:  table(d$Contract, d$Churn)
## X-squared = 1184.6, df = 2, p-value < 2.2e-16
  • Kết quả kiểm định Chi-squared cho thấy:

    • Giá trị thống kê Chi-squared: 1184.6

    • Bậc tự do (df): 2

    • p-value < 2.2e-16

  • Với mức ý nghĩa thông thường α=0.05, giá trị p-value rất nhỏ (gần bằng 0), do đó bác bỏ giả thuyết H₀. Có mối quan hệ có ý nghĩa thống kê giữa loại hợp đồng và hành vi rời bỏ dịch vụ của khách hàng. Điều này có nghĩa là việc khách hàng chọn hợp đồng theo tháng, 1 năm hay 2 năm có ảnh hưởng đến khả năng họ rời bỏ dịch vụ. Do đó, loại hợp đồng là một yếu tố quan trọng cần được xem xét khi xây dựng các chính sách chăm sóc và giữ chân khách hàng.

2.1.6.2. Khoảng ước lượng tỷ lệ

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm hợp đồng “Theo tháng”

contract_month <- table(d[d$Contract == "Theo tháng", ]$Churn)
contract_month
## 
## Không rời bỏ       Rời bỏ 
##         2220         1655
# Ước lượng tỷ lệ rời bỏ và kiểm định tỷ lệ giả định (p = 0.3)
prop.test(contract_month["Rời bỏ"], sum(contract_month), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  contract_month["Rời bỏ"] out of sum(contract_month), null probability 0.3
## X-squared = 297.47, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.4114736 0.4428655
## sample estimates:
##         p 
## 0.4270968
  • Kết quả kiểm định cho thấy tỷ lệ khách hàng rời bỏ dịch vụ trong nhóm sử dụng hợp đồng theo tháng là khoảng 42.71%. Đồng thời, khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng [41.15%; 44.29%].

  • Với p-value < 2.2e-16, chúng tôi bác bỏ giả thuyết \(H_0\) rằng tỷ lệ rời bỏ dịch vụ bằng 30%. Điều này có nghĩa là tỷ lệ rời bỏ thực tế cao hơn đáng kể so với giả định, và sự khác biệt này có ý nghĩa thống kê ở mức 5%.

  • Kết luận: Khách hàng sử dụng hợp đồng theo tháng có xu hướng rời bỏ dịch vụ với tỷ lệ cao, điều này cần được doanh nghiệp đặc biệt quan tâm trong chiến lược giữ chân khách hàng.

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm hợp đồng 1 năm”

contract_1year <- table(d[d$Contract == "1 năm", ]$Churn)
contract_1year
## 
## Không rời bỏ       Rời bỏ 
##         1307          166
prop.test(contract_1year["Rời bỏ"], sum(contract_1year), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  contract_1year["Rời bỏ"] out of sum(contract_1year), null probability 0.3
## X-squared = 245.19, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.09722613 0.13022131
## sample estimates:
##         p 
## 0.1126952
  • Kết quả kiểm định tỷ lệ một mẫu cho thấy:

    • Tỷ lệ khách hàng rời bỏ dịch vụ trong nhóm sử dụng hợp đồng 1 năm là 11.27%.

    • Khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng [9.72%; 13.02%].

    • Giá trị p-value < 2.2e-16, rất nhỏ hơn mức ý nghĩa 0.05.

  • Do đó, bác bỏ giả thuyết \(H_0\) rằng tỷ lệ rời bỏ là 30%. Điều này cho thấy tỷ lệ rời bỏ thực tế trong nhóm hợp đồng 1 năm thấp hơn đáng kể so với giả định.

  • Kết luận: Hợp đồng 1 năm là một yếu tố có thể giúp giảm tỷ lệ rời bỏ dịch vụ của khách hàng so với mức trung bình giả định. Đây là một dạng hợp đồng có tiềm năng giữ chân khách hàng tốt hơn hợp đồng ngắn hạn.

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm hợp đồng 2 năm”

contract_2year <- table(d[d$Contract == "2 năm", ]$Churn)
contract_2year
## 
## Không rời bỏ       Rời bỏ 
##         1647           48
prop.test(contract_2year["Rời bỏ"], sum(contract_2year), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  contract_2year["Rời bỏ"] out of sum(contract_2year), null probability 0.3
## X-squared = 594.47, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.02117056 0.03767863
## sample estimates:
##          p 
## 0.02831858
  • Kết quả kiểm định tỷ lệ một mẫu cho thấy:

    • Tỷ lệ khách hàng rời bỏ dịch vụ trong nhóm sử dụng hợp đồng 2 năm là 2.83%.

    • Khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng [2.12%; 3.77%].

    • Giá trị p-value < 2.2e-16, nhỏ hơn mức ý nghĩa 0.05.

  • Do đó, bác bỏ giả thuyết \(H_0\) rằng tỷ lệ rời bỏ là 30%. Điều này chứng minh rằng tỷ lệ rời bỏ thực tế trong nhóm hợp đồng 2 năm thấp hơn rất nhiều so với giả định.

  • Kết luận: Hợp đồng 2 năm là loại hình hợp đồng có hiệu quả giữ chân khách hàng cao nhất trong 3 nhóm phân tích. Tỷ lệ rời bỏ cực thấp cùng khoảng tin cậy hẹp cho thấy đây là nhóm khách hàng trung thành và ổn định nhất.

2.1.7. Mô hình hồi quy cho dữ liệu nhị phân

Mô hình xác suất tuyến tính

  • Trong phần này, tiến hành hồi quy xác suất tuyến tính (Linear Probability Model) nhằm kiểm tra mối quan hệ giữa loại hợp đồng và hành vi rời bỏ dịch vụ của khách hàng.

  • Biến phụ thuộc Churn được chuyển thành biến nhị phân Churn_bin với giá trị:

    • 1 nếu khách hàng rời bỏ dịch vụ (tương ứng với “Yes”),

    • 0 nếu khách hàng không rời bỏ (tương ứng với “No”).

  • Biến độc lập là Contract – loại hợp đồng mà khách hàng đăng ký. Trong mô hình này, loại hợp đồng “Two year” được chọn làm nhóm tham chiếu, vì đây là nhóm có tỷ lệ rời bỏ thấp nhất và thường thể hiện mức độ gắn bó cao với dịch vụ.

d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)  
# Thiết lập Contract là factor và chọn nhóm tham chiếu là "2 năm"
d$Contract <- factor(d$Contract)
d$Contract <- relevel(d$Contract, ref = "2 năm")

# Hồi quy xác suất tuyến tính
glm_model <- glm(Churn_bin ~ Contract, data = d)
summary(glm_model)
## 
## Call:
## glm(formula = Churn_bin ~ Contract, data = d)
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        0.028319   0.009783   2.895  0.00381 ** 
## ContractTheo tháng 0.398778   0.011729  33.999  < 2e-16 ***
## Contract1 năm      0.084377   0.014347   5.881 4.26e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1622284)
## 
##     Null deviance: 1373.0  on 7042  degrees of freedom
## Residual deviance: 1142.1  on 7040  degrees of freedom
## AIC: 7182.7
## 
## Number of Fisher Scoring iterations: 2

Dựa trên kết quả hồi quy tuyến tính với biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ) và biến độc lập là Contract (Loại hợp đồng), ta có phương trình hồi quy như sau:

\[ \hat{\pi} = 0.028319 + 0.398778 \cdot Contract_{\text{Theo tháng}} + 0.084377 \cdot Contract_{\text{1 năm}} \]

Tất cả các hệ số đều có giá trị p nhỏ hơn mức ý nghĩa \(\alpha = 0.05\), cho thấy các loại hợp đồng đều có ảnh hưởng thống kê có ý nghĩa đến xác suất rời bỏ dịch vụ của khách hàng.

  • Hệ số chặn \(\beta_0 = 0.028319\) đại diện cho xác suất rời bỏ dịch vụ trong nhóm khách hàng sử dụng hợp đồng 2 năm (nhóm tham chiếu). Điều này có nghĩa là chỉ có khoảng 2.83% khách hàng trong nhóm này rời bỏ dịch vụ.

  • Hệ số \(\beta_1 = 0.398778\) biểu thị mức chênh lệch xác suất rời bỏ dịch vụ giữa nhóm hợp đồng theo tháng và nhóm tham chiếu. Khi các yếu tố khác không đổi, khách hàng dùng hợp đồng theo tháng có xác suất rời bỏ cao hơn 39.88%, tức xác suất rời bỏ là khoảng 42.71%.

  • Hệ số \(\beta_2 = 0.084377\) phản ánh chênh lệch giữa nhóm hợp đồng 1 năm và nhóm 2 năm. Xác suất rời bỏ tăng thêm 8.44% so với nhóm 2 năm, tức xác suất rời bỏ trung bình của nhóm này là khoảng 11.28%.

Từ đó, ta thấy rằng loại hợp đồng có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ. Đặc biệt, hợp đồng theo tháng là nhóm có nguy cơ rời bỏ cao nhất. Ngược lại, khách hàng sử dụng hợp đồng 2 năm có mức độ gắn bó cao nhất với doanh nghiệp.

model <- glm(Churn_bin ~ Contract, data = d)

# Tạo data frame chứa các loại hợp đồng cần dự đoán
n <- data.frame(Contract = c("Theo tháng", "1 năm", "2 năm"))

# Dự đoán xác suất rời bỏ dịch vụ theo từng loại hợp đồng
predict(model, newdata = n, type = "response")
##          1          2          3 
## 0.42709677 0.11269518 0.02831858
  • Dựa vào kết quả dự đoán từ mô hình hồi quy xác suất tuyến tính, ta có thể ước lượng xác suất khách hàng rời bỏ dịch vụ tương ứng với từng loại hợp đồng như sau:

    • Khách hàng sử dụng hợp đồng theo tháng có xác suất rời bỏ dịch vụ là 42.71%, đây là nhóm có xác suất cao nhất trong ba loại hợp đồng.

    • Khách hàng ký hợp đồng 1 năm có xác suất rời bỏ là 11.27%, thấp hơn đáng kể so với nhóm theo tháng.

    • Khách hàng ký hợp đồng 2 năm chỉ có xác suất rời bỏ dịch vụ là 2.83%, thấp nhất trong các nhóm.

  • Ta nhận thấy xu hướng rõ ràng: thời hạn hợp đồng càng dài thì xác suất khách hàng rời bỏ dịch vụ càng giảm mạnh. Điều này cho thấy loại hợp đồng là một yếu tố có ảnh hưởng đáng kể đến hành vi rời bỏ, và việc khuyến khích khách hàng sử dụng hợp đồng dài hạn có thể là một giải pháp hiệu quả để tăng mức độ trung thành của họ.

Mô hình logit

d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)

# Chuyển Contract thành factor và đặt "2 năm" làm nhóm tham chiếu
d$Contract <- factor(d$Contract, levels = c("2 năm", "1 năm", "Theo tháng"))

# Xây dựng mô hình hồi quy logit
logit_model <- glm(Churn_bin ~ Contract, data = d, family = binomial(link = "logit"))

# Hiển thị kết quả
summary(logit_model)
## 
## Call:
## glm(formula = Churn_bin ~ Contract, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         -3.5355     0.1464 -24.145   <2e-16 ***
## Contract1 năm        1.4720     0.1680   8.761   <2e-16 ***
## ContractTheo tháng   3.2418     0.1500  21.614   <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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 6763.3  on 7040  degrees of freedom
## AIC: 6769.3
## 
## Number of Fisher Scoring iterations: 6

Ta có kết quả hồi quy logit từ mô hình sau:

\[ \ln\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = -3.5355 + 1.4720 \cdot \text{Contract}_{1\ năm} + 3.2418 \cdot \text{Contract}_{Theo\ tháng} \]

Trong đó, biến phụ thuộc là xác suất khách hàng rời bỏ dịch vụ, và nhóm tham chiếu là hợp đồng 2 năm.

  • Hệ số chặn \(\hat{\beta}_0 = -3.5355\) cho biết khi khách hàng ký hợp đồng 2 năm, logit của xác suất rời bỏ dịch vụ là \(-3.5355\). Điều này tương ứng với xác suất rất thấp trong nhóm này.

  • Đối với hệ số \(\hat{\beta}_1 = 1.4720\), ta thấy rằng khi khách hàng ký hợp đồng 1 năm, logit của xác suất rời bỏ tăng thêm 1.4720 so với nhóm hợp đồng 2 năm, tức là xác suất rời bỏ cao hơn rõ rệt.

  • Tương tự, hệ số \(\hat{\beta}_2 = 3.2418\) cho thấy khi khách hàng ký hợp đồng theo tháng, logit của xác suất rời bỏ tăng mạnh, cao hơn nhóm hợp đồng 2 năm đến 3.2418 đơn vị, tức xác suất rời bỏ trong nhóm này là rất cao.

Như vậy, mô hình logit chỉ ra rằng loại hợp đồng có ảnh hưởng rất lớn đến hành vi rời bỏ dịch vụ. Cụ thể, khách hàng ký hợp đồng theo tháng có xác suất rời bỏ cao nhất, tiếp đến là hợp đồng 1 năm, và thấp nhất là hợp đồng 2 năm.

Mô hình Probit

d$Contract <- relevel(factor(d$Contract), ref = "2 năm")

# Hồi quy probit
probit <- glm(Churn_bin ~ Contract, data = d, family = binomial(link = "probit"))

# Xem kết quả mô hình
summary(probit)
## 
## Call:
## glm(formula = Churn_bin ~ Contract, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        -1.90610    0.06210 -30.695   <2e-16 ***
## Contract1 năm       0.69378    0.07557   9.181   <2e-16 ***
## ContractTheo tháng  1.72233    0.06532  26.368   <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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 6763.3  on 7040  degrees of freedom
## AIC: 6769.3
## 
## Number of Fisher Scoring iterations: 5

Ta có kết quả mô hình hồi quy Probit như sau:

\[ \hat{\pi} = \Phi(-1.90610 + 0.69378 \times \text{Contract}_{1\ năm} + 1.72233 \times \text{Contract}_{Theo\ tháng}) \]

  • Hệ số chặn là -1.90610 có ý nghĩa thống kê khi giá trị p nhỏ hơn mức ý nghĩa 5%. Điều này cho thấy khi không có tác động của loại hợp đồng (tức là nhóm tham chiếu là 2 năm), thì xác suất khách hàng rời bỏ dịch vụ là:
    \[ \Phi(-1.90610) \approx 0.0283 \quad \text{(tức khoảng 2.83%)} \]

  • Hệ số β₁ = 0.69378 cho thấy khi khách hàng sử dụng hợp đồng 1 năm, trong điều kiện các yếu tố khác không đổi, thì chênh lệch xác suất rời bỏ dịch vụ so với nhóm 2 năm là: \[ \Phi(-1.90610 + 0.69378) = \Phi(-1.21232) \approx 0.1127 \quad \text{(tức khoảng 11.27%)} \]

  • Hệ số β₂ = 1.72233 cho thấy khi khách hàng sử dụng hợp đồng theo tháng, xác suất rời bỏ dịch vụ tăng đáng kể, cụ thể: \[ \Phi(-1.90610 + 1.72233) = \Phi(-0.18377) \approx 0.4271 \quad \text{(tức khoảng 42.71%)} \]

Từ kết quả trên, ta thấy loại hợp đồng có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ. Khách hàng sử dụng hợp đồng theo tháng có xác suất rời bỏ cao nhất, tiếp đến là hợp đồng 1 năm, còn nhóm 2 năm có xác suất rời bỏ thấp nhất.

2.1.8. Đánh giá mô hình

Chỉ số AIC

AIC(glm_model)
## [1] 7182.712
AIC(logit_model)
## [1] 6769.336
AIC(probit )
## [1] 6769.336

Ta thấy rằng cả mô hình logitprobit đều có giá trị AIC thấp hơn đáng kể so với mô hình hồi quy tuyến tính. Điều này cho thấy hai mô hình phi tuyến (logit và probit) phù hợp với dữ liệu hơn trong việc dự đoán xác suất rời bỏ dịch vụ theo loại hợp đồng. Đồng thời, logit và probit có cùng AIC, nên có thể lựa chọn một trong hai tùy vào mục đích trình bày hoặc giải thích.

Tóm lại, mô hình logit hoặc probit là lựa chọn tốt hơn so với mô hình tuyến tính khi phân tích hành vi rời bỏ dịch vụ.

Hệ số Brier Score

BrierScore(logit_model)
## [1] 0.1621593
BrierScore(probit)
## [1] 0.1621593
  • Cả hai mô hình logit và probit đều cho kết quả Brier Score bằng 0.1621593. Điều này cho thấy:

    • Sai số bình phương trung bình giữa xác suất dự đoán và giá trị thực tế là 0.162, tức là mức độ sai lệch thấp, phản ánh khả năng dự đoán khá tốt.

    • Vì Brier Score càng nhỏ càng tốt, nên khi hai mô hình cho cùng một giá trị Brier Score, ta có thể kết luận rằng hiệu suất dự đoán của hai mô hình là tương đương nhau về mặt sai số xác suất.

    • Kết hợp với tiêu chí AIC trước đó (cùng là 6769.336), ta thấy rằng logit và probit không có sự khác biệt đáng kể trong hiệu quả dự đoán hành vi rời bỏ dịch vụ trong trường hợp này.

  • Tóm lại: Cả hai mô hình đều dự đoán tốt và không có sự chênh lệch rõ rệt về độ chính xác. Bạn có thể chọn bất kỳ mô hình nào tùy theo mục tiêu diễn giải (logit dễ hiểu hơn với log-odds).

2.2. Phân tích loại dịch vụ Internet ảnh hưởng đến hành vi rời bỏ dịch vụ (InternetService → Churn)

2.2.1. Bảng tần số - tần suất theo loại dịch vụ Internet

Bảng tần số

d$InternetService[d$InternetService == "Fiber optic"] <- "Cáp quang"
d$InternetService[d$InternetService == "No"] <- "Không dùng"

d$InternetService <- factor(d$InternetService, 
                            levels = c("DSL", "Cáp quang", "Không dùng"))
table(d$InternetService) %>% addmargins()
## 
##        DSL  Cáp quang Không dùng        Sum 
##       2421       3096       1526       7043
ggplot(d, aes(x = InternetService, fill = InternetService)) +
  geom_bar() +
  geom_text(aes(label = after_stat(count),
                y = after_stat(count / 2)),  
            stat = "count",
            color = "white", size = 5, fontface = "bold") +
  labs(title = "Biểu đồ tần số theo loại dịch vụ Internet",
       x = "Loại dịch vụ Internet",
       y = "Tần số") +
  scale_fill_manual(values = c("DSL"        = "#FF9999",   # đỏ nhạt
                               "Cáp quang"  = "#66CCFF",   # xanh dương nhạt
                               "Không dùng" = "#99CC99")) + # xanh lá nhạt
  theme_minimal()

  • Biểu đồ cho thấy:

    • Cáp quang (Fiber optic) là loại dịch vụ phổ biến nhất, chiếm tỷ trọng lớn nhất trong số các khách hàng với 3.096 người, tương đương khoảng 44%.

    • DSL đứng thứ hai với 2.421 người (~34%), cho thấy vẫn còn một bộ phận khách hàng sử dụng dịch vụ này, có thể do thói quen hoặc điều kiện kỹ thuật khu vực.

    • Không sử dụng dịch vụ Internet có 1.526 người (~22%), là nhóm ít nhất — điều này có thể bao gồm khách hàng chỉ dùng dịch vụ điện thoại hoặc truyền hình.

    Bảng tần suất

prop.table(table(d$InternetService))
## 
##        DSL  Cáp quang Không dùng 
##  0.3437456  0.4395854  0.2166690
ggplot(
  data.frame(
    Internet = names(prop.table(table(d$InternetService))),
    Percent = as.numeric(prop.table(table(d$InternetService)))
  ),
  aes(x = "", y = Percent, fill = Internet)
) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  geom_text(
    aes(label = paste0(round(Percent * 100, 1), "%")),
    position = position_stack(vjust = 0.5),
    color = "white", size = 5, fontface = "bold"
  ) +
  theme_void() +
  scale_fill_manual(values = c("DSL"        = "#FF9999",   # đỏ nhạt
                               "Cáp quang"  = "#66CCFF",   # xanh dương nhạt
                               "Không dùng" = "#99CC99")) + # xanh lá nhạt
  ggtitle("Tỷ lệ theo loại dịch vụ Internet")

  • Kết quả tần suất cho thấy:

    • Cáp quang là loại dịch vụ được sử dụng phổ biến nhất với 43.96% người dùng.

    • DSL chiếm tỷ lệ 34.37%, đứng thứ hai.

    • Không dùng Internet chỉ chiếm 21.67%, cho thấy đa số khách hàng đều có sử dụng một hình thức dịch vụ Internet nhất định.

  • Việc hơn 78% khách hàng sử dụng dịch vụ Internet (DSL hoặc Cáp quang) cho thấy vai trò quan trọng của yếu tố Internet trong các gói dịch vụ viễn thông.

2.2.2. Bảng tần số – tần suất kết hợp giữa loại dịch vụ Internet và hành vi rời bỏ dịch vụ

Bảng tần số

table(d$InternetService, d$Churn) %>%  addmargins()
##             
##              Không rời bỏ Rời bỏ  Sum
##   DSL                1962    459 2421
##   Cáp quang          1799   1297 3096
##   Không dùng         1413    113 1526
##   Sum                5174   1869 7043
ggplot(d, aes(x = InternetService, fill = Churn)) +
  geom_bar(position = position_dodge(width = 0.9)) +
  geom_text(stat = "count",
            aes(label = after_stat(count)),
            position = position_dodge(width = 0.9),
            vjust = -0.3,
            size = 4) +
  labs(title = "Tần số khách hàng theo loại dịch vụ Internet và hành vi rời bỏ",
       x = "Loại dịch vụ Internet",
       y = "Số lượng khách hàng",
       fill = "Hành vi rời bỏ") +
  scale_fill_manual(values = c("Không rời bỏ" = "#66CC99",  # xanh lá nhạt
                               "Rời bỏ"        = "#FF9999")) +  # đỏ nhạt
  theme_minimal()

  • Biểu đồ cho thấy :

    • Khách hàng sử dụng “Cáp quang” có tỷ lệ rời bỏ cao nhất: Trong tổng số 3.096 khách hàng sử dụng dịch vụ này, có 1.297 người rời bỏ, chiếm khoảng 41.9%, cho thấy đây là nhóm có mức độ rời bỏ đáng kể.

    • Nhóm “DSL” có mức độ rời bỏ thấp hơn: Chỉ có 459/2.421 người rời bỏ, tương đương khoảng 18.95%, cho thấy mức độ duy trì khách hàng cao hơn nhóm “Cáp quang”.

    • Khách hàng “Không dùng” Internet có tỷ lệ rời bỏ thấp nhất: Chỉ có 113/1.526, tương đương khoảng 7.41%, cho thấy những khách hàng không sử dụng Internet gần như ít rời bỏ dịch vụ hơn cả.

    Bảng tần suất

round(prop.table(table(d$InternetService, d$Churn), margin = 1) * 100, 1)
##             
##              Không rời bỏ Rời bỏ
##   DSL                81.0   19.0
##   Cáp quang          58.1   41.9
##   Không dùng         92.6    7.4
ggplot(
  as.data.frame(round(prop.table(table(d$InternetService, d$Churn), margin = 1) * 100, 1)),
  aes(x = Var1, y = Freq, fill = Var2)
) +
  geom_col(position = position_dodge(width = 0.9)) +
  geom_text(
    aes(label = paste0(Freq, "%"), y = Freq / 2),
    position = position_dodge(width = 0.9),
    color = "white", size = 4, fontface = "bold"
  ) +
  labs(
    title = "Ảnh hưởng của loại dịch vụ Internet đến hành vi rời bỏ dịch vụ",
    x = "Loại dịch vụ Internet",
    y = "Tỷ lệ (%)",
    fill = "Hành vi rời bỏ"
  ) +
  scale_fill_manual(values = c("Không rời bỏ" = "skyblue", "Rời bỏ" = "salmon")) +
  theme_minimal()

Dựa vào bảng tỷ lệ phần trăm hành vi rời bỏ theo loại dịch vụ Internet, ta nhận thấy:

  • Khách hàng sử dụng DSL có tỷ lệ rời bỏ thấp, chỉ chiếm 19.0%, trong khi 81.0% vẫn tiếp tục sử dụng dịch vụ. Điều này cho thấy nhóm này có xu hướng gắn bó cao.

  • Khách hàng sử dụng Cáp quang có tỷ lệ rời bỏ cao nhất, lên tới 41.9%. Điều này cho thấy nhóm này có nguy cơ rời bỏ dịch vụ cao, cần được quan tâm đặc biệt trong chiến lược giữ chân khách hàng.

  • Khách hàng không sử dụng dịch vụ Internet có tỷ lệ rời bỏ thấp nhất, chỉ 7.4%, với 92.6% vẫn ở lại. Tuy nhiên, nhóm này có thể là những khách hàng ít sử dụng dịch vụ và không phụ thuộc nhiều vào kết nối Internet.

Tóm lại, loại hình dịch vụ Internet có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ của khách hàng, đặc biệt là nhóm cáp quang với tỷ lệ rời bỏ cao đáng kể.

2.2.3. Phân tích Relative Risk hành vi rời bỏ dịch vụ giữa các loại Internet

2.2.3.1. Relative Risk

Dựa trên bảng tần số đã trình bày ở phần trước, em tiến hành tính toán Relative Risk (RR) nhằm phân tích mối quan hệ giữa loại dịch vụ Internet (biến độc lập) và hành vi rời bỏ dịch vụ của khách hàng (biến phụ thuộc). Trong phân tích này, nhóm “Không dùng Internet” được chọn làm nhóm tham chiếu, vì đây là nhóm có tỷ lệ rời bỏ dịch vụ thấp nhất, phản ánh mức độ ổn định cao hơn trong việc duy trì dịch vụ.

Việc so sánh các nhóm “DSL” và “Cáp quang” với nhóm tham chiếu giúp đánh giá mức độ rủi ro rời bỏ dịch vụ tương đối giữa các loại hình sử dụng Internet khác nhau. Kết quả RR thu được sẽ cung cấp các bằng chứng thực nghiệm hỗ trợ cho việc xây dựng chiến lược giữ chân khách hàng, đặc biệt là những nhóm sử dụng Internet tốc độ cao có nguy cơ rời bỏ cao hơn trong ngành viễn thông.

RR <- matrix(c(1962, 459,    # DSL
               1799, 1297,   # Cáp quang
               1413, 113),   # Không dùng
             nrow = 3,
             byrow = TRUE,
             dimnames = list(c("DSL", "Cáp quang", "Không dùng"),
                             c("Không rời bỏ", "Rời bỏ")))

# Chuyển thành bảng dữ liệu
RR_table <- as.data.frame(RR)

# Tính tổng mỗi nhóm Internet
RR_table$Tổng <- rowSums(RR_table)

# Tính tỷ lệ không rời bỏ và rời bỏ theo nhóm
RR_table$Tỷ_lệ_Không <- RR_table$`Không rời bỏ` / RR_table$Tổng
RR_table$Tỷ_lệ_Rời   <- RR_table$`Rời bỏ` / RR_table$Tổng

# Lấy nhóm tham chiếu là "Không dùng"
ref_khong <- RR_table["Không dùng", "Tỷ_lệ_Không"]
ref_roi   <- RR_table["Không dùng", "Tỷ_lệ_Rời"]

# Tính Relative Risk
RR_table$RR_Không <- round(RR_table$Tỷ_lệ_Không / ref_khong, 2)
RR_table$RR_Rời   <- round(RR_table$Tỷ_lệ_Rời / ref_roi, 2)

# Hiển thị kết quả cuối
RR_final <- RR_table[, c("RR_Không", "RR_Rời")]
colnames(RR_final) <- c("RR_Không rời bỏ", "RR_Rời bỏ")
RR_final
##            RR_Không rời bỏ RR_Rời bỏ
## DSL                   0.88      2.56
## Cáp quang             0.63      5.66
## Không dùng            1.00      1.00
  • DSL có RR_Rời bỏ là 2.56, nghĩa là khách hàng sử dụng DSL có nguy cơ rời bỏ dịch vụ cao gấp 2.56 lần so với nhóm tham chiếu “Không dùng” Internet. Tuy nhiên, khả năng duy trì dịch vụ (RR_Không rời bỏ) vẫn đạt 0.88, tương đối ổn định.

  • Cáp quang có RR_Rời bỏ cao nhất, lên đến 5.66, tức là khách hàng dùng cáp quang có khả năng rời bỏ dịch vụ cao gấp 5.66 lần so với nhóm không dùng Internet. Đồng thời, khả năng duy trì dịch vụ thấp nhất với RR_Không rời bỏ chỉ 0.63.

  • Không dùng Internet được chọn làm nhóm tham chiếu với RR = 1.00, vì đây là nhóm có tỷ lệ rời bỏ thấp nhất và khả năng duy trì dịch vụ cao nhất (92.6%).

2.2.3.2. Khoảng ước lượng cho Relative Risk

RR giữa nhóm khách hàng sử dụng dịch vụ “DSL” so với nhóm “Không dùng”

RR_DSL_vs_No <- matrix(c(1962, 459,    # DSL: Không rời bỏ - Rời bỏ
                         1413, 113),   # Không dùng: Không rời bỏ - Rời bỏ
                       nrow = 2,
                       byrow = TRUE,
                       dimnames = list(
                         c("DSL", "Không dùng"),
                         c("Không rời bỏ", "Rời bỏ")
                       ))

# Tính Relative Risk
epitab(RR_DSL_vs_No, method = "riskratio", rev = "c")
## $tab
##            Rời bỏ        p0 Không rời bỏ        p1 riskratio    lower   upper
## DSL           459 0.1895911         1962 0.8104089  1.000000       NA      NA
## Không dùng    113 0.0740498         1413 0.9259502  1.142572 1.115557 1.17024
##                 p.value
## DSL                  NA
## Không dùng 1.775062e-25
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Dựa vào kết quả phân tích Relative Risk, nhóm “DSL” được chọn làm nhóm tham chiếu. Tỷ lệ khách hàng rời bỏ dịch vụ trong nhóm sử dụng “DSL” là 18.96%, trong khi ở nhóm “Không dùng” chỉ là 7.40%.

  • Giá trị RR (Risk Ratio) của nhóm “Không dùng” so với nhóm “DSL” là 1.14, với khoảng tin cậy 95% là [1.12 ; 1.17], và giá trị p-value rất nhỏ (p < 0.001).

Điều này cho thấy rằng khách hàng sử dụng “DSL” có nguy cơ rời bỏ cao hơn 1.14 lần so với khách hàng không sử dụng dịch vụ Internet, và kết quả này có ý nghĩa thống kê. Hay nói cách khác, việc không sử dụng Internet gắn liền với tỷ lệ rời bỏ dịch vụ thấp hơn đáng kể so với khách hàng dùng DSL.

RR giữa nhóm khách hàng sử dụng Internet “Cáp quang” so với “Không dùng”

RR_fiber_vs_none <- matrix(c(1799, 1297,   # Cáp quang: Không rời bỏ - Rời bỏ
                             1413,  113),  # Không dùng
                           nrow = 2,
                           byrow = TRUE,
                           dimnames = list(
                             c("Cáp quang", "Không dùng"),
                             c("Không rời bỏ", "Rời bỏ")
                           ))
epitab(RR_fiber_vs_none, method = "riskratio", rev = "c")
## $tab
##            Rời bỏ        p0 Không rời bỏ        p1 riskratio    lower    upper
## Cáp quang    1297 0.4189276         1799 0.5810724   1.00000       NA       NA
## Không dùng    113 0.0740498         1413 0.9259502   1.59352 1.541632 1.647154
##                  p.value
## Cáp quang             NA
## Không dùng 2.685151e-147
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Khách hàng không sử dụng Internet có khả năng rời bỏ dịch vụ thấp hơn so với nhóm dùng Cáp quang, với nguy cơ rời bỏ chỉ bằng khoảng 63% (1 / 1.59) so với nhóm Cáp quang. Ngược lại, nếu so chiều dương, nhóm Cáp quang có nguy cơ rời bỏ cao hơn 1.59 lần so với nhóm không dùng Internet.

2.2.4. Phân tích odds ratio giữa loại dịch vụ Internet và hành vi rời bỏ dịch vụ

Odd ratio và khoảng ước lượng giữa nhóm khách hàng dùng “DSL” so với nhóm “Không dùng” Internet

odd <- table(d$InternetService, d$Churn)

# Chọn 2 nhóm: DSL và Không dùng, sắp theo thứ tự: Rời bỏ - Không rời bỏ
odd_dsl_vs_none <- odd[c("DSL", "Không dùng"), c("Rời bỏ", "Không rời bỏ")]

# Tính Odds Ratio
epitab(odd_dsl_vs_none, method = "oddsratio", rev = "c")
## $tab
##             
##              Không rời bỏ        p0 Rời bỏ        p1 oddsratio     lower
##   DSL                1962 0.5813333    459 0.8024476 1.0000000        NA
##   Không dùng         1413 0.4186667    113 0.1975524 0.3418398 0.2751875
##             
##                  upper      p.value
##   DSL               NA           NA
##   Không dùng 0.4246356 1.775062e-25
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích cho thấy Odds Ratio (OR) giữa nhóm khách hàng không dùng Internet so với nhóm dùng DSL là 0.34 (OR = 0.3418, 95% CI: [0.2752 ; 0.4246], p < 2.2e-16).

  • Điều này cho thấy khách hàng không sử dụng Internet có nguy cơ rời bỏ dịch vụ thấp hơn đáng kể so với nhóm dùng DSL. Cụ thể, xác suất rời bỏ ở nhóm “Không dùng” thấp hơn gần 66% so với nhóm “DSL”.

  • Với giá trị p-value rất nhỏ (< 0.001), ta có bằng chứng thống kê mạnh để bác bỏ giả thuyết rằng Odds Ratio bằng 1, tức là mối liên hệ giữa loại dịch vụ Internet và hành vi rời bỏ là có ý nghĩa thống kê.

⇒ Do đó, loại hình Internet khách hàng đang sử dụng có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ.

Odd ratio và khoảng ước lượng giữa giữa nhóm khách hàng sử dụng Internet “Cáp quang” so với “Không dùng”

odd_internet <- table(d$InternetService, d$Churn)

# Lấy hai nhóm: "Cáp quang" và "Không dùng", cột theo thứ tự: Rời bỏ - Không rời bỏ
odd_fiber_vs_no <- odd_internet[c("Cáp quang", "Không dùng"), c("Rời bỏ", "Không rời bỏ")]

# Tính Odds Ratio
epitab(odd_fiber_vs_no, method = "oddsratio")
## $tab
##             
##              Rời bỏ         p0 Không rời bỏ        p1 oddsratio lower    upper
##   Cáp quang    1297 0.91985816         1799 0.5600872  1.000000    NA       NA
##   Không dùng    113 0.08014184         1413 0.4399128  9.015141 7.348 11.06053
##             
##                    p.value
##   Cáp quang             NA
##   Không dùng 2.685151e-147
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả cho thấy Odds Ratio (OR) = 9.02, nghĩa là xác suất rời bỏ dịch vụ ở nhóm khách hàng sử dụng Internet “Cáp quang” cao gấp khoảng 9 lần so với nhóm “Không dùng” Internet. Khoảng tin cậy 95% cho OR nằm trong khoảng [7.35; 11.06], không chứa giá trị 1, nên khác biệt này là có ý nghĩa thống kê (p-value < 2.2e-16).

  • Kết luận: Việc sử dụng Internet Cáp quang có mối liên hệ đáng kể với hành vi rời bỏ dịch vụ, gợi ý rằng nhóm khách hàng này có thể có trải nghiệm hoặc kỳ vọng cao hơn, từ đó dẫn đến khả năng rời bỏ cao hơn. Nhà cung cấp dịch vụ nên xem xét cải thiện chất lượng dịch vụ hoặc chăm sóc khách hàng tốt hơn cho nhóm này nhằm giảm tỷ lệ churn.

2.2.5. Thống kê suy diễn

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

  • Mục tiêu của kiểm định là đánh giá xem loại dịch vụ Internet (InternetService) và hành vi rời bỏ dịch vụ (Churn) có phụ thuộc nhau hay không. Nói cách khác, ta muốn xác định xem việc khách hàng sử dụng loại dịch vụ Internet nào có ảnh hưởng đến khả năng rời bỏ dịch vụ hay không.

  • Bài toán kiểm định:

\[ H_0: \text{Loại dịch vụ Internet và hành vi rời bỏ dịch vụ là độc lập với nhau.} \\ H_1: \text{Loại dịch vụ Internet và hành vi rời bỏ dịch vụ có mối quan hệ phụ thuộc.} \]

chisq.test(table(d$InternetService, d$Churn))
## 
##  Pearson's Chi-squared test
## 
## data:  table(d$InternetService, d$Churn)
## X-squared = 732.31, df = 2, p-value < 2.2e-16
  • Kết quả kiểm định Chi-squared cho thấy:

    • Giá trị thống kê Chi-squared: 732.31

    • Bậc tự do (df): 2

    • Giá trị p-value: < 2.2e-16

  • Kết luận: Vì giá trị p-value rất nhỏ (< 0.05), ta bác bỏ giả thuyết H₀ tại mức ý nghĩa 5%. Điều này cho thấy có mối quan hệ phụ thuộc có ý nghĩa thống kê giữa loại dịch vụ Internet mà khách hàng sử dụng và hành vi rời bỏ dịch vụ. Nói cách khác, việc lựa chọn dịch vụ Internet ảnh hưởng đáng kể đến khả năng khách hàng rời bỏ dịch vụ, từ đó gợi ý rằng các doanh nghiệp viễn thông cần xem xét loại hình dịch vụ Internet như một yếu tố quan trọng trong chiến lược giữ chân khách hàng.

2.2.5.2. Khoảng ước lượng tỷ lệ

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm khách hàng sử dụng “Cáp quang””

internet_fiber <- table(d[d$InternetService == "Cáp quang", ]$Churn)
internet_fiber
## 
## Không rời bỏ       Rời bỏ 
##         1799         1297
# Ước lượng tỷ lệ rời bỏ và kiểm định tỷ lệ giả định (p = 0.3)
prop.test(internet_fiber["Rời bỏ"], sum(internet_fiber), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  internet_fiber["Rời bỏ"] out of sum(internet_fiber), null probability 0.3
## X-squared = 207.95, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.4014989 0.4365592
## sample estimates:
##         p 
## 0.4189276
  • Tỷ lệ khách hàng rời bỏ dịch vụ trong nhóm sử dụng Internet Cáp quang là khoảng 41.89%, với khoảng tin cậy 95% nằm trong khoảng từ 40.15% đến 43.66%. Kết quả kiểm định cho giá trị p rất nhỏ (p-value < 2.2e-16), cho thấy sự khác biệt có ý nghĩa thống kê giữa tỷ lệ quan sát được và tỷ lệ giả định ban đầu là 30%.

  • Điều này chứng tỏ rằng tỷ lệ rời bỏ dịch vụ của khách hàng sử dụng Cáp quang cao hơn đáng kể so với mức kỳ vọng 30%, hàm ý rằng nhóm khách hàng này có mức độ rủi ro rời bỏ cao hơn và cần được các doanh nghiệp viễn thông đặc biệt quan tâm để cải thiện trải nghiệm và giữ chân khách hàng.

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm khách hàng sử dụng “DSL”

internet_dsl <- table(d[d$InternetService == "DSL", ]$Churn)
internet_dsl
## 
## Không rời bỏ       Rời bỏ 
##         1962          459
prop.test(internet_dsl["Rời bỏ"], sum(internet_dsl), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  internet_dsl["Rời bỏ"] out of sum(internet_dsl), null probability 0.3
## X-squared = 140.01, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.1742738 0.2059048
## sample estimates:
##         p 
## 0.1895911
  • Kết quả kiểm định cho thấy tỷ lệ rời bỏ dịch vụ trong nhóm khách hàng sử dụng Internet DSL là 18.96%, với khoảng tin cậy 95% nằm trong khoảng [17.43%; 20.59%].

  • Giá trị p-value < 2.2e-16, nhỏ hơn 0.05, cho thấy có bằng chứng thống kê để bác bỏ giả thuyết H₀ rằng tỷ lệ rời bỏ là 30%. Điều này nghĩa là tỷ lệ rời bỏ thực tế trong nhóm sử dụng DSL khác biệt đáng kể so với tỷ lệ giả định 30%, và cụ thể là thấp hơn đáng kể.

  • Do đó, nhóm khách hàng sử dụng DSL có xu hướng rời bỏ dịch vụ ít hơn so với giả định, phản ánh mức độ ổn định cao hơn so với trung bình.

Ước lượng tỷ lệ rời bỏ dịch vụ trong nhóm khách hàng “không sử dụng Internet”

internet_none <- table(d[d$InternetService == "Không dùng", ]$Churn)
internet_none
## 
## Không rời bỏ       Rời bỏ 
##         1413          113
prop.test(internet_none["Rời bỏ"], sum(internet_none), p = 0.3)
## 
##  1-sample proportions test with continuity correction
## 
## data:  internet_none["Rời bỏ"] out of sum(internet_none), null probability 0.3
## X-squared = 369.91, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
##  0.06165420 0.08863765
## sample estimates:
##         p 
## 0.0740498
  • Tỷ lệ rời bỏ dịch vụ trong nhóm khách hàng không sử dụng Internet là 7.40%, với khoảng tin cậy 95% nằm trong khoảng [6.17%; 8.86%].

  • Kết quả kiểm định cho giá trị p-value < 2.2e-16, nhỏ hơn mức ý nghĩa 0.05. Do đó, ta bác bỏ giả thuyết H₀, rằng tỷ lệ rời bỏ trong nhóm này bằng 30%. Điều này cho thấy có sự khác biệt có ý nghĩa thống kê, cụ thể là thấp hơn nhiều so với tỷ lệ giả định.

  • Nói cách khác, khách hàng không sử dụng Internet có xu hướng gắn bó với dịch vụ cao hơn, và ít rời bỏ hơn so với mặt bằng chung.

2.2.6. Mô hình hồi quy cho dữ liệu nhị phân

Mô hình xác suất tuyến tính

  • Trong phần này, tiến hành hồi quy xác suất tuyến tính (Linear Probability Model) nhằm kiểm tra mối quan hệ giữa loại dịch vụ Internet mà khách hàng sử dụng với hành vi rời bỏ dịch vụ.

  • Biến phụ thuộc Churn được chuyển thành biến nhị phân Churn_bin với giá trị:

    • 1 nếu khách hàng rời bỏ dịch vụ (tương ứng với “Yes”),

    • 0 nếu khách hàng không rời bỏ (tương ứng với “No”).

  • Biến độc lập là InternetService – loại dịch vụ Internet mà khách hàng đang dùng. Trong mô hình này, nhóm “Không dùng” được chọn làm nhóm tham chiếu, vì đây là nhóm có tỷ lệ rời bỏ thấp nhất và giúp làm rõ ảnh hưởng của các loại internet có đăng ký (DSL, Cáp quang).

d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)

# Đảm bảo biến InternetService là factor và đặt nhóm tham chiếu là "Không dùng"
d$InternetService <- factor(d$InternetService)
d$InternetService <- relevel(d$InternetService, ref = "Không dùng")

# Mô hình xác suất tuyến tính (Linear Probability Model)
glm_internet <- glm(Churn_bin ~ InternetService, data = d)

# Kết quả mô hình
summary(glm_internet)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService, data = d)
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)               0.07405    0.01070   6.920 4.92e-12 ***
## InternetServiceDSL        0.11554    0.01366   8.456  < 2e-16 ***
## InternetServiceCáp quang  0.34488    0.01308  26.376  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.174753)
## 
##     Null deviance: 1373.0  on 7042  degrees of freedom
## Residual deviance: 1230.3  on 7040  degrees of freedom
## AIC: 7706.5
## 
## Number of Fisher Scoring iterations: 2

Dựa trên kết quả hồi quy tuyến tính với biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ) và biến độc lập là InternetService (Loại dịch vụ Internet), ta có phương trình hồi quy như sau:

\[ \hat{\pi} = 0.07405 + 0.11554 \cdot InternetService_{\text{DSL}} + 0.34488 \cdot InternetService_{\text{Cáp quang}} \]

Tất cả các hệ số đều có giá trị p nhỏ hơn mức ý nghĩa \(\alpha = 0.05\), cho thấy loại dịch vụ Internet khách hàng sử dụng có ảnh hưởng thống kê có ý nghĩa đến xác suất rời bỏ dịch vụ.

  • Hệ số chặn \(\beta_0 = 0.07405\) đại diện cho xác suất rời bỏ dịch vụ trong nhóm khách hàng không sử dụng Internet (nhóm tham chiếu). Điều này có nghĩa là chỉ có khoảng 7.41% khách hàng trong nhóm này rời bỏ dịch vụ.

  • Hệ số \(\beta_1 = 0.11554\) biểu thị mức chênh lệch xác suất rời bỏ dịch vụ giữa nhóm sử dụng DSL và nhóm không dùng Internet. Khi các yếu tố khác không đổi, khách hàng dùng DSL có xác suất rời bỏ cao hơn 11.55%, tức xác suất rời bỏ là khoảng 18.96%.

  • Hệ số \(\beta_2 = 0.34488\) phản ánh chênh lệch giữa nhóm sử dụng Internet Cáp quang và nhóm không dùng. Xác suất rời bỏ tăng thêm 34.49%, tức xác suất rời bỏ trung bình của nhóm này là khoảng 41.89%.

Từ đó, ta thấy rằng dịch vụ Internet có ảnh hưởng rõ rệt đến hành vi rời bỏ dịch vụ. Đặc biệt, khách hàng sử dụng Cáp quang có nguy cơ rời bỏ cao nhất, trong khi khách hàng không dùng Internet có mức độ gắn bó cao nhất với doanh nghiệp.

model_internet <- glm(Churn_bin ~ InternetService, data = d)

# Tạo data frame chứa các loại dịch vụ Internet cần dự đoán
internet_types <- data.frame(InternetService = c("Không dùng", "DSL", "Cáp quang"))

# Dự đoán xác suất rời bỏ dịch vụ theo từng loại dịch vụ Internet
predict(model_internet, newdata = internet_types, type = "response")
##         1         2         3 
## 0.0740498 0.1895911 0.4189276

Dựa trên kết quả mô hình hồi quy tuyến tính với biến phụ thuộc là Churn_bin và biến độc lập là InternetService, ta nhận thấy loại dịch vụ Internet có ảnh hưởng đến hành vi rời bỏ dịch vụ của khách hàng.

  • Khách hàng không dùng Internet có xác suất rời bỏ dịch vụ khoảng 7.4%.
  • Khách hàng dùng DSL có xác suất rời bỏ khoảng 18.96%.
  • Khách hàng dùng Cáp quang có xác suất rời bỏ cao nhất, khoảng 41.89%.

Như vậy, khách hàng sử dụng Internet, đặc biệt là Cáp quang, có xu hướng rời bỏ dịch vụ nhiều hơn so với nhóm không dùng Internet.

Mô hình logit

d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)

# Chuyển InternetService thành factor và đặt "Không dùng" làm nhóm tham chiếu
d$InternetService <- factor(d$InternetService, levels = c("Không dùng", "DSL", "Cáp quang"))

# Xây dựng mô hình hồi quy logit
logit_model <- glm(Churn_bin ~ InternetService, data = d, family = binomial(link = "logit"))

# Hiển thị kết quả
summary(logit_model)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)              -2.52608    0.09776  -25.84   <2e-16 ***
## InternetServiceDSL        1.07341    0.11066    9.70   <2e-16 ***
## InternetServiceCáp quang  2.19891    0.10433   21.08   <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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 7367.3  on 7040  degrees of freedom
## AIC: 7373.3
## 
## Number of Fisher Scoring iterations: 5

Dựa trên kết quả hồi quy logit với biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ) và biến độc lập là InternetService (loại dịch vụ Internet), ta có phương trình hồi quy như sau:

\[ \ln\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = -2.52608 + 1.07341 \cdot \text{DSL} + 2.19891 \cdot \text{Cáp\ quang} \]

Trong đó, nhóm tham chiếu là khách hàng không sử dụng Internet.

  • Hệ số chặn \(\hat{\beta}_0 = -2.52608\) thể hiện logit của xác suất rời bỏ trong nhóm không dùng Internet, tương ứng với xác suất rời bỏ rất thấp trong nhóm này.

  • Hệ số \(\hat{\beta}_1 = 1.07341\) cho thấy khách hàng sử dụng DSL có logit xác suất rời bỏ cao hơn nhóm không dùng Internet là 1.07341 đơn vị. Điều này phản ánh xác suất rời bỏ cao hơn đáng kể.

  • Hệ số \(\hat{\beta}_2 = 2.19891\) cho thấy khách hàng sử dụng Cáp quang có logit xác suất rời bỏ cao hơn nhóm không dùng Internet là 2.19891 đơn vị – tức xác suất rời bỏ rất cao trong nhóm này.

Tóm lại, mô hình hồi quy logit cho thấy loại dịch vụ Internet có ảnh hưởng lớn đến hành vi rời bỏ dịch vụ. Cụ thể, khách hàng dùng Cáp quang có xác suất rời bỏ cao nhất, tiếp theo là DSL, và thấp nhất là nhóm không sử dụng Internet.

Mô hình Probit

d$InternetService <- relevel(factor(d$InternetService), ref = "Không dùng")

# Hồi quy probit
probit_internet <- glm(Churn_bin ~ InternetService, data = d, family = binomial(link = "probit"))

# Xem kết quả mô hình
summary(probit_internet)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)              -1.44628    0.04782  -30.25   <2e-16 ***
## InternetServiceDSL        0.56687    0.05613   10.10   <2e-16 ***
## InternetServiceCáp quang  1.24164    0.05293   23.46   <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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 7367.3  on 7040  degrees of freedom
## AIC: 7373.3
## 
## Number of Fisher Scoring iterations: 5

Dựa trên kết quả hồi quy probit với biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ) và biến độc lập là InternetService (loại dịch vụ Internet), ta có phương trình hồi quy như sau:

\[ \Phi^{-1}(\hat{\pi}) = -1.44628 + 0.56687 \cdot \text{DSL} + 1.24164 \cdot \text{Cáp quang} \]

Trong đó:

  • \(\Phi^{-1}(\hat{\pi})\) là giá trị của hàm nghịch đảo chuẩn (probit) ứng với xác suất rời bỏ dịch vụ.

  • Nhóm “Không dùng Internet” được chọn làm nhóm tham chiếu.

  • Hệ số chặn \(\beta_0 = -1.44628\) đại diện cho khách hàng không sử dụng dịch vụ Internet. Với giá trị này, xác suất rời bỏ dịch vụ là khá thấp (ứng với giá trị z âm lớn).

  • Hệ số \(\beta_1 = 0.56687\) cho biết khách hàng sử dụng DSL có điểm z cao hơn nhóm không dùng Internet là 0.56687 đơn vị, tương ứng với xác suất rời bỏ cao hơn rõ rệt.

  • Hệ số \(\beta_2 = 1.24164\) cho thấy khách hàng sử dụng Cáp quang có điểm z cao hơn 1.24 đơn vị so với nhóm không dùng, phản ánh xác suất rời bỏ dịch vụ tăng mạnh.

Tất cả các hệ số đều có giá trị p rất nhỏ (\(p < 0.001\)), cho thấy loại hình Internet có ảnh hưởng thống kê rõ rệt đến hành vi rời bỏ dịch vụ. Khách hàng dùng Cáp quang có khả năng rời bỏ cao nhất, tiếp đến là DSL, còn khách hàng không dùng Internet có xác suất rời bỏ thấp nhất.

2.2.7. Đánh giá mô hình

Chỉ số AIC

AIC(glm_model)
## [1] 7182.712
AIC(logit_model)
## [1] 7373.328
AIC(probit_internet)
## [1] 7373.328

Dựa trên kết quả so sánh giá trị AIC (Akaike Information Criterion) của ba mô hình hồi quy, với biến độc lập là InternetService:

  • Mô hình tuyến tính (Linear Probability Model - LPM): AIC = 7182.712
  • Mô hình logit: AIC = 7373.328
  • Mô hình probit: AIC = 7373.328

Trong ba mô hình được so sánh, mô hình tuyến tính có giá trị AIC thấp nhất, cho thấy đây là mô hình phù hợp hơn về mặt cân bằng giữa độ chính xác và độ phức tạp của mô hình.

Tuy nhiên, cần lưu ý rằng LPM có những hạn chế như khả năng dự đoán xác suất ngoài khoảng [0,1] và giả định sai phân phối lỗi. Vì vậy, dù AIC thấp hơn, vẫn nên cân nhắc giữa tính đơn giản của LPM và tính hợp lý thống kê của mô hình logit/probit.

Hệ số Brier Score

BrierScore(logit_model)
## [1] 0.1746785
BrierScore(probit_internet)
## [1] 0.1746785

Chỉ số Brier Score đo lường độ chính xác của mô hình hồi quy nhị phân bằng cách tính trung bình bình phương sai số giữa xác suất dự đoán và giá trị thực tế. Giá trị càng thấp càng thể hiện mô hình dự đoán tốt hơn (tối ưu là 0).

Kết quả:

  • Logit model: Brier Score = 0.1747
  • Probit model: Brier Score = 0.1747

=> Hai mô hình có giá trị Brier Score bằng nhau, cho thấy rằng độ chính xác dự đoán của chúng là tương đương nhau trên tập dữ liệu này.

2.3. Phân tích đa biến tác động đến hành vi rời bỏ dịch vụ của khách hàng trong ngành viễn thông

2.3.1. Mô hình xác suất tuyến tính đối với dữ liệu nhị phân

Trong phần này, xây dựng mô hình hồi quy xác suất tuyến tính để phân tích tác động của hai yếu tố đến xác suất khách hàng rời bỏ dịch vụ (Churn_bin = 1) trong ngành viễn thông.

  • Biến phụ thuộc: Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ)
  • Biến độc lập:
    • InternetService: Loại dịch vụ Internet khách hàng sử dụng (Không dùng, DSL, Cáp quang)
    • Contract: Loại hợp đồng khách hàng đăng ký (Theo tháng, 1 năm, 2 năm)
d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)

# Thiết lập nhóm tham chiếu
d$InternetService <- relevel(factor(d$InternetService), ref = "Không dùng")
d$Contract <- relevel(factor(d$Contract), ref = "2 năm")

# Hồi quy xác suất tuyến tính
model_lpm <- glm(Churn_bin ~ InternetService + Contract, data = d)
summary(model_lpm)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService + Contract, data = d)
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              -0.05384    0.01199  -4.490 7.23e-06 ***
## InternetServiceDSL        0.06186    0.01293   4.785 1.74e-06 ***
## InternetServiceCáp quang  0.23405    0.01277  18.331  < 2e-16 ***
## Contract1 năm             0.05695    0.01403   4.060 4.95e-05 ***
## ContractTheo tháng        0.33288    0.01188  28.022  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1530686)
## 
##     Null deviance: 1373.0  on 7042  degrees of freedom
## Residual deviance: 1077.3  on 7038  degrees of freedom
## AIC: 6775.4
## 
## Number of Fisher Scoring iterations: 2

Dựa trên kết quả hồi quy tuyến tính với biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ) và hai biến độc lập là InternetService (Loại dịch vụ Internet) và Contract (Loại hợp đồng), ta có phương trình ước lượng xác suất rời bỏ dịch vụ như sau:

\[ \hat{\pi} = -0.05384 + 0.06186 \cdot \text{DSL} + 0.23405 \cdot \text{Cáp quang} + 0.05695 \cdot \text{1 năm} + 0.33288 \cdot \text{Theo tháng} \]

Trong đó:

  • Hệ số chặn \(\beta_0 = -0.05384\) đại diện cho xác suất rời bỏ dịch vụ của nhóm khách hàng không dùng Internet và ký hợp đồng 2 năm (nhóm tham chiếu).

  • InternetServiceDSL: Khách hàng dùng DSL có xác suất rời bỏ cao hơn 6.19% so với nhóm không dùng Internet, với hệ số \(\beta = 0.06186\), có ý nghĩa thống kê (p < 0.001).

  • InternetServiceCáp quang: Khách hàng dùng Cáp quang có xác suất rời bỏ cao hơn 23.41% so với nhóm không dùng Internet. Đây là nhóm có nguy cơ rời bỏ cao nhất trong biến này.

  • Contract1 năm: Khách hàng ký hợp đồng 1 năm có xác suất rời bỏ cao hơn 5.70% so với nhóm hợp đồng 2 năm.

  • ContractTheo tháng: Hệ số lớn nhất trong mô hình là \(\beta = 0.33288\), cho thấy khách hàng sử dụng hợp đồng theo tháng có xác suất rời bỏ cao hơn 33.29% so với nhóm 2 năm.

Tất cả các hệ số đều có giá trị p nhỏ hơn 0.001, tức có ý nghĩa thống kê rất mạnh. Từ đó, ta thấy rằng cả loại dịch vụ Internet và loại hợp đồng đều tác động đáng kể đến hành vi rời bỏ dịch vụ. Cụ thể:

  • Khách hàng dùng Internet cáp quang và hợp đồng theo tháng có khả năng rời bỏ cao nhất.
  • Ngược lại, nhóm khách hàng không dùng Internet và ký hợp đồng 2 năm là nhóm gắn bó nhất.

Điều này gợi ý rằng doanh nghiệp cần có chính sách ưu đãi hoặc giữ chân đặc biệt với các nhóm có nguy cơ rời bỏ cao, đặc biệt là khách hàng sử dụng Internet cáp quang hoặc hợp đồng theo tháng.

Dựa vào kết quả của mô hình hồi quy tuyến tính đã xây dựng, sẽ tạo ra một bảng gồm các tổ hợp của hai biến độc lập: InternetService (Dịch vụ Internet) và Contract (Loại hợp đồng), nhằm dự báo xác suất khách hàng rời bỏ dịch vụ trong từng trường hợp.

new_data <- data.frame(
  InternetService = c("Không dùng", "Không dùng", "DSL", "DSL", "Cáp quang", "Cáp quang"),
  Contract = c("2 năm", "Theo tháng", "2 năm", "Theo tháng", "2 năm", "Theo tháng")
)

# Dự báo xác suất rời bỏ dịch vụ cho từng trường hợp
predicted_probs <- predict(glm_model, newdata = new_data, type = "response")

# Gộp kết quả dự báo vào bảng
new_data$Predicted_Prob <- round(predicted_probs, 4)

new_data
##   InternetService   Contract Predicted_Prob
## 1      Không dùng      2 năm         0.0283
## 2      Không dùng Theo tháng         0.4271
## 3             DSL      2 năm         0.0283
## 4             DSL Theo tháng         0.4271
## 5       Cáp quang      2 năm         0.0283
## 6       Cáp quang Theo tháng         0.4271

Dựa trên bảng kết quả dự báo từ mô hình hồi quy tuyến tính, ta có thể rút ra một số nhận xét quan trọng như sau:

  • Trong tất cả các nhóm có hợp đồng “2 năm”, xác suất rời bỏ dịch vụ đều rất thấp, chỉ khoảng 2.83%. Điều này cho thấy khách hàng sử dụng hợp đồng dài hạn thường có mức độ gắn bó cao hơn với nhà cung cấp dịch vụ.

  • Ngược lại, ở các nhóm có hợp đồng “Theo tháng”, xác suất rời bỏ dịch vụ tăng vọt lên khoảng 42.71%, bất kể loại dịch vụ Internet đang sử dụng là gì. Điều này phản ánh rằng hình thức hợp đồng theo tháng là yếu tố rủi ro lớn nhất dẫn đến việc khách hàng rời bỏ dịch vụ.

  • Loại dịch vụ Internet (Không dùng, DSL, Cáp quang) không làm thay đổi đáng kể xác suất rời bỏ, nếu xét trong cùng một nhóm hợp đồng. Điều này cho thấy biến Contract có ảnh hưởng mạnh hơn nhiều so với InternetService trong mô hình hồi quy tuyến tính này.

2.3.2. Mô hình logistic

d$Churn_bin <- ifelse(d$Churn == "Rời bỏ", 1, 0)

# Thiết lập lại thứ tự biến phân loại nếu cần
d$InternetService <- factor(d$InternetService)
d$Contract <- factor(d$Contract)

# Mô hình hồi quy logistic với 2 biến độc lập: loại Internet và loại hợp đồng
log4 <- glm(Churn_bin ~ InternetService + Contract, data = d, family = binomial(link = "logit"))

# Xem kết quả mô hình
summary(log4)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService + Contract, family = binomial(link = "logit"), 
##     data = d)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -4.5019     0.1732 -25.992  < 2e-16 ***
## InternetServiceDSL         0.8127     0.1160   7.006 2.45e-12 ***
## InternetServiceCáp quang   1.7483     0.1095  15.970  < 2e-16 ***
## Contract1 năm              1.3126     0.1698   7.730 1.07e-14 ***
## ContractTheo tháng         2.9500     0.1514  19.479  < 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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 6349.0  on 7038  degrees of freedom
## AIC: 6359
## 
## Number of Fisher Scoring iterations: 6

Kết quả từ mô hình hồi quy logit như sau:

\[ \log(\text{odds}) = -4.5019 + 0.8127 \cdot \text{DSL} + 1.7483 \cdot \text{Cáp quang} + 1.3126 \cdot \text{1 năm} + 2.9500 \cdot \text{Theo tháng} \]

Trong đó, biến phụ thuộc là Churn_bin (1 = Rời bỏ, 0 = Không rời bỏ). Nhóm tham chiếu là khách hàng không dùng Internet và có hợp đồng 2 năm.

  • Hệ số chặn \(\hat{\beta}_0 = -4.5019\): Điều này cho thấy, với khách hàng không dùng Internet và hợp đồng 2 năm, log(odds) rời bỏ dịch vụ là -4.5019. Tương ứng odds ≈ \(\exp(-4.5019) \approx 0.0111\), tức xác suất rời bỏ cực kỳ thấp (~1.1%).

  • Hệ số \(\hat{\beta}_1 = 0.8127\) (DSL): So với nhóm không dùng Internet, nhóm dùng DSL có log(odds) cao hơn 0.8127. Điều này tương đương với odds rời bỏ gấp \(\exp(0.8127) \approx 2.25\) lần – nghĩa là khách hàng dùng DSL có nguy cơ rời bỏ cao gấp đôi.

  • Hệ số \(\hat{\beta}_2 = 1.7483\) (Cáp quang): Với khách hàng dùng Cáp quang, odds rời bỏ tăng đến \(\exp(1.7483) \approx 5.74\) lần so với nhóm không dùng Internet – mức rất đáng kể.

  • Hệ số \(\hat{\beta}_3 = 1.3126\) (Hợp đồng 1 năm): So với nhóm có hợp đồng 2 năm, khách hàng ký hợp đồng 1 năm có odds rời bỏ tăng lên \(\exp(1.3126) \approx 3.72\) lần – tức rủi ro cao gấp gần 4 lần.

  • Hệ số \(\hat{\beta}_4 = 2.9500\) (Hợp đồng theo tháng): Đây là hệ số lớn nhất trong mô hình. Log(odds) rời bỏ tăng mạnh so với nhóm hợp đồng 2 năm, tương ứng odds tăng đến \(\exp(2.9500) \approx 19.1\) lần – cực kỳ cao. Điều này cho thấy khách hàng dùng hợp đồng theo tháng có xác suất rời bỏ cao nhất.

Kết luận:

Cả dịch vụ Internet và loại hợp đồng đều có ảnh hưởng thống kê có ý nghĩa đến hành vi rời bỏ dịch vụ của khách hàng. Những khách hàng:

  • Dùng Cáp quang,
  • Ký hợp đồng theo tháng,

có xác suất rời bỏ cao vượt trội so với nhóm không dùng Internet và ký hợp đồng 2 năm. Ngược lại, những khách hàng có hợp đồng dài hạn và không sử dụng dịch vụ Internet là nhóm trung thành nhất với doanh nghiệp.

2.3.3. Mô hình probit đa biến

probit_model <- glm(Churn_bin ~ InternetService + Contract, 
                    data = d, 
                    family = binomial(link = "probit"))

# Xem kết quả mô hình
summary(probit_model)
## 
## Call:
## glm(formula = Churn_bin ~ InternetService + Contract, family = binomial(link = "probit"), 
##     data = d)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)              -2.47831    0.08209 -30.192  < 2e-16 ***
## InternetServiceDSL        0.45092    0.06289   7.170 7.52e-13 ***
## InternetServiceCáp quang  1.00951    0.05926  17.036  < 2e-16 ***
## Contract1 năm             0.62968    0.07954   7.917 2.44e-15 ***
## ContractTheo tháng        1.57994    0.06895  22.914  < 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: 8150.1  on 7042  degrees of freedom
## Residual deviance: 6345.3  on 7038  degrees of freedom
## AIC: 6355.3
## 
## Number of Fisher Scoring iterations: 6
# Tạo bảng dữ liệu mới để dự báo xác suất rời bỏ
new_data <- data.frame(
  InternetService = c("Không dùng", "Không dùng", "DSL", "DSL", "Cáp quang", "Cáp quang"),
  Contract = c("2 năm", "Theo tháng", "2 năm", "Theo tháng", "2 năm", "Theo tháng")
)

# Dự báo xác suất rời bỏ dịch vụ theo từng kết hợp
predicted_probs <- predict(probit_model, newdata = new_data, type = "response")
predicted_probs
##           1           2           3           4           5           6 
## 0.006600347 0.184494070 0.021311552 0.327276414 0.070943540 0.544246670

Kết quả từ mô hình Probit như sau:

\[ \hat{\pi} = \Phi(-2.47831 + 0.45092 \cdot \text{DSL} + 1.00951 \cdot \text{Cáp quang} + 0.62968 \cdot \text{HĐ 1 năm} + 1.57994 \cdot \text{HĐ theo tháng}) \]

Trong đó: - \(\Phi\) là hàm phân phối tích lũy chuẩn (CDF) của phân phối chuẩn chuẩn hoá. - Nhóm tham chiếu là khách hàng không sử dụng Internet và ký hợp đồng 2 năm.

Tất cả các hệ số đều có ý nghĩa thống kê ở mức \(\alpha = 0.05\), cho thấy loại hình dịch vụ Internet và loại hợp đồng đều có ảnh hưởng đến xác suất rời bỏ dịch vụ.

Dự báo xác suất rời bỏ:

  • Khách hàng không dùng Internet, hợp đồng 2 năm: xác suất rời bỏ là 0.66%.

  • Không dùng Internet, hợp đồng theo tháng: xác suất rời bỏ là 18.45%.

  • Dùng DSL, hợp đồng 2 năm: xác suất rời bỏ là 2.13%.

  • Dùng DSL, hợp đồng theo tháng: xác suất rời bỏ là 32.73%.

  • Dùng Cáp quang, hợp đồng 2 năm: xác suất rời bỏ là 7.09%.

  • Dùng Cáp quang, hợp đồng theo tháng: xác suất rời bỏ là 54.42%.

Từ kết quả trên, ta thấy rằng:

  • Cả hai yếu tố: loại Internet và loại hợp đồng đều tác động mạnh đến hành vi rời bỏ.

  • Nhóm Cáp quang – Theo tháng có nguy cơ rời bỏ cao nhất.

  • Ngược lại, không dùng Internet – Hợp đồng 2 năm là nhóm khách hàng trung thành nhất.

2.3.4. Đánh giá mô hình

Chỉ số AIC

AIC(glm(Churn_bin ~ InternetService + Contract, data = d))
## [1] 6775.377
AIC(log4)
## [1] 6358.987
AIC(glm(Churn_bin ~ InternetService + Contract, data = d, family = binomial(link = 'probit')))
## [1] 6355.279

Dựa trên chỉ số AIC (Akaike Information Criterion), ta có kết quả như sau:

  • Linear Probability Model (LPM): AIC = 6775.38
  • Mô hình Logit: AIC = 6358.99
  • Mô hình Probit: AIC = 6355.28

Trong đó, mô hình Probit có giá trị AIC nhỏ nhất, cho thấy đây là mô hình phù hợp nhất với dữ liệu hiện tại trong ba mô hình đã thử nghiệm. Điều này đồng nghĩa với việc mô hình Probit mô tả hành vi rời bỏ dịch vụ của khách hàng một cách hiệu quả hơn so với mô hình Logit và Linear Probability Model.

Hệ số Brier Score

BrierScore(log4)
## [1] 0.150711
BrierScore(glm(Churn_bin ~ InternetService + Contract, data = d, family = binomial(link = 'probit')))
## [1] 0.1506906

Brier Score đo lường mức độ sai lệch giữa xác suất dự đoán và giá trị thực tế của biến phụ thuộc nhị phân (rời bỏ hoặc không rời bỏ). Giá trị càng thấp thì mô hình càng dự báo tốt.

Kết quả:

  • Logit Model: Brier Score = 0.1507
  • Probit Model: Brier Score = 0.1507

Cả hai mô hình logit và probit đều cho kết quả Brier Score rất sát nhau, và ở mức thấp (≈ 0.15), cho thấy cả hai mô hình đều có khả năng dự báo tốt hành vi rời bỏ dịch vụ. Tuy nhiên, mô hình Probit có Brier Score thấp hơn một chút, khẳng định lại kết quả đã thấy từ so sánh AIC: mô hình Probit là lựa chọn tối ưu hơn trong trường hợp này.

PHẦN 3. KẾT LUẬN

3.1. Kết luận

Nghiên cứu này đã tiến hành phân tích định lượng nhằm đánh giá tác động của hai yếu tố chính là loại hợp đồng và loại hình dịch vụ Internet đến hành vi rời bỏ dịch vụ của khách hàng trong ngành viễn thông. Bằng cách sử dụng các phương pháp thống kê cơ bản như kiểm định tỷ lệ, kiểm định độc lập Chi-squared, phân tích tỷ lệ rủi ro (Risk Ratio) và tỷ số odds (Odds Ratio), kết hợp với các mô hình hồi quy như hồi quy xác suất tuyến tính, hồi quy logit và hồi quy probit, nghiên cứu đã mang lại một cái nhìn rõ ràng và hệ thống về mối quan hệ giữa các yếu tố này và hành vi rời bỏ dịch vụ.

Kết quả cho thấy, loại hợp đồng (Contract) là một yếu tố có ảnh hưởng rất lớn đến khả năng khách hàng rời bỏ dịch vụ. Trong các mô hình hồi quy, nhóm khách hàng sử dụng hợp đồng “Theo tháng” có xác suất rời bỏ cao vượt trội so với nhóm “2 năm”. Cụ thể, kết quả từ mô hình xác suất tuyến tính cho thấy nhóm “Theo tháng” có xác suất rời bỏ trung bình gần 43%, trong khi nhóm “2 năm” chỉ khoảng 2.8%. Điều này chứng minh rằng hình thức cam kết ngắn hạn làm giảm mức độ gắn bó của khách hàng, khiến họ có xu hướng rời bỏ cao hơn. Tương tự, nhóm “1 năm” cũng có xác suất rời bỏ cao hơn đáng kể so với nhóm “2 năm”, nhưng thấp hơn nhóm “Theo tháng”. Cả ba mô hình (linear, logit, probit) đều cho thấy sự khác biệt này có ý nghĩa thống kê rất mạnh (p < 0.001).

Bên cạnh đó, dịch vụ Internet cũng đóng vai trò quan trọng. Khách hàng sử dụng Internet cáp quang có xác suất rời bỏ cao hơn so với nhóm không sử dụng dịch vụ Internet. Theo mô hình logit, hệ số tương ứng với nhóm “Cáp quang” là hơn 2.19, cho thấy mức logit xác suất rời bỏ tăng mạnh. Mức xác suất trung bình ước lượng của nhóm này cũng lên tới 41.89% – cao nhất trong ba nhóm. Trong khi đó, nhóm không sử dụng Internet có xác suất rời bỏ chỉ khoảng 7.4%, thấp nhất. Như vậy, loại hình dịch vụ Internet khách hàng đang dùng cũng phản ánh phần nào kỳ vọng chất lượng và sự nhạy cảm với chi phí, từ đó ảnh hưởng đến hành vi tiếp tục hay rời bỏ dịch vụ.

Tổng thể, mô hình hồi quy đã thể hiện được hiệu năng khá tốt trong việc dự đoán hành vi rời bỏ, với mô hình probit và logit có chỉ số AIC ngang bằng (7373.33) và sai số dự báo Brier Score cùng mức 0.1747. Kết quả này cho thấy hai biến độc lập được lựa chọn – loại hợp đồng và dịch vụ Internet – là những biến giải thích rất tốt hành vi rời bỏ dịch vụ của khách hàng.

3.2. Đóng góp và hạn chế của nghiên cứu

Nghiên cứu này đã góp phần làm rõ hơn về các yếu tố cấu thành hành vi rời bỏ dịch vụ trong ngành viễn thông, đặc biệt là từ góc nhìn định lượng. Việc chỉ tập trung vào hai biến then chốt là “Contract” và “InternetService” giúp làm nổi bật mối liên hệ mạnh mẽ và dễ hiểu giữa các hình thức cam kết, trải nghiệm dịch vụ với sự trung thành của khách hàng. Kết quả nghiên cứu có thể được sử dụng để hỗ trợ các doanh nghiệp trong việc xác định nhóm khách hàng có nguy cơ rời bỏ cao, từ đó có chiến lược chăm sóc và giữ chân phù hợp, đặc biệt đối với những khách hàng sử dụng hợp đồng ngắn hạn hoặc dịch vụ Internet tốc độ cao.

Tuy nhiên, nghiên cứu vẫn tồn tại một số hạn chế. Thứ nhất, việc chỉ sử dụng hai biến độc lập có thể chưa phản ánh đầy đủ toàn bộ các yếu tố tác động đến hành vi rời bỏ. Những yếu tố quan trọng khác như độ tuổi, mức thu nhập, sự hài lòng với dịch vụ, mức độ sử dụng hay các dịch vụ đi kèm chưa được đưa vào mô hình. Thứ hai, dữ liệu sử dụng trong nghiên cứu là dạng cắt ngang, nên chưa thể phản ánh xu hướng hành vi theo thời gian hay đánh giá chính xác thời điểm khách hàng có khả năng rời bỏ.

3.3. Hướng nghiên cứu tiếp theo

Để nâng cao chất lượng và tính ứng dụng của nghiên cứu trong tương lai, một số hướng đi tiếp theo có thể được đề xuất. Trước hết, cần mở rộng mô hình bằng cách đưa thêm các biến nhân khẩu học, hành vi sử dụng dịch vụ, cũng như chỉ số hài lòng của khách hàng để có cái nhìn toàn diện hơn. Ngoài ra, nếu có thể thu thập dữ liệu dạng bảng (panel) hoặc theo thời gian, các phương pháp như Survival Analysis hay Time-to-Churn modeling sẽ giúp đánh giá được khả năng rời bỏ tại các thời điểm cụ thể, phù hợp với thực tế vận hành doanh nghiệp. Cuối cùng, có thể áp dụng các mô hình học máy (machine learning) để cải thiện độ chính xác của mô hình dự báo rời bỏ dịch vụ, từ đó giúp doanh nghiệp xây dựng hệ thống cảnh báo sớm một cách hiệu quả và tự động.