Blog

PHÂN TÍCH RFM TRONG SQL

Last updated on June 7th, 2022 at 03:39 pm

Phân tích RFM (RECENCY –  FREQUENCY – MONETARY) trong SQL là một kỹ thuật được sử dụng trong marketing để xếp hạng và phân nhóm khách hàng dựa trên số lần truy cập gần đây, tấn suất và tổng số tiền giao dịch gần đây để có thể tìm ra những khách hàng tiềm năng và thực hiện các chiến dịch marketing. Bài viết trình bày cách giải quyết bài toán với database

Các vấn đề và giải pháp với phân tích RFM

Các vấn đề gặp phải:

  • NoPurchasePerYear (Số lần mua hàng trung bình năm kỳ vọng tính ra sẽ là một số thập phân nhưng thực tế tính ra chỉ có giá trị nguyên:1COUNT(DISTINCT(fi.SalesOrderNumber))/DATEDIFF(YEAR,MIN(CONVERT(CHAR(10), fi.OrderDate, 120)), '2015-01-01')
  • Tìm khách hàng trong nhóm 20% khách có AmountPerYear và TotalProfit cao nhất.
  • Sau khi tính điểm khách hàng theo quy tắc đề bài, kết quả trà về là những cột TopActive, TopYear, TopProfit và TopPur riêng biệt. Kết quả này khó có thể tính được tổng điểm từng khách hàng vì không thể cộng tổng cột.

Cách giải quyết:

  • Với NoPurchasePerYear: chuyển một trong 2 giá trị trong công thức thành số thập phân:1COUNT(DISTINCT(fi.SalesOrderNumber))/CAST(DATEDIFF(YEAR, MIN(CONVERT(CHAR(10), fi.OrderDate, 120)), '2015-01-01') ASfloat)
  • Với top 20% AmountPerYear và TotalProfit, dùng Window Funtion: 1PERCENT_RANK (), sắp xếp theo AmountPerYear và TotalProfit giảm dần, đánh dấu 1 điểm cho khách hàng trong khoảng từ 0% đến 20%.
  • Với tổng điểm khách hàng: Dùng UNPIVOT, kết quả sẽ trả về một cột với CustomerKey mỗi khách hàng được tăng thêm nhiều lần, ứng với điểm tương ứng. Kết quả này có thể dùng để tính tổng điểm của mỗi khách hàng.

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

Mô tả các trường và cách tính (Các trường được tính đến ngày 2015-01-01)

Output cuối cùng là bảng sau:

Cách tính điểm khách hàng:

  • Khách hàng Active: Mua hàng trong vòng 1 năm gần nhất: 1 điểm
  • Khách hàng top 20% có AmountPerYear cao nhất: 2 điểm
  • Khách hàng top 20% có TotalProfit cao nhất: 2 điểm
  • Khách hàng có NoPurchasePerYear >1 : 1 điểm

Phân loại khách hàng:

  • Lớn hơn hoặc bằng 5 điểm: Diamond
  • 4 điểm: Gold
  • 3 điểm: Silver
  • Dưới 3 điểm: Normal

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

Tính các trường sau, group by khách hàng:

  • Câu lệnh:
  • Kết quả:

Phân loại khách hàng:

Tìm phần trăm khách hàng có AmountPeryear và TotalProfit cao nhất:

– Dùng window function

1Percent_Rank ()
  • Câu lệnh:

Gắn điểm khách hàng theo yêu cầu đề bài:

  • Kết quả:

Thu các cột TopActive, TopYear, TopProfit, TopPur thành một cột

– Dùng Unpivot:

  • Câu lệnh:

Kết quả:

Tính tổng điểm cuối cùng theo CustomerKey

  • Câu lệnh:

  • Kết quả:

Phân loại khách hàng:

– Dùng CASE WHEN

  • Câu lệnh:
  • Kết quả:

Mỗi bước ở trên là một CTE, JOIN CTE đầu là các trường dữ liệu đã được tính và CTE cuối có cột phân loại khách hàng cuối cùng.

  • Câu lệnh:
  • Kết quả:

Kết luận:

Phân tích RFM giúp phân loại khách hàng và trả lời cho những câu hỏi:

  • Khách hàng nào thuộc nhóm trung thành với lượt mua trung bình năm nhiều nhất?
  • Khách hàng công ty đang có nguy cơ mất?
  • Cần tập trung chiến lược marketing cho nhóm khách hàng nào?

Kết quả cuối cùng cho thấy nhóm khách hàng ‘Diamond’ và ‘Gold’ tuy có số lượt mua trung bình năm ít hơn các nhóm khách hàng khác nhưng là những nhóm mang lại lợi nhuận nhiều nhất cho công ty do có sức mua lớn. Kết quả này cũng có mối liên hệ với nguyên lý Pareto: “80% doanh thu công ty đến từ 20% khách hàng.”

Dựa vào kết quả phân tích, công ty có thể cân nhắc chiến lược kinh marketing phù hợp cho từng nhóm đổi tượng khách hàng.

Chúng tôi chuyên cung cấp những khoá học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

SQL Level 1: SQL for Beginner (for Data Analyst/ Business Analyst/ Tester Data) – Truy vấn và thao tác dữ liệu cho người bắt đầu

SQL Level 2: Advanced SQL (for Data Engineer) – Lập trình dữ liệu nâng cao

Nguồn: Internet

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    https://jmspc.ac.in/ Tren Komunitas Urban Jakarta: Permainan Papan Klasik ke Adaptasi Mahjong Digital Cara kerja fitur ubin emas terhadap pengguna agar tetap menatap layar berjam-jam Menghindari godaan kombinasi parlay panjang yang sering berujung pada penyesalan Menemukan ritme bermain yang pas agar hobi hiburan digital tidak sampai mengganggu produktivitas kerja Wild West Gold vs Wild Bounty Showdown mana yang sebenarnya lebih ramah untuk dimainkan pemula alasan mengapa fitur scatter hitam selalu sukses memanipulasi rasa penasaran pemain mahjong ways fakta di balik kemenangan pertama dan dampaknya pada pengambilan keputusan lanjutan Kenapa Player Jakarta Kembali Melirik Mahjong Ways 2 di Tengah Gempuran Tren Game Baru Lainnya Alasan Utama Gates of Olympus 1000 Mendadak Kuasai Obrolan Warung Kopi Jakarta Bulan Ini Gema Hiburan yang Menentukan Arah Ritme Permainan Edukasi Cara Kerja Simbol Olympus yang Bikin Banyak Orang Ketagihan Mencoba Apa Perbedaan Mekanika Antara Olympus Klasik dan Versi Upgrade Terbarunya Analis Sebut Mahjong Jadi Pelopor Game Online Masa Kini Pemain Baccarat Jakarta Jadi Perbincangan, Bicara Kemenangan hingga Kesuksesan Cara Mengelola Saldo Harian Agar Sesi Bermain PG Soft Tetap Terkendali Dari Data ke Historis, Menggagas Formasi untuk Hasil Parlay Banyak yang Salah Paham Soal Cara Kerja RTP Baccarat Meski Sering Dimainkan Tiap Hari Rahasia di Balik Pola Ubin Emas yang Bikin Pemain PG Soft Susah Lepas dari Layar Sering Viral di Media Sosial, Begini Sebenarnya Algoritma Gates of Olympus 1000 Bekerja Ternyata Ini Alasan Fitur Scatter Hitam Mahjong Ways Mendadak Ramai Dibicarakan Bulan Ini slot4d slotsensa slot gacor https://www.jmsit.ac.in/placement/ suhubet slot4d https://fabritec.pe/asesor.php https://kibf.pk/ slot4d slot gacor https://www.jms.ac.in/admission-procedure/ slot gacor slot luar negeri slot4d slot gacor 4d totogacor slot4d slot4d slot gacor slot gacor slot gacor https://promo-sign.com/ slot4d demo slot slot thailand slot4d https://www.ugelhuaylas.edu.pe/ slot4d slot4d slot4d https://dulsa.com/ slot4d https://fabritec.pe/see/corporacion/ slot4d https://waterco.co.id/pompa-kolam-renang/ https://cliffcrestinn.com/rates/ https://www.bhagwati.ac.in/academics/ https://seteilhas.com.br/site/ https://umgeg.com/ https://www.paracasoverland.com.pe/ slot gacor slot gacor 4d https://amcstoneandcabinets.com/ totogacor slot gacor wd jutaan https://spingharkabul.edu.af/ https://lpmi.handayani.ac.id/surveyB https://www.jalwadancecompany.com/x-2-3-bhangra-dancers/ https://gaesasa.com/tienda/ https://impactocontable.co/servicios-tributarios-pago-de-impuestos/ https://spingharkabul.edu.af/published-papers/ https://littlebigcat.com/ slot4d https://gaesasa.com/sobre-gaesa/ https://warmihuasi.org/proyectos/ https://coppercoat.com.br/ slot gacor https://www.jetfloweurope.com/ slot gacor https://www.norsal-eg.com/ slot4d https://subhkirancapital.com/ slot gacor https://spingharkabul.edu.af/stomatology/ https://www.balinanny-babbyhire.com/pricing/ https://cliffcrestinn.com/historic-places-to-stay-in-santa-cruz-ca/ https://moalem24.com/ https://pps.handayani.ac.id/ toto 4d https://ekklesiahouses.com/ https://happyspring.com/ https://hitchparts.com/ https://praisevibration.com/ https://bolsecol.com/ https://centrobienser.com/ slot gacor https://www.jalwadancecompany.com/ https://solnascentealimentos.com.br/ https://www.homeofenglish.edu.kh/ https://www.balinanny-babbyhire.com/ https://warmihuasi.org/ https://gaesasa.com/blog/ https://gaesasa.com/shop/ https://www.blccampus.edu.lk/ https://warmihuasi.org/enlaces/ https://www.uniparconstrutora.com.br/tour/ https://solnascentealimentos.com.br/blog/ https://www.balinanny-babbyhire.com/faq/ https://adibintanpermata.com/shop/ slot4d totogacor Slot Gacor situs gacor 4D situs gacor slot4d SLOT4D slot4d slot gacor 4d Slot Thailand slot4d Slot Thailand Slot Thailand Slot Gacor Maxwin Slot Thailand Slot Thailand