Ví dụ Logistic regression ứng dụng trong ngân hàng (P.2)

Bigdatauni.com Follow Fanpage Contact

Ở bài viết trước về chúng ta đã đi qua ví dụ đầu tiên về ứng dụng của logistic regression trong lĩnh vực ngân hàng bán lẻ, đó chính là dự báo hay phân loại những khách hàng có khả năng đăng ký term deposit, dịch vụ tiền gửi kỳ hạn (gửi tiết kiệm). Chúng ta cũng đã xây dựng phương trình hồi quy logistic tổng quát cũng như có đánh giá sơ bộ về độ phù hợp của mô hình và các biến dự báo khi đưa vào phân tích. Trong bài viết phần 2, chúng ta sẽ tìm hiểu thêm về một số vấn đề khác trong kết quả phân tích lần trước và đi vào  ví dụ tiếp theo về dự báo churn bằng logistic regression.

Dành cho các bạn nào chưa xem những bài viết trước về hồi quy logistic. Lưu ý trong bài viết về ứng dụng chúng tôi sẽ không nhắc lại chi tiết các kiến thức quan trọng, nên nếu bạn nào chưa biết gì về hồi quy logisttic, có thể sẽ không nắm bắt được các nội dung.

Dành cho những bạn chưa tham khảo các bài viết trước:

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 1)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 2)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 3)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 4)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 5)

Ví dụ hồi quy logistic regression trong ngân hàng (Phần 1)

Nhắc lại ví dụ 1 ở bài viết lần trước:

Case study lấy ví dụ từ một ngân hàng Bồ Đào Nha, áp dụng hoạt động marketing trực tiếp, gọi điện đến khách hàng để giới thiệu chương trình tiền gửi kỳ hạn. Dữ liệu lịch sử các cuộc gọi và dữ liệu hồ sơ khách hàng được tổng hợp để đưa vào phân tích với mục đích dự báo khả năng khách hàng đăng ký trước chương trình. Dữ liệu bao gồm 45211 quan sát, với 16 biến độc lập x và 1 biến mục tiêu hay biến phụ thuộc y – có hay không có đăng ký chương trình tiền gửi kỳ hạn, chúng tôi gọi nhanh là term deposit. Bao gồm dữ liệu thông tin cá nhân khách hàng:

Các bước xử lý dữ liệu ban đầu chúng tôi không nhắc lại các bạn xem lại bài viết phần 1, link ở phía trên

Kết quả phân tích hồi quy logistic:

Tham số β trong mô hình thể hiện giá trị trung bình của p tăng hay giảm khi x tăng. Khi β1 > 0, xác suất p tăng khi x tăng. Khi β1 < 0, xác suất p giảm khi x tăng. Như vậy khi chúng ta quan tâm yếu tố nào sẽ giúp tăng xác suất thể hiện khả năng khách hàng đăng ký dịch vụ term deposit, chúng ta sẽ chú ý nhiều hơn đến các biến dự báo, hay biến x có hệ số hồi quy > 0 ví dụ như age (độ tuổi), balance (số dư tài khoản), duration (thời gian cuộc đối thoại giữa khách hàng và nhân viên lần liên lạc cuối),…

Hệ số hồi quy được dùng để ước tính giá trị odds ratio, là tỷ lệ thể hiện khả năng y đạt giá trị cụ thể mà ở đây nghĩa là khách hàng có đăng ký term deposit khi có hay không có sự xuất hiện của một sự kiện tác động nào đó. Các bạn xem lại bài viết phần 3 về odds ratio nếu chưa biết odds ratio là gì. Công thức tính nhanh odds ratio bằng hệ số hồi quy:

Odds ratio (xi) = eβxi

Ở biến Balance, quan sát ở cột exp(β) có thể thấy giá trị odds ratio lớn hơn 1, tức số dư giao dịch tăng 1 đơn vị thì giá trị odds thể khả năng y = 1 tức khách hàng đăng ký term deposit sẽ tăng gấp 1 lần. Tương tự như biến duration.

Ở biến previous, số lượng cuộc gọi với khách hàng ở chiến dịch trước đó, có hệ số hồi quy dương, cột exp(β) có giá trị 1.034 tức số lượng cuộc gọi với khách hàng ở chiến dịch trước tăng lên 1 đơn vị thì giá trị odds thể khả năng y = 1 tức khách hàng đăng ký term deposit sẽ tăng gấp 1 lần.

