CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI NGHIÊN CỨU

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

Thị trường viễn thông và dịch vụ công nghệ là một trong những nhóm ngành đi đầu trong sự phát triển hóa của đất nước. Tuy nhiên việc phát triển mạnh cũng sẽ đi kèm với những sự cạnh tranh mặc định thông qua sự cạnh tranh khốc liệt khi tốc độ tăng trưởng người dùng mới chững lại và thị trường dần trở nên bão hòa.Trong bối cảnh đó, việc xây dựng và tạo lập khách hàng mới và tiềm năng là vô cùng khó khăn cho các doanh nghiệp viễn thông vì nó sẽ đòi hỏi chi phí marketing khá cao. Tuy nhiên một cách luôn đảm bảo để doanh nghiệp luôn hoạt động đó là việc xây dựng uy tín của khách hàng hiện tại. Các doanh nghiệp ngày càng nhận thấy tầm quan trọng của việc giữ chân khách hàng hiện tại, những người không chỉ tạo ra dòng doanh thu ổn định mà còn có khả năng lan tỏa giá trị thương hiệu thông qua hành vi giới thiệu tích cực. Theo nhiều nghiên cứu, chi phí để thu hút một khách hàng mới thường cao gấp 5 đến 10 lần so với việc duy trì một khách hàng hiện tại, chính vì lẽ đó việc phân tích các yếu tố ảnh hưởng đến quyết định rời bỏ dịch vụ của khách hàng hiện tại trở nên đặc biệt quan trọng đối với mỗi doanh nghiệp dịch vụ viễn thông. Do vậy, việc nghiên cứu đề tài “ các yếu tố ảnh hưởng đến quyết định rời bỏ dịch vụ của khách hàng ” là cơ sở để nhìn nhận và từ đó xây dựng các chính sách chăm sóc, giữ chân khách hàng hiệu quả và phù hợp hơn cho các doanh nghiệp.

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

Mục tiêu tổng quát

Nghiên cứu nhằm xác định và lượng hóa mức độ tác động của các yếu tố liên quan đến dịch vụ, hợp đồng và đặc điểm khách hàng đối với quyết định rời bỏ dịch vụ (churn). Trên cơ sở đó, đề tài hướng đến việc xây dựng mô hình dự báo khả năng rời bỏ của khách hàng và đề xuất các giải pháp phù hợp nhằm hỗ trợ doanh nghiệp trong việc giữ chân khách hàng hiệu quả.

Mục tiêu cụ thể

  • Phân tích và mô tả từng biến trong bộ dữ liệu rồi từ đó phân tích các biến phụ thuộc sâu vào hành vi quyết định rời bỏ dịch vụ viễn thông của khách hàng.

  • Xây dựng các mô hình đã học Logistic, Probit, Cloglog…để dự báo khả năng rời bỏ của khách hàng; đồng thời đánh giá hiệu quả của mô hình thông qua các chỉ tiêu thống kê như độ chính xác (accuracy)…

  • Đưa ra các đề xuất chiến lược kinh doanh dựa trên kết quả mô hình, nhằm giúp doanh nghiệp giảm thiểu tỷ lệ khách hàng rời bỏ và nâng cao chất lượng dịch vụ.

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

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

Đối tượng nghiên cứu chính trong đề tài là biến định tính Hành vi rời bỏ dịch vụ (Churn) của khách hàng với các biến độc lập kèm theo như gender (giới tính), SeniorCitizen ( người cao tuổi), married ( tình trạng hôn nhân), phoneService (sử dụng dịch điện thoại), internetservice (loại dịch vụ internet), supportservice (hỗ trợ các dịch vụ), contract (hợp đồng đăng kí sử dụng), paymentmethod (phương thức thanh toán).

Phạm vi nghiên cứu

Bộ dữ liệu nghiên cứu bao gồm 7043 quan sát và 9 biến sau khi đã được chọn lọc để phân tích, mỗi biến đại diện cho các thông tin liên quan đến dịch vụ viễn thông và đặc điểm khách hàng.

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

Bài tiểu luận sử dụng phương pháp nghiên cứu thống kê để phân tích Hành vi rời bỏ dịch vụ (Churn) của khách hàng dựa trên các biến ảnh hưởng thông qua các công cụ thống kê mô tả (bảng tần số, biểu đồ, các chỉ số đo lường) và từ đó sử dụng các mô hình hồi quy logit, probit, cloglog để đánh giá hiệu suất mô hình.

1.5. Kết cấu đề tài

  • Chương 1: Tổng quan đề tài nghiên cứu: Trình bày lý do, mục tiêu, đối tượng, phạm vi và phương pháp nghiên cứu.
  • Chương 2: Tổng quan lý thuyết nghiên cứu: Trình bày các lý thuyết về mô hình GLM, logistic, probit, poisson, cloglog đã học
  • Chương 3: Giới thiệu bộ dữ liệu và phân tích: Trình bày kết quả ước lượng của mô hình hồi quy, diễn giải các hệ số, đánh giá mô hình và thảo luận về các phát hiện chính.
  • Chương 4: Kết luận và hàm ý đề tài: Tóm tắt lại các kết quả chính của nghiên cứu và đồng thời nêu hạn chế đề tài.

CHƯƠNG 2: TỔNG QUAN LÝ THUYẾT NGHIÊN CỨU

2.1. Các phân phối trong dữ liệu định tính

2.1.1. Phân phối Bernoulli

Phân phối Bernoulli là mô hình xác suất nền tảng cho các biến ngẫu nhiên rời rạc chỉ nhận hai giá trị. Một thí nghiệm Bernoulli là một quá trình ngẫu nhiên có kết cục được phân loại vào một trong hai nhóm đối lập nhau, quy ước là “thành công” và “thất bại”.

Một biến ngẫu nhiên Bernoulli \(X\) được định nghĩa bằng cách gán giá trị số cho các kết quả của thí nghiệm. Theo quy ước:

\(X=1\) nếu kết quả là “thành công”.

\(X=0\) nếu kết quả là “thất bại”.

Phân phối xác suất của \(X\) được đặc trưng hoàn toàn bởi một tham số duy nhất \(p\), là xác suất xảy ra “thành công”, với \(0 \le p \le 1\). Do đó: * \(P(X=1) = p\) * \(P(X=0) = 1-p\)

Hai xác suất này có thể được biểu diễn một cách súc tích thông qua Hàm khối lượng xác suất (Probability Mass Function - PMF): \[ f(k; p) = P(X = k) = p^k (1-p)^{1-k} \quad \text{với } k \in \{0, 1\} \] Công thức này cung cấp một cách tổng quát để tính xác suất cho cả hai kết quả, là nền tảng cho việc xây dựng hàm hợp lý (likelihood function) trong các mô hình thống kê.

2.1.2. Phân phối nhị thức

Phân phối Nhị thức là một mô hình xác suất rời rạc, được ứng dụng để mô tả số lần xuất hiện của một sự kiện cụ thể trong một số lượng thử nghiệm cố định.

Một biến ngẫu nhiên \(X\) được gọi là tuân theo phân phối Nhị thức, ký hiệu \(X \sim B(n, p)\), nếu nó là tổng số “thành công” thu được từ việc lặp lại n lần một thí nghiệm Bernoulli độc lập. Mỗi thử nghiệm này phải có cùng một xác suất thành công là p.

Hàm khối lượng xác suất (PMF) của phân phối Nhị thức, dùng để tính xác suất có được chính xác k lần thành công, được định nghĩa bởi công thức:

\[ P(X = k) = \frac{n!}{k!(n-k)!} p^k (1-p)^{n-k}, \quad \text{với } k \in \{0, 1, ..., n\} \]

2.2. Lý thuyết về ước lượng hợp lý cực đại (Maximum Likelihood Estimation - MLE)

Ước lượng hợp lý cực đại (MLE) là một phương pháp thống kê nhằm tìm giá trị tham số \(\theta\) sao cho xác suất xảy ra của tập dữ liệu quan sát là lớn nhất, dựa trên hàm phân phối xác suất giả định.

Hàm Hợp lý (Likelihood Function):

Cho một mẫu ngẫu nhiên \(x_1, x_2, \dots, x_n\) từ một phân phối có hàm xác suất (hoặc mật độ) \(f(x|\theta)\), hàm hợp lý \(L(\theta | \mathbf{x})\) được định nghĩa là xác suất đồng thời của việc quan sát được mẫu dữ liệu đó, được xem như một hàm của tham số \(\theta\):

\[ L(\theta | \mathbf{x}) = \prod_{i=1}^{n} f(x_i | \theta) \]

Hàm Hợp lý Logarit (Log-Likelihood Function): Để thuận tiện cho việc tìm điểm cực đại, người ta thường sử dụng logarit của hàm hợp lý. Việc cực đại hóa hàm hợp lý tương đương với việc cực đại hóa hàm hợp lý logarit:

\[ \ell(\theta | \mathbf{x}) = \log(L(\theta | \mathbf{x})) = \sum_{i=1}^{n} \log(f(x_i | \theta)) \] Ước lượng MLE: Ước lượng hợp lý cực đại của \(\theta\), ký hiệu là \(\hat{\theta}_{MLE}\), là giá trị làm tối đa hóa hàm hợp lý (hoặc hàm hợp lý logarit). Giá trị này thường được tìm bằng cách giải phương trình đạo hàm của hàm hợp lý logarit theo tham số bằng không.

2.3. Mô hình tuyến tính GLM

GLM ( Generalized Linear Model ) là một mô hình hồi quy mở rộng từ hồi quy tuyến tính truyền thống, cho phép mô hình hóa nhiều loại biến phụ thuộc: nhị phân, đếm, liên tục dương,…

GLM gồm 3 thành phần chính:

