Thực hiện bài toán RFM với SQL 

Ngày đăng: 22/05/2023


Một doanh nghiệp muốn nâng cao doanh thu cũng như lợi nhuận từ việc kinh doanh, họ có thể áp dụng nhiều phương pháp như giá cạnh tranh, nâng cao sự phong phú trong sản phẩm, đẩy mạnh truyền thông quảng bá, … và một yếu tố vô cùng quan trọng không thể không nhắc đến đó chính là Giữ chân khách hàng. Để làm được điều này, doanh nghiệp cần chú trọng đầu tư vào các hoạt động chăm sóc khách hàng, và để có thể vận dụng hiệu quả nhất các chiến lược CSKH, các doanh nghiệp cần phải trải qua một quá trình quan trọng tính toán phân khúc khách hàng.

I. GIỚI THIỆU BÀI TOÁN RFM.

1. Phân khúc khách hàng là gì ? 

Phân khúc khách hàng là nhóm các đối tượng khách hàng được phân chia theo từng đặc điểm cụ thể. Từng phân khúc khách hàng khác nhau sẽ có những đặc điểm, hành vi mua hàng khác nhau, ảnh hưởng đến chiến lược kinh doanh của doanh nghiệp. 

Do đó, tùy vào phân khúc khách hàng khác nhau, doanh nghiệp nên chuẩn bị nội dung, thông điệp phù hợp hơn trong việc tiếp cận và chăm sóc khách hàng. Một chiến lược tiếp thị, bán hàng phù hợp với phân khúc, đối tượng khách hàng mục tiêu sẽ mang đến hiệu quả vượt trội trong hoạt động kinh doanh của doanh nghiệp. 

Vì vậy để có một chiến lược hiệu quả và thành công nhất, doanh nghiệp cần phải có một phân khúc khách hàng chính xác, phù hợp với tình hình kinh doanh. Vậy câu hỏi đặt ra là, làm sao để doanh nghiệp có thể phân loại khách hàng của mình một cách chính xác nhất ? 

2. Một số cách giải quyết 

Có nhiều cách để phân khúc khách hàng, bao gồm Phân khúc theo nhân khẩu học, phân khúc theo Hành trình mua hàng, phân khúc theo địa lý, … Và trong bài báo cáo này, chúng ta sẽ sử dụng loại phân khúc khách hàng dựa vào hành vi mua sắm, sử dụng mô hình phân tích RFM với công cụ SQL và Excel. 

3. Lựa chọn giải pháp 

Phân tích RFM (RECENCY –  FREQUENCY – MONETARY) là một kỹ thuật phân khúc khách hàng dựa trên hành vi mua hàng của họ trong quá khứ. Phân tích RFM gồm có 3 chỉ số chính: 

  • – Recency (R): Thời điểm giao dịch cuối cùng 

  • R0: Khách hàng đó vừa mới mua hàng của bạn hôm nay 

  • Rn: Khách hàng đó lần cuối mua hàng của bạn n ngày trước 

  • – Frequency (F): Tần suất mua hàng của khách hàng 

  • F0: Là khách hàng tiềm năng và chưa từng mua thứ gì từ bạn 

  • – Monetary (M): Số tiền giao dịch 

Dựa vào những chỉ số phân tích, chúng ta có thể phân loại khách hàng một cách tương đối chính xác dựa vào thói quen và lịch sử giao dịch của họ, từ đó có thể giúp các nhà quản lý đưa ra những chiến lược phù hợp để duy trì và xây dựng mối quan hệ đối với khách hàng.  

II. GIẢI QUYẾT BÀI TOÁN RFM

           

Recency – R 

       

Frequency – F 

       

Monetary – M 

       

   

   

       

   

   

       

   

   

Trong đó: 

Khách hàng mua hàng gần đây nhất: R = 3 

Khách hàng mua hàng thường xuyên nhất: F = 3 

Khách hàng chi tiêu nhiều nhất: M = 3 

           

STT 

       

Tên trường 

       

Mô tả 

       

Code 

       

   

CustomerKey 

   

mã khách hàng 

   

 

       

   

CustomerName 

   

Tên khách hàng 

   

Concat_ws (‘ ‘, FirstName,MiddleName, LastName) 

       

   

Recency  

   

Lần mua hàng gần đây nhất  

   

datediff (day,max(orderdate),’2014-01-28 00:00:00.000′)  

       

4  

   

Frequency 

   

Số lần mua hàng trong 2 năm 

   

Count(distinct OrderDate)  

       

   

Monetary 

   

Tổng giá trị mua hàng 

   

Sum(SalesAmount)  

       

   

Customer segment 

   

Phân nhóm khách hàng 

   

 

Các bước thực hiện phân tích RFM 

Bước 1: Lọc ra các khách hàng mua hàng trong 2 năm gần đây 

Sử dụng Datediff 

select * from( 

select SalesOrderNumber 

,SalesOrderLineNumber 

,DATEDIFF(year,OrderDate,’2014-01-28 00:00:00.000′) as RecentYear 

from FactInternetSales fis  

group by SalesOrderNumber,SalesOrderLineNumber, OrderDate 

) b 

 