Như ở bài viết trước khi khám phá dữ liệu chúng ta thấy rằng học vấn đại học trở lên có khả năng đăng ký term deposit cao hơn, kết quả exp(β) cũng cho thấy điều tương tự. Lưu ý edu_classified (2) là biến dummy edu_tertiary, tức biến này cung cấp thông tin khách hàng nào có bằng đại học khách hàng nào không có.

Tiếp theo về biến poutcome (3) là biến dummy của kết quả chiến dịch marketing trước thành công đối với khách hàng này, cung cấp thông tin là ở chiến dịch trước khách hàng có tham gia đăng ký một sản phẩm, dịch vụ nào của ngân hàng không, nếu có thì chiến dịch trước được xem là thành công. Poutcome (3) có exp(β) cao nhất, điều đó thể hiện nếu chiến dịch trước thành công, có thể khách hàng đã am hiểu về các loại hình dịch vụ, chất lượng dịch vụ của ngân hàng, có thể các hoạt động CRM tốt, giúp tăng khả năng khách hàng đăng ký term deposit ở chiến dịch tiếp theo.

Các bạn tiếp tục phân tích cho các biến tiếp theo nhé!

Lưu ý nữa, ở cột khoảng tin cậy 95% CI for exp(β), các biến nào có giá trị chắc chắn lớn hơn 1 ở cả upper bound và lower bound chứng tỏ khả năng biến đó có mối quan hệ với biến mục tiêu y. Tuy nhiên nếu khoảng giá trị giữa upper và lower có chứa giá trị 1, tức không nghiêng hẳn về một phía hơn 1, lúc này 2 biến độc lập và mục tiêu không có quan hệ. Các bạn chú ý thì có thể thấy các biến có giá trị p-value kiểm định wald test > 0.05, tức biến đó không phù hợp để phân tích, thì khoảng tin cậy odds ratio luôn có chứa giá trị 1.

Ở phần 1 chúng ta đã nói sơ qua về độ phù hợp của mô hình trong việc dự báo, phân loại biến mục tiêu y. Mặc dù các phương pháp kiểm định như Hosmer & Lemeshow test, wald test cũng như hệ số R2 không đánh giá cao độ phù hợp của mô hình tuy nhiên mô hình vẫn có tỷ lệ dự báo chính xác khi áp dụng lên dữ liệu test và cả dữ liệu training trước đó.

Mức độ chính xác của mô hình trong việc phân loại chính xác đạt tỷ lệ rất cao gần 90% ở cả 2 tập dữ liệu, tuy nhiên nếu chúng ta chỉ quan tâm về khả năng phân loại hay dự báo chính xác những khách hàng sẽ đăng ký term deposit mà thôi, thì cần xem xét thêm các chỉ số trong Confusion Matrix áp dụng cho tập dữ liệu training.

Accuracy rate, tỷ lệ model phân loại, dự báo đúng cho tất cả trường hợp Negative và Positive = (1200 + 672) / (31589) = 90%

Precision (là tỷ lệ các trường hợp Positive được phân loại đúng) = 1200 / (672+1200) = 64%

Sensitivity (Recall) là tỷ lệ các trường hợp Positive thực sự (actual) đã được phân loại đúng = 1200/(2512+1200) = 32.3%

Precision cung cấp cho chúng ta thông tin là: mô hình đã dự báo đúng, và chính xác bao nhiêu giá trị Positive trong tập dữ liệu thực sự, còn Sensitivity (Recall) cung cấp cho chúng ta thông tin trong tất cả các giá trị Positive thực sự thì có bao nhiêu giá trị Positive đã được dự báo đúng và bỏ lỡ bao nhiêu, ở đây là 1312 quan sát, khá nhiều. Như vậy có thể kết luận mô hình thực sự chưa phù hợp trong việc dự báo khách hàng nào sẽ đăng ký term deposit trong thực tế.

Tại sao mô hình lại dự báo chính xác khách hàng đăng ký term deposit tới gần 64% nhưng lại bỏ sót những khách hàng đăng ký term deposit trong thực tế? Nguyên nhân có thể do sự trade-off (đánh đổi) giữa Precision và Recall diễn ra hay nguyên nhân có thể do các biến dự báo đưa vào mô hình không phù hợp, hay ngưỡng cut-off 0.5 chưa hợp lý?