Thành phần Ngẫu nhiên (Random Component):

Thành phần này chỉ định phân phối xác suất cho biến phụ thuộc \(Y\), với điều kiện các biến độc lập đã cho. Phân phối này phải thuộc họ phân phối mũ (exponential family), bao gồm nhiều phân phối quen thuộc như Normal, Binomial, Poisson, Gamma, v.v. Thành phần này xác định cấu trúc phương sai của \(Y\).

Thành phần Hệ thống (Systematic Component):

Đây là một tổ hợp tuyến tính của các biến độc lập và ký hiệu là \(\eta\) (eta). \[ \eta = \beta_0 + \beta_1X_1 + \dots + \beta_kX_k \] Thành phần này giống hệt như vế phải của một mô hình hồi quy OLS thông thường.

Hàm liên kết (Link Function):

Là một hàm \(g(\cdot)\) kết nối giá trị kỳ vọng của biến phụ thuộc, \(\mu = E(Y)\), với thành phần hệ thống \(\eta\). \[ g(\mu) = \eta = \beta_0 + \beta_1X_1 + \dots + \beta_kX_k \] Ví dụ tình huống:
Giả sử bạn muốn dự đoán xác suất một khách hàng mua sản phẩm (Yes = 1, No = 0) dựa trên số lần họ truy cập website (visits) và số email quảng cáo đã nhận (emails).

Ta xây dựng một mô hình GLM như sau:

  • Biến phụ thuộc: customer_response (0 hoặc 1)

  • Biến độc lập: visits, emails

  • Phân phối của Y: Bernoulli

  • Hàm liên kết: logit

  • Thành phần Hệ thống (Systematic Component) \[ \eta = \beta_0 + \beta_1 \cdot visits + \beta_2 \cdot emails \]

  • Thành phần Ngẫu nhiên (Random Component) Biến purchase tuân theo phân phối Bernoulli, thuộc họ phân phối hàm mũ.

  • Hàm Liên kết (Link Function) Sử dụng hàm logit:
    \[ g(\mu) = \log\left( \frac{\mu}{1 - \mu} \right) \]
    với \(\mu = E[Y] = \text{xác suất mua hàng}\)

2.4. Hàm logistic

Hàm liên kết (logit)

Hàm logistic sử dụng logit – log của odds (tỷ số xác suất), được định nghĩa như sau:

\[ \text{logit}(p_i) = \log\left(\frac{p_i}{1 - p_i} \right) \] Trong đó: \[ p_i = \frac{1}{1 + e^{-\eta_i}} = \frac{e^{\eta_i}}{1 + e^{\eta_i}} \] Log-likelihood của mô hình logistic với dữ liệu nhị phân

\[ \ell(\beta) = \sum_{i=1}^{n} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right] \] Diễn giải

  • Nếu \(y_i = 1\), thì hàm log-likelihood lấy \(\log(p_i)\)
  • Nếu \(y_i = 0\), thì lấy \(\log(1 - p_i)\)
  • Hàm log-likelihood được tối đa hóa để tìm ước lượng \(\hat{\beta}\)

2.5. Hàm Probit

Hàm liên kết (probit)

Hàm probit sử dụng hàm phân phối tích lũy chuẩn chuẩn hóa \(\Phi\) làm nghịch đảo của liên kết:

\[ \Phi^{-1}(p_i) = \eta_i = X_i \beta \] Với:

\(\Phi\) là hàm phân phối tích lũy chuẩn chuẩn hóa:

\[ \Phi(z) = \int_{-\infty}^{z} \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{t^2}{2}\right) dt \] Hàm xác suất

\[ p_i = \Phi(\eta_i) = \Phi(X_i \beta) \] Hàm Log-Likelihood

\[ \ell(\beta) = \sum_{i=1}^{n} \left[ y_i \log(\Phi(X_i \beta)) + (1 - y_i) \log(1 - \Phi(X_i \beta)) \right] \]

2.6. Hàm Cloglog

Trong phân tích hồi quy nhị phân, ngoài mô hình logit và probit, ta còn có mô hình cloglog thích hợp khi xác suất xảy ra sự kiện gần 0 hoặc gần 1 không đối xứng.Mô hình cloglog sử dụng hàm liên kết:

\[ g(p) = \log(-\log(1 - p)) \] trong đó \(p = P(Y = 1 | X)\) là xác suất của biến phụ thuộc nhị phân.

Khi đó, mô hình tuyến tính tổng quát có dạng:

\[ \log(-\log(1 - p)) = \beta_0 + \beta_1 X_1 + \dots + \beta_k X_k \] Ngược lại, ta có:

\[ p = 1 - \exp(-\exp(\beta_0 + \beta_1 X_1 + \dots + \beta_k X_k)) \] So sánh cụ thể giữa các mô hình: Logit - Probit - Cloglog

Đặc điểm Logit Probit Cloglog
Hàm liên kết (link) \(\log\left(\frac{p}{1 - p}\right)\) \(\Phi^{-1}(p)\) \(\log(-\log(1 - p))\)
Phân phối nền tảng Logistic Chuẩn (normal) Gumbel (phân phối cực trị)
Đối xứng của hàm liên kết Không
Cách ước lượng Ước lượng tối đa xác suất (MLE) Ước lượng tối đa xác suất (MLE) Ước lượng tối đa xác suất (MLE)
Ý nghĩa thực tiễn Biến đổi log-odds Biến đổi sang điểm z chuẩn hóa Biến đổi log(-log(1-p)) tương ứng với rủi ro tích lũy
Tính chất hàm liên kết Đối xứng quanh \(p=0.5\) Đối xứng quanh \(p=0.5\) Không đối xứng, dốc nhanh khi p gần 0 hoặc 1
Ưu điểm Dễ hiểu, phổ biến, tính toán nhanh Dựa trên giả định phân phối chuẩn Phù hợp với dữ liệu có xác suất lệch hoặc sự kiện hiếm
Nhược điểm Không phù hợp nếu xác suất lệch Tính toán có thể phức tạp hơn Ít phổ biến, khó diễn giải trực tiếp hệ số

2.7. Dự đoán kết quả qua ma trận nhầm lẫn

Ma trận nhầm lẫn là một công cụ phổ biến để đánh giá hiệu quả của các mô hình phân loại, đặc biệt trong bài toán phân loại nhị phân. Ma trận này biểu diễn số lượng dự đoán đúng và sai của mô hình theo từng loại nhãn.

Dự đoán: Positive (P) Dự đoán: Negative (N)
Thực tế: Positive (P) True Positive (TP) False Negative (FN)
Thực tế: Negative (N) False Positive (FP) True Negative (TN)

Trong đó:

  • True Positive (TP): Số trường hợp thực tế là Positive và dự đoán đúng là Positive.
  • True Negative (TN): Số trường hợp thực tế là Negative và dự đoán đúng là Negative.
  • False Positive (FP): Số trường hợp thực tế là Negative nhưng dự đoán là Positive (Sai dương tính).
  • False Negative (FN): Số trường hợp thực tế là Positive nhưng dự đoán là Negative (Sai âm tính).

Giải thích các chỉ số dùng trong MTNL

  • Accuracy (Độ chính xác): Tỷ lệ dự đoán đúng trên tổng số mẫu
    \[ \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \]

  • Precision (Độ chính xác dương): Tỷ lệ dự đoán Positive đúng trên tổng số dự đoán Positive
    \[ \text{Precision} = \frac{TP}{TP + FP} \]

  • Recall (Độ nhạy, Sensitivity): Tỷ lệ dự đoán Positive đúng trên tổng số mẫu thực tế Positive
    \[ \text{Recall} = \frac{TP}{TP + FN} \]

  • F1-score: Trung bình điều hòa của Precision và Recall
    \[ F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} \]

CHƯƠNG 3: GIỚI THIỆU BỘ DỮ LIỆU VÀ PHÂN TÍCH

3.1. Giới thiệu về bộ dữ liệu

Tập dữ liệu được sử dụng trong phân tích này nhằm khảo sát biến phụ thuộc Hành vi rời bỏ dịch vụ (Churn) của khách hàng trong lĩnh vực viễn thông. Dữ liệu được thu thập từ Thư viện Dữ liệu UCI sau khi đã được chọn lọc bao gồm thông tin chi tiết về các khách hàng cá nhân, lịch sử đăng ký và sử dụng dịch vụ của họ. Bộ dữ liệu bao gồm 7043 quan sát và 9 biến được xét. Cụ thể được trình bày như sau:

Thông tin nhân khẩu học:

  • gender: Giới tính của khách hàng (Female/Male)

  • SeniorCitizen: Khách hàng có phải là người cao tuổi hay không (Yes/No)

  • married: Tình trạng hôn nhân (Yes/No)

Thông tin về dịch vụ đã đăng ký:

  • PhoneService: Khách hàng có sử dụng dịch vụ điện thoại hay không (Yes/No).

  • InternetService: Loại dịch vụ Internet mà khách hàng sử dụng (DSL, FIBER).

  • SupportService: Khách hàng được dịch vụ hỗ trợ kỹ thuật hay không (Yes/No).

Thông tin tài khoản và hợp đồng:

  • Contract: Loại hợp đồng khách hàng đăng ký (short time/ long time).
  • PaymentMethod: Phương thức thanh toán mà khách hàng sử dụng (cash/bank).

Biến mục tiêu của nghiên cứu là Churn. Dựa trên tập dữ liệu này, nghiên cứu sẽ tiến hành phân tích để tìm ra các yếu tố có tác động mạnh mẽ nhất đến quyết định Churn của khách hàng. Toàn bộ các biến trong bài tiểu luận được trình bày sẽ thuộc dạng biến định tính hoặc nhị phân, đây là ưu điểm trong phân tích dữ liệu định tính.

