Mình đã query tìm ra khóa học được học viên quay lại học nhiều nhất từ đó gợi ý chiến lược tiếp cận khách hàng cũ như thế nào?
Gần đây mình có được giao một bài toán là:
Giờ học viên đã đăng ký khóa học Case Mastery rồi, thì làm sao biết được tiếp theo học viên có xu hướng sẽ đăng ký khóa học gì để ưu tiên tư vấn cho học viên cũ? Rồi nếu tư vấn thì có nên làm luôn khi end khóa học không, hay chờ bao lâu?
Mình thấy đây là một bài toán khá hay nên muốn đem lên share với mọi người 😀
Vì công ty mình có database để lưu trữ dữ liệu, nên mình sử dụng SQL - Structured Query Language - một ngôn ngữ dùng để làm việc với cơ sở dữ liệu có cấu trúc để truy vấn các thông tin này.
Để đảm bảo bí mật data công ty thì mình có nhờ chatgpt fake hộ 1 bộ dataset để minh họa bao gồm 3 bảng (nó sẽ đơn giản hơn nhiều so với data thực tế):
fact_enrollments: chưa thông tin đăng ký học của học viên
courses: chứa danh sách các khóa học
students: chứa thông tin chi tiết về học viên
Đây là data model thể hiện mối liên hệ giữa 3 bảng:
Với data này mình sẽ bắt đầu đi tìm ra đâu là khóa học được học viên mua nhiều nhất tiếp theo sau khi họ đã đăng ký khóa học “Case Mastery” từ đó đề xuất ra các next steps hợp lý để tiếp cận các khách hàng đã mua khóa Case Mastery trong tương lai.
Bước 1: Tìm danh sách học viên đã mua khóa "Case Mastery”
📌 Mục tiêu: Lấy danh sách học viên đã đăng ký khóa Case Mastery và ngày đăng ký của họ.
👉 Cách làm:
1️⃣ Chọn dữ liệu cần lấy: Lấy student_id và enrollment_date từ bảng fact_enrollments.
2️⃣ Lọc dữ liệu: Chỉ lấy những bản ghi có course_id tương ứng với khóa Case Mastery.
3️⃣ Tìm course_id của "Case Mastery" trong bảng courses bằng một truy vấn con (subquery).
Đây là kết quả sau khi thực hiện truy vấn:
Bước 2: Tìm khóa học tiếp theo mà học viên đã mua sau "Case Mastery”
📌 Mục tiêu: Xác định khóa học tiếp theo phổ biến nhất mà học viên mua sau khi đã học "Case Mastery".
👉 Cách làm:
1️⃣ Lọc danh sách học viên đã mua "Case Mastery" từ bảng fact_enrollments.
2️⃣ Kết nối (JOIN) với bảng fact_enrollments lần nữa để tìm các khóa học tiếp theo mà học viên đã mua.
3️⃣ Chỉ lấy các giao dịch có enrollment_date lớn hơn ngày mua "Case Mastery" (tức là khóa học mua sau).
4️⃣ Nhóm theo course_id để đếm số lượng học viên đã mua từng khóa tiếp theo. Lấy tên khóa học từ bảng courses để hiển thị rõ ràng và sắp xếp theo số lần mua nhiều nhất (ORDER BY purchase_count DESC).
Sau khi truy vấn theo các bước trên, mình ra được kết quả như sau:
Từ kết quả có thể thấy sau khi mua khóa Case Mastery, học viên sẽ có xu hướng mua 3 khóa Digital Performance, Content Marketing và Marketing Foundation. Từ data này mình có thể:
Gợi ý cho team Customer Service tư vấn cho học viên các khóa học này sau khi họ học xong khóa Case Mastery
Tạo combo giảm giá cho hai khóa Case Mastery + Digital Performance, Case Mastery + Content Marketing hoặc Case Mastery + Marketing Foundation để thúc đẩy các học viên có ý định mua khóa Case có thể mua luôn Combo thay vì mua lẻ.
Lưu ý một lần nữa data trên là fake chỉ có tên khóa học là thật thôi, nên kết quả đưa ra chỉ mang tính chất minh họa
Bước 3: Tính thời gian trung bình giữa lần mua "Case Mastery" và khóa tiếp theo
📌 Mục tiêu: Tính số ngày trung bình giữa lần mua "Case Mastery" và lần mua khóa tiếp theo để tối ưu chiến lược upsell & remarketing.
👉 Cách làm:
1️⃣ Tìm danh sách học viên đã mua "Case Mastery" từ bảng fact_enrollments.
2️⃣ Tìm khóa học tiếp theo mà họ đã mua (enrollment_date lớn hơn ngày mua "Case Mastery").
3️⃣ Tính số ngày giữa hai lần mua bằng DATEDIFF().
4️⃣ Lấy trung bình thời gian (AVG(days_between)) để biết khoảng thời gian học viên thường mua khóa tiếp theo.
Ở đây có thể thấy thời gian trung bình giữa các lần mua là 78 ngày (khoảng hơn 2 tháng), từ kết quả này sẽ có thể xác định được:
Khoảng thời gian thích hợp approach lại các cựu học viên đã học khóa Case Mastery để tư vấn cho họ khóa học mới sẽ là khoảng 2.5 tháng kể từ khi họ đăng ký khóa học đầu tiên ~ 1 - 1.5 tháng sau khi họ đã học xong khóa Case (giả sử khóa học kéo dài 1 tháng).
Ngoài ra trước khi approach học viên, có thể triển khai tuyến email nurture giới thiệu về các khóa Digital Performance, Content Marketing và Marketing Foundation cho học viên trước để học viên có awareness về sản phẩm này, tăng khả năng cross-sell thành công sau này.
Tạm kết
Vậy là mình đã vừa sharing cho mọi người một bài toán thực tế mình đã gặp phải và cách mình giải quyết bài toán này 😊 Mong nhận được thêm input nếu mọi người có cách làm hiệu quả hơn.
Và đừng quên subscribe mình để nhận được thông báo mỗi khi có bài viết mới nhất^^