Đầu tiên chúng ta xét qua ngưỡng cut off, nếu chúng ta tăng cut-off lên 0.7 tức xác suất ước lượng từ phương trình hồi quy cao hơn hoặc bằng 0.7 thì khách hàng được phân loại là có khả năng đăng ký term deposit.  Như vậy mô hình dự báo chính xác khách hàng đăng ký term deposit có thể cao hơn tuy nhiên lại có thể bỏ sót nhiều hơn những khách hàng đăng ký term deposit trong thực tế.

Precision = 685/ (307 + 685) = 69%, Recall = 685/ (3027 + 685) = 18.4%. Như vậy việc tăng cut-off khiến recall giảm hơn rất nhiều. Qua đây các bạn cũng thấy khi precision có dấu hiệu tăng lên thì Recall lại bị giảm.

Để hiểu về sự đánh đổi giữa precision và recall, các bạn có thể tham khảo bài blog của Opex Analytics, chúng tôi nghĩ rằng phù hợp và dễ hiểu hơn cho những bạn đang tiếp cận lĩnh vực phân tích dữ liệu. Do bài viết có giới hạn nên chúng tôi trình bày ngắn gọn, các bạn có thể truy cập bài viết gốc của blog để xem thêm, Opex Analytics Blog: “Precision and Recall: Understanding the Trade-Off”, tác giả bài blog  Samuel Hillis & Sara Hoormann.

Giả sử có một hồ cá mà bạn muốn câu, trong đó có 2 loại cá ví dụ cá màu đỏ với màu xanh, trên cơ sở bạn biết trong hồ có chứa loại cá gì và tổng cộng bao nhiêu, và bạn muốn câu được con cá có màu đỏ. Chúng ta sẽ xây dựng mô hình để dự báo xác suất câu được con cá màu đỏ. Phương pháp thứ nhất chúng ta sử dụng 2 cần câu với một loại mồi đặc biệt để câu cá đỏ. Kết quả là chúng ta câu được 2 con cá đỏ, tỷ lệ thử lần đầu chính xác 100%, precision 100%. Tuy nhiên trong hồ vẫn còn nhiều con cá đỏ mà chúng ta bỏ sót, recall lúc này rất thấp. Tiếp theo chúng ta muốn bắt nhiều cá đỏ hơn nhưng nếu sử dụng 2 cần câu thì không đủ, chúng ta sử dụng lưới và lúc này bắt gần như rất nhiều cá đỏ, tỷ lệ bỏ sót chúng ta đã giảm, recall tăng tuy nhiên trong tấm lưới chúng ta lại bắt nhầm rất nhiều cá xanh, precision giảm mạnh. Đây chính là ví dụ đánh đổi của precision và recall.

      

Nguồn hình: Opex Analytics Blog

Precision và recall có sự đánh đổi phụ thuộc vào tỷ lệ cut – off mà chúng ta set cho mô hình

Nên chọn precision hay recall nó còn phụ thuộc vào mục đích phân tích. Ví dụ, chúng ta cố gắng không bỏ sót bất kỳ khách hàng nào có khả năng đăng ký term deposit để tối đa doanh thu, recall sẽ cao, tuy nhiên lại đối diện với nguy cơ tiếp cận với nhiều hơn những khách hàng không tiềm năng, precision sẽ giảm. Nếu chúng ta muốn đảm bảo doanh thu, muốn phân biệt chính xác khách hàng nào sẽ và không đăng ký term deposit, lúc này precision sẽ cao. Recall quan trọng trong một số trường hợp như dự báo bệnh nhân ung thư, hay xác đinh tội phạm khủng bố, do nếu bỏ sót sẽ mang lại hậu quả nghiêm trọng.

Một số nhà phân tích “tham lam” cho rằng họ muốn phát triển những mô hình phân lớp mà sao cho cả chỉ số precision và recall đều cùng được quan tâm và cải thiện, hạn chế sự đánh đổi của chúng. Lúc này họ sẽ sử dụng chỉ số F1 score. Chỉ số F1 điều hòa “harmonic” tầm quan trọng của cả Recall và Precision sao cho tương đương nhau. Công thức của chỉ số F1 bao gồm cả Precision và Recall:

Chúng ta tính thử F1, khi so sánh 2 model, mô hình nào có F1 cao hơn sẽ tốt hơn khi có cùng chung ngưỡng cut-off là 0.5 F1 = 2* (64%*32.3% / (64% + 32.3%)) = 0.43  Tiếp theo chúng ta quan tâm việc lựa chọn lại các biến dự báo, một phần để tính toán thử likelihood ratio test.