df <- read.csv("C:/Users/Admin/Documents/PHÂN TÍCH DỮ LIỆU ĐỊNH TÍNH/data churn.csv", stringsAsFactors = FALSE)

Đây là bước hiển thị cấu trúc của bộ dữ liệu và xem sơ qua về một vài dòng đầu và cuối tiêu biểu của bộ dữ liệu

str(df)
## 'data.frame':    7043 obs. of  9 variables:
##  $ gender         : chr  "Female" "Male" "Male" "Male" ...
##  $ SeniorCitizen  : chr  "No" "No" "No" "No" ...
##  $ married        : chr  "Yes" "No" "No" "No" ...
##  $ PhoneService   : chr  "No" "Yes" "Yes" "No" ...
##  $ InternetService: chr  "DSL" "DSL" "DSL" "DSL" ...
##  $ SupportService : chr  "No" "No" "No" "Yes" ...
##  $ Contract       : chr  "short time " "long time " "short time " "long time " ...
##  $ PaymentMethod  : chr  "cash " "cash " "cash " "bank " ...
##  $ Churn          : chr  "No" "No" "Yes" "No" ...
head(df)
##   gender SeniorCitizen married PhoneService InternetService SupportService
## 1 Female            No     Yes           No             DSL             No
## 2   Male            No      No          Yes             DSL             No
## 3   Male            No      No          Yes             DSL             No
## 4   Male            No      No           No             DSL            Yes
## 5 Female            No      No          Yes           FIBER             No
## 6 Female            No      No          Yes           FIBER             No
##      Contract PaymentMethod Churn
## 1 short time          cash     No
## 2  long time          cash     No
## 3 short time          cash    Yes
## 4  long time          bank     No
## 5 short time          cash    Yes
## 6 short time          cash    Yes
tail(df)
##      gender SeniorCitizen married PhoneService InternetService SupportService
## 7038 Female            No      No          Yes             DSL             No
## 7039   Male            No     Yes          Yes             DSL            Yes
## 7040 Female            No     Yes          Yes           FIBER             No
## 7041 Female            No     Yes           No             DSL             No
## 7042   Male           Yes     Yes          Yes           FIBER             No
## 7043   Male            No      No          Yes           FIBER            Yes
##         Contract PaymentMethod Churn
## 7038  long time          bank     No
## 7039  long time          cash     No
## 7040  long time          bank     No
## 7041 short time          cash     No
## 7042 short time          cash    Yes
## 7043  long time          bank     No

Bước kiểm tra giá trị còn thiếu

Để tránh sai lệch trong quá trình phân tích, ta sẽ kiểm tra xem bộ dữ liệu có chứa giá trị thiếu (NA) hay không.

colSums(is.na(df))
##          gender   SeniorCitizen         married    PhoneService InternetService 
##               0               0               0               0               0 
##  SupportService        Contract   PaymentMethod           Churn 
##               0               0               0               0

Ý nghĩa: Qua kết quả kiểm tra có thể thấy trong 9 cột gender, Senior, married, phoneService, InternetService, SupportService, Contract, Paymentmethod, Churn đều không có giá trị bị thiếu, đồng thời điều này có phản ánh rằng bộ dữ liệu đã được xử lý và làm sạch để phù hợp cho phân tích.

Chuyển các biến về dạng factor

Việc chuyển đổi về dạng factor sẽ thông báo cho R rằng một cột dữ liệu cụ thể nên được coi là một biến định tính, chứ không phải là một chuỗi ký tự (character) hay một con số (numeric) đơn thuần.

df$gender <- as.factor(df$gender)
df$SeniorCitizen <- as.factor(df$SeniorCitizen)
df$married <- as.factor(df$married)
df$PhoneService <- as.factor(df$PhoneService)
df$InternetService <- as.factor(df$InternetService)
df$SupportService <- as.factor(df$SupportService)
df$Contract <- as.factor(df$Contract)
df$PaymentMethod <- as.factor(df$PaymentMethod)
df$Churn <- as.factor(df$Churn)
str(df)
## 'data.frame':    7043 obs. of  9 variables:
##  $ gender         : Factor w/ 2 levels "Female","Male": 1 2 2 2 1 1 2 1 1 2 ...
##  $ SeniorCitizen  : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
##  $ married        : Factor w/ 2 levels "No","Yes": 2 1 1 1 1 1 1 1 2 1 ...
##  $ PhoneService   : Factor w/ 2 levels "No","Yes": 1 2 2 1 2 2 2 1 2 2 ...
##  $ InternetService: Factor w/ 2 levels "DSL","FIBER": 1 1 1 1 2 2 2 1 2 1 ...
##  $ SupportService : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 1 1 1 2 1 ...
##  $ Contract       : Factor w/ 2 levels "long time ","short time ": 2 1 2 1 2 2 2 2 2 1 ...
##  $ PaymentMethod  : Factor w/ 2 levels "bank ","cash ": 2 2 2 1 2 2 1 2 2 1 ...
##  $ Churn          : Factor w/ 2 levels "No","Yes": 1 1 2 1 2 2 1 1 2 1 ...

3.2. Thống kê mô tả từng biến định tính

3.2.1. Biến phụ thuộc Churn

Biến Churn là biến biểu thị việc khách hàng có rời bỏ dịch vụ hay không.Đây là biến được xét làm mục tiêu trong bài với hai trạng thái là Yes (khách hàng đã rời bỏ dịch vụ), No (khách hàng vẫn sử dụng dịch vụ)

Thống kê tần số và tần suất biến Churn

table_churn <- table(df$Churn)
table_churn
## 
##   No  Yes 
## 5174 1869
prop_churn <- prop.table(table_churn)
round(100 * prop_churn, 2)
## 
##    No   Yes 
## 73.46 26.54

**Biểu đồ cột và tròn thể hiện trực quan hóa:

barplot(table_churn,
        main = "Hành vi rời bỏ dịch vụ viễn thông ",
        col = c("lightblue", "salmon"),
        xlab = "Churn",
        ylab = "Tần số")

pie(table_churn,
    main = "Hành vi rời bỏ dịch vụ viễn thông",
    col = c("lightblue", "salmon"),
    labels = paste(names(table_churn),
                   " (", round(100 * prop_churn, 1), "%)", sep = ""))

Kết quả mô tả cho thấy trong tổng số 7043 khách hàng quan sát được thì có:

  • Số người vẫn đang sử dụng dịch vụ (No) gồm 5174 người chiếm 73.5% trong tổng thể

  • Số người rời bỏ dịch vụ (Yes) gồm 1869 người chiếm 26.5% trong tổng thể

Điều này cho thấy rằng phần lớn khách hàng vẫn duy trì sử dụng dịch vụ, tuy nhiên tỷ lệ rời bỏ hơn 1/4 trong tổng thể vẫn là một con số không mong muốn trong chính sách kinh doanh của mỗi doanh nghiệp. Biểu đồ trục quan hóa cũng cho thấy rõ sự chênh lệch rõ rệt giữa hai nhóm khách hàng “rời bỏ” và “ở lại” thể hiện rằng rủi ro mất khách hàng là hiện hữu.

3.2.2. Biến gender

Biến gender là biến phân loại giới tính của khách hàng được khảo sát. Biến này có hai mức giá trị: “Male” đại diện cho khách hàng nam và “Female” đại diện cho khách hàng nữ.

Thống kê tần số và tần suất cho biến gender

table_gender <- table(df$gender)
table_gender
## 
## Female   Male 
##   3488   3555
prop_gender <- prop.table(table_gender)
round(100 * prop_gender, 2)
## 
## Female   Male 
##  49.52  50.48

Biểu đồ thể hiện trực quan hóa sự phân bổ giới tính và tỷ trọng của mỗi giới tính trong tổng thể

barplot(table_gender,
        main = "Phân loại giới tính",
        col = rainbow(length(table_gender)),
        xlab = "Giới tính",
        ylab = "Tần số")

pie(table_gender,
    main = "Phân loại giới tính",
    col = rainbow(length(table_gender)),
    labels = paste(names(table_gender), "(", round(100 * prop_gender, 1), "%)", sep = ""))

Kết quả cho thấy tỷ lệ khách hàng Nam và Nữ trong bộ dữ liệu khá cân bằng không có sự chênh lệch quá lớn khi sử dụng dịch vụ viễn thông

  • Có 3488 người thuộc nhóm Female và khách hàng sử dụng viễn thông là nữ chiếm 49.52% trong bộ dữ liệu

  • Có 3555 người thuộc nhóm Male và khách hàng sử dụng viễn thông là nam chiếm 50.48% trong bộ dữ liệu

3.2.3. Biến SeniorCitizen

Biến SeniorCitizen là biến phản ánh việc khách hàng có thuộc nhóm người cao tuổi hay không. Biến này được mã hóa với hai mức No (khách hàng không phải người cao tuổi) và Yes (khách hàng thuộc nhóm người cao tuổi)

Thống kê bảng tần số và tần suất

table_senior <- table(df$SeniorCitizen)
table_senior
## 
##   No  Yes 
## 5901 1142
prop_senior <- prop.table(table_senior)
round(100 * prop_senior, 2)
## 
##    No   Yes 
## 83.79 16.21

Biểu đồ cột và tròn cho biến SeniorCityzen

barplot(table_senior,
        main = "Nhóm người cao tuổi",
        col = c("lightgreen", "darkgreen"),
        xlab = "Khách hàng là người cao tuổi",
        ylab = "Tần số")

pie(table_senior,
    main = "Nhóm người cao tuổi",
    col = c("lightgreen", "darkgreen"),
    labels = paste(names(table_senior),
                   " (", round(100 * prop_senior, 1), "%)", sep = ""))

