thống kê khách hàng

Thống kê khách hàng mới và quay lại trong Power BI

Ngày đăng: 09/04/2024

Bài toán “Thống kê khách hàng mới và khách hàng quay lại” là một bài toán kinh điển, phổ biến trong mọi doanh nghiệp, giải quyết bài toàn này giúp doanh nghiệp hiểu được khả năng thu hút khách hàng mới cũng như khả năng giữ chân khách hàng quay lại. Tuy nhiên đối với người mới làm phân tích và mới sử dụng Power BI, việc triển khai bài toán này còn có thể gặp nhiều khó khăn, vì vậy trong bài viết này, Datapot sẽ hướng dẫn các bạn xử lý bài toàn này một cách đơn giản, dễ hiểu nhất.

Video hướng dẫn chi tiết cách thống kê khách mới và quay lại trong Power BI

Tải Power BI sample file trong video.

Giới thiệu Dataset

Trong ví dụ này, dữ liệu của chúng ta có tất cả 6 bảng.

Thực tế bài toán này của chúng ta có thể phức tạp nếu cần xét thêm các yếu tố khác. Ví dụ như địa lý, lúc này, chúng ta sẽ phải thêm các phần tính toán logic như khách hàng mới, khách hàng quay lại theo yếu tố địa lý như country, region. Nó có thể phức tạp ở điểm như một khách hàng có thể là mới với country này, nhưng lại là cũ với country.

Và để bài toán đơn giản, chúng ta sẽ quan tâm đến bảng:

  • Sales – gồm các giao dịch bán hàng
  • Customer – gồm các thông tin về khách hàng
  • Date – bảng thời gian.

Cụ thể trong data model này, với bảng SalesCustomer được nối với nhau vơi nhau thông qua trường CusotmerKey.

Còn mối quan hệ giữa bảng Sales và bảng Date, trường Date trong bảng Date được nối với các trường trong bảng Sales gồm DueDateKey, ShipDateKeyOrderDateKey, trong bài toán này, chúng ta sẽ chỉ quan tâm tới mối quan hệ giữa Date và OrderDateKey.

Phát biểu bài toán

Bài toán của chúng ta sẽ được phát biểu như sau: trong một khoảng thời gian cho trước, hãy tính toán:

  • Đếm số lượng khách hàng Active (có tối thiểu một gian dịch)
  • Trong số lượng khách hàng Active này:
    • Có bao nhiêu khách hàng mới (phát sinh giao dịch lần đầu)
    • Có bao nhiêu khách hàng cũ/khách hàng quay lại (phát sinh giao dịch sau lần đầu mua hàng)

Xử lý bài toán

Đếm số lượng khách hàng Active

Để đếm số lượng khách hàng Active, chúng ta có thể tạo một bảng gồm cột Months (từ bảng Date) và cột # Active Customer. Cột # Active Customer được tạo bằng một measure, measure này sẽ đếm số lượng khách hàng Active bằng việc sử dụng hàm DISTINCOUNT để đếm giá trị duy nhất ở cột CusomterKey trong bảng Sales.

Sau đó thêm measure vào bảng, chúng ta sẽ có kết quả là số lượng khách hàng Active theo từng tháng.

Thống kê khách hàng mới và khách hàng quay lại

Trước khi đi vào giải quyết bài toán này, hãy cùng nhau làm rõ hai khái niệm:

  • Khách hàng mới: mua hàng lần đầu tiên trong khoảng thời gian chỉ định
  • Khách hàng quay lại: mua hàng nhiều hơn 1 lần trong khoảng thời gian chỉ định

Đầu tiên, chúng ta sẽ xác định ngày phát sinh giao dịch đầu tiên theo 2 góc độ đó là theo khoảng thời gian quan sát và theo cả vòng đời khách hàng.

Theo khoảng thời gian quan sát:

Note: trong cột CustomeKey sẽ có một giá trị là -1, bạn hãy bỏ qua giá trị này vì dataset vốn được thiết kế như vậy.

Theo cả vòng đời khách hàng:

Note: ở measure trên, hàm All() sẽ giúp chúng ta bỏ qua filter context về mặt thời gian.

Từ 2 measue trên, logic của chúng ta sẽ như sau, nếu thời điểm mua hàng trong toàn bộ vòng đời bằng với thời điểm đầu tiên mua hàng trong khoảng thời gian quan sát, thì khách hàng này sẽ được coi là khách hàng mới. Measure cho logic này có thể viết như sau:

Note:

  • Hàm trên sẽ trả về 1 nếu thỏa mãn điều kiện, nếu không trả về 0
  • Chúng ta có thêm 1 điều kiện && [1st order date] <> BLANK (), điều kiện này là để tránh rủi ro khi cả 1st order date đều BLANK, vì khi đó BLANK == BLANK sẻ trả về TRUE

Chúng ta có thể thấy, với CustomerKey11001, ngày 20170709 là khách hàng mới, nhưng từ ngày 20190619 thì không còn là khách hàng mới.

Tuy nhiên, với measure trên, chúng ta mới chỉ dừng lại ở việc xác định được đâu là khách hàng mới.

Thống kê số lượng khách hàng mới và khách hàng quay lại

Chúng ta sẽ có 2 cách để tính tổng số lượng khách hàng mới.

Cách 1: sử dụng Iterator Function – SUMX

Measure của chúng ta sẽ được viết như sau:

Với measure này, chúng ta sẽ ép công thức “is_new_customer” tính theo từng khách hàng trong bảng Customer.

Nếu là khách hàng mới, sẽ nhận được kết quả là 1, và hàm SUMX sẽ tính tổng số lượng khách hàng mới trong khoảng thời gian quan sát.

Cách 2: sử dụng hàm CALCULATE kết hợp với hàm FILTER

Chúng ta sẽ có measure để tính số lượng khách hàng mới như sau:

Trong đó:

  • FILTER ( Customer, [is_new_customer] = 1 ): trả về 1 bảng chỉ chứ khách hàng mới
  • COUNTROWS ( Customer ): đếm số dòng trong bảng sau khi bộ lọc được áp dụng

Phần còn lại, để tính số lượng khách hàng cũ/khách hàng quay lại, chúng ta có thể sử dụng lại công thức trên bằng cách thay điều kiện = 0. Một cách khác đó là chúng ta hoàn toàn có thể lấy:

# khách hang quay lại = # khách hàng Active – # khách hàng mới

Tạm kết

Như vậy, chúng ta đã xử lý xong bài toán phân loại và thống kê số lượng khách mới và khách hàng quay lại. Các bạn có thể thấy bài toán tưởng chừng như phức tạp, nhưng nếu chúng ta biết bóc tách nó và xử lý một cách logic thì cũng không cần dùng đến các công thức hay hàm DAX phức tạp.

Có điểm lưu ý rằng là các công thức được sử dụng để giải quyết bài toán này chưa thực sự tối ưu về mặt hiệu năng, tuy nhiên nó đủ đơn giản, dễ hiểu và bạn có thể điều chỉnh nó theo mong muốn của mình.

Cảm ơn ơn bạn đọc bài biết và hãy luôn theo dõi blogkênh YouTube của Datapot để được cập nhật những bài toán điển hình trong nghiệp vụ phân tích và cùng nhau giải quyết nhé.


Bên dưới là các khóa học phần tích dữ liệu với Power BI của Datapot, nếu bạn là người đang tìm hiểu về ngành phân tích dữ liệu hoặc đang tìm khóa học phù hợp, mời bạn tìm hiểu thêm nhé!

khoa hoc Power BI

PL-300 – Microsoft Power BI Data Analyst

(6 đánh giá của khách hàng)
7.000.000 

ĐƯỢC YÊU THÍCH BỞI NHỮNG HỌC VIÊN TỪ CÁC TỔ CHỨC TRONG NƯỚC VÀ QUỐC TẾ Khóa học tiêu chuẩn của Microsoft cung cấp các phương pháp khác nhau và bài thực hành dựa trên các yêu cầu thực tế của Doanh nghiệp để lập mô hình, trực quan hóa và phân tích dữ liệu…

APBI - Power BI Advanced Data Modeling and Visualization

APBI – Power BI Advanced Data Modeling and Visualization

8.000.000 

ĐƯỢC YÊU THÍCH BỞI NHỮNG HỌC VIÊN TỪ CÁC TỔ CHỨC TRONG NƯỚC VÀ QUỐC TẾ Khóa học Power BI nâng cao sẽ đi sâu vào nâng cao mô hình dữ liệu và trực quan hóa dữ liệu. Khóa học này giúp người học có được tư duy phân tích, kỹ thuật và quy trình…

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.