Bên trên là kết quả đánh giá ý nghĩa của các biến dự báo, biến độc lập nào quan trọng đối với mô hình, kết quả từ SPSS, là kết quả từ phương pháp tính toán dựa trên phương sai chi tiết các bạn có thể tham khảo tại tài liệu Algorithm Guide, tại phần Predictor Importance Algorithms.

Giả sử chúng ta sẽ thử chọn 10 biến như trên để đưa vào mô hình. Ở các phần mềm phân tích khách Predictore importance có thể được tính bằng nhiều phương pháp khác nhau.

Kết quả mô hình sau khi giảm biến

So với mô hình ban đầu:

Kết quả hệ số R2 không quá chênh lệch giữa 2 mô hình.

Kết quả kiểm định Hosmer & Lemeshow mô hình giảm biến

Kết quả kiểm định Hosmer & Lemeshow mô hình đầu


Cả 2 mô hình cho p-value của kiểm định Hosmer & Lemeshow test lần nữa thấp hơn 0.05 rất nhiều, tiếp tục cho rằng mô hình mới cũng không thực sự phù hợp. Tuy nhiên nhắc lại ở bài viết trước, một trong những điểm yếu của Hosmer & Lemeshow Test là giá trị p-value có thể thay đổi nếu số group để xét thay đổi, do Spss mặc định số group là 10, bậc tự do df = 10 – 2 = 8, nên p-value tại cột sig rất nhỏ, giá trị p-value có thể tăng, giảm nếu chúng ta thay số group kiểm tra là 11 hay giảm xuống là 9. Do đó Hosmer & lemeshow test thường chưa thể quyết định chắc chắn về độ hiệu quả của mô hình.

Kết quả phương trình hồi quy logistic:

Lần này kiểm định Wald test cho kết quả khả quan ở tất cả các biến khi p-value tại cột sig đều nhỏ hơn 0.05, tức tất cả các biến đều phù hợp cho việc dự báo giá trị của biến mục tiêu.

Chúng ta cùng nhìn qua kết quả thử nghiệm trên 2 tập dữ liệu:

Như vậy so với mô hình đầu tỷ lệ dự báo chính xác có hơn một chút, rất nhỏ, còn AUC gần như bằng nhau như vậy, mô hình vẫn đảm bảo độ hiệu quả cho dù có giảm số biến.

Các giá trị không chênh lệch nhiều so với confusion matrix ban đầu kết luận mô hình mới vẫn chưa thật sự phù hợp do recall vẫn còn thấp và suy ra bỏ sót khá nhiều khách hàng đăng ký term deposit trong thực tế.

Chúng ta tính thử F1 score nhu đã nói:

Precision = 1196 / (1196 + 650) = 64.7%    Recall = 1196 / (2516+1196) = 32.2%

F1 = 2* ((64.7%*32.2%)/ (64.7% + 32.2%)) = 0.43

Do đó kết luận mặc dù phương pháp chọn lọc lại biến tuy có thể tinh gọn mô hình hồi quy, đảm bảo các biến dự báo có ý nghĩa phân tích nhưng cũng không thực sự hiệu quả hơn so với mô hình đầu.

Lưu ý thêm nữa, các bạn cũng có thể dựa trên kết quả Wald test mô hình đầu để loại các biến dự báo không phù hợp cụ thể chúng có p-value tại cột sig > 0.005. Các biến age, default, month,… khi bị loại bỏ sẽ không ảnh hưởng đến mô hình, các bạn có thể thấy tại mô hình mới khi không có các biến này thì các chỉ số đánh giá đều được cải thiện hoặc ít có sự khác biệt với mô hình đầu.

Tiếp theo chúng ta sẽ tính thử giá trị kiểm định likelihood ratio test:

Công thức likelihood ratio test so sánh 2 mô hình ban đầu với đầy đủ các biến và mô hình sau khi đảm chọn lọc các biến, Với giả thuyết H0 mô hình subset hay mô hình giảm biến là phù hợp.

LR = 2 ln (LFull) – 2 ln (LSubset) = – 15787 – (-15892) = 105

Bậc tự do df = 6 (chênh lệch giữa số biến dự báo mô hình full vs mô hình subset)

P-value tìm được sẽ nhỏ hơn 0.05. Tức chúng ta sẽ bác bỏ Ho như vậy mô hình đầy đủ các biến theo LR test là hiệu quả hơn so với mô hình đã giảm bớt các biến. Qua đó khẳng định thêm các biến chúng ta loại bỏ vẫn có ý nghĩa phân tích nếu trong một mô hình đầy đủ.