Qua kết quả mô tả cho thấy:

  • Khách hàng thuộc nhóm người cao tuổi chỉ chiếm 16.2% tương đương với 1142 người.

  • Khách hàng không thuộc nhóm người cao tuổi chiếm đa số 83.8% tương đương với 5901 người.

Điều này phản ánh rằng tập khách hàng của công ty phần lớn nằm ở nhóm trung niên hoặc trẻ tuổi, những đối tượng có xu hướng sử dụng dịch vụ Internet, điện thoại và công nghệ nhiều hơn. Biểu đồ tròn và cột cũng thể hiện trực quan hóa sự chênh lệch rõ rệt giữa hai mức đối tượng.

3.2.4. Biến married

Biến married là biến phản ánh tình trạng hôn nhân của khách hàng. Biến này được mã hóa dưới dạng chuỗi với hai giá trị “Yes” (khách hàng đã kết hôn) và “No” ( khách hàng chưa kết hôn)

Thống kê mô tả tần só và tần suất biến married

table_married <- table(df$married)
table_married
## 
##   No  Yes 
## 3641 3402
prop_married <- prop.table(table_married)
round(100 * prop_married, 2)
## 
##   No  Yes 
## 51.7 48.3

Qua kết quả mô tả cho thấy:

  • Tình trạng khách hàng đã kết hôn chiếm 48.3%, tương ứng với 3402 người.

  • Tình trạng khách hàng chưa kết hôn chiếm 51.7%, tương ứng với 3641 người.

Điều này cho thấy tỷ lệ giữa hai nhóm khách hàng về tình trạng hôn nhân là tương đối cân bằng, không có sự chênh lệch lớn như một số biến nhân khẩu học khác, nghĩa là dịch vụ của công ty được sử dụng kể cả khi khách hàng có gia đình hoặc chưa

Biểu đồ cột và tròn cho biến married

barplot(table_married,
        main = "Tình trạng hôn nhân",
        col = c("lightblue", "orange"),
        xlab = "Tình trạng hôn nhân",
        ylab = "Tần số")

pie(table_married,
    main = "Tình trạng hôn nhân",
    col = c("lightblue", "orange"),
    labels = paste(names(table_married),
                   " (", round(100 * prop_married, 1), "%)", sep = ""))

3.2.5. Biến PhoneService

Biến PhoneService là biến phản ánh khách hàng có sử dụng dịch vụ điện thoại với hai mức mã hóa Yes ( khách hàng có sử dụng dịch vụ điện thoại) và No (khách hàng không sử dụng dịch vụ điện thoại)

Thống kê mô tả biến PhoneService

table_phone <- table(df$PhoneService)
table_phone
## 
##   No  Yes 
##  682 6361
prop_phone <- prop.table(table_phone)
round(100 * prop_phone, 2)
## 
##    No   Yes 
##  9.68 90.32

Kết quả mô tả cho thấy:

  • Có 6361 khách hàng tướng ứng với 90.32% của tổng thể là sử dụng dịch vụ điện thoại.

  • Chỉ có 682 khách hàng chiếm tướng ứng với 9.68% là không sử dụng dịch vụ điện thoại.

Như vậy, phần lớn khách hàng lựa chọn sử dụng dịch vụ điện thoại cố định,ngược lại tỷ lệ khách hàng không sử dụng dịch vụ này khá thấp (chưa tới 10%), điều này cho thấy nhóm khách hàng không sử dụng dịch vụ điện thoại sẽ là những nhóm đối tượng ít liên lạc hoặc trong nhóm tuổi người cao tuổi không có nhu cầu liên lạc nhiều.

Biểu đồ cột và tròn cho biến

barplot(table_phone,
        main = "Sử dụng dịch vụ điện thoại",
        col = c("lightpink", "steelblue"),
        xlab = "PhoneService",
        ylab = "Tần số")

pie(table_phone,
    main = "Sử dụng dịch vụ điện thoại ",
    col = c("lightpink", "steelblue"),
    labels = paste(names(table_phone),
                   " (", round(100 * prop_phone, 1), "%)", sep = ""))

3.2.6. Biến InternetService

Biến InternetService là biến phản ánh loại dịch vụ Internet mà khách hàng sử dụng gồm DSL(sử dụng đường dây điện thoại cố định) thường dùng cho nhu cầu cơ bản và FIBER ( sợi quang học) dùng cho yêu cầu hiện đại hơn với tốc độ truyền dẫn ổn định và cao.

Thống kê tần số và tần suất biến

table_internet <- table(df$InternetService)
table_internet
## 
##   DSL FIBER 
##  3947  3096
prop_internet <- prop.table(table_internet)
round(100 * prop_internet, 2)
## 
##   DSL FIBER 
## 56.04 43.96

Biểu đồ cột và tròn cho biến

barplot(table_internet,
        main = "Dịch vụ Internet",
        col = c("skyblue", "orange", "gray"),
        xlab = "Loại dịch vụ Internet",
        ylab = "Tần số")

pie(table_internet,
    main = "Dịch vụ Internet",
    col = c("skyblue", "orange", "gray"),
    labels = paste(names(table_internet),
                   " (", round(100 * prop_internet, 1), "%)", sep = ""))

Kết quả mô tả cho thấy cũng có chênh lệch nhẹ giữa hai nhóm, phản ánh sự khác biệt mức độ tiếp cận công nghệ hoặc nhu cầu sử dụng khách hàng khi sử dụng internet:

  • Có 3947 khách hàng tương ứng với 56.04% là đang sử dụng dịch vụ Internet DSL một loại hình truyền thống với tốc độ trung bình, đáp ứng nhu cầu cơ bản của khách hàng

  • Có 3096 khách hàng tương ứng 43.96% là sử dụng dịch vụ Internet cáp quang (Fiber optic) một loại hình internet với tốc độ cao và ổn định, sử dụng mượn mà cho khách hàng có nhu cầu sử dụng internet nhiều

3.2.7. Biến SupportService

Biến SupportService là biến phản ánh việc khách hàng có được dịch vụ hỗ trợ kỹ thuật, chăm sóc khách hàng do công ty cung cấp hay không với hai mức ý nghĩa Yes ( khách hàng có được dịch vụ hỗ trợ) và No (khách hàng không được dịch vụ hỗ trợ)

Thống kê mô tả biến

table_support <- table(df$SupportService)
table_support
## 
##   No  Yes 
## 4999 2044
prop_support <- prop.table(table_support)
round(100 * prop_support, 2)
## 
##    No   Yes 
## 70.98 29.02

Kết quả mô tả cho thấy:

  • Có 2044 khách hàng tương ứng 29.02% là có được sử dụng dịch vụ hỗ trợ.

  • Có 4999 khách hàng tương ứng 70.98% là không được sử dụng dịch vụ hỗ trợ.

Như vậy có thể thấy chỉ khoảng gần 1/3 khách hàng là được sử dụng dịch vụ hỗ trợ từ công ty viễn thông, phần lớn là không được sử dụng hoặc không có nhu cầu sử dụng, tuy nhiên đây cũng là việc đánh giá sự hài lòng của khách hàng thông qua công tác chăm sóc dịch vụ sử dụng tại công ty viễn thông.

Biểu đồ cho biến

barplot(table_support,
        main = "Dịch vụ hỗ trợ khách hàng",
        col = c("lightblue", "lightgreen"),
        xlab = "Được sử dụng dịch vụ hỗ trợ",
        ylab = "Tần số")

pie(table_support,
    main = "Dịch vụ hỗ trợ khách hàng",
    col = c("lightblue", "lightgreen"),
    labels = paste(names(table_support),
                   " (", round(100 * prop_support, 1), "%)", sep = ""))

3.2.8. Biến Contract

Biến Contract thể hiện loại hợp đồng dịch vụ mà khách hàng đăng kí sử dụng gồm “short time” (hợp đồng ngắn hạn) và “long time” (hợp đồng dài hạn)

Thống kê mô tả biến

table_contract <- table(df$Contract)
table_contract
## 
##  long time  short time  
##        3168        3875
prop_contract <- prop.table(table_contract)
round(100 * prop_contract, 2)
## 
##  long time  short time  
##       44.98       55.02

Biểu đồ trực quan hóa

barplot(table_contract,
        main = "Loại hợp đồng đăng kí",
        col = c("darkorange", "skyblue"),
        xlab = "Loại hợp đồng",
        ylab = "Tần số")

pie(table_contract,
    main = " Loại hợp đồng đăng kí",
    col = c("darkorange", "skyblue"),
    labels = paste(names(table_contract),
                   " (", round(100 * prop_contract, 1), "%)", sep = ""))

Kết quả mô tả cho thấy phần lớn khách hàng trong tập dữ liệu có xu hướng lựa chọn hợp đồng ngắn hạn:

  • Có 3875 khách hàng tương ứng chiếm 55.02%, đang sử dụng hợp đồng ngắn hạn (short time)

  • Có 3168 khách hàng tương ứng chiếm 44.98%, sử dụng hợp đồng dài hạn (long time)

Tỷ lệ chênh lệch giữa hai nhóm hợp đồng không cao tuy nhiên hợp đồng ngắn hạn vẫn được lựa chọn nhiều hơn, có thể là do nhu cầu sử dụng để trải nghiệm hoặc cũng có thể để khách hàng trải nghiệm xem xét trong lựa chọn công ty viễn thông phù hợp.

3.2.9. Biến PaymentMethod

Biến PaymentMethod thể hiện phương thức thanh toán mà khách hàng đang sử dụng như trả bằng tiền mặt ( cash) hoặc hình thức chuyển khoản ( bank)

Thống kê mô tả biến

