Nguyễn Thị Thu Thảo
MSSV: 2221000326
Lớp: 22DTL01
Giảng viên hướng dẫn: Th.S Trần Mạnh Tường
Ngành viễn thông đóng vai trò quan trọng trong việc thúc đẩy sự phát triển của nền kinh tế và xã hội hiện đại. Với sự phổ biến của các thiết bị thông minh và nhu cầu kết nối không ngừng gia tăng, viễn thông đã trở thành một lĩnh vực thiết yếu, cung cấp cơ sở hạ tầng cho giao tiếp, kinh doanh và giải trí. Tuy nhiên, cùng với sự phát triển này, ngành viễn thông cũng đối mặt với mức độ cạnh tranh ngày càng gay gắt giữa các nhà cung cấp dịch vụ. Sự xuất hiện của các gói dịch vụ đa dạng, công nghệ mới và các chương trình khuyến mãi liên tục đã tạo ra một môi trường mà khách hàng có nhiều lựa chọn hơn bao giờ hết. Trong bối cảnh này, tình trạng ngưng sử dụng dịch vụ đã trở thành một thách thức lớn đối với các công ty viễn thông.
Tình trạng ngưng sử dụng dịch vụ không chỉ gây ra những tổn thất trực tiếp về doanh thu mà còn kéo theo nhiều hệ lụy khác. Mỗi khách hàng ngưng sử dụng dịch vụ đồng nghĩa với việc công ty mất đi nguồn thu nhập ổn định và lâu dài. Hơn nữa, chi phí để thu hút một khách hàng mới thường cao hơn nhiều so với chi phí giữ chân một khách hàng hiện tại, khiến việc giảm thiểu tỷ lệ ngưng sử dụng dịch vụ trở thành ưu tiên chiến lược. Ngoài ra, tỷ lệ ngưng sử dụng dịch vụ cao có thể làm suy giảm uy tín và hình ảnh thương hiệu của công ty trên thị trường. Việc không hiểu rõ nguyên nhân dẫn đến ngưng sử dụng dịch vụ cũng gây khó khăn trong việc dự báo và lập kế hoạch kinh doanh, làm giảm hiệu quả hoạt động của doanh nghiệp.
Trong bối cảnh dữ liệu lớn (Big Data) ngày càng phát triển, việc áp dụng các phương pháp phân tích dữ liệu định tính và định lượng mang lại tiềm năng lớn trong việc hiểu rõ hành vi khách hàng. Các phương pháp như phân tích thống kê mô tả, kiểm định Chi-square, và các mô hình hồi quy (Logit, Probit, Complementary Log-Log) cho phép xác định các yếu tố ảnh hưởng đến quyết định ngưng sử dụng dịch vụ. Những phân tích này không chỉ mang ý nghĩa học thuật mà còn cung cấp cơ sở thực tiễn để các công ty viễn thông xây dựng chiến lược giữ chân khách hàng hiệu quả, từ đó nâng cao lợi nhuận và củng cố vị thế cạnh tranh trên thị trường.
Việc chọn đề tài “Phân tích các yếu tố ảnh hưởng đến tình trạng ngưng sử dụng dịch vụ viễn thông” xuất phát từ tính cấp thiết của vấn đề ngưng sử dụng dịch vụ trong ngành viễn thông, kết hợp với tiềm năng của các phương pháp phân tích dữ liệu hiện đại. Nghiên cứu này không chỉ đóng góp vào việc làm rõ các yếu tố tác động đến hành vi khách hàng mà còn cung cấp những khuyến nghị thực tiễn, có thể áp dụng trong bối cảnh thị trường viễn thông Việt Nam, nơi cạnh tranh ngày càng khốc liệt.
Nghiên cứu nhằm phân tích và xác định các yếu tố chính ảnh hưởng đến tình trạng ngưng sử dụng dịch vụ của khách hàng trong ngành viễn thông, từ đó cung cấp cơ sở khoa học để phát triển các chiến lược giữ chân khách hàng hiệu quả, góp phần nâng cao năng lực cạnh tranh và lợi nhuận cho các công ty viễn thông.
Giới thiệu và mô tả chi tiết bộ dữ liệu khách hàng viễn thông (Telco), bao gồm các đặc điểm nhân khẩu học, thông tin dịch vụ và thông tin tài khoản.
Phân tích thống kê mô tả và thực hiện kiểm định để xác định mối liên hệ giữa tình trạng ngưng sử dụng dịch vụ và các yếu tố độc lập định tính như giới tính, độ tuổi, loại hình dịch vụ internet, hỗ trợ kỹ thuật, và các yếu tố khác.
Ước lượng các mô hình hồi quy (Logit, Probit, Complementary Log-Log) để đánh giá mức độ và hướng tác động độc lập của các yếu tố đến tình trạng ngưng sử dụng dịch vụ, đồng thời kiểm soát các biến nhiễu.
Diễn giải kết quả từ các mô hình phân tích, rút ra các insight chính và đề xuất các hàm ý thực tiễn nhằm giúp các công ty viễn thông giảm tỷ lệ ngưng sử dụng dịch vụ và tối ưu hóa chiến lược kinh doanh.
Tình trạng ngưng sử dụng dịch vụ của khách hàng trong ngành viễn thông.
Các yếu tố tác động: Các đặc điểm nhân khẩu học (giới tính, độ tuổi, tình trạng hôn nhân…), thông tin dịch vụ (loại hình dịch vụ internet, dịch vụ điện thoại, hợp đồng…) và thông tin tài khoản (phương thức thanh toán, thời gian sử dụng dịch vụ…) của khách hàng.
Không gian: Nghiên cứu sử dụng bộ dữ liệu khách hàng của một công ty viễn thông giả định (Telco) được cung cấp trên nền tảng Kaggle. Mặc dù dữ liệu mang tính tổng quát, kết quả nghiên cứu có thể được xem xét để áp dụng hoặc rút ra bài học kinh nghiệm cho thị trường viễn thông Việt Nam.
Thời gian: Dữ liệu được sử dụng là dữ liệu cắt ngang, phản ánh hành vi khách hàng tại một thời điểm cụ thể.
Nghiên cứu sử dụng kết hợp các phương pháp định tính và định lượng để phân tích các yếu tố ảnh hưởng đến tình trạng ngưng sử dụng dịch vụ trong ngành viễn thông.
Phương pháp định tính
Thống kê mô tả: Sử dụng bảng tần suất, bảng chéo và các biểu đồ trực quan (biểu đồ thanh, biểu đồ tròn) để mô tả phân phối của các biến định tính và khám phá mối quan hệ giữa biến ngưng sử dụng dịch vụ và các yếu tố độc lập.
Kiểm định mối liên hệ: Áp dụng kiểm định Chi-square (χ²) để đánh giá sự phụ thuộc giữa biến ngưng sử dụng dịch vụ và các biến độc lập định tính, từ đó xác định các yếu tố có khả năng ảnh hưởng đến quyết định ngưng sử dụng dịch vụ.
Phương pháp định lượng (Hồi quy)
Mô hình hồi quy đơn biến (Logistic Regression): Phân tích tác động riêng lẻ của từng yếu tố lên tình trạng ngưng sử dụng dịch vụ, đồng thời ước lượng tỷ số odds (Odds Ratio) để đánh giá mức độ ảnh hưởng.
Mô hình hồi quy đa biến: Sử dụng các mô hình Logistic Regression, Probit Regression và Complementary Log-Log Regression để phân tích tác động độc lập của nhiều yếu tố lên ngưng sử dụng dịch vụ, kiểm soát ảnh hưởng của các biến khác.
Diễn giải hệ số: Chuyển đổi và diễn giải các hệ số hồi quy thành các chỉ số dễ hiểu như Odds Ratio (cho mô hình Logit) hoặc Marginal Effects (cho mô hình Probit và Cloglog), giúp làm rõ ý nghĩa thực tiễn của các kết quả.
Phần mềm hỗ trợ: Nghiên cứu sử dụng ngôn ngữ lập trình R và các gói thống kê liên quan.
Báo cáo nghiên cứu được tổ chức thành 5 chương chính như sau:
Chương 1: Tổng quan nghiên cứu
Chương 2: Dữ liệu nghiên cứu
Chương 3: Phân tích dữ liệu và kết quả
Chương 4: Kết luận và Khuyến nghị
Bộ dữ liệu “Telco Customer Churn” là một tập hợp các thông tin chi tiết về khách hàng của một công ty viễn thông giả định, được cung cấp rộng rãi trên nền tảng Kaggle – một cộng đồng khoa học dữ liệu lớn. Mục tiêu ban đầu của bộ dữ liệu này là để nghiên cứu và dự đoán việc khách hàng ngưng sử dụng dịch vụ, một vấn đề kinh doanh then chốt đối với mọi doanh nghiệp cung cấp dịch vụ.
Bộ dữ liệu này bao gồm 7.043 quan sát, mỗi quan sát đại diện cho một khách hàng duy nhất. Đối với mỗi khách hàng, chúng ta có 21 biến (đặc điểm), cung cấp thông tin đa dạng từ nhân khẩu học, các dịch vụ mà họ đang sử dụng, cho đến chi tiết về tài khoản và phương thức thanh toán.
## tibble [7,043 × 21] (S3: tbl_df/tbl/data.frame)
## $ customerID : chr [1:7043] "7569-NMZYQ" "8984-HPEMB" "3668-QPYBK" "5989-AXPUC" ...
## $ gender : chr [1:7043] "Female" "Female" "Male" "Female" ...
## $ SeniorCitizen : chr [1:7043] "No" "No" "No" "No" ...
## $ Partner : chr [1:7043] "Yes" "No" "No" "Yes" ...
## $ Dependents : chr [1:7043] "Yes" "No" "No" "No" ...
## $ tenure : num [1:7043] 72 71 2 68 2 8 61 72 28 72 ...
## $ PhoneService : chr [1:7043] "Yes" "Yes" "Yes" "Yes" ...
## $ MultipleLines : chr [1:7043] "Yes" "Yes" "No" "Yes" ...
## $ InternetService : chr [1:7043] "Fiber optic" "Fiber optic" "DSL" "Fiber optic" ...
## $ OnlineSecurity : chr [1:7043] "Yes" "Yes" "Yes" "Yes" ...
## $ OnlineBackup : chr [1:7043] "Yes" "Yes" "Yes" "Yes" ...
## $ DeviceProtection: chr [1:7043] "Yes" "Yes" "No" "Yes" ...
## $ TechSupport : chr [1:7043] "Yes" "Yes" "No" "Yes" ...
## $ StreamingTV : chr [1:7043] "Yes" "Yes" "No" "Yes" ...
## $ StreamingMovies : chr [1:7043] "Yes" "Yes" "No" "Yes" ...
## $ Contract : chr [1:7043] "Two year" "Two year" "Month-to-month" "Two year" ...
## $ PaperlessBilling: chr [1:7043] "Yes" "Yes" "Yes" "No" ...
## $ PaymentMethod : chr [1:7043] "Bank transfer (automatic)" "Electronic check" "Mailed check" "Mailed check" ...
## $ MonthlyCharges : num [1:7043] 118.8 118.7 53.9 118.6 70.7 ...
## $ TotalCharges : num [1:7043] 8672 8478 108 7990 152 ...
## $ Churn : chr [1:7043] "No" "No" "Yes" "No" ...
Các biến được chia thành hai nhóm chính: biến định tính (categorical variables) và biến định lượng (quantitative variables) để thuận tiện cho việc phân tích.
customerID (Mã khách hàng): Mã định danh duy nhất cho mỗi khách hàng. Biến này dùng để nhận dạng và không được sử dụng trong phân tích mô hình.
gender (Giới tính): Giới tính của khách hàng, bao gồm “Nam” hoặc “Nữ”.
SeniorCitizen (Công dân cao tuổi): Cho biết khách hàng có thuộc nhóm công dân cao tuổi hay không, với giá trị “0” (Không) hoặc “1” (Có).
Partner (Tình trạng bạn đời): Cho biết khách hàng có sống cùng bạn đời hay không, với giá trị “Có” hoặc “Không”.
Dependents (Người phụ thuộc): Cho biết khách hàng có người phụ thuộc (như con cái hoặc cha mẹ) hay không, với giá trị “Có” hoặc “Không”.
PhoneService (Dịch vụ điện thoại): Cho biết khách hàng có sử dụng dịch vụ điện thoại hay không, với giá trị “Có” hoặc “Không”.
MultipleLines (Số lượng đường dây điện thoại): Cho biết khách hàng sử dụng nhiều đường dây điện thoại hay không. Các giá trị bao gồm “Có nhiều đường dây”, “Không có nhiều đường dây”, hoặc “Không sử dụng dịch vụ điện thoại”.
InternetService (Dịch vụ Internet): Loại dịch vụ internet mà khách hàng sử dụng, bao gồm “DSL”, “Cáp quang”, hoặc “Không sử dụng internet”.
OnlineSecurity (Dịch vụ bảo mật trực tuyến): Cho biết khách hàng có đăng ký dịch vụ bảo mật trực tuyến hay không, với giá trị “Có”, “Không”, hoặc “Không sử dụng internet”.
OnlineBackup (Dịch vụ sao lưu trực tuyến): Cho biết khách hàng có đăng ký dịch vụ sao lưu trực tuyến hay không, với các giá trị tương tự OnlineSecurity.
DeviceProtection (Dịch vụ bảo vệ thiết bị): Cho biết khách hàng có đăng ký dịch vụ bảo vệ thiết bị hay không, với các giá trị tương tự OnlineSecurity.
TechSupport (Dịch vụ hỗ trợ kỹ thuật): Cho biết khách hàng có đăng ký dịch vụ hỗ trợ kỹ thuật hay không, với các giá trị tương tự OnlineSecurity.
StreamingTV (Dịch vụ truyền hình trực tuyến): Cho biết khách hàng có đăng ký dịch vụ truyền hình trực tuyến hay không, với các giá trị tương tự OnlineSecurity.
StreamingMovies (Dịch vụ xem phim trực tuyến): Cho biết khách hàng có đăng ký dịch vụ xem phim trực tuyến hay không, với các giá trị tương tự OnlineSecurity.
Contract (Loại hợp đồng): Loại hợp đồng mà khách hàng ký với công ty, bao gồm “Hàng tháng”, “Một năm”, hoặc “Hai năm”. Đây là biến định tính có thứ tự, phản ánh mức độ cam kết của khách hàng.
PaperlessBilling (Hóa đơn điện tử): Cho biết khách hàng có sử dụng hóa đơn điện tử hay không, với giá trị “Có” hoặc “Không”.
PaymentMethod (Phương thức thanh toán): Phương thức thanh toán mà khách hàng sử dụng, bao gồm “Kiểm tra điện tử”, “Kiểm tra qua thư”, “Chuyển khoản ngân hàng tự động”, hoặc “Thẻ tín dụng tự động Hustle Castle động”.
Churn (Tình trạng sử dụng dịch vụ): Cho biết khách hàng có ngưng sử dụng dịch vụ hay không, với giá trị “Có” (ngưng sử dụng) hoặc “Không” (vẫn sử dụng).
MonthlyCharges (Phí hàng tháng): Số tiền khách hàng trả hàng tháng cho các dịch vụ đã đăng ký.
TotalCharges (Tổng phí): Tổng số tiền khách hàng đã trả cho công ty kể từ khi bắt đầu sử dụng dịch vụ.
tenure (Thời gian gắn bó): Số tháng mà khách hàng đã sử dụng dịch vụ của công ty.
Tình trạng sử dụng dịch vụ (Churn): Biến này được chọn làm biến phụ thuộc vì mục tiêu của nghiên cứu là xác định các yếu tố ảnh hưởng đến việc khách hàng ngưng sử dụng dịch vụ viễn thông. Biến này là nhị phân, với hai giá trị: “Có” (khách hàng đã ngưng sử dụng dịch vụ) và “Không” (khách hàng vẫn tiếp tục sử dụng dịch vụ). Việc phân tích biến này giúp xác định các yếu tố dẫn đến quyết định ngưng sử dụng dịch vụ, từ đó cung cấp cơ sở cho các chiến lược giữ chân khách hàng.
Nghiên cứu lựa chọn năm biến độc lập sau đây để phân tích:
Contract (Loại hợp đồng): Loại hợp đồng (Hàng tháng, Một năm, Hai năm) phản ánh mức độ cam kết của khách hàng với công ty. Những khách hàng ký hợp đồng ngắn hạn (hàng tháng) có thể có xu hướng ngưng sử dụng dịch vụ cao hơn do ít ràng buộc hơn so với hợp đồng dài hạn.
SeniorCitizen (Công dân cao tuổi): Biến này cho biết khách hàng có thuộc nhóm công dân cao tuổi hay không. Nhóm khách hàng cao tuổi có thể có hành vi sử dụng dịch vụ khác biệt, ví dụ như ít sử dụng các dịch vụ internet tốc độ cao, dẫn đến khả năng ngưng sử dụng dịch vụ khác so với nhóm khách hàng trẻ hơn.
InternetService (Dịch vụ Internet): Loại dịch vụ internet (DSL, Cáp quang, Không sử dụng) có thể ảnh hưởng đến trải nghiệm của khách hàng. Ví dụ, dịch vụ cáp quang có tốc độ cao nhưng giá thành cao hơn có thể liên quan đến tỷ lệ ngưng sử dụng dịch vụ.
TechSupport (Dịch vụ hỗ trợ kỹ thuật): Việc có hoặc không có hỗ trợ kỹ thuật có thể ảnh hưởng đến mức độ hài lòng của khách hàng, từ đó tác động đến quyết định tiếp tục hoặc ngưng sử dụng dịch vụ.
MonthlyCharges (Phí hàng tháng): Chi phí hàng tháng là một yếu tố quan trọng, vì mức phí cao có thể khiến khách hàng cân nhắc ngưng sử dụng dịch vụ để tìm kiếm các lựa chọn rẻ hơn.
Các biến trên được chọn vì chúng đại diện cho các khía cạnh khác nhau của trải nghiệm khách hàng, bao gồm mức độ cam kết (Contract), đặc điểm nhân khẩu học (SeniorCitizen), chất lượng dịch vụ (InternetService, TechSupport), và yếu tố tài chính (MonthlyCharges). Những yếu tố này được giả định có ảnh hưởng đáng kể đến quyết định ngưng sử dụng dịch vụ dựa trên các nghiên cứu trước đây và tính chất của ngành viễn thông.
Biến Churn: Tình trạng khách hàng dã ngưng sử dụng dịch vụ viễn thông hay chưa
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.2 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
| Churn | Frequency | Percentage |
|---|---|---|
| No | 5174 | 73.5 % |
| Yes | 1869 | 26.5 % |
Dựa trên Bảng 2.1 và biểu đồ tương ứng (Biểu đồ 2.1), trong tổng số 7043 khách hàng trong bộ dữ liệu, có 5174 khách hàng (chiếm 73.5%) chưa ngưng sử dụng dịch vụ, trong khi 1869 khách hàng (chiếm 26.5%) đã ngưng sử dụng dịch vụ. Tỷ lệ khách hàng đã ngưng sử dụng dịch vụ, mặc dù nhỏ hơn, vẫn chiếm một phần đáng kể (hơn một phần tư tổng số khách hàng) trong tập dữ liệu. Điều này cho thấy hiện tượng khách hàng ngưng sử dụng dịch vụ là một vấn đề hiện hữu và có ý nghĩa đối với công ty viễn thông này.
Biến Contract: Loại hợp đồng mà Khách hàng đã ký kết
| Contract | Frequency | Percentage |
|---|---|---|
| Month-to-month | 3875 | 55 % |
| One year | 1473 | 20.9 % |
| Two year | 1695 | 24.1 % |
Từ Bảng 2.2 và biểu đồ phân phối loại hợp đồng (Biểu đồ 2.2), chúng ta có thể thấy rằng phần lớn khách hàng trong bộ dữ liệu đang sử dụng hợp đồng “Hàng tháng” (Month-to-month), chiếm tỷ lệ áp đảo 55%. Trong khi đó, các hợp đồng dài hạn hơn như “Hai năm” (Two year) và “Một năm” (One year) chiếm tỷ lệ lần lượt là 24.1% và 20.9%. Điều này cho thấy một xu hướng phổ biến trong tập dữ liệu là khách hàng ưa chuộng sự linh hoạt của hợp đồng ngắn hạn.
Biến SeniorCitizen: Thể hiện khách hàng có thuộc trong nhóm công dân cao tuổi không ?
| SeniorCitizen | Frequency | Percentage |
|---|---|---|
| No | 5901 | 83.8 % |
| Yes | 1142 | 16.2 % |
Theo Bảng 2.3 và biểu đồ tương ứng (Biểu đồ 2.3), đa số khách hàng trong bộ dữ liệu không phải là công dân cao tuổi, với 83.8% (5901 khách hàng). Chỉ có 16.2% (1142 khách hàng) được phân loại là công dân cao tuổi. Tỷ lệ này cho thấy nhóm công dân cao tuổi là một phân khúc nhỏ hơn đáng kể trong tập khách hàng của công ty viễn thông này.
Biến InternetService: Khách hàng đang sử dụng loại hình dịch vụ Internet nào ?
| InternetService | Frequency | Percentage |
|---|---|---|
| DSL | 2421 | 34.4 % |
| Fiber optic | 3096 | 44 % |
| No | 1526 | 21.7 % |
Dựa trên Bảng 2.4 và biểu đồ phân phối dịch vụ Internet (Biểu đồ 2.4), loại hình dịch vụ Internet “Cáp quang” (Fiber optic) được sử dụng phổ biến nhất, chiếm 44% tổng số khách hàng. Tiếp theo là dịch vụ “DSL” với 34.4%. Đáng chú ý, một phần đáng kể khách hàng (21.7%) trong bộ dữ liệu không sử dụng bất kỳ dịch vụ Internet nào từ công ty. Điều này phản ánh cơ cấu dịch vụ mà công ty đang cung cấp và sự phân bổ khách hàng theo các loại hình kết nối khác nhau.
Biến MonthlyCharges: Chi phí mà khách hàng phải trả hàng tháng cho dịch vụ viễn thông
| Thống_kê | Giá_trị |
|---|---|
| Mean | 64.76169 |
| SD | 30.09005 |
| Min | 18.25000 |
| Q1 | 35.50000 |
| Median | 70.35000 |
| Q3 | 89.85000 |
| Max | 118.75000 |
Dựa trên Bảng 2.5 và biểu đồ mật độ phân phối (Biểu đồ 2.5), biến MonthlyCharges cho thấy:
Giá trị trung bình (\(x\)) của phí hàng tháng là 64.76 USD.
Giá trị trung vị (Median) là 70.35 USD, cho thấy một phân phối có thể hơi lệch về phía các giá trị cao hơn một chút so với giá trị trung bình.
Độ lệch chuẩn (\(s\)) là 30.09 USD, biểu thị sự biến động tương đối lớn trong mức phí hàng tháng giữa các khách hàng, từ mức phí thấp nhất (Min) là 18.25 USD đến mức cao nhất (Max) là 118.75 USD.
Các tứ phân vị (Q1 = 35.5 USD và Q3=89.85 USD) cung cấp thêm thông tin về sự phân bố của dữ liệu, cho thấy 50% khách hàng có mức phí hàng tháng nằm trong khoảng từ 35.5 USD đến 89.85 USD. Phân phối này cho thấy có sự đa dạng đáng kể trong các gói dịch vụ và mức chi tiêu của khách hàng.
Quan sát Biểu đồ 2.5, phân phối của MonthlyCharges cho thấy một hình dạng không đối xứng (skewed) và có vẻ như là đa đỉnh (multi-modal). Cụ thể, có một đỉnh nổi bật ở khoảng phí thấp (gần 20 USD - 25 USD), cho thấy một lượng lớn khách hàng chỉ sử dụng các dịch vụ cơ bản với chi phí thấp. Sau đó, mật độ giảm dần và lại tăng lên, tạo thành một đỉnh rộng hơn ở khoảng phí cao hơn, từ khoảng 75 USD đến 100 USD, có thể tương ứng với các gói dịch vụ đa dạng và cao cấp hơn. Hình dạng này phản ánh sự tồn tại của nhiều phân khúc khách hàng với mức chi tiêu khác nhau, dựa trên các gói dịch vụ mà họ lựa chọn.
Biến TechSupport: Thể hiện việc khách hàng có dử dụng dịch vụ hõ trợ ký thuật hay không ?
| TechSupport | Frequency | Percentage |
|---|---|---|
| No | 3473 | 49.3 % |
| No internet service | 1526 | 21.7 % |
| Yes | 2044 | 29 % |
Theo Bảng 2.6 và biểu đồ tương ứng (Biểu đồ 2.6), gần một nửa số khách hàng (49.3%, tương ứng 3473 khách hàng) không đăng ký dịch vụ hỗ trợ kỹ thuật. Một tỷ lệ đáng kể khác (29%, tương ứng 2044 khách hàng) có đăng ký dịch vụ này. Đồng thời, 21.7% khách hàng (trùng với tỷ lệ khách hàng không sử dụng Internet) được ghi nhận là “Không có dịch vụ internet”, và do đó không có dịch vụ hỗ trợ kỹ thuật kèm theo. Điều này chỉ ra rằng một số lượng lớn khách hàng không nhận được dịch vụ hỗ trợ kỹ thuật trực tiếp từ công ty.
Loại hợp đồng, phản ánh mức độ cam kết của khách hàng, là một yếu tố quan trọng ảnh hưởng đến quyết định ngưng sử dụng dịch vụ viễn thông. Phân tích này sử dụng bảng tần suất, biểu đồ, kiểm định Chi-square, tỷ số rủi ro (RR), và tỷ số odds (OR) để khám phá mối quan hệ này, với dữ liệu được xử lý bằng ngôn ngữ R. Biến Contract được gộp thành hai nhóm: ngắn hạn (hàng tháng và một năm) và dài hạn (hai năm).
data$Contract_ch <- ifelse(
data$Contract %in% c("One year", "Month-to-month"),
"NganHan",
"DaiHan"
)
data$Contract_ch <- factor(data$Contract_ch, levels = c("NganHan", "DaiHan"))
data$Churn <- factor(data$Churn, levels = c("No", "Yes")) # Đặt 'No' trước 'Yes' nếu muốn No hiển thị trước
con_churn <- table(data$Churn, data$Contract_ch)
con_churn
##
## NganHan DaiHan
## No 3527 1647
## Yes 1821 48
con_churn_ta <- as.data.frame(con_churn)
colnames(con_churn_ta) <- c("Churn", "Contract", "Frequency")
con_churn_ta <- con_churn_ta %>%
group_by(Contract) %>%
mutate(Percentage = Frequency / sum(Frequency) * 100) %>%
ungroup() %>%
mutate(Percentage_Label = paste0(round(Percentage, 1), "%"))
kable(con_churn_ta %>% select(Churn, Contract, Frequency, Percentage),
options = list(dom = 't'),
caption = "Bảng 3.1: Tình trạng ngừng dịch vụ theo Loại hợp đồng")
| Churn | Contract | Frequency | Percentage |
|---|---|---|---|
| No | NganHan | 3527 | 65.949888 |
| Yes | NganHan | 1821 | 34.050112 |
| No | DaiHan | 1647 | 97.168142 |
| Yes | DaiHan | 48 | 2.831858 |
ggplot(con_churn_ta, aes(x = Churn, y = Percentage, fill = Contract)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Percentage_Label),
position = position_dodge(width = 0.9),
vjust = -0.3, size = 3) +
labs(
title = "Biểu đồ 3.1: Tỷ lệ ngừng dịch vụ theo Loại hợp đồng",
x = "Tình trạng sử dụng dịch vụ",
y = "Tỷ lệ (%)",
fill = "Loại hợp đồng"
) +
theme_minimal() +
scale_x_discrete(labels = c("No" = "Đang sử dụng", "Yes" = "Ngưng sử dụng")) +
scale_fill_manual(values = c(
"NganHan" = "lightsalmon",
"DaiHan" = "darkred"
)) +
theme(
plot.title = element_text(hjust = 0.5, size = 12, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
Dựa trên Bảng 3.1 và Biểu đồ 3.1, có sự khác biệt rõ rệt về tỷ lệ ngừng sử dụng dịch vụ giữa hai nhóm hợp đồng. Đối với nhóm khách hàng có hợp đồng NganHan (tháng hoặc một năm), tỷ lệ ngừng dịch vụ là 34.1% (1821/5348). Ngược lại, nhóm khách hàng có hợp đồng DaiHan (trên một năm) chỉ có 2.8% (48/1695) ngừng sử dụng dịch vụ. Sự chênh lệch lớn này chỉ ra rằng loại hợp đồng có thể là một yếu tố quan trọng ảnh hưởng đến quyết định ngừng dịch vụ của khách hàng.
Giả thuyết kiểm định:
H0: Hai biến độc lập
H1: Hai biến có mối quan hệ
chisq.test(con_churn)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: con_churn
## X-squared = 641.83, df = 1, p-value < 2.2e-16
Kiểm định Chi bình phương cho kết quả \(\chi^2 =641.83\) với bậc tự do df=1 và giá trị \(p < 2.2 \times 10^{-16}\). Với giá trị p rất nhỏ (nhỏ hơn 0.05), chúng ta có đủ bằng chứng thống kê để bác bỏ giả thuyết null rằng không có mối liên hệ giữa loại hợp đồng và tình trạng ngừng dịch vụ. Điều này khẳng định rằng có mối liên hệ có ý nghĩa thống kê giữa loại hợp đồng và khả năng khách hàng ngừng sử dụng dịch vụ.
riskratio(con_churn)
## $data
##
## NganHan DaiHan Total
## No 3527 1647 5174
## Yes 1821 48 1869
## Total 5348 1695 7043
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## No 1.00000000 NA NA
## Yes 0.08067979 0.06085022 0.1069713
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 0 4.62994e-187 6.002045e-142
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số RR của việc ngừng dịch vụ cho nhóm DaiHan so với nhóm NganHan là 0.081 (làm tròn từ 0.08067979), với khoảng tin cậy 95% là [0.061, 0.107]. Giá trị này cho thấy rằng nguy cơ ngừng dịch vụ của khách hàng có hợp đồng dài hạn chỉ bằng khoảng 8.1% so với khách hàng có hợp đồng ngắn hạn. Điều này hàm ý rằng hợp đồng dài hạn có liên quan đến việc giảm đáng kể nguy cơ ngừng dịch vụ. Giá trị p tương ứng cũng rất nhỏ, khẳng định ý nghĩa thống kê của mối liên hệ này.
oddsratio(con_churn)
## $data
##
## NganHan DaiHan Total
## No 3527 1647 5174
## Yes 1821 48 1869
## Total 5348 1695 7043
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## No 1.00000000 NA NA
## Yes 0.05664342 0.04174246 0.07500579
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 0 4.62994e-187 6.002045e-142
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Tỷ số Chẵn (OR) của việc ngừng dịch vụ cho nhóm DaiHan so với nhóm NganHan là 0.057 , với khoảng tin cậy 95% là [0.042, 0.075]. Điều này có nghĩa là khả năng ngừng dịch vụ của khách hàng có hợp đồng dài hạn chỉ bằng khoảng 5.7% so với khách hàng có hợp đồng ngắn hạn. Giá trị OR này cũng thể hiện một mối liên hệ mạnh mẽ và có ý nghĩa thống kê giữa hợp đồng dài hạn và khả năng giảm Churn. Khoảng tin cậy 95% không chứa 1, củng cố thêm kết luận này.
Phân tích đơn biến cho thấy loại hợp đồng có ảnh hưởng đáng kể đến tình trạng ngừng sử dụng dịch vụ của khách hàng. Khách hàng sử dụng hợp đồng dài hạn (DaiHan) có tỷ lệ ngừng dịch vụ thấp hơn rất nhiều so với khách hàng sử dụng hợp đồng ngắn hạn (NganHan). Các kiểm định Chi bình phương, Tỷ số Tỷ lệ (RR) và Tỷ số Chẵn (OR) đều khẳng định mối liên hệ này là có ý nghĩa thống kê và theo chiều hướng tích cực đối với việc giữ chân khách hàng. Đây là một yếu tố tiềm năng quan trọng cần được xem xét trong các mô hình đa biến tiếp theo.
Để kiểm tra mối liên hệ giữa tình trạng công dân cao tuổi (SeniorCitizen) và khả năng ngừng sử dụng dịch vụ (Churn), biến SeniorCitizen được phân thành hai nhóm: Senior (công dân cao tuổi) và notSenior (không phải công dân cao tuổi). Các phương pháp phân tích bao gồm bảng tần suất chéo, biểu đồ phân bố, và các kiểm định thống kê.
data$SeniorCitizen_ch <- ifelse(
data$SeniorCitizen == "Yes", "Senior" , "notSenior")
data$SeniorCitizen_ch <- factor(data$SeniorCitizen_ch, levels = c("notSenior", "Senior"))
data$Churn <- factor(data$Churn, levels = c("No", "Yes"))
sen_churn <- table(data$SeniorCitizen_ch, data$Churn)
sen_churn
##
## No Yes
## notSenior 4508 1393
## Senior 666 476
sen_churn_ta <- as.data.frame(sen_churn)
colnames(sen_churn_ta) <- c("SeniorCitizen", "Churn", "Frequency") # Đặt tên cột rõ ràng
sen_churn_ta <- sen_churn_ta %>%
group_by(SeniorCitizen) %>%
mutate(Percentage = Frequency / sum(Frequency) * 100) %>%
ungroup() %>%
mutate(Percentage_Label = paste0(round(Percentage, 2), "%"))
kable(sen_churn_ta %>% select(SeniorCitizen, Churn, Frequency, Percentage),
options = list(dom = 't'), # 't' để chỉ hiển thị bảng
caption = "Bảng 3.2:Tình trạng ngừng dịch vụ theo Nhóm tuổi")
| SeniorCitizen | Churn | Frequency | Percentage |
|---|---|---|---|
| notSenior | No | 4508 | 76.39383 |
| Senior | No | 666 | 58.31874 |
| notSenior | Yes | 1393 | 23.60617 |
| Senior | Yes | 476 | 41.68126 |
ggplot(sen_churn_ta, aes(x = Churn, y = Percentage, fill = SeniorCitizen)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Percentage_Label),
position = position_dodge(width = 0.9),
vjust = -0.3, size = 3) +
labs(
title = "Biểu đồ 3.2: Tỷ lệ ngừng dịch vụ theo Nhóm tuổi ",
x = "Tình trạng sử dụng dịch vụ",
y = "Tỷ lệ (%)",
fill = "SeniorCitizen "
) +
theme_minimal() +
scale_x_discrete(labels = c("No" = "Đang sử dụng", "Yes" = "Ngưng sử dụng")) +
scale_fill_manual(values = c(
"notSenior" = "lightblue",
"Senior" = "darkblue"
)) +
theme(
plot.title = element_text(hjust = 0.5, size = 12, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
Dựa trên Bảng 3.2 và Biểu đồ 3.2, có sự khác biệt đáng kể về tỷ lệ ngừng sử dụng dịch vụ giữa hai nhóm tuổi. Trong nhóm khách hàng notSenior, tỷ lệ ngừng dịch vụ là 23.61% (1393/5901). Ngược lại, đối với nhóm Senior, tỷ lệ này cao hơn đáng kể, ở mức 41.68% (476/1142). Điều này cho thấy công dân cao tuổi có xu hướng ngừng sử dụng dịch vụ với tỷ lệ cao hơn.
Giả thuyết kiểm định:
H0: Hai biến độc lập
H1: Hai biến có mối quan hệ
chisq.test(sen_churn)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: sen_churn
## X-squared = 159.43, df = 1, p-value < 2.2e-16
Kiểm định Chi bình phương cho kết quả \(\chi^2=159.43\) với bậc tự do df=1 và giá trị \(p < 2.2 \times 10^{-16}\). Với giá trị p rất nhỏ (nhỏ hơn 0.05), chúng ta bác bỏ giả thuyết null rằng không có mối liên hệ giữa nhóm tuổi và tình trạng ngừng dịch vụ. Điều này xác nhận rằng có mối liên hệ có ý nghĩa thống kê giữa việc khách hàng là công dân cao tuổi và khả năng họ ngừng sử dụng dịch vụ.
riskratio(sen_churn)
## $data
##
## No Yes Total
## notSenior 4508 1393 5901
## Senior 666 476 1142
## Total 5174 1869 7043
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## notSenior 1.000000 NA NA
## Senior 1.765694 1.625802 1.917622
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## notSenior NA NA NA
## Senior 0 2.789601e-34 9.477904e-37
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số (RR) của việc ngừng dịch vụ cho nhóm Senior so với nhóm notSenior là 1.766 , với khoảng tin cậy 95% là [1.626, 1.918]. Giá trị này chỉ ra rằng tỷ lệ ngừng dịch vụ của nhóm khách hàng là công dân cao tuổi cao hơn khoảng 1.77 lần so với nhóm khách hàng không phải công dân cao tuổi. Điều này nhấn mạnh rằng nhóm khách hàng lớn tuổi có nguy cơ rời bỏ dịch vụ cao hơn. Giá trị p tương ứng cũng rất nhỏ, khẳng định ý nghĩa thống kê của mối liên hệ này.
oddsratio(sen_churn)
## $data
##
## No Yes Total
## notSenior 4508 1393 5901
## Senior 666 476 1142
## Total 5174 1869 7043
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## notSenior 1.000000 NA NA
## Senior 2.312753 2.026 2.638846
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## notSenior NA NA NA
## Senior 0 2.789601e-34 9.477904e-37
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Tỷ số (OR) của việc ngừng dịch vụ cho nhóm Senior so với nhóm notSenior là 2.313, với khoảng tin cậy 95% là [2.026, 2.639]. Điều này có nghĩa là khả năng ngừng dịch vụ của khách hàng là công dân cao tuổi cao hơn khoảng 2.31 lần so với khách hàng không phải công dân cao tuổi. Giá trị OR này cũng thể hiện một mối liên hệ mạnh mẽ và có ý nghĩa thống kê, cho thấy nhóm công dân cao tuổi có khả năng ngừng dịch vụ cao hơn đáng kể. Khoảng tin cậy 95% không chứa 1, củng cố thêm kết luận này.
Phân tích đơn biến chỉ ra rằng tình trạng công dân cao tuổi có ảnh hưởng đáng kể đến khả năng ngừng sử dụng dịch vụ. Khách hàng là công dân cao tuổi (Senior) có tỷ lệ và khả năng ngừng dịch vụ cao hơn rõ rệt so với nhóm không phải công dân cao tuổi (notSenior). Các kiểm định thống kê đều xác nhận mối liên hệ này là có ý nghĩa thống kê và theo chiều hướng làm tăng khả năng khách hàng rời bỏ dịch vụ. Đây là một yếu tố nhân khẩu học quan trọng cần được xem xét trong các mô hình dự đoán Churn.
Để phân tích mối liên hệ giữa loại hình dịch vụ Internet mà khách hàng sử dụng và khả năng ngừng dịch vụ (Churn), tác giả tập trung vào hai loại hình chính: DSL và Fiber optic (loại bỏ trường hợp không sử dụng dịch vụ Internet). Bảng tần suất chéo, biểu đồ phân bố và các kiểm định thống kê đã được sử dụng để đánh giá tác động này.
interchurn <- data %>%
dplyr::filter(InternetService %in% c("Fiber optic", "DSL"),
Churn %in% c("No", "Yes"))
interchurn <- droplevels(interchurn)
inter_churn <- table( interchurn$InternetService, interchurn$Churn)
inter_churn
##
## No Yes
## DSL 1962 459
## Fiber optic 1799 1297
inter_churn_ta <- as.data.frame(inter_churn)
colnames(inter_churn_ta) <- c("InternetService", "Churn", "Frequency")
inter_churn_ta <- inter_churn_ta %>%
group_by(InternetService) %>%
mutate(Percentage = Frequency / sum(Frequency) * 100) %>%
ungroup() %>%
mutate(Percentage_Label = paste0(round(Percentage, 1), "%"))
kable(inter_churn_ta %>% select(InternetService, Churn, Frequency, Percentage),
options = list(dom = 't'),
caption = "Bảng 3.3 : Tình trạng ngừng dịch vụ theo Loại hình Internett")
| InternetService | Churn | Frequency | Percentage |
|---|---|---|---|
| DSL | No | 1962 | 81.04089 |
| Fiber optic | No | 1799 | 58.10724 |
| DSL | Yes | 459 | 18.95911 |
| Fiber optic | Yes | 1297 | 41.89276 |
ggplot(inter_churn_ta, aes(x = Churn, y = Percentage, fill = InternetService)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Percentage_Label),
position = position_dodge(width = 0.9),
vjust = -0.3, size = 3) +
labs(
title = "Biểu đồ 3.3: Tỷ lệ ngừng dịch vụ theo Loại hình Internet",
x = "Tình trạng sử dụng dịch vụ",
y = "Tỷ lệ (%)",
fill = "Loại hình Internet"
) +
theme_minimal() +
# Chỉnh nhãn cho trục x
scale_x_discrete(labels = c("No" = "Đang sử dụng", "Yes" = "Ngưng sử dụng")) +
scale_fill_manual(values = c(
"DSL" = "steelblue",
"Fiber optic" = "darkorange"
)) +
theme(
plot.title = element_text(hjust = 0.5, size = 12, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
Dựa trên Bảng 3.3 và Biểu đồ 3.3, có sự khác biệt đáng kể về tỷ lệ ngừng sử dụng dịch vụ giữa khách hàng sử dụng các loại hình Internet khác nhau. Trong nhóm khách hàng sử dụng dịch vụ DSL, tỷ lệ ngừng dịch vụ là 18.96% (459/2421). Ngược lại, đối với nhóm khách hàng sử dụng Fiber optic, tỷ lệ này cao hơn gấp đôi, ở mức 41.89% (1297/3096). Điều này cho thấy khách hàng sử dụng Internet cáp quang (Fiber optic) có xu hướng ngừng dịch vụ với tỷ lệ cao hơn đáng kể.
Giả thuyết kiểm định:
H0: Hai biến độc lập
H1: Hai biến có mối quan hệ
chisq.test(inter_churn)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: inter_churn
## X-squared = 328.26, df = 1, p-value < 2.2e-16
Kiểm định Chi bình phương cho kết quả \(\chi^2=328.26\) với bậc tự do df=1 và giá trị \(p < 2.2 \times 10^{-16}\) . Với giá trị p cực kỳ nhỏ (nhỏ hơn 0.05), chúng ta có đủ bằng chứng thống kê để bác bỏ giả thuyết null rằng không có mối liên hệ giữa loại hình Internet và tình trạng ngừng dịch vụ. Điều này khẳng định rằng có mối liên hệ có ý nghĩa thống kê mạnh mẽ giữa loại hình Internet mà khách hàng sử dụng và khả năng họ ngừng sử dụng dịch vụ.
riskratio(inter_churn)
## $data
##
## No Yes Total
## DSL 1962 459 2421
## Fiber optic 1799 1297 3096
## Total 3761 1756 5517
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## DSL 1.000000 NA NA
## Fiber optic 2.209638 2.01499 2.423089
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## DSL NA NA NA
## Fiber optic 0 5.462658e-76 1.352046e-73
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số (RR) của việc ngừng dịch vụ cho nhóm Fiber optic so với nhóm DSL là 2.210 , với khoảng tin cậy 95% là [2.015, 2.423]. Giá trị này chỉ ra rằng tỷ lệ ngừng dịch vụ của khách hàng sử dụng Internet cáp quang (Fiber optic) cao hơn khoảng 2.21 lần so với khách hàng sử dụng DSL. Điều này nhấn mạnh rằng loại hình dịch vụ Internet có ảnh hưởng đáng kể đến hành vi Churn của khách hàng. Giá trị p tương ứng cũng rất nhỏ, khẳng định ý nghĩa thống kê của mối liên hệ này.
oddsratio(inter_churn)
## $data
##
## No Yes Total
## DSL 1962 459 2421
## Fiber optic 1799 1297 3096
## Total 3761 1756 5517
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## DSL 1.000000 NA NA
## Fiber optic 3.080571 2.722491 3.490411
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## DSL NA NA NA
## Fiber optic 0 5.462658e-76 1.352046e-73
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Tỷ số (OR) của việc ngừng dịch vụ cho nhóm Fiber optic so với nhóm DSL là 3.081, với khoảng tin cậy 95% là [2.722, 3.490]. Điều này có nghĩa là khả năng ngừng dịch vụ của khách hàng sử dụng Internet cáp quang (Fiber optic) cao hơn khoảng 3.08 lần so với khách hàng sử dụng DSL. Giá trị OR này thể hiện một mối liên hệ rất mạnh mẽ và có ý nghĩa thống kê, cho thấy Fiber optic là một yếu tố thúc đẩy khả năng ngừng dịch vụ. Khoảng tin cậy 95% không chứa 1, củng cố thêm kết luận này.
Phân tích đơn biến chỉ ra rằng loại hình dịch vụ Internet có ảnh hưởng rất lớn đến tình trạng ngừng sử dụng dịch vụ. Khách hàng sử dụng Internet cáp quang (Fiber optic) có tỷ lệ và khả năng ngừng dịch vụ cao hơn đáng kể so với khách hàng sử dụng DSL. Các kiểm định thống kê đều xác nhận mối liên hệ này là có ý nghĩa thống kê và theo chiều hướng làm tăng mạnh khả năng khách hàng rời bỏ dịch vụ. Đây là một yếu tố rất quan trọng cần được ưu tiên xem xét trong các mô hình dự đoán Churn và trong các chiến lược giữ chân khách hàng.
data$Churn <- factor(data$Churn, levels = c("No", "Yes"),
labels = c("Đang sử dụng", "Ngưng sử dụng")) # Đổi nhãn cho dễ hiểu
monthly_churn <- data %>%
group_by(Churn) %>%
summarise(
Mean_MonthlyCharges = mean(MonthlyCharges, na.rm = TRUE),
Median_MonthlyCharges = median(MonthlyCharges, na.rm = TRUE),
SD_MonthlyCharges = sd(MonthlyCharges, na.rm = TRUE),
Min_MonthlyCharges = min(MonthlyCharges, na.rm = TRUE),
Max_MonthlyCharges = max(MonthlyCharges, na.rm = TRUE),
N = n()
)
kable(monthly_churn)
| Churn | Mean_MonthlyCharges | Median_MonthlyCharges | SD_MonthlyCharges | Min_MonthlyCharges | Max_MonthlyCharges | N |
|---|---|---|---|---|---|---|
| Đang sử dụng | 61.26512 | 64.425 | 31.09265 | 18.25 | 118.75 | 5174 |
| Ngưng sử dụng | 74.44133 | 79.650 | 24.66605 | 18.85 | 118.35 | 1869 |
Dựa trên Bảng 3.5, có sự khác biệt rõ ràng về mức phí hàng tháng giữa hai nhóm khách hàng. Khách hàng đang sử dụng dịch vụ (Đang sử dụng) có mức phí hàng tháng trung bình là 61.27 USD, trong khi khách hàng đã ngừng dịch vụ (Ngưng sử dụng) có mức phí trung bình cao hơn đáng kể, ở mức 74.44 USD. Giá trị trung vị cũng cho thấy xu hướng tương tự (64.43 USD so với 79.65 USD). Độ lệch chuẩn của nhóm “Đang sử dụng” (31.09) cao hơn nhóm “Ngưng sử dụng” (24.67) cho thấy sự phân tán về phí hàng tháng rộng hơn trong nhóm khách hàng đang sử dụng dịch vụ.
ggplot(data, aes(x = MonthlyCharges, fill = Churn, color = Churn)) +
geom_density(alpha = 0.6) +
labs(
title = "Biểu đồ 3.4: Phân bố Phí hàng tháng theo Tình trạng ngừng dịch vụ",
x = "Phí hàng tháng (USD)",
y = "Mật độ",
fill = "Tình trạng Churn",
color = "Tình trạng Churn"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 12, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
Biểu đồ 3.5 (Biểu đồ Mật độ) trực quan hóa sự khác biệt này, cho thấy đường phân bố mật độ của MonthlyCharges cho nhóm “Ngưng sử dụng” có xu hướng dịch chuyển sang phía bên phải (phí cao hơn) so với nhóm “Đang sử dụng”. Điều này gợi ý rằng khách hàng với mức phí hàng tháng cao hơn có nhiều khả năng ngừng dịch vụ hơn.
model_monthly_churn <- glm(Churn ~ MonthlyCharges, data = data, family = "binomial")
summary(model_monthly_churn)
##
## Call:
## glm(formula = Churn ~ MonthlyCharges, family = "binomial", data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.067053 0.074203 -27.86 <2e-16 ***
## MonthlyCharges 0.015416 0.000967 15.94 <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: 7878.2 on 7041 degrees of freedom
## AIC: 7882.2
##
## Number of Fisher Scoring iterations: 4
Kết quả từ mô hình hồi quy logistic đơn biến cho thấy biến MonthlyCharges có hệ số dương (Estimate = 0.015416) và giá trị p < 2e-16 (rất nhỏ), cho thấy mối liên hệ này là có ý nghĩa thống kê cao.
Để diễn giải ý nghĩa của hệ số này một cách trực quan hơn, chúng ta sẽ tính Tỷ số Chẵn (Odds Ratio - OR):
\(OR= exp(Estimate) = exp(0.015416)= 1.015535\)
Điều này có nghĩa là, với mỗi 1 USD tăng thêm trong phí hàng tháng, khả năng khách hàng ngừng sử dụng dịch vụ (Odds of Churn) tăng khoảng 1.55% (hoặc 1.0155 lần). Mặc dù mức tăng này có vẻ nhỏ cho mỗi 1 USD, nhưng khi tính toán trên một khoảng phí lớn, tác động tích lũy có thể đáng kể.
Phân tích đơn biến cho thấy MonthlyCharges là một yếu tố có ý nghĩa thống kê trong việc dự đoán Churn. Khách hàng có mức phí hàng tháng cao hơn có xu hướng ngừng sử dụng dịch vụ nhiều hơn. Mặc dù tác động của mỗi đơn vị tăng phí là nhỏ, nhưng tổng thể cho thấy đây là một yếu tố cần được quan tâm trong việc quản lý churn, đặc biệt là trong các chiến lược định giá và gói dịch vụ.
Để phân tích mối liên hệ giữa việc khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật (TechSupport) hay không và khả năng ngừng dịch vụ (Churn), tác giả đã loại bỏ những khách hàng không sử dụng dịch vụ Internet (vì họ không cần hỗ trợ kỹ thuật liên quan đến Internet). Biến TechSupport được chia thành hai nhóm: noSupport (không có hỗ trợ kỹ thuật) và Support (có hỗ trợ kỹ thuật). Bảng tần suất chéo, biểu đồ phân bố và các kiểm định thống kê đã được sử dụng để đánh giá tác động này.
techchurn<- data %>%
dplyr::filter(TechSupport %in% c("Yes", "No"))
techchurn <- droplevels(techchurn)
techchurn$TechSupport <- factor(techchurn$TechSupport,
levels = c("No", "Yes"),
labels = c("noSupport", "Support"))
tech_churn <- table(techchurn$TechSupport, techchurn$Churn)
tech_churn
##
## Đang sử dụng Ngưng sử dụng
## noSupport 2027 1446
## Support 1734 310
tech_churn_ta <- as.data.frame(tech_churn)
colnames(tech_churn_ta) <- c("TechSupport", "Churn", "Frequency")
tech_churn_ta <- tech_churn_ta %>%
group_by(TechSupport) %>%
mutate(Percentage = Frequency / sum(Frequency) * 100) %>%
ungroup() %>%
mutate(Percentage_Label = paste0(round(Percentage, 1), "%"))
kable(tech_churn_ta %>% select(TechSupport, Churn, Frequency, Percentage),
options = list(dom = 't'),
caption = "Bảng 3.5: Tình trạng ngưng dịch vụ theo Dịch hỗ trợ kỹ thuật ")
| TechSupport | Churn | Frequency | Percentage |
|---|---|---|---|
| noSupport | Đang sử dụng | 2027 | 58.36453 |
| Support | Đang sử dụng | 1734 | 84.83366 |
| noSupport | Ngưng sử dụng | 1446 | 41.63547 |
| Support | Ngưng sử dụng | 310 | 15.16634 |
ggplot(tech_churn_ta, aes(x = Churn, y = Percentage, fill = TechSupport)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Percentage_Label),
position = position_dodge(width = 0.9),
vjust = -0.3, size = 3) +
labs(
title = "Biểu đồ 3.5: Tỷ lệ ngưng dịch vụ theo Dịch hỗ trợ kỹ thuật",
x = "Tình trạng sử dụng dịch vụ",
y = "Tỷ lệ (%)",
fill = "Tình trạng hỗ trợ kỹ thuật"
) +
theme_minimal() +
scale_x_discrete(labels = c("No" = "Đang sử dụng", "Yes" = "Ngưng sử dụng")) +
scale_fill_manual(values = c(
"noSupport" = "#663366",
"Support" = "#CC00FF"
)) +
theme(
plot.title = element_text(hjust = 0, size = 12, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.text = element_text(size = 9)
)
Dựa trên Bảng 3.4 và Biểu đồ 3.4, có sự khác biệt rất lớn về tỷ lệ ngừng sử dụng dịch vụ giữa hai nhóm khách hàng có và không có dịch vụ hỗ trợ kỹ thuật. Trong nhóm khách hàng noSupport (không có hỗ trợ kỹ thuật), tỷ lệ ngừng dịch vụ là 41.64% (1446/3473). Ngược lại, đối với nhóm khách hàng Support (có hỗ trợ kỹ thuật), tỷ lệ này giảm đáng kể, chỉ còn 15.17% (310/2044). Điều này cho thấy rõ ràng rằng việc sử dụng dịch vụ hỗ trợ kỹ thuật có liên quan đến tỷ lệ ngừng dịch vụ thấp hơn đáng kể.
Giả thuyết kiểm định:
H0: Hai biến độc lập
H1: Hai biến có mối quan hệ
chisq.test(tech_churn)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: tech_churn
## X-squared = 414.25, df = 1, p-value < 2.2e-16
Kiểm định Chi bình phương cho kết quả \(\chi^2 = 414.25\) với bậc tự do df = 1 và giá trị \(p < 2.2 \times 10^{-16}\). Với giá trị p cực kỳ nhỏ (nhỏ hơn 0.05), chúng ta có đủ bằng chứng thống kê để bác bỏ giả thuyết null rằng không có mối liên hệ giữa việc sử dụng dịch vụ hỗ trợ kỹ thuật và tình trạng ngừng dịch vụ. Điều này khẳng định rằng có mối liên hệ có ý nghĩa thống kê mạnh mẽ giữa việc khách hàng có TechSupport và khả năng họ ngừng sử dụng dịch vụ.
riskratio(tech_churn)
## $data
##
## Đang sử dụng Ngưng sử dụng Total
## noSupport 2027 1446 3473
## Support 1734 310 2044
## Total 3761 1756 5517
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## noSupport 1.0000000 NA NA
## Support 0.3642649 0.3263759 0.4065523
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## noSupport NA NA NA
## Support 0 7.814417e-99 2.362359e-92
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số (RR) của việc ngừng dịch vụ cho nhóm Support so với nhóm noSupport là 0.364, với khoảng tin cậy 95% là [0.326, 0.407]. Giá trị này chỉ ra rằng tỷ lệ ngừng dịch vụ của khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật chỉ bằng khoảng 36.4% so với khách hàng không sử dụng dịch vụ này. Điều này hàm ý rằng việc cung cấp dịch vụ hỗ trợ kỹ thuật hiệu quả có thể giảm nguy cơ khách hàng ngừng dịch vụ đáng kể (giảm khoảng 1 - 0.364 = 63.6%). Giá trị p tương ứng cũng rất nhỏ, khẳng định ý nghĩa thống kê của mối liên hệ này.
oddsratio(tech_churn)
## $data
##
## Đang sử dụng Ngưng sử dụng Total
## noSupport 2027 1446 3473
## Support 1734 310 2044
## Total 3761 1756 5517
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## noSupport 1.0000000 NA NA
## Support 0.2507476 0.2180395 0.2876322
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## noSupport NA NA NA
## Support 0 7.814417e-99 2.362359e-92
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Tỷ số (OR) của việc ngừng dịch vụ cho nhóm Support so với nhóm noSupport là 0.251, với khoảng tin cậy 95% là [0.218, 0.288]. Điều này có nghĩa là khả năng ngừng dịch vụ của khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật chỉ bằng khoảng 25.1% so với khách hàng không sử dụng dịch vụ này. Giá trị OR này thể hiện một mối liên hệ rất mạnh mẽ và có ý nghĩa thống kê, cho thấy dịch vụ hỗ trợ kỹ thuật đóng vai trò quan trọng trong việc giữ chân khách hàng. Khoảng tin cậy 95% không chứa 1, củng cố thêm kết luận này.
Phân tích đơn biến cho thấy việc cung cấp và sử dụng dịch vụ hỗ trợ kỹ thuật có ảnh hưởng cực kỳ đáng kể đến tình trạng ngừng sử dụng dịch vụ của khách hàng. Khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật (Support) có tỷ lệ và khả năng ngừng dịch vụ thấp hơn rõ rệt so với nhóm không sử dụng dịch vụ này (noSupport). Các kiểm định thống kê đều xác nhận mối liên hệ này là có ý nghĩa thống kê và theo chiều hướng tích cực đối với việc giữ chân khách hàng. Dịch vụ hỗ trợ kỹ thuật nổi lên là một yếu tố then chốt trong việc giảm Churn.
Trong phần này, tác giả tiến hành xây dựng và đánh giá ba mô hình hồi quy nhị thức (Binary Logistic Regression) phổ biến, bao gồm mô hình Probit, Complementary Log-Log (Cloglog) và Logit, nhằm xác định các yếu tố độc lập có tác động đáng kể đến biến phụ thuộc Churn khi kiểm soát lẫn nhau. Các biến độc lập được lựa chọn dựa trên phân tích đơn biến trước đó bao gồm: Contract (Loại hợp đồng), SeniorCitizen (Công dân cao tuổi), InternetService (Loại hình Internet), MonthlyCharges (Phí hàng tháng), và TechSupport (Dịch vụ hỗ trợ kỹ thuật). Biến phụ thuộc Churn_ được mã hóa là 0 (Đang sử dụng) và 1 (Ngừng sử dụng).
Mô hình Probit sử dụng hàm liên kết là hàm phân phối tích lũy chuẩn hóa để chuyển đổi các biến độc lập tuyến tính thành xác suất.
Kết quả mô hình:
##
## Call:
## glm(formula = Churn_ ~ Contract + SeniorCitizen + InternetService +
## MonthlyCharges + TechSupport, family = binomial(link = "probit"),
## data = data)
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.185759 0.089019 -2.087 0.03691 *
## ContractOne year -0.842254 0.052042 -16.184 < 2e-16 ***
## ContractTwo year -1.394957 0.073754 -18.914 < 2e-16 ***
## SeniorCitizenYes 0.126195 0.046620 2.707 0.00679 **
## InternetServiceFiber optic 0.668778 0.076729 8.716 < 2e-16 ***
## InternetServiceNo -0.669908 0.082285 -8.141 3.91e-16 ***
## MonthlyCharges -0.004198 0.001702 -2.467 0.01364 *
## TechSupportNo internet service NA NA NA NA
## TechSupportYes -0.250732 0.049012 -5.116 3.13e-07 ***
## ---
## 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: 6290.4 on 7035 degrees of freedom
## AIC: 6306.4
##
## Number of Fisher Scoring iterations: 6
Các hệ số ước lượng trong mô hình Probit đều có giá trị p rất nhỏ (phần lớn là \(<0.001\)), cho thấy chúng có tác động có ý nghĩa thống kê cao đến khả năng Churn. Các biến Contract (cả One year và Two year), InternetServiceFiber optic, InternetServiceNo, và TechSupportYes đều có mức ý nghĩa rất cao (\(p < 2e-16\) hoặc tương tự). SeniorCitizenYes có ý nghĩa thống kê ở mức \(p < 0.01\), và MonthlyCharges có ý nghĩa ở mức \(p < 0.05\). Điều này cho thấy các biến này đều là những yếu tố quan trọng trong việc dự đoán Churn.
ContractOne year (-0.842254) và ContractTwo year (-1.394957): Các hệ số âm mạnh cho thấy khách hàng có hợp đồng dài hạn (một năm hoặc hai năm) có xu hướng Churn thấp hơn đáng kể so với nhóm tham chiếu (hợp đồng tháng-tháng). Hợp đồng hai năm cho thấy tác động giảm Churn mạnh mẽ hơn so với hợp đồng một năm.
SeniorCitizenYes (0.126195): Có tác động dương, chỉ ra rằng khách hàng là công dân cao tuổi có xu hướng Churn cao hơn so với nhóm không phải công dân cao tuổi, khi các yếu tố khác được kiểm soát.
InternetServiceFiber optic (0.668778): Có tác động dương, cho thấy khách hàng sử dụng dịch vụ Internet cáp quang có xu hướng Churn cao hơn so với nhóm tham chiếu (DSL).
InternetServiceNo (-0.669908): Có tác động âm, cho thấy khách hàng không sử dụng dịch vụ Internet có khả năng Churn thấp hơn so với nhóm DSL.
MonthlyCharges (-0.004198): Có tác động âm. Đây là một điểm đáng lưu ý vì nó ngược chiều với kết quả phân tích đơn biến. Hiện tượng này (hiệu ứng đàn áp hoặc nghịch đảo) gợi ý rằng, khi đã kiểm soát các yếu tố khác như loại hình Internet và hợp đồng, khách hàng có phí hàng tháng cao hơn lại có xu hướng Churn thấp hơn. Điều này có thể xuất phát từ việc họ đang sử dụng các gói dịch vụ cao cấp hơn, mang lại sự hài lòng cao hơn hoặc họ đã có mức độ gắn bó nhất định.
TechSupportYes (-0.250732): Có tác động âm, cho thấy việc khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật giúp giảm khả năng Churn so với nhóm không có dịch vụ này.
Hệ số của TechSupportNo internet service không được ước lượng do cộng tuyến hoàn hảo (perfect collinearity) với biến InternetServiceNo. Về mặt bản chất, tất cả khách hàng không sử dụng Internet (InternetServiceNo) đồng thời cũng không có dịch vụ hỗ trợ kỹ thuật liên quan đến Internet. Do đó, hai biến này cung cấp thông tin trùng lặp.
Mô hình Cloglog sử dụng hàm liên kết \(log(−log(1−p))\), thường được dùng khi xác suất sự kiện có xu hướng không đối xứng hoặc khi tác động của các biến độc lập có thể không đối xứng qua trung vị. Mô hình này được xây dựng với cùng các biến độc lập như Probit.
# Complementary log-log
churn_model_cloglog <- glm(Churn_ ~ Contract +
SeniorCitizen +
InternetService +
MonthlyCharges +
TechSupport,
data = data, family = binomial(link = "cloglog"))
summary(churn_model_cloglog)
##
## Call:
## glm(formula = Churn_ ~ Contract + SeniorCitizen + InternetService +
## MonthlyCharges + TechSupport, family = binomial(link = "cloglog"),
## data = data)
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.603927 0.114923 -5.255 1.48e-07 ***
## ContractOne year -1.248164 0.085156 -14.657 < 2e-16 ***
## ContractTwo year -2.409888 0.151900 -15.865 < 2e-16 ***
## SeniorCitizenYes 0.144702 0.056076 2.580 0.00987 **
## InternetServiceFiber optic 0.864653 0.100752 8.582 < 2e-16 ***
## InternetServiceNo -1.012046 0.124308 -8.141 3.91e-16 ***
## MonthlyCharges -0.005411 0.002195 -2.464 0.01372 *
## TechSupportNo internet service NA NA NA NA
## TechSupportYes -0.368110 0.069268 -5.314 1.07e-07 ***
## ---
## 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: 6295.8 on 7035 degrees of freedom
## AIC: 6311.8
##
## Number of Fisher Scoring iterations: 6
Tương tự mô hình Probit, hầu hết các biến độc lập đều có ý nghĩa thống kê cao. Biến Contract (cả One year và Two year) cho thấy ý nghĩa thống kê rất cao (\(p < 2e^{16}\)). SeniorCitizenYes và MonthlyCharges có mức ý nghĩa thấp hơn một chút (** và * tương ứng), nhưng vẫn có ý nghĩa thống kê tại \(alpha=0.05\).
ContractOne year (-1.248164), ContractTwo year (-2.409888): Các hệ số âm mạnh cho thấy hợp đồng dài hạn giảm đáng kể khả năng Churn so với hợp đồng tháng-tháng, với hợp đồng hai năm có tác động mạnh nhất.
SeniorCitizenYes (0.144702): Tiếp tục cho thấy tác động dương lên khả năng Churn.
InternetServiceFiber optic (0.864653): Vẫn có tác động dương lên Churn, mặc dù độ lớn hệ số nhỏ hơn so với mô hình Probit.
InternetServiceNo (-1.012046): Tiếp tục có tác động âm, giảm khả năng Churn.
MonthlyCharges (-0.005411): Hệ số tiếp tục là âm, củng cố nhận định về hiệu ứng đàn áp khi các biến khác được kiểm soát. Tác động này yếu hơn so với Probit.
TechSupportYes (-0.368110): Vẫn có tác động âm, giảm khả năng Churn.
Vấn đề cộng tuyến (TechSupportNo internet service = NA) với InternetServiceNo vẫn tồn tại, dẫn đến việc hệ số này không được ước lượng.
Mô hình Logit, còn gọi là hồi quy logistic nhị thức, là lựa chọn phổ biến nhất do khả năng diễn giải dễ dàng thông qua Tỷ số Odds Ratio. Mô hình này cũng được xây dựng với cùng các biến độc lập như mô hình Cloglog.
# Logit
churn_model_logit <- glm(Churn_ ~ Contract +
SeniorCitizen +
InternetService +
MonthlyCharges +
TechSupport,
data = data, family = binomial(link = "logit"))
summary(churn_model_logit)
##
## Call:
## glm(formula = Churn_ ~ Contract + SeniorCitizen + InternetService +
## MonthlyCharges + TechSupport, family = binomial(link = "logit"),
## data = data)
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.284585 0.150040 -1.897 0.05786 .
## ContractOne year -1.461003 0.094980 -15.382 < 2e-16 ***
## ContractTwo year -2.632714 0.158185 -16.643 < 2e-16 ***
## SeniorCitizenYes 0.205362 0.077586 2.647 0.00812 **
## InternetServiceFiber optic 1.128137 0.130846 8.622 < 2e-16 ***
## InternetServiceNo -1.175872 0.145458 -8.084 6.27e-16 ***
## MonthlyCharges -0.007290 0.002889 -2.523 0.01162 *
## TechSupportNo internet service NA NA NA NA
## TechSupportYes -0.438414 0.084525 -5.187 2.14e-07 ***
## ---
## 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: 6292.9 on 7035 degrees of freedom
## AIC: 6308.9
##
## Number of Fisher Scoring iterations: 6
Tương tự như mô hình Cloglog, tất cả các biến độc lập đều có ý nghĩa thống kê (tại \(alpha=0.05\) hoặc cao hơn), ngoại trừ (Intercept) có ý nghĩa ở mức \(alpha=0.1\). Các hệ số của Contract, InternetService và TechSupport đều cho thấy mức ý nghĩa rất cao (\(p < 0.001\)).
Để diễn giải các hệ số một cách trực quan hơn trong hồi quy Logit, chúng ta tính Tỷ số Chẵn (Odds Ratio - OR) bằng cách lấy lũy thừa tự nhiên của hệ số \(exp(Estimate)\).
Contract (Loại hợp đồng):
Tham chiếu: Month-to-month (hợp đồng tháng-tháng)
ContractOne year: Hệ số là -1.461003 (\(OR= exp(-1.461003)=0.2320035\)). Điều này có nghĩa là, khi các yếu tố khác không đổi, khả năng ngừng dịch vụ của khách hàng có hợp đồng một năm thấp hơn khoảng 76.8% (hoặc chỉ bằng 23.2%) so với khách hàng có hợp đồng tháng-tháng. (Giá trị p rất nhỏ).
ContractTwo year: Hệ số là -2.632714 (\(OR= exp(-2.632714)= 0.07188311\)). Điều này cho thấy, khả năng ngừng dịch vụ của khách hàng có hợp đồng hai năm thấp hơn đáng kể, chỉ bằng khoảng 7.2% so với khách hàng có hợp đồng tháng-tháng. (Giá trị p rất nhỏ).
SeniorCitizen (Nhóm tuổi):
Tham chiếu: notSenior (không phải công dân cao tuổi)
SeniorCitizenYes: Hệ số là 0.205362 (\(OR= exp(0.205362)= 1.22797\)). Điều này có nghĩa là, khi các yếu tố khác không đổi, khả năng ngừng dịch vụ của khách hàng là công dân cao tuổi cao hơn khoảng 22.8% so với khách hàng không phải công dân cao tuổi. (Giá trị p = 0.00812).
InternetService (Loại hình Internet):
Tham chiếu: DSL
InternetServiceFiber optic: Hệ số là 1.128137 (\(OR= exp(1.128137)= 3.089895\)). Điều này cho thấy, khi các yếu tố khác không đổi, khả năng ngừng dịch vụ của khách hàng sử dụng Internet cáp quang cao hơn khoảng 3.09 lần so với khách hàng sử dụng DSL. (Giá trị p rất nhỏ).
InternetServiceNo: Hệ số là -1.175872 (\(OR= exp(-1.175872)= 0.30854985\)) .Điều này có nghĩa là, khi các yếu tố khác không đổi, khả năng ngừng dịch vụ của khách hàng không sử dụng dịch vụ Internet (chỉ dùng các dịch vụ khác) thấp hơn khoảng 69.2% (hoặc chỉ bằng 30.8%) so với khách hàng sử dụng DSL. (Giá trị p rất nhỏ).
Đây là một biến có tác động mạnh. Khách hàng sử dụng cáp quang có khả năng Churn cao hơn đáng kể (điều này có thể liên quan đến kỳ vọng cao hơn, chi phí cao hơn hoặc sự cạnh tranh gay gắt của dịch vụ cáp quang như đã thảo luận trong phần phân tích đơn biến). Ngược lại, khách hàng không dùng Internet lại ít có khả năng Churn hơn, cho thấy họ có thể là những người dùng các dịch vụ cơ bản và ổn định.
MonthlyCharges (Phí hàng tháng):
Kết quả này trái ngược với phân tích đơn biến, nơi MonthlyCharges có mối tương quan dương với Churn. Hiện tượng này được gọi là hiệu ứng đàn áp (suppression effect) hoặc hiệu ứng nghịch đảo. Trong mô hình đa biến, khi các yếu tố khác như InternetService (đặc biệt là Fiber optic - thường có phí cao) và Contract (hợp đồng dài hạn - thường kèm theo các gói ưu đãi) được kiểm soát, tác động “thuần túy” của MonthlyCharges mới được bộc lộ. Điều này có thể gợi ý rằng những khách hàng trả phí hàng tháng cao (sau khi đã kiểm soát loại dịch vụ và hợp đồng) có thể là những khách hàng có giá trị cao, được hưởng các dịch vụ tốt hơn hoặc có lý do khác để gắn bó với nhà mạng, dẫn đến khả năng Churn thấp hơn. Đây là một phát hiện quan trọng cần được xem xét kỹ lưỡng trong chiến lược quản lý khách hàng.
TechSupport (Dịch vụ hỗ trợ kỹ thuật):
Tham chiếu: noSupport (không có hỗ trợ kỹ thuật)
TechSupportNo internet service (NA): Hệ số này không được ước lượng do cộng tuyến hoàn hảo (perfect collinearity) với biến InternetServiceNo. Về mặt bản chất, tất cả các khách hàng không sử dụng dịch vụ Internet (InternetServiceNo) cũng đồng thời không có dịch vụ hỗ trợ kỹ thuật liên quan đến Internet. Do đó, việc có mặt đồng thời cả InternetServiceNo và TechSupportNo internet service trong mô hình sẽ cung cấp cùng một thông tin, gây ra vấn đề trong quá trình ước lượng. Mô hình đã tự động loại bỏ một trong số đó. Chúng ta sẽ chấp nhận hiện trạng này và hiểu rằng tác động của việc không có dịch vụ hỗ trợ kỹ thuật (cho người không dùng internet) đã được thể hiện thông qua biến InternetServiceNo.
TechSupportYes: Hệ số là -0.438414 (\(OR= exp(-0.438414)= 0.6450587\)) . Điều này có nghĩa là, khi các yếu tố khác không đổi, khả năng ngừng dịch vụ của khách hàng có sử dụng dịch vụ hỗ trợ kỹ thuật thấp hơn khoảng 35.5% (hoặc chỉ bằng 64.5%) so với khách hàng không sử dụng dịch vụ này. (Giá trị p rất nhỏ).
Dịch vụ hỗ trợ kỹ thuật đóng vai trò quan trọng trong việc giữ chân khách hàng, giảm đáng kể khả năng Churn.
Để đánh giá và lựa chọn mô hình hồi quy tối ưu nhất trong số ba mô hình đã xây dựng (Probit, Cloglog, Logit), hai tiêu chí chính là AIC và AUC được lựa chọn và sử dụng. Các tiêu chí này cung cấp một cái nhìn toàn diện về hiệu suất của mô hình, bao gồm khả năng giải thích dữ liệu và khả năng dự đoán/phân loại.
ROC AUC (Area Under the Receiver Operating Characteristic Curve): ROC AUC đo lường khả năng phân loại của mô hình, tức là khả năng phân biệt giữa khách hàng ngưng sử dụng dịch vụ (Churn = Yes) và khách hàng tiếp tục sử dụng (Churn = No). Giá trị AUC dao động từ 0,5 (đoán ngẫu nhiên) đến 1 (phân loại hoàn hảo). AUC cao hơn cho thấy mô hình có khả năng dự đoán chính xác hơn, đặc biệt quan trọng trong ngành viễn thông, nơi việc xác định đúng khách hàng có nguy cơ ngưng sử dụng giúp triển khai các chiến lược can thiệp hiệu quả, như cung cấp ưu đãi hoặc cải thiện dịch vụ. Tiêu chí này được chọn vì nó trực quan, dễ hiểu, và phù hợp với biến phụ thuộc nhị phân như Churn.
AIC (Akaike Information Criterion): AIC đánh giá sự cân bằng giữa độ chính xác của mô hình (thông qua giá trị log-likelihood) và độ phức tạp (số lượng tham số). Mô hình có AIC thấp hơn được coi là phù hợp hơn, vì nó giải thích dữ liệu tốt mà không làm tăng độ phức tạp không cần thiết, giảm nguy cơ quá khớp (overfitting). AIC được chọn để so sánh trực tiếp các mô hình Logistic, Probit, và Cloglog, giúp xác định mô hình nào phù hợp nhất với bộ dữ liệu Telco Customer Churn, đảm bảo tính hiệu quả khi áp dụng vào thực tiễn quản lý khách hàng.
Dưới đây là kết quả của các tiêu chí đánh giá được tổng hợp từ ba mô hình:
##
## Call:
## roc.default(response = data$Churn_, predictor = prob_logit)
##
## Data: prob_logit in 5174 controls (data$Churn_ 0) < 1869 cases (data$Churn_ 1).
## Area under the curve: 0.8126
##
## Call:
## roc.default(response = data$Churn_, predictor = prob_probit)
##
## Data: prob_probit in 5174 controls (data$Churn_ 0) < 1869 cases (data$Churn_ 1).
## Area under the curve: 0.8125
##
## Call:
## roc.default(response = data$Churn_, predictor = prob_cloglog)
##
## Data: prob_cloglog in 5174 controls (data$Churn_ 0) < 1869 cases (data$Churn_ 1).
## Area under the curve: 0.8123
## Area under the curve: 0.8126
## Area under the curve: 0.8125
## Area under the curve: 0.8123
| Tiêu.chí | Mô.hình.Probit | Mô.hình.Cloglog | Mô.hình.Logit |
|---|---|---|---|
| AIC | 6306.4000 | 6311.8000 | 6308.9000 |
| AUC | 0.8125 | 0.8123 | 0.8126 |
Giá trị AUC khoảng 0,812 cho thấy cả ba mô hình đều vượt xa mức đoán ngẫu nhiên (AUC = 0,5), với khả năng phân biệt tốt giữa khách hàng ngưng sử dụng và tiếp tục sử dụng dịch vụ. Mô hình Logistic có AUC cao nhất (0,8126), nhưng sự khác biệt với Probit (0,8125) và Cloglog (0,8123) là rất nhỏ (chỉ khoảng 0,0001–0,0003). Điều này ngụ ý rằng cả ba mô hình có hiệu suất dự đoán gần tương đương, với Logistic nhỉnh hơn một chút. Trong thực tiễn, AUC = 0,8126 của mô hình Logistic cho thấy nó có thể dự đoán chính xác khoảng 81% trường hợp, đủ để hỗ trợ các công ty viễn thông xác định nhóm khách hàng có nguy cơ ngưng sử dụng và triển khai các chiến lược giữ chân, như chiết khấu hoặc cải thiện hỗ trợ kỹ thuật. Sự khác biệt nhỏ về AUC giữa các mô hình yêu cầu xem xét thêm tiêu chí AIC để đánh giá mức độ phù hợp tổng thể.
Mô hình Probit có AIC thấp nhất (6306,4), tiếp theo là Logistic (6308,9) và Cloglog (6311,8). Sự khác biệt về AIC giữa Probit và Logistic là khoảng 2,5 đơn vị, và giữa Logistic và Cloglog là khoảng 2,9 đơn vị. Theo nguyên tắc thống kê, sự khác biệt nhỏ hơn 10 đơn vị được coi là không đáng kể, nghĩa là Probit và Logistic có mức độ phù hợp gần tương đương, trong khi Cloglog kém hơn một chút. #### Lựa chọn mô hình
Dựa trên kết quả đánh giá, mô hình Logistic được lựa chọn là mô hình tối ưu để dự đoán tình trạng ngưng sử dụng dịch vụ (Churn), với AUC = 0,8126 (cao nhất trong ba mô hình) và AIC = 6308,9000 (chỉ cao hơn Probit 2,5 đơn vị). Mặc dù mô hình Probit có AIC thấp nhất (6306,4000), sự khác biệt nhỏ về AIC và AUC giữa Logistic và Probit (0,0001 về AUC và 2,5 về AIC) không đủ để ưu tiên Probit, trong khi mô hình Logistic có lợi thế vượt trội về khả năng diễn giải Odds Ratio, giúp dễ dàng giải thích mức độ biến động của các yếu tố ảnh hưởng đến Churn.
Mô hình Logistic được chọn vì nó kết hợp hiệu suất dự đoán cao (AUC = 0,8126, cao nhất trong ba mô hình) với khả năng diễn giải Odds Ratio, mang lại lợi thế vượt trội trong việc truyền đạt kết quả đến các bên liên quan trong ngành viễn thông. Mặc dù Probit có AIC thấp hơn (6306,4000 so với 6308,9000), sự khác biệt 2,5 đơn vị không đủ để ưu tiên Probit, đặc biệt khi Logistic cung cấp Odds Ratio – một chỉ số trực quan và dễ áp dụng hơn so với hiệu ứng cận biên của Probit. Cloglog, với AUC thấp nhất (0,8123) và AIC cao nhất (6311,8000), không phải là lựa chọn tối ưu, đặc biệt khi tỷ lệ ngưng sử dụng (26,5%, 1.869/7.043 khách hàng) không được coi là sự kiện hiếm, làm giảm tính phù hợp của Cloglog. Mô hình Logistic, với sự đơn giản, khả năng diễn giải rõ ràng, và hiệu suất dự đoán cao, là công cụ lý tưởng để hỗ trợ các công ty viễn thông dự đoán và giảm tỷ lệ ngưng sử dụng dịch vụ, từ đó tối ưu hóa lợi nhuận và củng cố vị thế cạnh tranh.
Nghiên cứu này đã sử dụng bộ dữ liệu Telco Customer Churn để phân tích các yếu tố ảnh hưởng đến tình trạng ngưng sử dụng dịch vụ (Churn) của khách hàng trong ngành viễn thông, với mục tiêu cung cấp cơ sở dữ liệu cho các chiến lược giữ chân khách hàng. Thông qua các phân tích đơn biến và đa biến, nghiên cứu đã làm rõ vai trò của các yếu tố như loại hợp đồng, cùng với việc lựa chọn mô hình hồi quy tối ưu để dự đoán hành vi ngưng sử dụng. Chương này tổng kết các phát hiện chính, nêu rõ hạn chế của đề tài, và đưa ra các khuyến nghị cụ thể để hỗ trợ các công ty viễn thông giảm tỷ lệ ngưng sử dụng dịch vụ.
Nghiên cứu đã tập trung vào phân tích mối quan hệ giữa các yếu tố như loại hợp đồng (Contract), tình trạng công dân cao tuổi (SeniorCitizen), dịch vụ internet (InternetService), hỗ trợ kỹ thuật (TechSupport), và chi phí hàng tháng (MonthlyCharges) với tình trạng ngưng sử dụng dịch vụ (Churn). Trong phân tích đơn biến, loại hợp đồng được xác định là yếu tố có ảnh hưởng mạnh mẽ đến Churn. Cụ thể, bảng tần suất và biểu đồ cột cho thấy tỷ lệ ngưng sử dụng dịch vụ trong nhóm hợp đồng ngắn hạn (34,1%) cao gấp hơn 12 lần so với nhóm hợp đồng dài hạn (2,8%). Kiểm định Chi-square (X² = 641,83, p-value < 2,2e-16) khẳng định mối liên hệ thống kê đáng kể giữa loại hợp đồng và Churn. Tỷ số rủi ro (RR = 0,0807, khoảng tin cậy 95%: [0,0609; 0,1070]) và tỷ số odds (OR = 0,0566, khoảng tin cậy 95%: [0,0417; 0,0750]) cho thấy hợp đồng dài hạn giảm đáng kể nguy cơ và tỷ lệ cược ngưng sử dụng dịch vụ, củng cố vai trò của hợp đồng dài hạn như một “bức tường bảo vệ” giúp giữ chân khách hàng.
Trong phân tích đa biến, ba mô hình hồi quy được áp dụng: Logistic, Probit, và Complementary Log-Log (Cloglog). Kết quả đánh giá cho thấy cả ba mô hình có hiệu suất dự đoán tương đương, với AUC lần lượt là 0,8126 (Logistic), 0,8125 (Probit), và 0,8123 (Cloglog), cho thấy khả năng phân biệt tốt giữa khách hàng ngưng sử dụng và tiếp tục sử dụng dịch vụ (khoảng 81% trường hợp được dự đoán chính xác). Về AIC, mô hình Probit có giá trị thấp nhất (6306,4000), tiếp theo là Logistic (6308,9000) và Cloglog (6311,8000). Tuy nhiên, sự khác biệt nhỏ về AIC (2,5 đơn vị giữa Probit và Logistic) và AUC (0,0001) không đủ để ưu tiên Probit, trong khi mô hình Logistic được chọn nhờ lợi thế diễn giải Odds Ratio. Odds Ratio từ mô hình Logistic cho phép định lượng mức độ tác động của các biến độc lập, ví dụ, xác định rằng hợp đồng ngắn hạn làm tăng tỷ lệ cược ngưng sử dụng dịch vụ so với hợp đồng dài hạn. Lựa chọn mô hình Logistic không chỉ dựa trên hiệu suất dự đoán cao mà còn vì tính dễ hiểu và khả năng áp dụng vào các chiến lược kinh doanh viễn thông.
Nhìn chung, nghiên cứu đã khẳng định rằng loại hợp đồng là yếu tố quan trọng nhất ảnh hưởng đến Churn, với hợp đồng dài hạn giúp giảm đáng kể tỷ lệ ngưng sử dụng dịch vụ. Mô hình Logistic, với AUC = 0,8126 và khả năng diễn giải Odds Ratio, là công cụ hiệu quả để dự đoán hành vi khách hàng, hỗ trợ các công ty viễn thông xây dựng các chiến lược giữ chân khách hàng dựa trên dữ liệu. Các phát hiện này đặc biệt có giá trị trong bối cảnh thị trường viễn thông Việt Nam, nơi cạnh tranh khốc liệt và chi phí thu hút khách hàng mới cao, đòi hỏi các giải pháp tối ưu để duy trì nguồn doanh thu ổn định.
Mặc dù nghiên cứu đã cung cấp những hiểu biết quan trọng về các yếu tố ảnh hưởng đến Churn, vẫn tồn tại một số hạn chế cần được xem xét:
Phân tích đơn biến chưa kiểm soát các yếu tố khác: Phân tích đơn biến về loại hợp đồng cho thấy mối liên hệ mạnh mẽ với Churn, nhưng chưa xem xét tác động đồng thời của các biến khác như chi phí hàng tháng hoặc chất lượng dịch vụ. Điều này có thể dẫn đến việc đánh giá quá mức tác động của hợp đồng mà không kiểm soát các yếu tố nhiễu.
Gộp hợp đồng ngắn hạn: Việc gộp hợp đồng hàng tháng và một năm thành nhóm “ngắn hạn” có thể làm mất đi sự khác biệt giữa hai loại hợp đồng này. Ví dụ, khách hàng hợp đồng hàng tháng có thể có hành vi ngưng sử dụng khác với khách hàng hợp đồng một năm, và phân tích chi tiết hơn có thể mang lại thông tin bổ sung.
Sự khác biệt nhỏ giữa các mô hình đa biến: Trong phân tích đa biến, sự khác biệt về AUC (0,0001–0,0003) và AIC (2,5–5,4 đơn vị) giữa các mô hình Logistic, Probit, và Cloglog là không đáng kể, cho thấy hiệu suất của các mô hình gần tương đương. Việc chọn mô hình Logistic dựa trên Odds Ratio có thể bỏ qua lợi thế của Probit trong một số trường hợp, như khi cần hiệu ứng cận biên để diễn giải tác động chi tiết hơn.
Khả năng khái quát hóa: Các kết quả dựa trên bộ dữ liệu Telco Customer Churn có thể không hoàn toàn áp dụng được cho các thị trường viễn thông khác, đặc biệt khi các yếu tố như văn hóa tiêu dùng hoặc cạnh tranh thị trường khác nhau. Ngoài ra, nghiên cứu chưa sử dụng kỹ thuật kiểm tra chéo (cross-validation) để kiểm tra độ bền của mô hình Logistic trên các tập dữ liệu khác.
Những hạn chế này không làm giảm giá trị của nghiên cứu, nhưng cần được xem xét để cải thiện trong các nghiên cứu tiếp theo và chuẩn bị cho các câu hỏi phản biện.
Dựa trên các phát hiện của nghiên cứu, một số khuyến nghị được đề xuất để hỗ trợ các công ty viễn thông giảm tỷ lệ ngưng sử dụng dịch vụ:
Khuyến khích hợp đồng dài hạn: Kết quả phân tích đơn biến cho thấy hợp đồng dài hạn giảm mạnh nguy cơ và tỷ lệ cược ngưng sử dụng dịch vụ (RR = 0,0807, OR = 0,0566). Các công ty nên triển khai các chương trình ưu đãi, như chiết khấu 10-15% cho hợp đồng hai năm hoặc cung cấp dữ liệu miễn phí, để khuyến khích khách hàng ký hợp đồng dài hạn. Những ưu đãi này không chỉ tăng mức độ cam kết mà còn giúp duy trì nguồn doanh thu ổn định.
Điều tra nguyên nhân ngưng sử dụng ở nhóm hợp đồng ngắn hạn: Với 34,1% khách hàng hợp đồng ngắn hạn ngưng sử dụng dịch vụ, các công ty cần thực hiện khảo sát hoặc phân tích bổ sung để xác định nguyên nhân, như chất lượng dịch vụ kém, giá cả không cạnh tranh, hoặc thiếu hỗ trợ kỹ thuật. Kết quả từ các khảo sát này có thể giúp thiết kế các gói dịch vụ linh hoạt hơn cho nhóm khách hàng này.
Sử dụng mô hình Logistic để dự đoán và can thiệp: Mô hình Logistic, với AUC = 0,8126, là công cụ hiệu quả để xác định nhóm khách hàng có nguy cơ ngưng sử dụng cao. Các công ty nên tích hợp mô hình này vào hệ thống quản lý khách hàng để dự đoán và triển khai các chiến lược can thiệp kịp thời, chẳng hạn như gửi ưu đãi cá nhân hóa hoặc cải thiện trải nghiệm khách hàng. Phân tích Odds Ratio từ mô hình Logistic cần được thực hiện để định lượng tác động của các yếu tố như hợp đồng ngắn hạn hoặc chi phí cao, từ đó ưu tiên các chiến lược nhắm mục tiêu chính xác.
Nâng cao chất lượng dịch vụ hỗ trợ kỹ thuật và internet: Dựa trên các biến độc lập được phân tích (giả định từ Chương 2), các yếu tố như dịch vụ hỗ trợ kỹ thuật (TechSupport) và dịch vụ internet (InternetService) có thể ảnh hưởng đến Churn. Các công ty nên đầu tư vào việc cải thiện chất lượng dịch vụ, như tăng tốc độ xử lý yêu cầu hỗ trợ kỹ thuật hoặc nâng cấp hạ tầng internet, để tăng sự hài lòng của khách hàng.
Nghiên cứu bổ sung để khắc phục hạn chế: Để vượt qua các hạn chế của nghiên cứu, các công ty nên thực hiện phân tích đa biến sâu hơn, kiểm soát đồng thời các yếu tố như chi phí hàng tháng và chất lượng dịch vụ. Ngoài ra, cần tách riêng hợp đồng hàng tháng và một năm trong phân tích để khám phá sự khác biệt chi tiết, đồng thời áp dụng kiểm tra chéo để kiểm tra độ bền của mô hình Logistic trên các tập dữ liệu khác.
Những khuyến nghị này không chỉ dựa trên các phát hiện của nghiên cứu mà còn được thiết kế để có tính ứng dụng cao, giúp các công ty viễn thông tối ưu hóa chiến lược giữ chân khách hàng và nâng cao vị thế cạnh tranh trong thị trường.