Wald test và LR test ra kết quả trái ngược nhau là vấn đề thường bắt gặp, và lần đầu tiên được đề cập bởi 2 chuyên gia Hauk và Donner vào năm 1977. Cũng theo 2 chuyên gia, LR test nên được ưu tiên sử dụng, trái ngược với nghiên cứu sau này của  Johnston và DiNardo 1997 khi cho rằng Wald test > LR test > Score test.

Việc chọn lựa phương pháp kiểm định nào sẽ phụ thuộc vào tầm nhìn và kinh nghiệm của nhà phân tích, nếu chúng ta quan tâm đến độ hiệu quả của toàn mô hình, và cần chọn lựa giữa nhiều mô hình được xây dựng trước đó, thì LR test là phù hợp. Nếu chúng ta muốn giảm chi phí và thời gian tính toán, chỉ chọn lựa các yếu tố có ý nghĩa để phân tích, thì Wald test là thích hợp, tương tự như Score test.

Kết luận case study:

Chúng ta đã xây dựng được 2 mô hình hồi quy logistic và cả 2 tuy có tỷ lệ phân loại chính xác khách hàng đăng ký hay không đăng ký term deposit cao gần 90% nhưng lại đối với trường hợp xác định đúng những khách hàng đăng ký term deposit thực sự, cả 2 mô hình đều không hiệu quả, precision và recall đã cho chúng ta biết. Trong thực tế khi phát triển mô hình, chúng ta cần quan tâm đến chất lượng tập dữ liệu, xử lý các missing values, outliers hay chuẩn bị dữ liệu kỹ hơn đặc biệt là xem xét có hay không có mối quan hệ giữa các biến độc lập với nhau hay không để tránh trường hợp đa cộng tuyến, hay phải sử dụng các phương pháp tinh chỉnh tham số, hay xây dựng lại tập dữ liệu mẫu sao cho phù hợp, nhưng ở đây chúng ta lại chưa thực sự làm tốt, và điều đó tác động đến kết quả phân tích. Ngoài ra khi đánh giá mô hình chúng ta cần kết hợp nhiều phương pháp khác cụ thể như AIC, và BIC, Stukel test hay Standard Pearson Test để đánh giá sâu hơn mô hình. Nói chung, một model logistic regression hoàn hảo hoặc bất kỳ model phân tích khác cần hoàn thiện rất nhiều thứ bắt đầu từ khâu chuẩn bị dữ liệu. Ở các bài viết sắp tới chúng ta sẽ đề cập đến.

Giải pháp cho ngân hàng từ mô hình hồi quy logistic:

Áp dụng mô hình hồi quy logistic để xác định khách hàng nào có xác suất đăng ký term deposit cao để triển khai các phương án tiếp cận phù hợp qua điện thoại, email cá nhân,… Qua đó, ngân hàng có thể tiết kiệm thời gian, chi phí bị lãng phí cho những khách hàng khả năng không đăng ký term deposit và tập trung nguồn lực vào nhóm khách hàng tiềm năng hơn.

Hình thức liên lạc thông qua gọi điện trực tiếp bằng số điện thoại ngân hàng hay bằng số di động cá nhân đều có khả năng xây dựng mối quan hệ tốt hơn với khách hàng, mặc dù trong thực tế, một số khách hàng cảm thấy phiền nhiễu nhưng với nhóm khách hàng tiềm năng sau khi chọn lọc thường họ sẽ có một mối quan tâm nhất định đến term deposit thì kênh bán hàng này sẽ đem lại hiệu quả cao.

Hơn nữa thời lượng cuộc gọi khách hàng tăng lên cũng góp phần tăng xác suất khách hàng đăng ký, nhưng chú ý đến số lượng cuộc gọi đến khách hàng, nếu quá nhiều sẽ tác động tiêu cực đến hiệu quả chiến dịch, ngoài ra khoảng cách giữa các thời điểm liên hệ cần tăng lên ví dụ nếu chiến dịch diễn ra trong 1 quý thì lần gọi điện gần nhất nên cách lần tiếp theo khoảng 2 tuần. Đặc biệt tập trung tiếp cận nhóm khách hàng đã từng đăng ký các dịch vụ trước, khả năng cao trong chiến dịch này họ sẽ tiếp tục quan tâm.

