Chào các bạn, mình là Văn Khôi Ngô - đây là series Data Analytics mang tính ứng dụng cao trong các lĩnh vực Marketing, Sales, Finance, ... Vì lý thuyết đã có quá nhiều trên Google chỉ việc search là ra, nên mình sẽ tập trung vào thực hành, với các bộ dữ liệu được upvote nhiều nhất trên Kaggle, hoặc lấy từ các đầu sách hay. Các bài viết khác trong series nằm ở đây
Bài viết thứ 2 trong Series là về Gain Chart và Lift Chart - một ứng dụng quan trọng của Data Analytics được sử dụng để đánh giá hiệu quả của mô hình phân loại trong các chiến dịch Marketing. Bộ dữ liệu được sử dụng là bank.csv được lấy từ cuốn sách "Marketing Data Science - Modeling Techniques in Predictive Analytics with R and Python" của Thomas W. Miller. Nếu bạn muốn download sách thì link ở đây.

I. Một số đường link về Gain Chart và Lift Chart:

Các bạn có thể tìm kiếm thêm trên Google và YouTube (hoặc Medium và Towardsdatascience nếu máy bạn có thể truy cập, 2 trang này bị một số nhà mạng VN chặn). Và để hiểu bài viết này thì các bạn cần hiểu rõ cách xây dựng và đánh giá một mô hình phân loại.

II. Hiểu về dữ liệu

Bộ dữ liệu bank.csv gồm 4500 khách hàng trong ngân hàng với các thông tin cơ bản, từ đó chúng ta xây dựng nên một mô hình phân loại để dự đoán khách hàng nào sẽ gửi tiền cho ngân hàng thông qua chiến dịch Marketing. Và thay vì Marketing cho tất cả khách hàng trong kho dữ liệu, chúng ta chỉ Marketing cho những khách hàng được mô hình dự đoán là sẽ gửi tiền. Câu hỏi được đặt ra là mô hình có hiệu quả không so với việc không sử dụng mô hình? Và mức độ hiệu quả như thế nào?
5 khách hàng đầu
5 khách hàng đầu
Mô hình sử dụng các thông tin cơ bản của khách hàng như là tuổi, loại hình nghề nghiệp, trình độ học vấn, tình trạng hôn nhân, thu nhập được sử dụng để dự đoán liệu khách hàng sẽ gửi tiền vào ngân hàng hay không thể hiện ở feature "response" (phản hồi).

III. Gain Chart và Lift Chart

Một số đặc điểm của Gain và Lift Chart:
_ Gain và Lift chart là các công cụ trực quan hóa để đánh giá tính hiệu quả của mô hình bằng việc cho thấy tỉ lệ phản hồi của một nhóm nhất định (sử dụng mô hình) khác thế nào với một nhóm được chọn ngẫu nhiên (không sử dụng mô hình).
_ Diện tích giữa đường Gain/Lift và đường Baseline (không sử dụng mô hình) càng lớn thì mô hình càng tốt
Sau khi xây dựng xong mô hình, chúng ta sẽ thu được xác suất phản hồi của khách hàng (trong TH này thì phản hồi có nghĩa là khách hàng sẽ gửi tiền vào ngân hàng sau khi được Marketing). Và dưới đây là các bước để xây dựng nên Gain Chart và Lift Chart:
Bước 1: Tính xác suất phản hồi campaign cho từng khách hàng
Bước 2: Xếp theo thứ tự xác suất cao tới thấp
Bước 3: Chia thành 10 nhóm mỗi nhóm gồm 10% tổng số khách hàng
Lưu ý: nếu không sử dụng mô hình thì các nhóm có tỉ lệ phản hồi bằng nhau, vì là dự đoán một cách ngẫu nhiên
Bước 4: Tính số khách hàng phản hồi và tổng của từng nhóm
Bảng tính toán Gain
Bảng tính toán Gain
VD ở nhóm đầu tiên, có tổng số 113 khách hàng, thì nếu sử dụng mô hình, chúng ta sẽ thu được 27 trong tổng số 135 khách hàng có phản hồi, tỉ lệ Gain là 27/135 = 20%, trong khi nếu không sử dụng mô hình thì tỉ lệ Gain chỉ là 10%. Tương tự, ở nhóm thứ 2, nếu sử dụng mô hình thì chúng ta sẽ thu được 24 khách hàng có phản hồi, tỉ lệ Gain là 24/135 + 20% = 38%, trong khi nếu không sử dụng mô hình thì tỉ lệ Gain là 20%.
Gain Chart
Gain Chart
Lift chart thì về bản chất là giống Gain Chart, chỉ khác về cách trực quan hóa.
Bảng tính toán Lift
Bảng tính toán Lift
VD ở nhóm đầu tiên, nếu sử dụng mô hình, chúng ta sẽ thu được 27 trong tổng số 135 khách hàng có phản hồi, trong khi nếu không sử dụng mô hình thì sẽ thu được 13.5 khách hàng (10% của 135) cho nên Lift = 27/13.5 = 2
Lift Chart
Lift Chart
Giải thích Lift Chart: Nếu sử dụng mô hình thì với 10% đầu tiên, tỉ lệ số khách hàng phản hồi so với việc không sử dụng mô hình là gấp 2 lần, còn với 20% thì tỉ lệ là gấp 1.89 lần

