Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Phân khúc khách hàng sử dụng phân tích RFM

Bài cuối 06-14-2021 05:57 PM của chucnv. 0 trả lời.
Trang 1 trong số 1 (1 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 06-14-2021 05:57 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 10,365

    Phân khúc khách hàng sử dụng phân tích RFM

    Phân khúc khách hàng sử dụng phân tích RFM

    (RFM Analysis for Customer Segmentation)

    chuc1803@gmail.com, http://bis.net.vn

    1.    Giới thiệu sơ lược về RFM (Recency, Frequency, Monetary)

    Phân tích RFM dùng để xác định các nhóm khách hàng dựa vào 3 yếu tố Recency, Frequency, và Monetary:

    ·      Recency (R): Khách hàng nào mua hàng gần đây? Lần mua hàng gần đây nhất là khi nào (cách đây bao nhiêu ngày)

    ·      Frequency (F):  Khách hàng nào mua hàng thường xuyên?  Tần suất mua hàng (số đơn hàng) của khách hàng

    ·      Monetary Value (M): Khách hàng nào có tiền mua hàng lớn?

    Về lý thuyết, mỗi yếu tố được xếp loại theo 4 cấp độ (quartile) thường được gán giá trị từ 1 đến 4 (1 là tốt nhất). Một khách hàng có  RFM =111 có nghĩa là (mua hàng gần đây, R=1), thường xuyên mua hàng (F=1), tổng tiền mua hàng lớn (M=1). Dựa vào 3 biến R, F, M thì ta có thể có 64 (=4x4x4) nhóm khách hàng khác nhau.

    2.   Qui trình triển khai phân tích RFM

    Bước #1. Xác định nguồn dữ liệu phân tích

    Bước #2. Tính toán các giá trị R, F và M

    Bước #3. Nhóm các khách hàng vào các nhóm theo R, F và M

    Bước #4. Phân tích kết quả và đề xuất chiến lược (hành động) chăm sóc khách hàng phù hợp với từng nhóm khách hàng.

    3.   Minh họa phân tích RFM bằng Retail Dataset với Tableau

    Step #1. Nạp và tiền xử lý dữ liệu

    Data set: Online Retail.xlsx gồm hơn 500K dòng với các cột như sau: (Link download dataset: https://archive.ics.uci.edu/ml/datasets/online+retail#)

    Một số thao tác tiền xử lý dữ liệu

    Loại bỏ null value cột CustomerID, các đơn hàng có Quantity <0 và các dòng dữ liệu trùng nhau (duplicate), lọc ra các đơn hàng ở UK (chiếm hơn 480K), Tính cột Total Paid = UnitPrice * Quantity

    Bước #2. Tính thời gian mua hàng của các đơn hàng tới hiện tại (ngày mua hàng gần nhất là 2010-12-09 nên giả sử ngày hiện tại là sau ngày mua hàng gần nhất 1 ngày tức là 2010-12-10)

    last_to_present: DATEDIFF('day',[InvoiceDate], #2011-12-10#)

    Step #3. Sử dụng hàm gộp (Aggregate) nhóm các khách hàng theo CustomerID và tính các độ đo như Tổng tiền hàng (Total Paid), đếm số đơn hàng (Invoice Count), Tổng số lượng (Sum Quantity), Ngày mua hàng gần nhất Min(last_to_present)

    Step #4. Tính các giá trị cho RFM (Recency, Frequency, Monetary)

    R_quantile

    IF [last_to_present]>365 THEN 4

    ELSEIF [last_to_present]>180 THEN 3

    ELSEIF [last_to_present]>100 THEN 2

    ELSE 1

    END

    F_quantile

    IF [InvoiceNo Count]>=99 THEN 1

    ELSEIF [InvoiceNo Count]>=41 THEN 2

    ELSEIF [InvoiceNo Count]>=17 THEN 3

    ELSE 4

    END

    M_quantile

    IF [Total Paid]>1575 THEN 1

    ELSEIF [Total Paid]>=651 THEN 2

    ELSEIF [Total Paid]>=300 THEN 3

    ELSE 4

    END

    FRM Score

    str([R_quantile])+ str([F_quantile])+ str([M_quantile])

    Step #5. Dựa vào FRM Score phân nhóm khách hàng:

    IF [RFM Score]='111' THEN 'Best Customer'

    ELSEIF [RFM Score]='444' THEN 'Churn Customer'

    ELSEIF right([RFM Score],1)='1' then 'Highest Paying Customers'

    ELSEIF mid([RFM Score],2,1)='1' THEN 'Loyal Customer'

    ELSEIF LEFT([RFM Score],2)='14' THEN 'Newest Customers'

    ELSEIF LEFT([RFM Score],2)='44' THEN 'Once Loyal, Now Gone'

    ELSE 'Normal'

    END

    Step #6. Lưu và xem kết quả


    Xem video hướng dẫn phân tích RFM với Retail Dataset ở Đây 

    Từ khóa đại diện: , ,
    • Điểm chủ đề: 20
Trang 1 trong số 1 (1 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems