Lần trước mình có chia sẽ một bài về dữ liệu thương mại điện tử. Để tiếp tục series, bài này mình chia sẻ phân tích dữ liệu với góc nhìn từ quản lý doanh nghiệp. Nếu đây là dữ liệu đến từ doanh nghiệp của chính mình thì liệu mình sẽ có những câu hỏi gì để hiểu hoạt động kinh doanh, và cố gắng tìm ra câu trả lời từ bộ dữ liệu có phần hạn chế này. Mục đích cuối cùng vẫn là để rèn luyện kỹ năng phân tích và sử dụng SQL, hy vọng bạn tìm thấy gì hữu ích. Bạn có góp ý hay câu hỏi thì comment ở dưới nhé. Cảm ơn đã xem bài.

Dữ liệu

  1. Dữ liệu mình tổng hợp được share trong phần Archive trên trang web này. Dữ liệu của series này mình share trong bài [SQLInUse] Ecommerce I Dataset
  2. Hoặc bạn có thể truy cập thẳng Redash để thực hành SQL và tải dữ liệu. Chọn [SQLInUse] - Ecommerce I - PostgreSQL data source nhé.

Điểm chính

Dashboard tổng hợp.

  1. Tiếp cận dữ liệu từ góc nhìn của người quản lý, xem xét tình hình công ty ở high level, không đi quá cụ thể
    1. Theo dõi và tìm chỉ số sức khoẻ hợp lý của doanh nghiệp
    2. Gợi ý những điểm theo mình là còn hạn chế, và đề xuất vài thiển kiến
  2. Vận dụng nhiều kiến thức SQL khác nhau để trích xuất dữ liệu
    1. Subquery, CTE dùng khắp nơi
    2. Window Functions rất quan trọng, nhất định phải thành thạo 💪

Let's GO

1. Các chỉ số tăng trưởng chính

Một cách khá tự nhiên mình nghĩ ngay đến kiểm tình hình tăng trưởng (Growth) của doanh nghiệp qua các chỉ số theo ngày, tuần, tháng, quý năm. Các chỉ số cơ bản bao gồm

  • Lượng khách hàng (active users)
  • Lượng giao dịch (transactions)
  • Lượng sản phẩm bán ra (distinct products)
  • Doanh thu (revenue)
  • Tần suất mua hàng của khách hàng (purchase frequency)

Query 1 giúp mình hình dung được bức tranh tổng thể của doanh nghiệp.

Vài nhận định ban đầu qua dữ liệu hoạt động hơn 3 năm (khá dài)

  • Doanh thu và lượng khách hàng mua hàng có xu hướng tăng chậm nhưng đều
  • Không có nhiều tăng trưởng đột biết trong quá trình kinh doanh
  • Doanh nghiệp này có tần số mua hàng (purchase frequency) trung bình của khách hàng vào khoảng 1.5-1.8/tháng 3-3.5/quý, khá ổn định. Nghĩa là khách hành có nhu cầu mua sản phẩm gần 2 lần mỗi tháng. Điều này cho thấy doanh nghiệp đã có một lượng không nhỏ khách hàng trung thành đối với sản phẩm của họ, sẵn sàng quay lại và sử dụng mỗi 20-30 ngày.
  • Biểu đồ khách hàng (customers trong hình 1,2 ) và số lượng giao dịch (transactions trong hình 1,2) cho thấy sự tăng trưởng không đồng đều giữa các tháng trong năm (M0M, QoQ) nhưng tăng dương so với cùng kỳ năm trước. Điều này cũng được thể hiện rõ hơn qua sự biến động của tần số mua hàng khi xem xét theo quý qua từng năm. Qua đó, thấy được khách hàng có nhu cầu sử dụng ít ở thời điểm đầu năm, tăng dần và đạt đỉnh ở quý cuối của năm và lặp lại qua các năm. Nắm bắt được nhu cầu của khách hành theo mùa, có thể dễ dàng hơn trong việc phát triển các chiến thuật marketing theo từng chu kỳ sử dụng của khách hàng, đem lại hiệu quả cao và quản lý kho hàng tồn kho tốt hơn.

Hình 3b (same period last year) thể hiện sự thay đổi dương rõ nhất, thể hiện tính chu kỳ của sản phẩm so với kiểm tra sự thay đổi MoM, QoQ trong Query 2, Query 3 ở hình 3. Về kết quả hoạt động của doanh nghiệp trong năm 2024, sự tăng trưởng khách hành nhìn chung vẫn dương nhưng thấp hơn cùng kỳ năm trước đó trong khi doanh thu tăng mạnh.

2. Chỉ số liên quan đến khách hàng

Khách hàng mang lại doanh thu là nguồn sống của doanh nghiệp, hiểu rõ tình trạng khách hàng của công ty là điều nhất thiết phải làm.

Khách hàng đến từ các hoạt động marketing của doanh nghiệp, tuy nhiên không phải khách hàng nào tham gia cũng sẽ chi tiền cho sản phẩm. Một biểu đồ cho thấy chỉ sổ chuyển đổi của khách hàng từ khách hàng tiềm năng sang khách hàng thực tế

  • khách hàng tiềm năng: đã đăng ký những chưa mua hàng, doanh nghiệp có thông tin của khách hàng, có thể sử dụng các chiến thuật marketing (promotions) mới để tiếp cận và bán sản phẩm
  • khách hàng thực tế: đã mua sản phẩm, có thể yêu thích sản phẩm hoặc không sau khi mua hàng, doanh nghiệp thường tiếp tục up-sale hoặc re-sale để tăng doanh số.

Có thể thấy, tỷ lệ chuyển đổi trung bình dưới 50%, mình nghĩ có thể cải thiện được. Một số tháng có tỷ lệ cao, trên 70%, có thể xem xét các hoạt động marketing trong những tháng đó để học hỏi và nhân rộng.

Nếu khách hàng có ý định mua thì sau bao lâu sẽ thực hiện giao dịch từ ngày đăng ký?

Dữ liệu cho thấy nếu không thể thuyết phục khách hàng mua ngay trong ngày đầu thì tỷ lệ chuyển đổi thành công sau đó sẽ khá thấp, dưới 10% tổng số khách hàng đã đăng ký. Do dó chốt sale ngay lần đầu là quan trọng trong mô hình kinh doanh này.

Nếu khách hàng đã mua hàng thì khả năng họ sẽ tiếp tục sử dụng dịch vụ là bao nhiêu?

Có một sự thật là, các doanh nghiệp sẽ dễ dàng thuyết phục khách hàng có sẵn (đã thử dịch vụ) tiếp tục sử dụng hơn là tìm kiếm khách hàng mới để sử dụng lần đầu, và với chi phí thấp hơn rất nhiều. Nên sẽ rất quan trong nếu tỷ lệ tái mua hàng cao, điều này tiết kiệm rất nhiều chi phi marketing cũng như chăm sóc khách hàng.

Biểu đồ phễu ở hình 6 cho thấy tỷ lệ khách hàng quay lại của doanh nghiệp khá ổn,

  • tỷ lệ quay lại ngay ở lần thứ 2 đạt trên 65%
  • và duy trì ở mức trên 75% sau lần mua hàng thứ 3 (khoảng sau 2 tháng)

Có thể thấy vấn đề lớn nhất là làm cho khách hàng tin tưởng thử sử dụng sản phẩm ở lần đầu tiên (>50% remains leads).

Lệnh SQL

Mình sử dụng câu lệnh phân tích customer funnel ở trên để làm ví dụ giải thích, các câu khác bạn tham khảo trực tiếp từ Redash nhé.

select
  order_rank,
  count(distinct customer_id) as customer_count
from
  (
    select
      o.customer_id,
      row_number() over(
        partition by o.customer_id
        order by
          created_at asc
      ) as order_rank
    from
      orders o
  )
group by
  1
UNION
select
  0 as order_rank,
  count(*) as customer_count
from
  customers

Để vẽ được phễu như hình trên mình cần một bảng có 2 cột với

  • dữ liệu cột 1 là số lần mua hàng và
  • cột 2 là số khách đã mua hàng tương ứng số lần ở cột 1

Và tất nhiên query cần đếm chính xác số khách hàng mua hàng. Ví dụ khách hành mua lần 2 cũng cần phải được đếm ở lần mua đầu, và tương tự cho tất cả phép đếm.

order_rank  |  customer_count
-----------------------------
0           |  210,516	
1           |  109,318
2           |  75,393	

Query được chia làm 2 bảng và giao lại sử dựng lệnh UNION. Bảng đầu tiên đánh dấu số lần mua của từng khách hàng và đếm tất các khách hàng qua từng lần mua. Bảng số 2 đơn giản là đếm tất cả khách hàng.

Kết

Còn rất nhiều chỉ số khác ngoài những chỉ số được nêu ra ở trên. Trong khuôn khổ bài này và với giới hạn của dữ liệu được cho, mình tìm hiểu tình hình công ty tổng quát qua các chỉ số tăng trưởng cơ bản và xác định những điểm có thể là hạn chế trong quá trình hoạt động.

Về mặt kỹ thuật, toàn bộ sử dụng kiến thức SQL để trích xuất dữ liệu có giá trị đối với những câu hỏi được đặt ra.

Trong phần sau mình sẽ đi kỹ hơn về phân tích cấu trúc tập khách hàng, sử dụng các phương pháp khác nhau.

Bạn có góp ý chia sẻ thì để lại comment nhé. 💗