Về nhân khẩu học thì nhóm khách hàng độc thân chưa có gia đình hay đã ly hôn, không có việc làm hay đã về hưu, là sinh viên đang tìm việc, trong độ tuổi từ 18 – 35, và có bằng đại học, khả năng cao sẽ đăng ký term deposit (kết hợp khám phá dữ liệu qua các đồ thị), nên cần tập trung nhiều hơn. Nhóm khách hàng đã từng vay tín dụng tại ngân hàng thì khả năng đăng ký term deposit là không cao, nhưng ngược lại với nhóm khách hàng có số dư giao dịch (số dư tài khoản dương).

Sau cùng chiến dịch chạy trong quý 2 hiệu quả hơn các quý còn lại, cụ thể là tháng 4, 5, và 6.

Bên trên chỉ là một số ví dụ về giải pháp để các bạn thấy được hiệu quả của phân tích dữ liệu trong lĩnh vực ngân hàng mà cụ thể là logistic regression là như thế nào. Trong thực tế, các chiến lược và kế hoạch hành động còn phải được dựa trên các phân tích khác về thị trường, đối thủ cạnh tranh, biến động kinh tế, xã hội,..

Chúng ta sẽ đi vào ví dụ tiếp theo về ứng dụng hồi quy logistic cũng trong lĩnh vực ngân hàng. Nhưng ở phần này chúng tôi sẽ không giải thích kỹ như case study đầu, chỉ đi thẳng vào mô hình tìm được và giải pháp đề ra. Việc xây dựng và đánh giá mô hình các bạn có thể dựa vào case study đầu mà chúng tôi đã phân tích kỹ để đánh giá.

Case study 2: dự báo khả năng khách hàng rời dịch vụ trong ngân hàng bán lẻ.

Tại sao phải dự báo khả năng khách hàng rời dịch vụ hay còn gọi là churn prediction? Khách hàng rời dịch vụ, nghĩa là khách hàng không phát sinh mối quan hệ giao dịch với ngân hàng trong khoảng thời gian dài (theo quy định của ngân hàng) hay không còn mối quan hệ giao dịch với ngân hàng, nguyên nhân khách hàng không còn hài lòng với dịch vụ hiện tại, hay những dịch vụ không còn thu hút khách hàng, ưu đãi nhiều hơn từ những đối thủ cạnh tranh cũng khiến khách hàng rời dịch vụ,…

Càng nhiều khách hàng rời dịch vụ thì lợi nhuận của ngân hàng sẽ không được đảm bảo, ngân hàng sẽ khó có thể tăng trưởng qua đó cũng thấy được ngân hàng chưa cải thiện tốt các sản phẩm, dịch vụ. Tìm hiểu nguyên nhân khách hàng rời dịch vụ là điều phải làm trong dài hạn nhưng trước tiên cần xác định những khách hàng nào sẽ có khả năng rời dịch vụ để tiếp cận và cố gắng giữ chân họ.

Dữ liệu mẫu lấy từ trang BigML.com, nguồn dữ liệu từ IBM, đây cũng là một case study mẫu phổ biến và đơn giản.

Tập dữ liệu gồm 10000 quan sát tương ứng với 10000 khách hàng. Dữ liệu cung cấp thông tin khách hàng nào còn sử dụng dịch vụ ngân hàng, và khách hàng nào không. Bao gồm 11 biến trong đó:

  1. Age: độ tuổi (biến định lượng)
  2. Gender: giới tính (biến định tính – biến flag)
  3. Geography: quốc gia (biến định tính) bao gồm Pháp, Đức, Tây Ban Nha
  4. Tenure: là khoảng thời gian cho đến khi một hợp đồng tài chính hết hạn (có thể là hợp đồng vay, hay các hợp đồng dịch vụ khác, tính theo tháng) (biến định lượng)
  5. Balance: số dư tài khoản (biến định lượng)
  6. NumsOfProducts: số dịch vụ đang sử dụng tại ngân hàng, giả định ngân hàng có tối đa 4 loại dịch vụ (biến định tính – ordinal)
  7. HasCrCard: có thẻ tín dụng hay không thẻ tín dụng (biến định tính – biến flag) có 2 giá trị 0, 1
  8. IsactiveMember: hiện là khách hàng thân thiết hay không (biến định tính – biến flag) có 2 giá trị 0, 1
  9. EstimatedSalary: lương ước tính trong 1 năm (biến định lượng)
  10. CreditScore: điểm tín dụng (biến định lượng)
  11. Exited: khách hàng rời dịch vụ hay chưa theo một thời hạn quy định trước của ngân hàng có 2 giá trị 0, 1

