K-means Clustering và mô hình RFM (P.1)

Bigdatauni.com Follow Fanpage Contact

Quay trở lại với chủ đề Clustering, thuật toán phân cụm thì ở bài viết phần 1 và phần 2 chúng ta đã tìm hiểu sơ lược thuật toán phân cụm là gì, lợi ích, mục đích chính đặc biệt là ứng dụng trong phân khúc khách hàng hỗ trợ các hoạt động marketing, sales hiệu quả. Chúng ta cũng đã tìm hiểu về cách triển khai thuật toán clustering cơ bản và đơn giản nhất với Hierarchical clustering  dạng Single – linkage với ví dụ cụ thể. Tiếp tục chủ đề clustering, BigDataUni sẽ cùng các bạn thực hiện triển khai thuật toán K-means clustering đã được giới thiệu ở bài viết đầu tiên, đặc biệt giới thiệu mô hình RFM – Công cụ hỗ trợ phân tích các chiến lược marketing để tìm ra những khách hàng giá trị nhất với một công ty.

K-means clustering là phương pháp phân cụm nếu xét về độ nổi tiếng trong số các “anh em” của mình thì đứng số một. Một số người còn nhầm lẫn K-means clustering tách riêng là một thuật toán riêng biệt không nằm trong phương pháp clustering. Khi các bạn search Google về từ khóa “K-means clustering” các bạn sẽ nhìn thấy nhiều trang web với tiêu đề không chỉ có mỗi K-means clustering mà thường còn có RFM. Nguyên nhân chính là việc ứng dụng K-means clustering với RFM được chứng minh đã và đang mang lại lợi ích đến đa số nhiều công ty định hướng dữ liệu, thuộc hầu hết các ngành kinh tế khác nhau

Trong bài viết, BigDataUni sẽ trình bày, các bước xây dựng thuật toán K-means clustering, giới thiệu về mô hình RFM là gì, ưu điểm.

Dành cho các bạn chưa xem các phần trước:

Tìm hiểu về phương pháp Clustering (phân cụm) (P.1)

Tìm hiểu về phương pháp Clustering (P.2): Hierarchical clustering đơn giản

Nói một chút về thuật toán Hierarchical clustering ở bài viết trước. Mặc dù dễ triển khai, dễ thực hiện, kết quả trực quan dễ hiểu, và đặc biệt không cần đau đầu trong việc ấn định trước bao nhiêu cụm cần được phân như trong Partitioning clustering nhưng phân cụm có cấu trúc vẫn còn nhiều khuyết điểm trong đó chính là khả năng xử lý khi tập dữ liệu lớn. Cụ thể khi kết thúc thuật toán, chúng ta khó xác định số lượng các cluster tìm được, mỗi cluster có bao nhiêu đối tượng nếu sử dụng Dendrogram, tính trực quan sẽ giảm dần khi mẫu dữ liệu lớn. Ví dụ các bạn nhìn lại Dendrogram cho bài toán phân khúc khách hàng của một công ty tài chính ở bài viết phần 2, chỉ có 20 khách hàng thôi mà đồ thi Dendrogram nhìn đã hơi phức tạp, giả sử có hơn 100 khách hàng thì sẽ thế nào? Nhiều bạn sẽ bỏ cuộc, không biết được có bao nhiêu cụm cần phân và tiến hành ngắt nhánh của Dendrogram.

Ngoài ra, nếu tập dữ liệu không chỉ dừng lại ở việc có nhiều quan sát, nhiều đối tượng mà nó còn có nhiều thuộc tính, nhiều biến thì quá trình tính toán khoảng cách giữa các đối tượng với nhau, giữa các cluster với nhau sẽ tốn nhiều thời gian đặc biệt phương pháp phân cụm cấp bậc lại hướng đến gom cụm thực hiện theo từng bước, và kết thúc mỗi bước các giá trị khoảng cách được tính lại giữa các cluster mới và cũ.