table_payment <- table(df$PaymentMethod)
table_payment
## 
## bank  cash  
##  3066  3977
prop_payment <- prop.table(table_payment)
round(100 * prop_payment, 2)
## 
## bank  cash  
## 43.53 56.47

Kết quả mô tả cho thấy phần lớn khách hàng vẫn lựa chọn hình thức thanh toán truyền thống bằng tiền mặt, tuy nhiên việc thanh toán bằng tiền mặt hay chuyển khoản ngân hàng cũng không chênh lẹch quá lớn cho thấy rằng việc thanh toán nào của khách hàng cũng được đáp ứng, cụ thể như sau:

  • Có 3977 khách hàng sử dụng phương thức thanh toán tiền mặt (cash) chiếm 56.47%,

  • Có 3066 khách hàng sử dụng phương thức thanh toán qua ngân hàng (bank) chiếm 43.53%

Biểu đồ trực quan cho biến

barplot(table_payment,
        main = "Phương thức thanh toán",
        col = c("lightcoral", "lightblue"),
        xlab = "Phương thức",
        ylab = "Tần số")

pie(table_payment,
    main = "Phương thức thanh toán",
    col = c("lightcoral", "lightblue"),
    labels = paste(names(table_payment),
                   " (", round(100 * prop_payment, 1), "%)", sep = ""))

3.3. Kiểm định thống kê để xét mối quan hệ các biến độc lập với biến phụ thuộc Churn

Kiểm định Chi-bình phương về tính độc lập là một kiểm định giả thuyết thống kê được sử dụng để xác định xem có mối quan hệ hay sự liên quan có ý nghĩa thống kê giữa hai biến hay không. Trong phân tích này ta sẽ đi kiểm tra các biến độc lập gender, SeniorCitizen, married, PhoneService, InternetService, SupportService, Contract, PaymentMethod có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông Churn của khách hàng không ?

\[ \chi^2 = \sum \frac{(O_{ij} - E_{ij})^2}{E_{ij}} \]

Trong đó:

  • \(O_{ij}\): tần số quan sát tại ô hàng \(i\), cột \(j\)
  • \(E_{ij}\): tần số kỳ vọng

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

  • \(H_0\): Hai biến kiểm định độc lập với nhau
  • \(H_1\): Hai biến kiểm định có mối quan hệ

Kết quả kết luận dựa vào p-value:

  • Nếu p-value < α (thường là 0.05), ta bác bỏ \(H_0\) → Có mối quan hệ giữa hai biến
  • Nếu p-value ≥ α, ta không bác bỏ \(H_0\) → Không có đủ bằng chứng để kết luận mối liên hệ

Kiểm định biến Churn và biến gender

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

  • \(H_0\): Không có mối liên hệ giữa biến phân loại giới tính và hành vi rời bỏ dịch vụ của khách hàng
  • \(H_1\): Có mối liên hệ giữa biến phân loại giới tính và hành vi rời bỏ dịch vụ của khách hàng
chisq.test(table(df$Churn, df$gender))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$gender)
## X-squared = 0.48408, df = 1, p-value = 0.4866

Kết quả p-value = 0.4866 > 0.05, ta không bác bỏ H0 → Không có bằng chứng thống kê để kết luận rằng giới tính có liên quan đến hành vi rời bỏ dịch vụ.

Kiểm định biến Churn và biến SeniorCitizen

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

  • \(H_0\): Không có mối liên hệ giữa biến thuộc nhóm người cao tuổi và hành vi rời bỏ dịch vụ của khách hàng
  • \(H_1\): Có mối liên hệ giữa biến thuộc nhóm người cao tuổi và hành vi rời bỏ dịch vụ của khách hàng
chisq.test(table(df$Churn, df$SeniorCitizen))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$SeniorCitizen)
## X-squared = 159.43, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng nhóm tuổi cao có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông

Kiểm định biến Churn và biến married

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

  • \(H_0\): Không có mối liên hệ giữa biến tình trạng hôn nhân khách hàng và hành vi rời bỏ dịch vụ của khách hàng
  • \(H_1\): Có mối liên hệ giữa biến tình trạng hôn nhân khách hàng và hành vi rời bỏ dịch vụ của khách hàng
chisq.test(table(df$Churn, df$married))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$married)
## X-squared = 158.73, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng tình trạng hôn nhân khách hàng có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông.

Kiểm định biến Churn và biến PhoneService

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

  • \(H_0\): Không có mối liên hệ giữa việc khách hàng có sử dụng dịch vụ điện thoại và hành vi rời bỏ dịch vụ
  • \(H_1\): có mối liên hệ giữa việc khách hàng có sử dụng dịch vụ điện thoại và hành vi rời bỏ dịch vụ
chisq.test(table(df$Churn, df$PhoneService))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$PhoneService)
## X-squared = 0.91503, df = 1, p-value = 0.3388

Kết quả p-value = 0.3388 > 0.05, ta không bác bỏ H0 → Không có bằng chứng thống kê để kết luận rằng việc khách hàng có đăng kí sử dụng điện thoại có liên quan đến hành vi rời bỏ dịch vụ viễn thông.

Kiểm định biến Churn và biến InternetService

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

  • \(H_0\): Không có mối liên hệ giữa việc khách hàng có sử dụng dịch vụ internet và hành vi rời bỏ dịch vụ
  • \(H_1\): có mối liên hệ giữa việc khách hàng có sử dụng dịch vụ internet và hành vi rời bỏ dịch vụ
chisq.test(table(df$Churn, df$InternetService))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$InternetService)
## X-squared = 666.81, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng việc khách hàng sử dụng loại internet nào sẽ có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông.

Kiểm định biến Churn và SupportService

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

  • \(H_0\): Không có mối liên hệ giữa việc khách hàng có được sử dụng dịch vụ hỗ trợ và hành vi rời bỏ dịch vụ
  • \(H_1\): Có mối liên hệ giữa việc khách hàng có được sử dụng dịch vụ hỗ trợ và hành vi rời bỏ dịch vụ
chisq.test(table(df$Churn, df$SupportService))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$SupportService)
## X-squared = 190.17, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng việc khách hàng được sử dụng dịch vụ hỗ trợ từ công ty hay không sẽ có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông.

Kiểm định biến Churn và Contract

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

  • \(H_0\): Không có mối liên hệ giữa loại hợp đồng khách hàng đăng kí và hành vi rời bỏ dịch vụ
  • \(H_1\): Có mối liên hệ giữa loại hợp đồng khách hàng đăng kí và hành vi rời bỏ dịch vụ
chisq.test(table(df$Churn, df$Contract))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$Contract)
## X-squared = 1154, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng việc khách hàng đăng kí loại hợp đồng dài hạn hay ngắn hạn sẽ có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông.

Kiểm định biến Churn và biến PaymentMethod

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

  • \(H_0\): Không có mối liên hệ giữa hình thức thanh toán của khách hàng và hành vi rời bỏ dịch vụ
  • \(H_1\): Có mối liên hệ giữa hình thức thanh toán của khách hàng và hành vi rời bỏ dịch vụ.
chisq.test(table(df$Churn, df$PaymentMethod))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(df$Churn, df$PaymentMethod)
## X-squared = 309.35, df = 1, p-value < 2.2e-16

Kết quả p-value < 2.2e-16 < 0.05, ta bác bỏ H0 → kết luận rằng hình thức thanh toán của khách hàng sẽ có ảnh hưởng đến hành vi rời bỏ dịch vụ viễn thông.

Nhận xét: Sau khi kiểm định Chi bình phương giữa các biến độc lập với biến phụ thuộc Churn thì có biến SeniorCitizen, married, InternetService, SupportService, Contract, PaymentMethod đều có liên quan hành vi rời bỏ dịch vụ của khách hàng.

3.4. Phân tích mối quan hệ thống kê hai biến có liên quan

Như ở phần 3.3 đã phân tích rằng có 6 biến độc lập sẽ có mối quan hệ đến hành vi rời bỏ dịch vụ của khách hàng, tuy nhiên theo sự chọn lọc phù hợp thưc tế, trong bài nghiên cứu em chỉ phân tích các biến có mặt ý nghĩa ảnh hưởng như biến nhóm người cao tuổi sẽ ảnh hưởng như thế nào đến việc rời bỏ dịch vụ (SeniorCitizen),biến khách hàng có nhận được dịch vụ hỗ trợ ảnh hưởng như thế nào đến việc rời bỏ dịch vụ (SupportService), đây được coi là hai biến tiêu biểu mà em muốn đề sâu trong việc mô tả hai biến này ảnh hưởng còn các biến phụ thuộc còn lại có thể chưa giải thích nhiều về việc khách hàng rời bỏ dịch vụ

3.4.1.Biến nhóm người cao tuổi sẽ ảnh hưởng như thế nào đến việc rời bỏ dịch vụ

Tạo bảng tần số chéo

table_senior <- table(df$Churn, df$SeniorCitizen)
table_senior
##      
##         No  Yes
##   No  4508  666
##   Yes 1393  476
round(prop.table(table_senior, margin = 1) * 100, 2)
##      
##          No   Yes
##   No  87.13 12.87
##   Yes 74.53 25.47

Nhận xét

Dữ liệu trong bảng chéo được giải thích như sau : hàng đại diện cho biến Churn (Hành vi Rời bỏ) và cột đại diện cho biến SeniorCitizen (Tình trạng có phải là người cao tuổi hay không).Trong nhóm khách hàng không rời bỏ dịch vụ, phần lớn là người không cao tuổi, chiếm 87.13% (4508/5174), trong khi chỉ có 12.87% (666/5174) là người cao tuổi.Ngược lại, trong nhóm khách hàng đã rời bỏ dịch vụ, tỷ lệ người cao tuổi tăng lên đáng kể, chiếm 25.47% (476/1869), so với 74.53% (1393/1869) là người không cao tuổi. Từ đó cho thấy tỷ lệ khách hàng cao tuổi rời bỏ dịch vụ (25.47%) cao hơn đáng kể so với nhóm không rời bỏ dịch vụ (12.87%), cho thấy người cao tuổi có xu hướng rời bỏ dịch vụ nhiều hơn