Chúng ta chia tập dữ liệu thành testing và training để đánh giá mô hình nhưng trước tiên cùng tìm hiểu qua dữ liệu

Rownumber và CustomerID, Surname chỉ là thông tin nhận diện các khách hàng với nhau chứ không phải biến để xét. Dữ liệu không có missing values, và chỉ có 8 quan sát có outliers tại biến Credit score đã được xử lý, lưu ý credit score có giới hạn 350 đến 850 (thường thì 300 đến 800 tùy theo quy định của ngân hàng và điều lệ của ngành tại mỗi quốc gia)

Có 20.37% khách hàng rời dịch vụ, 79.63% khách hàng tham gia dịch vụ.

Khả năng rời dịch vụ của nhóm khách hàng trong độ tuổi 35 – 50 tuổi là cao nhất

             

Khả năng khách hàng tại Đức vào Pháp rời dịch vụ là cao ngang nhau, còn ở Tây Ban Nha là thấp nhất. Khả năng khách hàng nữ rời dịch vụ là cao hơn.

           

Tỷ lệ khách hàng có hay không có credit card mà rời dịch vụ là gần bằng nhau, nghĩa là thẻ tín dụng không phải tác nhân quan trọng khiến khách hàng rời dịch vụ. Khách hàng tham gia chương trình khách hàng thân thiết thì tỷ lệ rời dịch vụ thấp hơn khách hàng không tham gia.

Khách hàng đăng ký cả 4 dịch vụ của ngân hàng thì tỷ lệ 100% rời dịch vụ, nguyên nhân có thể khách hàng quan tâm đến các sản phẩm, dịch vụ ở ngân hàng khác, hay cả 4 dịch vụ hiện tại của ngân hàng đều không thỏa mãn khách hàng.

Bên trên là ma trận hệ số tương quan để đánh giá mối quan hệ giữa các biến định lượng với biến mục tiêu Exited. Các bạn nhìn nhanh vào cột sig là giá trị p-value kiểm định, thì thấy chỉ có biến Tenure và EstimatedSalary có sig > 0.05 với Exited, có thể chúng không có mối quan hệ với biến mục tiêu. Xét về vấn đề đa cộng tuyến thì chỉ có biến Age và biến Balance có mối quan hệ với nhau p – value = 0.005 < 0.01 như hệ số tương quan không quá cao, không tiến gần đến -1 hay 1, nên tác động có thể không lớn, nhưng chúng ta vẫn phải xem xét liệu có nên bỏ biến nào hay không dựa vào LR test. Các bạn có thể dựa trên case study 1 để tự đánh giá thử với mô hình full có đầy đủ các biến, và mô hình subset không chứa 1 trong 2 biến Age hay Balance, tương tự như Tenure và EstimatedSalary. LR test thì hiện tại các phần mềm thống kê hầu như đều hỗ trợ.

Tiếp theo chúng ta xây dựng mô hình. Các bạn chú ý các loại biến mà chúng tôi đề cập đầu case study

Bên trên là kết quả phương trình hồi quy logistic tổng quát. Chúng ta sẽ quan tâm phân tích đến các biến có sig value < 0.05 tức những biến dự báo này có ý nghĩa phân tích, khi chúng có mối quan hệ với biến mục tiêu. Lưu ý Balancenew, Estimatedsalarynew là biến chuyển đổi đơn vị tính xuống 1 đơn vị = 10000 Euro

CreditScore, điểm tín dụng có odds ratio gần bằng 1 tại cột Exp(B) nhưng hệ số hồi quy âm, tức là khi điểm tín dụng tăng thì khả năng khách hàng rời dịch vụ có thể sẽ không tăng. Giả định có thể khách hàng có điểm tín dụng cao có khả năng có tiềm lực tài chính tốt và ổn định, họ có thể tiếp tục vay tín dụng tại ngân hàng.

Khách hàng tại Đức có khả năng rời dịch vụ rất cao, ngân hàng nên quan tâm đến vấn đề này để xác định nguyên nhân. Odds ratio cao bằng 2.736.

Về giới tính thì yếu tố này không tác động nhiều đến khả năng khách hàng rời dịch vụ, odds ratio thấp hơn 1. Nhưng độ tuổi thì ngược lại, khách hàng có độ tuổi cao có khả năng rời dịch vụ.