Để ý thêm các bạn sẽ thấy, hierarchical clustering thực hiện từng bước một và không thể quay lại bước trước đó, cứ thế mà tiếp tục ví dụ khi bạn mới gom được 2 cụm A và B dựa trên các giá trị khoảng cách nhưng sau đó nhận thấy cụm A không nên liên kết hay kết hợp với cụm B thì chúng ta không thể “undo” những gì đã làm trước đó, nó sẽ làm cả hệ thống sụp đổ hay nói đơn giản là phải vẽ lại từ đầu Dendrogram. Khuyết điểm khác như dễ nhạy cảm với dữ liệu nhiễu và dữ liệu ngoại lệ outliers, và được xem là phương pháp clustering không bền vững nguyên nhân khi chúng ta sắp xếp lại dữ liệu, hay thêm hoặc loại bỏ một vài dữ liệu cũng có thể thay đổi kết quả phân cụm. Lý do khác, Hierarchical clustering sử dụng nhiều cách để gom các cụm, các đối tượng quan sát giống nhau lại như Single-linkage, Complete – linkage, Average-linkage,… và mỗi cách này đều có ưu, khuyết điểm riêng phụ thuộc vào đặc tính của tập dữ liệu. Do đó Hierarchical chưa chắc mang lại hiệu quả phân tích nếu quá trình explore data lúc đầu bị bỏ qua dẫn đến chọn linkage function không phù hợp.

Để khắc phục phần nào những hạn chế mà phương pháp Hierarchical clustering mang lại, đặc biệt là việc phân cụm áp dụng cho dữ liệu lớn không trở nên cồng kềnh, tốn chi phí, thời gian, thì K-means clustering lúc này sẽ đóng vai là “vị cứu tính” tạm thời. Nói tạm thời, vì bản thân của k-means clustering cũng có những vấn đề của riêng nó bên cạnh các ưu điểm mà nó mang lại.  Tuy nhiên trong phạm vi chủ đề lần này, chúng tôi sẽ chưa đề cập đến mà để dành ở bài viết khác khi nói đến các thuật toán clustering tinh vi hơn.

K-means clustering  

Nhắc lại một chút, k-means clustering là thuật toán phân cụm thuộc Partitioning clustering, bắt đầu với việc xác định ra số k các cluster sẽ phải phân cho tập dữ liệu, với n số quan sát/ số object thì k ≤ n, tức mỗi cluster phải chứa ít nhất 1 quan sát hay 1 object. Partitioning clustering là phương pháp phân cụm “one-level” tức một cấp, các cluster không được thể hiện dưới dạng cấp bậc.

Hướng tiếp cận cơ bản nhất trong Partitioning clustering chính là tách cụm độc quyền, giống như Hard clustering, mỗi object, mỗi quan sát chỉ thuộc một cluster duy nhất. K-means clustering cũng sử dụng công thức tính khoảng Euclidean để làm cơ sở phân cụm.

  1. Chọn số k các cluster cần phân, xác định tập dữ liệu cần phân ra bao nhiêu cụm là hợp lý.