Biểu đồ thể hiện mối quan hệ giữa hai biến

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
ggplot(df, aes(x = factor(SeniorCitizen), fill = Churn)) +
  geom_bar(position = "dodge") + 
  labs(
    x = "SeniorCitizen",
    y = "Số lượng khách hàng",
    fill = "Churn",
    title = "Hành vi rời bỏ dựa vào nhóm cao tuổi"
  ) +
  theme_minimal()

Xét thêm về RR và OR giữa hai biến

library(epitools)
mat_senior_correct <- matrix(c(4508, 1393, 666, 476), 
                      nrow = 2,
                      byrow = TRUE,
                      dimnames = list(
                        SeniorCitizen = c("Không phải người cao tuổi", "Là người cao tuổi"),
                        Churn = c("No", "Yes")
                      ))

print(mat_senior_correct)
##                            Churn
## SeniorCitizen                 No  Yes
##   Không phải người cao tuổi 4508 1393
##   Là người cao tuổi          666  476
rr_senior <- riskratio(mat_senior_correct)
rr_senior$measure
##                            risk ratio with 95% C.I.
## SeniorCitizen               estimate    lower    upper
##   Không phải người cao tuổi 1.000000       NA       NA
##   Là người cao tuổi         1.765694 1.625802 1.917622
or_senior <- oddsratio(mat_senior_correct)
or_senior$measure
##                            odds ratio with 95% C.I.
## SeniorCitizen               estimate lower    upper
##   Không phải người cao tuổi 1.000000    NA       NA
##   Là người cao tuổi         2.312753 2.026 2.638846

Nhận xét

Biến tham chiếu ở đây là nhóm khách hàng “Không phải người cao tuổi” (SeniorCitizen = No)

  • Sau khi tính toán Relative Risk (RR) và Odds Ratio (OR) để so sánh xác suất và khả năng rời bỏ dịch vụ (Churn) theo nhóm tuổi, kết quả cho thấy cả RR và OR đều lớn hơn 1. Điều đó có nghĩa là khách hàng là người cao tuổi có xu hướng rời bỏ dịch vụ nhiều hơn nhóm khách hàng không phải người cao tuổi.

  • Kết quả nguy cơ tương đối (RR) là 1.765694 , tức là xác suất rời bỏ dịch vụ của nhóm khách hàng cao tuổi cao gấp 1.77 lần so với nhóm khách hàng không phải người cao tuổi. Hay nói cách khác, nguy cơ một khách hàng cao tuổi rời bỏ dịch vụ cao hơn 76.57% so với một khách hàng không phải là người cao tuổi. Với khoảng tin cậy 95%, chúng ta tin tưởng rằng nguy cơ một khách hàng cao tuổi rời bỏ dịch vụ sẽ cao hơn từ 1.63 đến 1.92 lần so với một khách hàng không phải là người cao tuổi.

  • Kết quả tỷ số chênh (OR) là 2.312753, nghĩa là odds rời bỏ dịch vụ của nhóm khách hàng cao tuổi cao gấp 2.31 lần so với nhóm khách hàng không phải người cao tuổi.

3.4.2.Biến nhóm khách hàng được sử dụng dịch vụ hỗ trợ không sẽ ảnh hưởng như thế nào đến việc rời bỏ dịch vụ

Tạo bảng tần số chéo

table_service <- table(df$Churn, df$SupportService)
table_service
##      
##         No  Yes
##   No  3440 1734
##   Yes 1559  310
round(prop.table(table_service, margin = 1) * 100, 2)
##      
##          No   Yes
##   No  66.49 33.51
##   Yes 83.41 16.59

Nhận xét

Dữ liệu trong bảng chéo được giải thích như sau : hàng đại diện cho biến Churn (Hành vi Rời bỏ) và cột đại diện cho biến SupportService (Khách hàng có được sử dụng dịch vụ hỗ trợ).Trong nhóm khách hàng không rời bỏ dịch vụ, phần lớn là những người không sử dụng dịch vụ hỗ trợ, chiếm 66.49% (3440/5174), trong khi chỉ 33.51% (1734/5174) là những người có sử dụng hỗ trợ.Ngược lại, trong nhóm khách hàng đã rời bỏ dịch vụ, tỷ lệ không được hỗ trợ chiếm đến 83.41% (1559/1869) so với tỷ lệ 16.59% (310/1869) là những người được hỗ trợ. Từ đó có thể thấy rằng tỷ lệ khách hàng rời bỏ dịch vụ ở nhóm không có hỗ trợ cao hơn rất đáng kể so với nhóm có hỗ trợ song cho thấy rằng việc được cung cấp dịch vụ hỗ trợ kỹ thuật có thể góp phần làm giảm hành vi rời bỏ dịch vụ của khách hàng.

Biểu đồ thể hiện mối quan hệ giữa hai biến

library(ggplot2)

ggplot(df, aes(x = factor(SupportService), fill = Churn)) +
  geom_bar(position = "dodge") + 
  labs(
    x = "SupportService",
    y = "Số lượng khách hàng",
    fill = "Churn",
    title = "Hành vi rời bỏ dựa vào dịch vụ hỗ trợ"
  ) +
  theme_minimal()

Xét thêm về RR và OR giữa hai biến

library(epitools)
mat_service_correct <- matrix(c(3440, 1559, 1734, 310), 
                      nrow = 2,
                      byrow = TRUE,
                      dimnames = list(
                        SupportService = c("Không được sử dụng dịch vụ", "Được sử dụng dịch vụ"),
                        Churn = c("No", "Yes")
                      ))

print(mat_service_correct)
##                             Churn
## SupportService                 No  Yes
##   Không được sử dụng dịch vụ 3440 1559
##   Được sử dụng dịch vụ       1734  310
rr_service <- riskratio(mat_service_correct)
rr_service$measure
##                             risk ratio with 95% C.I.
## SupportService                estimate     lower    upper
##   Không được sử dụng dịch vụ 1.0000000        NA       NA
##   Được sử dụng dịch vụ       0.4863152 0.4354443 0.543129
or_service <- oddsratio(mat_service_correct)
or_service$measure
##                             odds ratio with 95% C.I.
## SupportService                estimate     lower     upper
##   Không được sử dụng dịch vụ 1.0000000        NA        NA
##   Được sử dụng dịch vụ       0.3946925 0.3443954 0.4510793

Nhận xét

Biến tham chiếu ở đây là nhóm khách hàng “Không hỗ trợ” (SupportService = “No”)

  • Kết quả nguy cơ tương đối (RR) là 0.4863 tức là xác suất rời bỏ dịch vụ của nhóm khách hàng được hỗ trợ chỉ bằng 48.63% so với nhóm khách hàng không được hỗ trợ hay nói cách khác nguy cơ rời bỏ dịch vụ của nhóm khách hàng được hỗ trợ giảm gần một nửa (48.63%) so với nhóm khách hàng không được hỗ trợ.

  • Kết quả tỷ số chênh (OR) là 0.3947, nghĩa là odds rời bỏ dịch vụ của nhóm được hỗ trợ chỉ bằng khoảng 39.47% so với nhóm không được hỗ trợ.

Từ đó có thể thấy cả hai chỉ số đều nhỏ hơn 1 và khoảng tin cậy 95% của chúng đều không chứa 1. Điều này chứng minh rằng khi khách hàng được hỗ trợ dịch vụ sẽ ít rời bỏ dịch vụ viễn thông đang dùng hơn so với khách hàng không được hỡ trợ.

3.5. Hồi quy logistic mô hình đa biến

Để có cái nhìn toàn diện về tác động đồng thời của các yếu tố lên hành vi rời bỏ, chúng ta xây dựng một mô hình hồi quy logistic đầy đủ. Mô hình này bao gồm tất cả các biến độc lập định tính đã được xem xét: SeniorCitizen, married, InternetService, SupportService, Contract, và PaymentMethod.

Mô hình hồi quy logistic sử dụng hàm liên kết logit để mô hình hóa log-odds của hành vi rời bỏ dịch vụ (Churn). Cụ thể, mô hình có dạng:

\[ \log\left(\frac{p}{1 - p}\right) = \beta_0 + \beta_1 \cdot \text{SeniorCitizen} + \beta_2 \cdot \text{married} + \beta_3 \cdot \text{InternetService} + \beta_4 \cdot \text{SupportService} + \beta_5 \cdot \text{Contract} + \beta_6 \cdot \text{PaymentMethod} \] Trong đó, các hệ số \(\beta\) được ước lượng bằng phương pháp Hợp lý Cực đại (Maximum Likelihood Estimation). Ý nghĩa thống kê của mỗi biến sẽ được đánh giá thông qua giá trị p-value tương ứng với hệ số của nó, với mức ý nghĩa thông thường là 5% (\(\alpha = 0.05\)).

df$Churn_numeric <- ifelse(df$Churn == "Yes", 1, 0)

factor_vars <- c("SeniorCitizen", "married", "InternetService", 
                 "SupportService", "Contract", "PaymentMethod")
for (var in factor_vars) {
  df[[var]] <- as.factor(df[[var]])
}
model_logit <- glm(Churn_numeric ~ SeniorCitizen + married + InternetService + 
                                  SupportService + Contract + PaymentMethod, 
                  data = df, 
                  family = binomial(link = "logit"))