Biến Balance, số dư tài khoản tăng thì khả năng khách hàng rời dịch vụ có thể sẽ giảm, giả định đưa ra là do có thể khách hàng đăng ký tiền gửi tiết kiệm, và hàng tháng hưởng lãi suất, hệ số hồi quy âm nghĩa là khi biến này tăng xác suất ước lượng p sẽ giảm (các bạn xem lại đồ thị đầu tiên ở đầu bài viết), mặc dù odds ratio vẫn tiến gần 1.

Số lượng dịch vụ khách hàng tham gia từ 3 trở lên thì khả năng khách hàng rời dịch vụ cũng sẽ cao, nếu ngân hàng không phát triển thêm những dịch vụ khác hay đưa ra nhiều ưu đãi thì khó giữ chân khách hàng, numofproduct (3) = 4 dịch vụ thì odds ratio rất cao, do 100% khách hàng rời dịch vụ.

Như ở phần tìm hiểu dữ liệu khách hàng có hay không có thẻ thành viên thì khả năng rời dịch vụ không có chênh lệch nhiều nên các bạn thấy ở odds ratio tại biến này 0.345 không cao.

Ví dụ một khách hàng nam đến từ Đức, số dư tài khoản là 1(đơn vị 10000 Euro), điểm tín dụng 500, tuổi 30, mức lương trung bình 1 năm là 5 (đơn vị 10000 Euro) (hệ số hồi quy là 0.000145), vị khách này không phải là thành viên thân thiết, đăng ký tiền gửi tiết kiệm thời hạn 6 tháng, và có thẻ tín dụng, đăng ký 2 dịch vụ.

Xác suất rời dịch vụ theo phương trình hồi quy tổng quát = 12.7% dưới cut-off là 50%, nên khách hàng này không có khả năng cao rời dịch vụ.

Hệ số R2 Nagalkerke cao nhưng chỉ ở mức tương đối, chưa thể khẳng định mô hình thực sự hiệu quả, chỉ có 37.5% sự thay đổi trong khả năng khách hàng rời dịch vụ được giải thích bởi các biến x. Kiểm định Hosmer & Lemeshow test có p-value > 0.05 tức mô hình phù hợp trong việc dự báo khả năng khách hàng rời dịch vụ. Kết quả này khác với case study 1.

Mô hình hoạt động tốt trên dữ liệu test, tỷ lệ correct không quá chênh lệch so với mô hình training, tương tự như AUC cao đều trên 0.8 ở cả 2 tập dữ liệu.

Xét đến confusion matrix, thì Precision = 569/ (569 + 228) = 72 % tỷ lệ chính xác cao, Recall = 569 / (569 + 873) = 39.5% khá thấp như case study 1 tức bỏ nhiều khách hàng có nguy cơ rời dịch. Accuracty rate = 84.2% cao, nhìn chung mô hình có sự hiệu quả trong việc dự báo khả năng khách hàng rời dịch vụ.

Kết luận case study: qua phân tích có thể thấy yếu tố tác động cao nhất đến khả năng dự báo khách hàng rời dịch vụ có thể là độ tuổi, địa lý, và số lượng dịch vụ khách hàng đã tham gia. Phân loại nhóm khách hàng dựa trên các yếu tố đó kết hợp kết quả phân tích để tìm ra chiến lược bán hàng, marketing phù hợp để giữ chân họ là giải pháp ngân hàng cần triển khai. Ngoài ra cần thu thập thêm các thông tin về khách hàng để đánh giá thêm.

Ở bài viết cuối cùng về ứng dụng logistic regression trong ngân hàng, cũng là bài viết cuối cùng về chủ đề logistic regression, chúng ta sẽ sang ví dụ cuối cùng dự báo khả năng khách hàng nợ xấu hay còn gọi là credit default, và bàn luận một chút về ưu khuyết điểm của hồi quy logistic.

Về chúng tôi, công ty BigDataUni với chuyên môn và kinh nghiệm trong lĩnh vực khai thác dữ liệu sẵn sàng hỗ trợ các công ty đối tác trong việc xây dựng và quản lý hệ thống dữ liệu một cách hợp lý, tối ưu nhất để hỗ trợ cho việc phân tích, khai thác dữ liệu và đưa ra các giải pháp. Các dịch vụ của chúng tôi bao gồm “Tư vấn và xây dựng hệ thống dữ liệu”, “Khai thác dữ liệu dựa trên các mô hình thuật toán”, “Xây dựng các chiến lược phát triển thị trường, chiến lược cạnh tranh”.

error: Content is protected !!