where RecentYear <=1 

 

Bước 2: Tính các trường Recency, Frequency, Monetary 

  • Recency:   

datediff (day,max(orderdate),’2014-01-28 00:00:00.000′) 

  • Frequency:  Count(distinct OrderDate) 

  • Monetary: sum(SalesAmount) 

  •  

Bước 3: Xây dựng hệ thống chấm điểm 

Recency:  

Khách hàng lần cuối mua hàng từ 0 – 120 ngày: 3 

Khách hàng lần cuối mua hàng từ 121 – 240 ngày: 2 

Khách hàng lần cuối mua hàng từ 241 – 370 ngày: 1 

Frequency và Monetary:  

Dựa vào Nguyên lý Pareto (80/20) phát biểu rằng: 1 nhóm nhỏ nguyên nhân dẫn đến phần lớn kết quả, trong kinh doanh người ta cho rằng 20% khách hàng đưa lại 80% doanh thu. 

 

Ta chia Frequency và Monetary theo thang điểm: 

  • Top 20%: 3 

  • Từ top 20% đến 50%: 2 

  • Còn lại: 1 

 

Vì thế cần chuyển F và M thành % rank: 

Rank_table as( 

select * 

,PERCENT_RANK() over (order by Frequency) as F_Rank 

,PERCENT_RANK() over (order by Monetary) as M_Rank 

from datatable) 

 

Bước 4: Chấm điểm khách hàng 

Scoring as( 

select CustomerKey 

,case  

when Recency between 0 and 120 then 3 

when Recency between 121 and 240 then 2 

when Recency between 241 and 370 then 1 

else 0 

end as Recency_rank 

,case 

when F_Rank between 0.8 and 1 then 3 

when F_Rank between 0.5 and 0.8 then 2 

when F_Rank between 0 and 0.5 then 1 

else 0 

end as Frequency_Rank 

,case 

when M_Rank between 0.8 and 1 then 3 

when M_Rank between 0.5 and 0.8 then 2 

 when M_Rank between 0 and 0.5 then 1 

else 0 

end as Monetary_Rank 

 

from Rank_table) 

 

Bước 5: Phân khúc khách hàng 

Trước hết cần liên kết lại các điểm đã chấm cho các tiêu chí: 

concat(recency_rank, Frequency_Rank, Monetary_Rank) as RFM_Rank 

 

Dựa vào nhu cầu và khả năng của công ty mà có thể phân khúc khách hàng theo các cách khác nhau. Đây là ví dụ về một số phân khúc có thể áp dụng: 

 

 

           

Phân khúc 

       

RFM 

       

Mô tả 

       

Chiến lược tiếp thị có thể có 

       

VIP 

   

333 hoặc 323 

   

Khách hàng mua gần đây nhất, thường xuyên hoặc khá thường xuyên và có chi tiêu cao 

   

Cần có chương trình khuyến mãi khách hàng thân thiết 

       

Big Spenders 

   

%%3 

   

Là những khách hàng có chi tiêu cao 

   

 

       

Frequent Customers 

   

%3% 

   

Khách hàng thường xuyên 

   

Thu hút, khuyến khích, thuyết phục họ mua các sản phẩm giá trị hơn 

       

Recent Customers 

   

3%% 

   

Khách hàng đã mua hàng gần đây 

   

Sử dụng các ưu đãi để thu hút 

       

At risk 

   

2%% 

   

Những khách hàng đã không mua trong một thời gian khá dài 

   

Ưu đãi giá mạnh mẽ, gửi email marketing, telesale,… 

       

Lost Inconsequential Customers 

   

111 

   

Những khách hàng đã mua trong một thời gian rất dài, không có nhiều khả năng sẽ quay lại 

   

Không dành quá nhiều nỗ lực để níu chân khách hàng 

       

High risk 

   

1%% (khác 111) 

   

Những khách hàng đã mua trong một thời gian rất dài, 

   

Gần tương tự với nhóm At risk 

IV. ỨNG DỤNG MỞ RỘNG 

Mô hình (phần query SQL) có thể được chỉnh sửa để phù hợp với các yêu cầu khác nhau của daonh nghiệp.  

Trong trường hợp thực tế, ta thay thế 2014-01-28 00:00:00.000 Bằng thời điểm hiện tại 

Tùy thuộc vào nhu cầu của doanh nghiệp có thể chia thành nhiều tập khách hàng nhỏ và chi tiết hơn hoặc các phân khúc tổng hợp hơn 

V. KẾT LUẬN 

Phân tích RFM là một công cụ hữu ích cho mỗi doanh nghiệp, giúp họ trả lời những câu hỏi như:  

  • – Khách hàng nào thuộc nhóm khách hàng quý giá và trung thành với công ty ? 

  • – Khách hàng nào công ty có nguy cơ mất và đã mất ? 

  • – Cần tập trung những chiến lược như thế nào đối với các tập khách hàng khác nhau ? 

Đây là một ví dụ cho thấy rõ ứng dụng lớn của SQL và khoa học dữ liệu trong việc kinh doanh của mỗi công ty 

Chia sẻ bài viết này

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.