Việc tận dụng được nguồn dữ liệu khổng lồ từ hành vi mua hàng và nhân khẩu học của khách hàng và ứng dụng các thuật toán, mô hình nhằm phân tích các dữ liệu ấy là điều hết sức quan trọng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO NHÓM NGUYÊN LÝ MÁY HỌC
Đề tài: PHÂN CỤM KHÁCH HÀNG TIỀM NĂNG
Giảng viên : Đinh Đồng Lưỡng
Thành viên nhóm : Nguyễn Vũ Duy Hưng
Hoàng Tuấn Kiệt
Hồ Đức Thắng
Nha Trang – 2023
Trang 2LỜI MỞ ĐẦU
Thấu hiểu khách hàng là mục tiêu hàng đầu của hầu hết các doanh nghiệp trong lĩnh vực kinh doanh sản phẩm, dịch vụ nói chung và lĩnh vực bán lẻ nói riêng Muốn đạt được điều đó, nhà quản trị phải có khả năng phân chia khách hàng của mình vào từng nhóm riêng biệt và đưa ra chính sách chăm sóc phù hợp với nhu cầu của từng nhóm, cụthể hơn là từng khách hàng, việc làm này được gọi là phân khúc khách hàng (Customer Segmentation)
Ngày nay, khoa học dữ liệu cũng như các công cụ, kỹ thuật phân tích dữ liệu đã và đang phát triển rất nhanh chóng Việc tận dụng được nguồn dữ liệu khổng lồ từ hành vi mua hàng và nhân khẩu học của khách hàng và ứng dụng các thuật toán, mô hình nhằm phân tích các dữ liệu ấy là điều hết sức quan trọng mà bất kỳ doanh nghiệp bán lẻ nào cũng phải nắm bắt nếu muốn đạt được thành công trong thời đại số Bài báo này đề xuất một mô hình kết hợp giữa phương pháp tính toán các giá trị RFM (Recency, Frequency, Monetary) và phân cụm bằng thuật toán học máy K-means (Machine Learning) để phân nhóm khách hàng trong lĩnh vực bán lẻ Ngoài ra, nghiên cứu đã chứng minh sự hữu ích của phương pháp này bằng cách tiến hành thực nghiệm trên tập dữ liệu (dataset) thực tế với giao dịch của một công ty, qua kiểm định chất lượng đã cho thấy tính hiệu quả và khả năng ứng dụng của nghiên cứu vào thực tiễn Không chỉ đóng góp về mặt lý thuyết, thông qua mô hình này còn giúp các doanh nghiệp, nhà quản trị có thể có những quyết định chính xác hơn dựa trên dữ liệu, từ đó đưa ra các chiến dịch tiếp thị phù hợp cho từng phân khúc khách hàng, mang lại hiệu quả kinh tế và giữ chân được khách hàng
Trang 3LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành nhất tới thầy về những giờ phút quý báu mà thầy đã dành cho chúng tôi trong suốt thời gian học môn "Học máy" Thầy đã truyền đạt cho chúng em những kiến thức bổ ích, từ những khái niệm cơ bản đến những ứng dụng thực tiễn, giúp chúng em hiểu sâu hơn về lý thuyết và áp dụng được vào thực tế
Ngoài ra, thầy Đinh Đồng Lưỡng còn là một người thầy rất tận tâm và chu đáo trong công tác giảng dạy, luôn sẵn sàng giải đáp thắc mắc của chúng em và hỗ trợ chúng em trong quá trình học tập Những bài giảng của thầy luôn truyền đạt một cách rõ ràng, dễ hiểu và thú vị, giúp chúng em có được những trải nghiệm học tập tuyệt vời
Cảm ơn thầy đã giúp chúng em tiếp cận với các kỹ thuật và công nghệ mới nhất trong lĩnh vực Học máy, giúp chúng em nắm được những phương pháp và công cụ cần thiết để phát triển các ứng dụng thực tế Thầy cũng đã giúp chúng em rèn luyện kỹ năng tư duy và giải quyết vấn đề, giúp chúng em trở nên tự tin hơn trong việc giải quyết các vấn đề thực tế
Một lần nữa, tôi xin chân thành cảm ơn thầy Đinh Đồng Lưỡng vì những đóng góp giá trị của thầy trong việc giúp chúng em có được những kiến thức và kỹ năng quan trọng trong lĩnh vực Học máy Tôi tin rằng những kiến thức mà thầy đã truyền đạt sẽ giúp chúng em phát triển tốt hơn trong sự nghiệp của mình và đóng góp tích cực đến xã hội
Trang 4Mục Lục
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 3
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 5
1.1 Phân cụm khách hàng tiềm năng là gì 5
1.2 Lý do chọn đề tài 6
1.3 Mục tiêu nghiêm cứu 6
CHƯƠNG 2: CÁC PHƯƠNG PHÁP ĐƯỢC SỬ DỤNG 8
2.1 Tổng quát 8
2.2 Khái niệm từng phương pháp 8
2.2.1 Tổng quan về RFM 8
2.2.2 Tổng quan về K-means 9
CHƯƠNG 3: GIỚI THIỆU SẢN PHẨM 10
3.1 Giới thiệu tổng quan 10
3.2 Code và giải thích 10
CHƯƠNG 4: ỨNG DỤNG THỰC TIỄN 17
4.1 Các ứng dụng và lợi ích của phân cụm khách hàng tiềm năng 17
CHƯƠNG 5: KẾT LUẬN 18
CHƯƠNG 6: TÀI LIỆU THAM KHẢO 19
Trang 5CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Phân cụm khách hàng tiềm năng là gì
Phân cụm khách hàng tiềm năng là một trong những ứng dụng quan trọng của Machine Learning trong lĩnh vực Marketing Đây là quá trình tìm kiếm những đặc trưng chung giữa các khách hàng và phân loại chúng thành những nhóm khách hàng tương đồng dựa trên hành vi mua hàng, thông tin cá nhân, sở thích và yêu cầu của khách hàng
Phân cụm khách hàng tiềm năng giúp cho các doanh nghiệp có thể hiểu rõ hơn về khách hàng của mình và cung cấp các sản phẩm, dịch vụ phù hợp với nhu cầu của từng nhóm khách hàng tương ứng Điều này giúp cho doanh nghiệp tối ưu hóa chiến lược kinh doanh và tăng cường lợi nhuận
Trong phương pháp phân cụm khách hàng tiềm năng, các thuật toán Machine Learning được sử dụng để phân tích và xử lý dữ liệu khách hàng Các thuật toán này bao gồm K-means, Hierarchical Clustering, DBSCAN, Gaussian Mixture Models, và t-SNE Trong bài báo cáo này nhóm chúng em sẽ tìm hiểu kĩ
về thuật toán K-means
Một số ứng dụng của phân cụm khách hàng tiềm năng bao gồm:
Định hướng chiến lược phát triển sản phẩm và dịch vụ phù hợp với từng nhóm khách hàng
Tối ưu hóa chiến lược tiếp thị, quảng cáo và bán hàng dựa trên đặc trưng của từng nhóm khách hàng
Tối ưu hóa chi phí marketing bằng cách tập trung vào nhóm khách hàng tiềm năng có khả năng mua hàng cao
Phát hiện các xu hướng và thay đổi trong hành vi mua hàng của khách hàng Với sự phát triển của công nghệ Machine Learning, phân cụm khách hàng tiềm năng đang trở thành một công cụ quan trọng trong lĩnh vực Marketing Qua
đó giúp các doanh nghiệp có thể tối ưu hóa chiến lược kinh doanh và đạt được hiệu quả kinh doanh cao hơn
Trang 61.2 Lý do chọn đề tài
Phương pháp phân khúc khách hàng không còn là một phương pháp mới lạ trong kinh doanh, hầu hết các doanh nghiệp hiện nay đều sử dụng phương pháp này để tiếp cận khách hàng một cách hiệu quả RFM là một trong những mô hình được các công ty sử dụng rộng rãi, mô hình này giúp các công ty biết khách hàng trung thành của họ, những khách hàng không hài lòng với dịch vụ và sản phẩm của
họ và những khách hàng cũ đã rời bỏ họ Tuy nhiên việc áp dụng mô hình RFM vào lĩnh vực bán lẻ sẽ tồn tại nhiều đặc điểm riêng biệt cần được nghiên cứu, Tuy nhiên, việc áp dụng mô hình này cho lĩnh vực bán lẻ xe đạp chưa được phát triển rộng rãi, trong khi đó mô hình RFM có thể giúp nhà bán lẻ tối đa hóa lợi tức đầu tư
và hoạch định nguồn lực họ đãbỏ vào chiến dịch marketing một cách hiệu quả hơn Ngoài ra, việc kết hợp mô hình RFM với thuật toán học máy K-means được mong đợi mang lại hiệu quả lớn cho các doanh nghiệp trong việc phân khúc khách hàng Vấn đề lớn nhất của ngành bán lẻ xe đạp là các nhà bán lẻvẫn còn sử dụng mô hình phân khúc khách hàng truyền thống, vì vậy họ gặp khó khăn trong việc đáp ứng nhu cầu khách hàng và tìm ra nguồn khách hàng tiềm năng Đối với ngành bán lẻ, việc sử dụng mô hình RFM cùng thuật toán K-means được kỳ vọng sẽ cung cấp sự hiểu biết khách hàng tốt hơn nhằm đưa ra quyết định hiệu quả hơn Đó là lýdo mà bài nghiên cứu này được thực hiện Bài nghiên cứu này sẽ hướngđến việc tạo lập
mô hình phân khúc khách hàng hiệu quả kết hợp phương pháp học máy cho lĩnh vực bán lẻ xe đạp của Công ty AdventureWorks đồng thời so sánh mô hình RFM truyền thống với mô hình RFM khi kết hợp với thuật toán phân cụm K-Means
1.3 Mục tiêu nghiêm cứu
Mục tiêu tổng quát: Nghiên cứu này đề xuất phương pháp và xây dựng mô hình phân khúc khách hàng dựa trên phương pháp RFM kết hợp với thuật toán học máy phân cụm K-means để phân tích phân khúckhách hàng trong lĩnh vực bán lẻ
Từ đó hoàn thiện mô hình phân khúc khách hàng hiệu quả, đồng thời đánh giá hiệu quả phương pháp RFM truyền thống so với RFM kết hợp thuật toán học máy Điều này giúp cácnhà quản lý doanh nghiệp đưa ra các chiến dịch marketing phù hợp vớitừng phân khúc khách hàng
Trang 7Mục tiêu cụ thể:
-Nghiên cứu này sẽ làm rõ các cơ sở lý thuyết liên quan như hành vi khách hàng, phân khúc khách hàng, mô hình RFM, và cácnghiên cứu liên quan có sử dụng phương pháp K-means trong phân khúc khách hàng
-Trình bày về việc thu thập, xử lý dữ liệu để đưa ra phân khúc khách hàng dựa trên
mô hình RFM, phương pháp K-means
-Đưa ra những phân tích định tính và định lượng tương ứng với từng phân khúc khách hàng Từ đó hoàn thiện mô hình phân khúc khách hàng hiệu quả sử dụng RFM kết hợp phương pháp họcmáy
-Đề xuất/khuyến nghị chiến lược marketing hiệu quả cho từng phân khúc khách hàng
Trang 8CHƯƠNG 2: CÁC PHƯƠNG PHÁP ĐƯỢC SỬ DỤNG
2.1 Tổng quát
K-means
RFM (Recency, frequency, monetary)
2.2 Khái niệm từng phương pháp
2.2.1 Tổng quan về RFM
RFM là 3 ký tự đầu tiên của Recency, frequency, monetary Nó là công cụ phân tích được marketing sử dụng để định danh khách hàng của công ty dựa trên thói quen mua sắm tự nhiên của họ
RFM phân tích và đánh giá khách hàng bằng cách tính điểm hành vi mua sắm của
họ dựa trên ba tiêu chí:
Recency: Khoảng thời gian mua hàng gần nhất là bao lâu Nếu họ đã mua
hàng gần đây, xác suất họ sẽ mua thêm một lần nữa rất cao Tuy nhiên, nếu khách hàng không thực hiện bất kỳ một giao dịch nào trong một khoảng thời gian dài, chúng ta có thể lôi kéo họ bằng một offer đặc biệt, hoặc giới thiệu lại thương hiệu của mình cho họ
Frequency: Tần suất mua hàng của khách hàng Nếu khách hàng có tầng
suất mua dày đặc, chúng ta sẽ biết thói quen và sở thích của họ Nếu họ chỉ mua một lần và chưa bao giờ trở lại, họ có thể là một ứng viên tốt để thực hiện bài khảo sát sự hài lòng của khách hàng
Monetary Value: Số tiền trung bình khách hàng sử dụng trên mỗi giao dịch.
Tuy nhiên, đừng quá chú trọng vào con số này Tất cả các giao dịch mua hàng đều có giá trị Monetary tác động trực tiếp đến doanh thu của công ty, tác động gián tiếp với 2 chỉ số ở trên kia Nếu chúng ta gặp một khách hàng thực hiện nhiều lần mua hàng gần đây với mức giá cao, những người đó có thể là khách hàng trung thành của chúng ta
RMF có thang điểm từ 1-5 ( 1 là tệ, 5 là tốt) của mỗi khách hàng cho mỗi tiêu chí
RFM giúp công ty có khả năng dự đoán những khách hàng nào có khả năng cao sẽ mua lại sản phẩm của họ, doanh thu đến từ khách hàng mới là bao nhiêu, cách biến cơ hội mua hàng thành thói quen
Trang 92.2.2 Tổng quan về K-means
K-means là một thuật toán phân cụm không giám sát được sử dụng rộng rãi trong Machine Learning để phân chia các điểm dữ liệu thành các nhóm dựa trên đặc trưng của chúng Thuật toán K-means được sử dụng để giải quyết các bài toán phân cụm dữ liệu, trong đó mục tiêu là phân chia các điểm dữ liệu thành các nhóm sao cho các điểm trong cùng một nhóm tương đồng với nhau và khác biệt so với các điểm ở nhóm khác
Thuật toán K-means hoạt động bằng cách chọn ngẫu nhiên một số lượng K điểm
dữ liệu làm điểm trung tâm ban đầu của K nhóm Sau đó, thuật toán tính toán khoảng cách Euclidean giữa các điểm dữ liệu và các điểm trung tâm này Các điểm
dữ liệu sẽ được phân vào nhóm có điểm trung tâm gần nhất Tiếp theo, thuật toán
sẽ tính toán lại các điểm trung tâm mới của các nhóm dựa trên dữ liệu đã được phân vào các nhóm ở bước trước Quá trình này được lặp lại cho đến khi các điểm trung tâm không thay đổi nữa hoặc đạt được một điều kiện dừng khác
Khi sử dụng thuật toán K-means, có một số tham số cần được đặt cụ thể, bao gồm
số lượng nhóm K, phương pháp khởi tạo điểm trung tâm ban đầu, phương pháp tính khoảng cách và điều kiện dừng Việc đặt các tham số này ảnh hưởng đến kết quả của thuật toán, do đó cần được chọn và điều chỉnh kỹ lưỡng để đạt được kết quả tốt nhất
Thuật toán K-means được sử dụng rộng rãi trong các bài toán phân cụm dữ liệu, bao gồm phân cụm khách hàng, phân cụm ảnh, phân cụm văn bản và nhiều lĩnh vực khác Ngoài ra, K-means cũng được sử dụng làm bước tiền xử lý dữ liệu trước khi áp dụng các thuật toán khác trong Machine Learning Tuy nhiên, thuật toán K-means cũng có những hạn chế và điểm yếu, bao gồm khó xác định số lượng nhóm
K tối ưu và không phù hợp với dữ liệu không phân cách rõ ràng
Trang 10CHƯƠNG 3: GIỚI THIỆU SẢN PHẨM
3.1 Giới thiệu tổng quan
- Với các mục tiêu đã đề ra ở trên thì sản phẩm của nhóm chúng em sẽ hướng tới
các làm cho mô hình có thể phân ra được các cụm khách hàng như sau:
Nhóm khách hàng có giá trị thấp (Low value): bao gồm các khách hàng đã lâu rồi chưa quay lại mua, số lượng đơn hàng ít và tổng giá trị đơn hàng thấp Ở trong bài này chúng em sẽ biểu diễn nhóm khách hàng bằng số 2
Nhóm khách hàng có giá trị trung bình (Mid Value): là nhóm khách hàng có
3 chỉ số RFM trung bình, không cao cũng không thấp Ở trong bài này chúng em sẽ biểu diễn nhóm khách hàng bằng số 1
Nhóm khách hàng có giá trị cao (High Value): là nhóm khách hàng có mua hàng gần đây, số lượng đơn hàng nhiều và có tộng giá trị cao Ở trong bài này chúng em sẽ biểu diễn nhóm khách hàng bằng số 0
3.2 Code và giải thích
Đầu tiên chúng em sẽ lấy một dataset ở trên internet và tải nó xuống, sau đó
sử dụng ngôn ngữ python để xử lý bài toán này Hàm ‘pandas’ giúp ta có thể đọc
dữ liệu từ các file Ở trong bài làm lần này chúng em sử dụng một file dữ liệu ‘csv’
để lấy thông tin các khách hàng Biến ‘orders’ ở đây được dùng để lưu dữ liệu đọc
từ file ‘sample-orders.csv’ tiếp đó là in ra các dòng đầu của file
import pandas as pd
orders = pd.read_csv( 'sample-orders.csv' , encoding ='ISO-8859-1' , sep =',' ) #Đọc data từ file
print (orders.head()) #In các dòng đầu của data
pd.set_option( 'display.max_rows', None )
pd.set_option( 'display.max_columns', None )
Đây là kết quả sau khi chạy đoạn code trên
Trang 11Tiếp theo chúng ta chuyển dữ liệu ở hàng ‘order_date’ về loại dữ liệu ‘date-time’ Sau đó tách dữ liệu ra theo R-F-M (Recency – Frequency – Monetary Value) và lưu vào biến ‘rfmTable’ và sau đó lần lượt đổi tên các thuộc tính về cho đúng Và sau đó ta sẽ in
ra để xem đoạn code này chạy như thế nào
Đây là kết quả sau khi chạy đoạn code trên
Hình 2 - Thông tin KH đã được in theo RFM
Tiếp theo chúng ta lần lượt in ra các biểu đồ để xem sự phân bố của dữ liệu
Sau khi chạy đoạn code này, dữ liệu sẽ biến đổi thành các ‘histogram’ như hình sau:
Trang 12Hình 3 - Biểu đồ phân bố dữ liệu ban đầu
Ở trên chúng ta đã được thấy sự phân bố của dữ liệu, nhưng nếu áp dụng dữ liệu như thế này để phân cụm thì kết quả đầu ra sẽ không tốt lắm Nên buộc chúng
ta phải chuyển đổi dữ liệu sao cho biểu đồ ‘histogram’ của nó thành hình chuông khi đó kết quả mới được tối ưu nhất
Ở đoạn code trên chúng ta sẽ biết được nên chuyển đổi dữ liệu về cách theo biểu đồ phân phối của nó cũng như các giá trị nó đưa ra Giá trị nào gần bằng ‘0’ nhất chúng ta sẽ áp dụng nó
Trang 13Hình 4 - Dữ liệu biến đổi
Ở đây chúng ta sẽ lấy cột ‘monetary_value’ làm ví dụ Thông qua biểu đồ chúng ta có thể thấy khi sử dụng ‘boxcox’ đồ thị dữ liệu gần như là đã được đưa về
đồ thị hình chuông Ta hãy cùng xem các giá trị để có thể quyết định chính xác nhất
Chúng ta có thể thấy được giá trị ở đây ‘boxcox’ là gần bằng ‘0’ nhất Vậy là quyết định trên đã chính xác Tiếp theo chúng ta sẽ dùng ‘boxcox’ để biến đổi giá trị của dữ liệu
Trang 14Đây chính là đoạn code chúng ta sẽ tiến hành biến đổi dữ liệu, và sau khi biến đổi sau ta sẽ trả về mười giá trị của nó để xem như thế nào
Hình 5 - Dữ liệu sau khi biến đổi
Sau khi biến đổi xong chúng ta sẽ tiến hành scaler các dữ liệu đã được biến đổi ở trên
Hình 6 - Scale dữ liệu sau khi biến đổi