IV. Chọn điểm ngưỡng (threshold or cut-off) tối ưu

Mô hình đã được xây dựng và đánh giá. Vấn đề bây giờ là nên chọn điểm ngưỡng bằng bao nhiêu (khi xác suất phản hồi lớn hơn điểm ngưỡng, thì ta coi khách hàng đó có phản hồi), hay nói cách khác là nên chọn top bao nhiêu % khách hàng có xác suất phản hồi cao nhất để tiến hành Marketing, nhằm đạt được sự tối ưu về mặt tài chính. Điều này đòi hỏi thêm nhiều dữ liệu khác để có thể đưa ra được quyết định đúng đắn nhất.
Giả sử với mỗi khách hàng phản hồi, chi phí để Marketing là 5 đô, nếu khách hàng phản hồi thì lượng doanh thu trung bình thu về là 100 đô, và chi phí để hỗ trợ khách hàng là 25 đô, viết một thuật toán đơn giản để tính toán lợi nhuận thu về và ta có biểu đồ sau:
Lượng doanh thu tương ứng với từng điểm ngưỡng
Lượng doanh thu tương ứng với từng điểm ngưỡng
Nếu tiến hành Marketing cho toàn bộ khách hàng, lợi nhuận thu về là 4470 đô, còn nếu sử dụng mô hình với điểm ngưỡng ở 0.07 thì lợi nhuận đạt lớn nhất với 4755 đô (nhiều hơn 285 đô). Nghĩa là sẽ tối ưu nhất nếu chỉ thực hiện Marketing với top 87% số khách hàng có xác suất phản hồi cao nhất. Trong thực tế tỉ lệ này sẽ thấp hơn rất nhiều. Đây là một cách khá đơn giản để có thể tính toán số tiền mình cần bỏ ra và định vị được tập khách hàng quan trọng nhằm thu được kết quả tốt nhất từ chiến dịch Marketing.

V. Kết bài

Đây là bài viết của mình trong series "Data Analytics for Business" về chủ đề Gain và Lift Chart. Hi vọng các bạn sẽ hiểu hơn về các ứng dụng thực tế của Data Analytics trong Business. Với những bạn muốn tham khảo cách mình xử lí data thì mình có để link Github ở phía dưới.
Link Github

Sắp tới mình sẽ viết thêm nhiều bài viết về khoa học dữ liệu, phân tích insight từ các bộ dữ liệu hay, và cả những chủ đề thú vị khác nữa. Nếu không muốn bỏ lỡ thì hãy follow mình nhé :))