summary(model_logit)
## 
## Call:
## glm(formula = Churn_numeric ~ SeniorCitizen + married + InternetService + 
##     SupportService + Contract + PaymentMethod, family = binomial(link = "logit"), 
##     data = df)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          -3.05909    0.09939 -30.778  < 2e-16 ***
## SeniorCitizenYes      0.28854    0.07867   3.668 0.000245 ***
## marriedYes           -0.30801    0.06532  -4.715 2.42e-06 ***
## InternetServiceFIBER  1.18449    0.06506  18.205  < 2e-16 ***
## SupportServiceYes    -0.33085    0.07923  -4.176 2.97e-05 ***
## Contractshort time    1.81641    0.08466  21.454  < 2e-16 ***
## PaymentMethodcash     0.51743    0.06833   7.572 3.67e-14 ***
## ---
## 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: 6352.9  on 7036  degrees of freedom
## AIC: 6366.9
## 
## Number of Fisher Scoring iterations: 5

Nhận xét kết quả ước lượng mô hình

Dựa trên kết quả từ bảng trên, phương trình hồi quy logistic ước lượng cụ thể có dạng như sau:

\[ \log\left(\frac{p}{1-p}\right) = -3.06 + 0.29 \cdot \text{SeniorCitizen} - 0.31 \cdot \text{married} + 1.18 \cdot \text{InternetService} - 0.33 \cdot \text{SupportService} + 1.82 \cdot \text{Contract} + 0.52 \cdot \text{PaymentMethod} \] Nhận xét cụ thể từng biến

  1. Hệ số của SeniorCitizen (\(\hat{\beta}_1 = 0.28854\)): Hệ số này dương và cho thấy khi các yếu tố khác không đổi, một khách hàng là người cao tuổi có khả năng (log-odds) rời bỏ dịch vụ viễn thông cao hơn so với một khách hàng không phải người cao tuổi.

  2. Hệ số của married (\(\hat{\beta}_2 = -0.30801\)): Hệ số âm và cho thấy khi các yếu tố khác không đổi, một khách hàng đã kết hôn có khả năng rời bỏ dịch vụ viễn thông thấp hơn so với một khách hàng chưa kết hôn.

  3. Hệ số của InternetService (\(\hat{\beta}_3 = 1.18449\)): Hệ số dương và điều này chỉ ra rằng, khi các yếu tố khác không đổi, việc sử dụng dịch vụ Internet Cáp quang (FIBER) làm tăng mạnh khả năng khách hàng rời bỏ dịch vụ viễn thông so với việc sử dụng dịch vụ DSL.

  4. Hệ số của SupportService (\(\hat{\beta}_4 = -0.33085\)): Hệ số âm và điều này cho thấy, khi các yếu tố khác không đổi, khách hàng có đăng ký và được sử dụng dịch vụ hỗ trợ kỹ thuật tại công ty sẽ có khả năng rời bỏ thấp hơn so với những người không được sử dụng dịch vụ hỗ trợ.

  5. Hệ số của Contract (\(\hat{\beta}_5 = 1.81641\)): Hệ số dương lớn nhất trong mô hình và điều này khẳng định rằng, khi các yếu tố khác không đổi, khách hàng sử dụng hợp đồng ngắn hạn có khả năng rời bỏ dịch vụ viễn thông cao hơn rất nhiều so với khách hàng sử dụng hợp đồng dài hạn.

  6. Hệ số của PaymentMethod (\(\hat{\beta}_6 = 0.51743\)): Hệ số dương và cho thấy rằng khi các yếu tố khác không đổi, khách hàng thanh toán bằng tiền mặt có khả năng rời bỏ dịch vụ viễn thông tại công ty cao hơn so với khách hàng thanh toán qua ngân hàng.

-> Tất cả các biến được đưa vào mô hình đều là những yếu tố dự báo có ý nghĩa thống kê ( đều bé hơn mức 0.05) đối với hành vi rời bỏ dịch vụ viễn thông của khách hàng. Trong đó Sự chênh lệch lớn giữa Null deviance (8150.1) và Residual deviance (6352.9) khẳng định rằng mô hình tổng thể là có ý nghĩa thống kê, nghĩa là các biến độc lập mà chúng ta đưa vào có tác động thực sự đến khả năng rời bỏ của khách hàng.

3.6. Hồi quy probit cho mô hình đa biến

Mô hình Probit sử dụng hàm liên kết là phân phối chuẩn tích lũy \(\Phi(\cdot)\) để mô phỏng xác suất khách hàng rời bỏ dịch vụ (Churn = Yes) dựa trên các biến độc lập: SeniorCitizen (tình trạng cao tuổi), married (tình trạng hôn nhân), InternetService (dịch vụ Internet), SupportService (dịch vụ hỗ trợ), Contract (loại hợp đồng), và PaymentMethod (phương thức thanh toán).

Mô hình có dạng:

\[ P(\text{Churn}_i = 1 \mid \mathbf{X}_i) = \Phi(\beta_0 + \beta_1 \cdot \text{SeniorCitizen}_i + \beta_2 \cdot \text{married}_i + \dots + \beta_k \cdot X_{ki}) \] Trong đó:

  • \(p\) là xác suất dự báo một khách hàng sẽ rời bỏ dịch vụ (Churn = Yes)

  • \(\Phi^{-1}(p)\) là giá trị Probit, đại diện cho giá trị z-score tương ứng với xác suất \(p\).

  • Các biến SeniorCitizen, married,… là các biến giả (0/1) so với nhóm tham chiếu của chúng.

model_probit <- glm(Churn_numeric ~ SeniorCitizen + married + InternetService + 
                                       SupportService + Contract + PaymentMethod, 
                       data = df, 
                       family = binomial(link = "probit"))

summary(model_probit)
## 
## Call:
## glm(formula = Churn_numeric ~ SeniorCitizen + married + InternetService + 
##     SupportService + Contract + PaymentMethod, family = binomial(link = "probit"), 
##     data = df)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          -1.75340    0.05264 -33.310  < 2e-16 ***
## SeniorCitizenYes      0.17777    0.04675   3.803 0.000143 ***
## marriedYes           -0.17803    0.03787  -4.701 2.59e-06 ***
## InternetServiceFIBER  0.69674    0.03759  18.535  < 2e-16 ***
## SupportServiceYes    -0.17221    0.04467  -3.855 0.000116 ***
## Contractshort time    1.01845    0.04474  22.765  < 2e-16 ***
## PaymentMethodcash     0.29314    0.03925   7.469 8.10e-14 ***
## ---
## 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: 6353.9  on 7036  degrees of freedom
## AIC: 6367.9
## 
## Number of Fisher Scoring iterations: 5

Nhận xét

Dựa trên kết quả phân tích phương trình hồi quy Probit ước lượng với các hệ số cụ thể có dạng như sau:

\[ \Phi^{-1}(p) = -1.753 + 0.178 \cdot \text{SeniorCitizen} - 0.178 \cdot \text{married} + 0.697 \cdot \text{InternetService} - 0.172 \cdot \text{SupportService} + 1.018 \cdot \text{Contract} + 0.293 \cdot \text{PaymentMethod} \]

Ta có thể thấy Mô hình Probit đã củng cố các kết luận rút ra từ mô hình Logit. Nó xác nhận rằng các yếu tố như hợp đồng ngắn hạn, sử dụng Internet Cáp quang, là người cao tuổi, và thanh toán bằng tiền mặt làm tăng khả năng rời bỏ, trong khi việc đã kết hôn và có dịch vụ hỗ trợ làm giảm khả năng rời bỏ thông qua dấu của các hệ số dấu(+/-). Có thể thấy dấu(+/-) trong mô hình probit hoàn toàn trùng khớp với mô hình Logit. Đồng thời tất cả các biến được đưa vào mô hình đều là những yếu tố dự báo có ý nghĩa thống kê ( đều bé hơn mức 0.01) đối với hành vi rời bỏ dịch vụ viễn thông của khách hàng

3.7. Mô hình hồi quy Cloglog

Mô hình CLogLog sử dụng hàm liên kết Complementary Log-Log để mô hình hóa xác suất rời bỏ dịch vụ. Xác suất một khách hàng rời bỏ dịch vụ được tính bằng công thức:

\[ p_i = P(Y_i = 1) = 1 - \exp(-\exp(X_i\beta)) \]

Từ đó, mô hình CLogLog với đầy đủ các biến độc lập có dạng: \[ \log(-\log(1 - p_i)) = \beta_0 + \beta_1 \cdot \text{SeniorCitizen} + \beta_2 \cdot \text{married} + \beta_3 \cdot \text{InternetService} + \beta_4 \cdot \text{SupportService} + \beta_5 \cdot \text{Contract} + \beta_6 \cdot \text{PaymentMethod} \] Trong đó:

  • \(p\) là xác suất dự báo một khách hàng sẽ rời bỏ dịch vụ (Churn = Yes).

  • \(\log(-\log(1 - p))\) là giá trị trên thang đo CLogLog.

  • Các biến SeniorCitizen, married,… là các biến giả (0/1) so với nhóm tham chiếu của chúng.

model_cloglog <- glm(Churn_numeric ~ SeniorCitizen + married + InternetService + 
                                       SupportService + Contract + PaymentMethod, 
                       data = df, 
                       family = binomial(link = "cloglog"))