Về cách chọn k, do nó liên quan đến việc cải thiện, tối ưu kết quả phân cụm nên chúng tôi sẽ trình bày ở bài viết về phương pháp đánh giá kết quả phân tích clustering

  • Tiếp theo xác định số k điểm dữ liệu (còn gọi là các quan sát – record hay object) là các điểm ở vị trí “trung tâm”, đại diện cho mỗi cluster. Các điểm trung tâm của mỗi cluster sẽ thay đổi ở các bước sau.
  • Với mỗi record, mỗi đối tượng trong tập dữ liệu lúc này chúng ta sẽ tìm những điểm trung tâm gần nhất, sử dụng công thức Euclidean distance. Quan sát nào gần điểm trung tâm của cluster nào nhất sẽ thuộc cluster đó.
  • Tính toán lại các điểm trung tâm, hay gọi là xác định giá trị đại điện của các điểm trung tâm dựa trên những điểm dữ liệu, những quan sát nằm trong mỗi cluster. Với K-means clustering giá trị của điểm trung tâm sẽ bằng giá trị trung bình của tất cả các quan sát.
  • Quay lại làm giống bước 3, xác định các quan sát nào gần điểm trung tâm mới của cluster nào nhất sẽ thuộc cluster đó. Những cluster lúc này sẽ thay đổi, các quan sát thuộc cluster trước đó có thể dịch chuyển sang cluster khác. Tiếp tục chúng ta làm tương tự như bước 4, lại tính toán các điểm trung tâm mới cho các cluster mới thay đổi, rồi lặp lại bước 3 nếu những các điểm trung tâm mới của các cluster có sự thay đổi, dịch chuyển trên đồ thị.
  • Lập lại các bước 3, 4, 5 cho đến khi giá trị đại diện trong các cluster không còn thay đổi, tức các điểm đại diện đã không còn dịch chuyển khi các quan sát trong cluster thay đổi hoặc khi thấy sự phân tán các cụm tăng lên trong lúc dịch chuyển các quan sát hoặc khi không thể dịch chuyển các quan sát từ cluster này sang cluster khác

Flow chart đơn giản trình bày các bước của K-means clustering:

Để minh họa rõ hơn về cách vận hành của K-means clustering chúng ta cùng đi qua ví dụ ngắn sau đây:

Chúng ta có 16 điểm dữ liệu như sau, ví dụ tham khảo từ tài liệu Principles of Data mining của giáo sư Max Bramer, xuất bản bởi Springer.

Bên trên là đồ thị minh họa.

Chúng ta sẽ làm từng bước như đã nói ở trên:

Đầu tiên chọn ra số k các cluster cần phân cụm, ở ví dụ này chúng ta sẽ chọn k = 3.

Tiếp theo chọn ngẫu nhiên 3 điểm trung tâm ví dụ 3 điểm trung tâm của 3 cluster sẽ là m1 = K(7.8, 12.2), m2 = E(3.8, 9.9), và m3 = I (6.2, 18.5).

Nhắc lại công thức tính khoảng cách

Ví dụ tính khoảng cách từ A đến m1:

DA, m1 = SQRT [(6.8 – 7.8)2 + (12.6 – 12.2)2 = 1.077 làm tròn đến số thập phân thứ 1 là 1.1

Tính toán khoảng cách từ các điểm còn lại đến lần lượt 3 điểm trung tâm trên. Chúng ta sẽ được kết quả như sau:

Dựa trên khoảng cách chúng ta sẽ xác định điểm nào có khoảng cách ngắn nhất với điểm trung tâm nào sẽ thuộc cluster của trung tâm đó, chúng ta có bảng tiếp theo:

Như vậy, chúng ta có A, K, N, P ban đầu thuộc cluster 1; B, C, D, E, F, G, H, L, M, O thuộc cluster 2, H, I, J thuộc cluster 3. Hình minh họa dưới đây

Tính toán lại các điểm trung tâm sau khi các cluster ban đầu đã được hình thành, dựa trên công thức tính giá trị trung bình của tất cả các quan sát trong cluster đó, ví dụ m1 = (trung bình x các điểm trong cluster 1,  trung bình y các điểm trong cluster 1)

Các điểm trung tâm mới là các điểm màu xanh lá cây, các điểm màu đỏ không còn là điểm trung tâm nữa:

Chúng ta sẽ tính tiếp tục khoảng cách giữa các điểm đến lần lượt những điểm trung tâm mới

Như vậy xét tiếp thì thấy, điểm N sẽ chuyển từ cluster 1 sang cluster 2 (lưu ý số đã làm tròn, số chính xác 3.78 < 3.8)

Điểm màu vàng chính là N từ cluster 1 sang cluster 2

Tiếp tục chúng ta tính toán tiếp các điểm trung tâm lại lần thứ 3, bằng công thức tính giá trị trung bình:

Đến đây các bạn tính tiếp khoảng các giữa các điểm đến các điểm trung tâm m lần 3, nhận thấy các điểm trung tâm dịch chuyển rất ít, hoặc không dịch chuyển như điểm trung tâm ở cluster 3. Như vậy có thể dừng lại ở đây, không cần lập lại bước. Chắc ăn hơn các bạn có thể tự tính lại khoảng cách giữa các điểm đến điểm m1, m2, m3 như ở trên xem có các điểm nào dịch chuyển đi hay không? Nếu không, thì dừng tại đây. Hình bên trên sẽ là kết quả cuối cùng.

Mô hình RFM là gì?

Nếu ai làm việc trong lĩnh vực Marketing thì có lẽ cũng biết đến mô hình RFM (Recency, Frequency, Monetary), là công cụ giúp phân khúc khách hàng tối ưu, vừa giúp cải thiện các hoạt động marketing vừa gia tăng lợi nhuận kinh doanh.

Phân khúc khách hàng dựa trên mô hình RFM cho phép người làm marketing đưa ra các chiến lược nhắm mục tiêu khách hàng với những nội dung tiếp thị nắm bắt hành vi mua sắm của khách hàng, từ đó tăng khả năng chuyển đổi, tăng tỷ lệ phản hồi từ khách hàng, tăng lòng trung thành của họ và sau cùng là tăng giá trị kinh doanh lâu dài theo vòng đời khách hàng (Customer lifetime value – CLV)

Cơ hội để những nhà tiếp thị có thể khai thác mô hình RFM ngày nay là rất lớn khi khả năng tiếp cận nguồn dữ liệu khách hàng đa dạng và phong phú từ dữ liệu cá nhân, dữ liệu giao dịch lịch sử, dữ liệu tương tác,… của khách hàng nhờ vào sự phát triển của khoa học công nghệ, đặc biệt là sự thay đổi trong xu hướng mua sắm của khách hàng từ mua hàng ở các cửa hàng truyền thống.

Nguồn hình: medium.com

Mô hình RFM được ưa chuộng không chỉ bởi những giá trị kinh doanh mà nó mang lại mà còn có những ưu điểm đặc biệt khác như nó định lượng cụ thể các đặc điểm mua hàng của một khách hàng, sử dụng các thang đo khác nhau để đánh giá một khách hàng không chỉ dựa vào tiêu chí duy nhất là lợi nhuận, hơn nữa là công cụ phân tích dữ liệu khách hàng đơn giản, không quá phức tạp dành cho các chuyên viên marketing mà không cần quá am hiểu về Data analytics, không cần sự trợ giúp từ các Data analyst. Sau cùng, mô hình RFM cung cấp các kết quả trực quan dễ hiểu và dễ giải thích ý nghĩa.

Mô hình RFM là viết tắt của 3 yếu tố định lượng Recency, Frequency, Monetary, mỗi cái miêu tả đặc điểm chính trong hành vi mua hàng của khách hàng.

  • Recency: lần tương tác gần nhất, lần giao dịch gần nhất, lần mua hàng gần nhất. Thời gian đã trôi qua bao lâu kể từ lần tương tác hoặc giao dịch cuối cùng của khách hàng với công ty? Các tương tác không chỉ ngoài việc mua hàng, lượt truy cập cuối cùng vào trang web hoặc sử dụng ứng dụng dành cho thiết bị di động. Trong hầu hết các trường hợp, khách hàng tương tác hoặc giao dịch với công ty càng gần đây nhất thì khả năng khách hàng đó sẽ phản hồi với các thông tin từ công ty trong tương lai càng cao. Công thức tính: thời gian (ngày, tuần, tháng) kể từ lúc khách hàng tương tác cuối cùng với công ty.
  • Frequency: tần suất khách hàng giao dịch hay tương tác với công ty. Tần suất một khách hàng đã giao dịch hoặc tương tác với công ty trong một khoảng thời gian cụ thể? Những khách hàng có sự tương tác thường xuyên thông thường sẽ gắn bó hơn và trung thành hơn những khách hàng có tần suất thấp hơn. Công thức tính: tổng số lần giao dịch, tương tác hay khoảng thời gian trung bình giữa các lần tương tác, giao dịch.
  • Monetary: tiền tệ, giá trị tiền, là số tiền mà khách hàng đã chi tiêu cho các giao dịch với công ty trong một khoảng thời gian cụ thể. Những khách hàng chi tiêu nhiều thường mang lại nhiều giá trị kinh doanh cho công ty hơn những khách hàng chi tiêu ít. Công thức tính: tổng số tiền khách hàng đã chi tiêu hay trung bình số tiền khách hàng đã chi tiêu cho mỗi lần giao dịch (monetary/ frequency)

Thông qua các tiêu chí, mô hình RFM giúp công ty trả lời các câu hỏi sau:

  • Khách hàng tốt nhất và tiềm năng nhất của công ty là ai?
  • Những khách hàng nào có khả năng rời dịch vụ (tỷ lệ churn)
  • Những khách hàng nào mang lại giá trị kinh doanh nhất?
  • Khách hàng nào sẽ trung thành với công ty?
  • Những khách hàng nào sẽ tương tác, phản hồi trở lại với những chiến dịch marketing, quảng cáo của công ty?
  • Các sản phẩm mới có cơ hội bán cho các nhóm khách hàng nào

Các bước phân khúc khách hàng dựa trên phân tích RFM cụ thể như sau:

  1. Tính toán Recency, Frequency, Monetary đối với từng khách hàng cụ thể do thông thường dữ liệu khách hàng mới thu thập không thể hiện 3 tiêu chí này (trừ khi công ty đã xây dựng hệ thống tự động tính toán ngay vừa khi thu thập dữ liệu thô). Việc tính toán có chính xác, hợp lý phụ thuộc vào khả năng thu thập dữ liệu, xử lý dữ liệu, chuẩn bị dữ liệu của công ty, và chất lượng dữ liệu. Nếu công ty có một hệ thống CRM hoàn hảo thì quá trình tính toán sẽ dễ dàng hơn

+ Recency: lượng thời gian kể từ giao dịch, tương tác gần đây nhất của khách hàng thường tính bằng ngày (vẫn có các công ty tính theo tuần, tháng)

+ Frequency: Tần suất là tổng số giao dịch của khách hàng (trong một khoảng thời gian xác định).

+ Monetary: tổng số tiền mà khách hàng đã chi tiêu qua tất cả các giao dịch (trong một khoảng thời gian xác định).

  • Chia dữ liệu thành 5 nhóm bằng nhau (tỷ lệ 20%). Ranking hay coding khách hàng theo các giá trị Recency, Frequency, Monetary vừa tính được ở bước 1, theo thang đo từ 1- 5 (có trường hợp từ 1 – 4). Với score 5 là mức cao nhất: nhóm 20% khách hàng gần nhất giao dịch, có số lần giao dịch nhiều nhất, số tiền khách hàng bỏ ra nhiều nhất và score 1 là mức thấp, ngược lại. Phân khúc khách hàng lúc này sẽ được hình thành dựa trên việc kết hợp các code lại với nhau, tạo thành điểm tổng RFM và mỗi điểm tổng RFM sẽ thuộc 1 phân khúc nào đó.

Ví dụ:  555: R = 5, F = 5, M = 5, đây là khách hàng tiềm năng nhất, giá trị nhất (best customer) hoặc 111: R = 1, F = 1, M = 1, là khách hàng ít tiềm năng nhất, giá trị mang lại nhỏ nhất (worst customer)

Việc phân thang đo từ 1 – 5 ứng với từng khoảng giá trị nào trong R, F và M cũng như xác định các phân khúc dựa vào coding sẽ phụ thuộc vào tầm nhìn của công ty về khách hàng mình mong muốn là gì, phụ thuộc vào cách đánh giá khách hàng của mình.

Tương tự như cách tính điểm tổng RFM, một số công ty có thể sử dụng điểm trung bình của R, F, M sau khi đã coding, hoặc một số công ty sẽ đánh giá tầm quan trọng của các yếu tố R, F, M lên chiến lược kinh doanh của mình và gán trọng số ví dụ:

+ Ví dụ trong kinh doanh hàng tiêu dùng dài hạn, Monetary trên mỗi giao dịch thường cao hơn Frequency và Recency. Ví dụ: công ty không thể mong đợi một khách hàng mua tủ lạnh hoặc máy điều hòa không khí hàng tháng. Trong trường hợp này, một nhà tiếp thị có thể đánh giá cao các khía cạnh lợi nhuận, sau đó là tần suất mua hàng, rồi mới đến lần giao dịch gần nhất.

+ Ví dụ trong ngành FMCG, bán lẻ, thời trang thì nhiều công ty coi trọng tần suất mua hàng trong tháng, và lần gần nhất mua hàng do sản phẩm thường tiêu thụ trong thời gian ngắn, khách hàng có thói quen mua sắm tại nơi mình đã từng mua và tin tưởng. Theo đó, điểm RFM có thể được tính bằng cách cho điểm R và F cao hơn M.

Công thức tính RFM score có trọng số như sau:

  • Theo thông dụng dựa trên coding của RFM chúng ta thường sẽ có những phân khúc sau:

Tại sao phải sử dụng phương pháp k-means clustering?

Ở đây có lẽ nhiều bạn sẽ thắc mắc tại sao chúng ta có thể sử dụng chính chỉ số RFM để phân khúc các khách hàng thành 8 nhóm ví dụ như trên và trực tiếp xây dựng các chiến lược marketing phù hợp. Việc sử dụng phương pháp phân cụm mục đích là tìm những phân khúc khách hàng tối ưu, gọn hơn (có thể không tới 8 nhóm), mà ở đó các khách hàng trong một cụm có các đặc điểm về R, F, M giống nhau với giá trị R, F, M được định lượng cụ thể (tính theo trung bình giá trị tính R, F, M, hay tính theo trung bình điểm số R, F, M). Khi vào ví dụ cụ thể các bạn sẽ hiểu rõ hơn.

K-means clustering thực chất là phương pháp phân cụm tinh vi hơn áp dụng cho phân tích RFM thay thế hình thức ranking và coding đơn giản để phân khúc khách hàng. Tuy nhiên, trong thực tế, 2 hướng tiếp cận này đều được triển khai: phân khúc theo coding được dùng để khám phá các nhóm khách hàng khác nhau mà công ty hiện có, k-means clustering được dùng để phân tích sâu hơn, xác định những cụm khách hàng theo tiêu chí R, F, M.

  • Bước thứ 4, sau khi sử dụng RFM score và K-means clustering, tìm được các phân khúc khách hàng cụ thể với các đặc điểm về hành vi được xác định rõ ràng, công ty sẽ triển khai các hoạt động marketing, sales, như thế nào để phù hợp với từng phân khúc, từng nhóm khách hàng. Đây là bước quan trọng vì nó quyết định giá trị kinh doanh thực sự mà công ty nhận về từ mô hình RFM.

Như vậy chúng tôi đã giới thiệu xong sơ lược về mô hình RFM, và cách triển khai, ở bài viết tiếp theo chúng ta sẽ đi vào ví dụ cụ thể.

Tài liệu tham khảo  

“Principles of Data mining” – Max Bramer

“Cluster analysis and data mining an introduction” – R.S. King

“Data Clustering Theory, Algorithms, and Applications” – Guojun Gan, Chaoqun Ma, Jianhong Wu

“Data mining and predictive analytics” – Daniel T. Larose

www.optimove.com/resources/learning-center/rfm-segmentation

clevertap.com/blog/rfm-analysis/

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 !!