# Xem kết quả tóm tắt chi tiết của mô hình
summary(model_cloglog)
## 
## Call:
## glm(formula = Churn_numeric ~ SeniorCitizen + married + InternetService + 
##     SupportService + Contract + PaymentMethod, family = binomial(link = "cloglog"), 
##     data = df)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          -2.96764    0.08717 -34.043  < 2e-16 ***
## SeniorCitizenYes      0.19281    0.05670   3.401 0.000672 ***
## marriedYes           -0.23437    0.05046  -4.645 3.40e-06 ***
## InternetServiceFIBER  0.93529    0.05265  17.764  < 2e-16 ***
## SupportServiceYes    -0.28857    0.06534  -4.417 1.00e-05 ***
## Contractshort time    1.60348    0.07777  20.618  < 2e-16 ***
## PaymentMethodcash     0.40876    0.05482   7.457 8.88e-14 ***
## ---
## 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: 6359.4  on 7036  degrees of freedom
## AIC: 6373.4
## 
## Number of Fisher Scoring iterations: 5

Nhận xét

Dựa trên kết quả từ mô hình CLogLog, phương trình ước lượng mô tả mối quan hệ giữa các biến độc lập và xác suất rời bỏ dịch vụ có dạng như sau:

\[ \log(-\log(1 - p)) = -2.968 + 0.193 \cdot \text{SeniorCitizen} - 0.234 \cdot \text{married} + 0.935 \cdot \text{InternetService} - 0.289 \cdot \text{SupportService} + 1.603 \cdot \text{Contract} + 0.409 \cdot \text{PaymentMethod} \]

Mô hình CLogLog, mặc dù dựa trên một giả định khác về sự đối xứng của xác suất, vẫn đi đến những kết luận tương tự như mô hình Logit và Probit về các yếu tố ảnh hưởng đến hành vi rời bỏ, nghĩa là dấu (+/-) của tất cả các hệ số trong mô hình CLogLog vẫn hoàn toàn tương đồng với mô hình Logit và Probit. Tất cả các biến độc lập đều có p-value rất nhỏ (nhỏ hơn 0.001), cho thấy chúng đều là những yếu tố dự báo có ý nghĩa thống kê cao trong cả ba mô hình. Điều này làm khẳng định thêm về chiều hướng tác động của từng biến, các yếu tố làm tăng và giảm khả năng rời bỏ vẫn giữ nguyên.

3.8. Dự đoán và đánh giá độ chính xác của ba mô hình

Sau khi hồi quy ba mô hình Logit, Probit và CLogLog, bước cuối cùng em sẽ đánh giá hiệu suất của cả ba mô hình. Quá trình này em sẽ thực hiện qua ba bước chính: Đầu tiên, mô hình được dùng để dự đoán xác suất rời bỏ dịch vụ của từng khách hàng bằng hàm predict() với tùy chọn type = “response”. Tiếp theo, các xác suất này được chuyển thành nhãn phân loại (0 = ‘Ở lại’, 1 = ‘Rời bỏ’) dựa trên ngưỡng quyết định 0.5, nếu xác suất ≥ 0.5 thì được phân loại là rời bỏ. Cuối cùng, là tính độ chính xác của mô hình.

df$pred_logit <- predict(model_logit, type = "response")
df$pred_probit <- predict(model_probit, type = "response")
df$pred_cloglog <- predict(model_cloglog, type = "response") 

df$pred_class_logit <- ifelse(df$pred_logit >= 0.5, 1, 0)
df$pred_class_probit <- ifelse(df$pred_probit >= 0.5, 1, 0)
df$pred_class_cloglog <- ifelse(df$pred_cloglog >= 0.5, 1, 0) 

acc_logit <- mean(df$pred_class_logit == df$Churn_numeric)
acc_probit <- mean(df$pred_class_probit == df$Churn_numeric)
acc_cloglog <- mean(df$pred_class_cloglog == df$Churn_numeric) 

c("Accuracy - Logistic" = acc_logit, 
  "Accuracy - Probit" = acc_probit, 
  "Accuracy - CLogLog" = acc_cloglog) 
## Accuracy - Logistic   Accuracy - Probit  Accuracy - CLogLog 
##           0.7748119           0.7748119           0.7748119

Nhận xét kết quả thu được

Sau khi áp dụng cả ba mô hình vào bộ dữ liệu Churn, ta thu được kết quả phân loại với độ chính xác (Accuracy) như sau:

  • Hồi quy Logistic: 0.7748119
  • Hồi quy Probit: 0.7748119
  • Hồi quy CLogLog: 0.7748119

-> Kết quả đánh giá cho thấy cả ba mô hình đều đạt được độ chính xác rất cao và tương đồng (khoảng 77.5%). Điều này một lần nữa khẳng định rằng, đối với bộ dữ liệu này, việc lựa chọn giữa Logit, Probit hay CLogLog không tạo ra sự khác biệt đáng kể về mặt hiệu suất dự báo tổng thể. Đồng thời, khi so sánh chỉ số AIC của ba mô hình (Logit: 6366.9, Probit: 6367.9, CLogLog: 6373.4), chúng ta thấy rằng các giá trị này không chênh lệch nhau một cách đáng kể.Mô hình Logit có chỉ số AIC thấp nhất, cho thấy nó là mô hình có độ phù hợp tốt nhất về mặt lý thuyết.

CHƯƠNG 4: KẾT LUẬN ĐỀ TÀI VÀ HÀM Ý QUẢN TRỊ

4.1. Tóm tắt kết quả nghiên cứu và kết luận

Nghiên cứu được thực hiện với mục tiêu xác định các yếu tố chính ảnh hưởng đến hành vi rời bỏ dịch vụ (Churn) của khách hàng viễn thông thông qua 8 biến độc lập.Bằng cách sử dụng các phương pháp thống kê mô tả, phân tích hai biến và xây dựng mô hình hồi quy logistic, probit, clolog đa biến, nghiên cứu đã đi đến các kết quả chính như sau:

  • Các yếu tố làm tăng đáng kể khả năng rời bỏ dịch vụ bao gồm: việc khách hàng sử dụng hợp đồng ngắn hạn (Contract), sử dụng dịch vụ Internet Cáp quang FIBER (InternetService), là người cao tuổi (SeniorCitizen), và thanh toán bằng tiền mặt (PaymentMethod).

  • Các yếu tố có tác dụng làm giảm nguy cơ rời bỏ bao gồm: việc khách hàng đã kết hôn (married) và đăng ký dịch vụ hỗ trợ kỹ thuật(SupportService).

Từ các kết quả nghiên cứu, có thể rút ra kết luận rằng hành vi rời bỏ dịch vụ của khách hàng không phải là một hiện tượng ngẫu nhiên mà là kết quả của sự tác động tổng hợp từ nhiều yếu tố liên quan đến hợp đồng, dịch vụ và đặc điểm nhân khẩu học. Có thể nói để một công ty viến thông có thể giữ chân khách hàng được hay không thì các điều kiện công ty đáp ứng là chưa đủ mà nó còn đòi hỏi về mặt nhu cầu mà khách hàng lựa chọn.

4.2. Hạn chế của đề tài

  • Bộ dữ liệu được sử dụng chỉ được lấy từ một công ty trong ngành viễn thông, đây còn là bộ dữ liệu chéo không phản ánh được sự thay đổi trong hành vi của khách hàng theo thời gian. Ngoài ra, dữ liệu còn thiếu các biến quan trọng khác có thể ảnh hưởng đến quyết định rời bỏ như mức độ hài lòng, số lần khiếu nại, hay thông tin về đối thủ cạnh tranh.

  • Nghiên cứu chỉ tập trung vào các mô hình hồi quy nhị phân truyền thống được sử dụng trong dữ liệu định tính, chưa đi đào sâu các mô hình cụ thể hơn để có được những mô hình tối ưu nhất.

  • Đề tài chưa đánh giá được hết toàn bộ dịch vụ viễn thông toàn quốc vì các biến trong mô hình chỉ được xét ở hai mức phạm trù cơ bản, bộ dữ liệu toàn bộ được xét là dữ liệu định tính nên chưa xuất hiện biến định lượng nên chưa đánh giá được toàn bộ

4.3. Hàm ý quản trị

  • Chiến lược về Hợp đồng và Cam kết: Do hợp đồng ngắn hạn là yếu tố rủi ro lớn nhất, công ty nên tập trung vào việc chuyển đổi nhóm khách hàng này sang các hợp đồng dài hạn hơn. Các chương trình khuyến mãi theo chu kỳ (ví dụ: giảm giá sau 6 tháng, nâng cấp miễn phí sau 1 năm) có thể được triển khai để tăng giá trị cảm nhận và khuyến khích sự cam kết lâu dài.

  • Rà soát và Tối ưu hóa Dịch vụ Cốt lõi: Tỷ lệ rời bỏ cao ở nhóm khách hàng sử dụng Internet Cáp quang là một tín hiệu cảnh báo. Doanh nghiệp cần tiến hành điều tra sâu hơn về nguyên nhân: liệu có phải do vấn đề kỹ thuật (độ ổn định), giá cả (kém cạnh tranh), hay do quy trình lắp đặt và hỗ trợ ban đầu chưa tốt? Việc tối ưu hóa chất lượng dịch vụ cốt lõi này là cực kỳ cấp thiết.

  • Phân khúc và Chăm sóc Khách hàng Chủ động: Mô hình đã chỉ ra các phân khúc có rủi ro cao (người cao tuổi) và các yếu tố bảo vệ (có dịch vụ hỗ trợ) vì vậy doanh nghiệp nên thiết kế các gói cước và kênh giao tiếp đơn giản, dễ sử dụng hơn cho nhóm khách hàng cao tuổi. Đồng thời chủ động quảng bá và thậm chí cung cấp các gói hỗ trợ kỹ thuật cơ bản miễn phí như một phần của dịch vụ, thay vì coi nó là một tùy chọn trả phí. Điều này không chỉ giải quyết vấn đề kỹ thuật mà còn thể hiện sự quan tâm, giúp tăng cường mối quan hệ với khách hàng.