Cohort Analysis là gì? Ứng dụng Cohort Analysis để phân tích hành vi người dùng thế nào?

marketing foundation

Tomorrow MarketersMột sản phẩm thường được thiết kế để giải quyết vấn đề và nhu cầu của nhiều tệp khách hàng mục tiêu với chân dung khác nhau. Vì vậy, nếu chỉ phân tích các chỉ số một cách chung chung như chỉ phân tích tổng số đơn hàng, AOV hay số lượng sản phẩm bán được sẽ không giúp các marketer biết đâu là nhóm khách hàng đang chiếm tỷ trọng quan trọng hoặc khi nào nhóm khách hàng cũ đang giảm tần suất mua hàng,…

Cohort analysis sẽ là trợ thủ đắc lực trong việc hiểu rõ hơn hành vi của từng tệp khách hàng, từ đó cung cấp nhiều insight về cách họ tương tác, sử dụng và mua hàng, mức độ gắn bó của khách hàng theo thời gian và đưa ra định hướng nội dung phù hợp cho từng loại đối tượng. Cùng Tomorrow Marketers tìm hiểu phương pháp phân tích thú vị này trong bài viết này nhé. 

Đọc thêm: Dùng Cohort analysis tìm insight trong Google Analytics như thế nào?

Nội dung bài viết:

  1. Cohort Analysis là gì?
  2. Các loại Cohort Analysis
  3. Đọc hiểu một Cohort chart như thế nào?
  4. Ứng dụng của Cohort Analysis
  5. Cách thực hiện Cohort Analysis
  6. Một số công cụ và cách thực hiện Cohort Analysis
    6.1. Cách thực hiện Cohort analysis trong Google Analytics 4
    6.2. Cách thực hiện Cohort Analysis trong Google Sheets
    6.3. Cách thực hiện Cohort Analysis với SQL

1. Cohort Analysis là gì?

Cohort analysis là một kỹ thuật phân tích hành vi người dùng thông qua việc chia người dùng thành nhiều nhóm nhỏ có đặc điểm chung trong một khoảng thời gian cụ thể. Từ đó, bạn có thể so sánh các nhóm người dùng nhằm tìm ra xu hướng nổi bật, sự khác biệt giữa các nhóm và hiểu nguyên nhân sâu xa đằng sau mỗi hành vi sử dụng sản phẩm. 

Ví dụ, doanh nghiệp nhận thấy rằng CR (conversion rate) từ bước cho sản phẩm vào giỏ hàng tới bước thanh toán đơn hàng đang giảm đột ngột so với quý trước. Nếu chỉ dựa vào một tệp đối tượng lớn và phân tích những số liệu chung như tổng số session, tổng số user, số view các trang product, số view trang add to cart và số lượng checkout thì sẽ rất khó để giải quyết vấn đề, bởi có rất nhiều nguyên nhân như:

  • Quy trình thanh toán phức tạp, khó hiểu, nhiều bước và bắt buộc người dùng phải khai báo những thông tin quá cá nhân
  • Giao diện thanh toán khiến người dùng cảm thấy mơ hồ, ví dụ button Check out có màu sắc có độ tương phản quá cao
  • Chính sách thanh toán không rõ ràng, mập mờ khiến người dùng cảm thấy không tin tưởng

Thay vì xem tất cả người dùng là một với những đặc điểm, hành vi như nhau, bạn chia họ thành các nhóm có đặc điểm chung: nhóm người dùng laptop, người dùng smartphone, người dùng tablet,… Sau đó, đo lường CR từng bước của các nhóm này, dựa vào đó bạn có thể phát hiện ra rằng CR check out của tập người dùng điện thoại thấp do cập nhật mới trong UI khiến button của các phương thức thanh toán trở nên nhỏ và khó nhìn, khiến người dùng gặp khó khăn trong việc thanh toán.

Cohort analysis sẽ bổ sung ngữ cảnh vào số liệu để hiểu hơn các thay đổi trong hành vi của người dùng. Bạn có thể tập trung vào một phân khúc đối tượng cụ thể thay vì một tập đối tượng chung chung, nhằm đảm bảo tính chính xác cao hơn khi xác định động lực phía sau hành vi của những đối tượng này.

2. Các loại Cohort Analysis

Đặc điểm phân nhóm người dùng/khách hàng sẽ ảnh hưởng tới hướng tiếp cận, loại câu hỏi bạn có thể trả lời và giá trị chiến lược của các insight có thể tìm ra. Dựa vào đây, có thể phân thành hai loại cohort analysis: acquisition analysis và behavioral analysis

hai loại cohort analysis: acquisition analysis và behavioral analysis

(Image source: Apifuse)

Acquisition cohorts 

Acquisition cohort phân chia các nhóm người dùng dựa trên thời điểm của các event trong giai đoạn acquisition (subscribe, đăng ký, download,…). Ví dụ, một ứng dụng ngoại ngữ có thể phân chia các nhóm người dùng dựa vào thời điểm họ tham gia khóa học đầu tiên hoặc thời điểm đăng ký và tạo tài khoản.

Acquisition cohorts sẽ giúp bạn xác định khi nào một người dùng mới rời bỏ ứng dụng, dựa trên việc đo lường tỷ lệ quay lại và tỷ lệ rời bỏ qua từng giai đoạn; từ đó đánh giá mức độ thành công của sản phẩm vừa ra mắt. Bạn có thể chia nhỏ cohort theo từng ngày trong tháng đầu tiên tính từ thời điểm launching, sau đó theo dõi trong  tháng đầu tiên sau khi sản phẩm được ra mắt thị trường và theo dõi xem có bao nhiêu người tiếp tục sử dụng ứng dụng từ ngày đầu tiên đăng nhập.

Khi phân tích hành vi người dùng với acquisition cohort, bạn cũng sẽ dễ dàng tìm ra xu hướng và thời điểm khi tỷ lệ quay lại (retention rate) giảm đột ngột – ví dụ sau một ngày tính từ thời điểm đăng ký tài khoản, hoặc sau hai tuần khi họ đã hoàn thành các bước onboarding như setup tài khoản, kết nối với các ứng dụng khác,… 

Behavioral cohorts

Acquisition cohorts có ý nghĩa lớn trong việc phân tích các hành vi của người dùng tại thời điểm chuyển đổi, tuy nhiên lại gặp giới hạn trong việc phân tích nguyên nhân người dùng rời bỏ hay gắn bó tiếp tục sử dụng ứng dụng. Behavioral cohort có thể khắc phục vấn đề này.

Với behavioral cohort, người dùng được phân nhóm dựa theo bất kỳ event/action nào trong quá trình sử dụng sản phẩm sau khi đã trải qua giai đoạn acquisition: ví dụ hành động sử dụng một feature, tắt bật in-app notification, tích hợp ứng dụng với các ứng dụng khác, hoàn tất profile và các thông tin cá nhân,… 

Behavioral cohort có thể giúp bạn phân tích các hành vi được coi là phổ biến để xác định feature/điểm nổi bật trong ứng dụng đang thu hút người dùng tương tác tích cực/kém tích cực để tìm cách phát triển/cải thiện. 

Bạn cũng có thể sử dụng hướng phân tích này để biết được người dùng duy trì hoạt động trong bao lâu sau khi tương tác với một tính năng phức tạp trong ứng dụng. Ví dụ: bạn có thể thực hiện thử nghiệm A/B để cung cấp những trải nghiệm giới thiệu khác nhau cho những người dùng khác nhau, sau đó theo dõi hành vi của họ trong vòng hai tuần đầu tiên và so sánh retention rate để lựa chọn phiên bản nào đang đạt được thành công trong việc giữ chân người dùng hơn.

3. Đọc hiểu một Cohort chart như thế nào?

Bước 1: Đọc chart theo các hàng ngang để so sánh giữa nhiều thời điểm khác nhau của một nhóm khách hàng/người dùng

Lấy một case study về phân tích số lượng khách hàng mua lặp lại của một cửa hàng eCommerce với cohort chart như hình dưới đây. Trong đó, hàng ngang biểu diễn tháng trong năm được lấy làm mốc, trong đó các cột biểu diễn số lượng khách hàng theo từng tháng sau đó so với tháng được chọn làm mốc.

Cột màu vàng là số lượng khách hàng mua hàng lần đầu mỗi tháng. Các cột sau đó  là số lượng khách hàng từ nhóm khách hàng mua lần đầu mỗi tháng có ít nhất một giao dịch vào từng tháng sau đó. 

Đọc hiểu Cohort chart bước 1

(Image Source: adverity)

Đọc dọc hàng dữ liệu trên cùng, chúng ta dễ dàng đọc được một số thông tin: Trong số 256 khách hàng mua hàng đầu vào tháng 1 năm 2020, 106 khách hàng đã thực hiện giao dịch mua khác vào tháng tiếp theo, với 70 khách hàng mua hàng hai tháng sau đó, 60 khách hàng sau ba tháng, v.v. Từ đó, không chỉ có thể biết ngày tháng nào là tháng có nhiều khách hàng lần đầu nhất mà còn biết được tháng nào có hiệu suất giữ chân khách hàng tốt nhất.

Bước 2: Đọc chart theo các cột dọc để so sánh giữa các nhóm khách hàng/người dùng tại cùng một thời điểm trong vòng đời của họ

Đọc dọc theo các cột, chúng ta tiếp tục nhìn ra có sự sụt giảm lớn về số lượng giữa các cột ba và bốn trong hầu hết các tháng. Điều chúng ta có thể rút ra từ điều này là thời điểm quan trọng để giữ chân khách hàng là ba tháng sau lần mua hàng đầu tiên. 

Lưu ý, cohort chart này đã sử dụng sắc độ của màu sắc để trực quan hóa giá trị bằng cách lựa chọn màu đậm hơn cho các ô có giá trị cao hơn và màu sắc sẽ nhạt dần khi giá trị giảm dần. Trong biểu đồ này, màu càng đậm thì số lượng khách hàng quay lại tháng đó càng cao. 

Từ phân tích này, cửa hàng này cần tiếp tục bẻ nhỏ vì sao có tình trạng sụt giảm này và bắt đầu đề xuất các chương trình để giữ chân những khách hàng này sau 3 tháng mua lần đầu, ví dụ một chiến dịch tri ân khách hàng để thu hút khách hàng cũ. 

đọc hiểu cohort chart bước 2

(Image Source: adverity)

Bước 3: Đọc chart theo đường chéo để tìm ra một hoạt động hoặc sự kiện có thể làm thay đổi hành vi của các nhóm người dùng nói chung

Nếu chúng ta nhìn vào hàng tháng 7 năm 2020, sẽ có một sự tăng nhẹ và xu hướng tăng này tiếp tục theo đường chéo ngay trên biểu đồ. Hàng tháng 6 chứng kiến ​​doanh số bán hàng tăng thêm trong tháng thứ hai, tháng 5 chứng kiến ​​mức tăng vọt trong tháng thứ ba, tháng 4 trong tháng thứ tư và tiếp tục như vậy.

đọc hiểu cohort chart bước 3

(Image Source: adverity)

Rõ ràng, có điều gì đó đã xảy ra vào tháng 7 năm 2020 và thúc đẩy doanh số bán hàng của những khách hàng quay lại. Đó có thể là một ưu đãi hoặc khuyến mãi hoặc một xu hướng từ yếu tố bên ngoài nào đó và doanh nghiệp phải xác định để có thể điều chỉnh chiến lược và hoạt động nhằm tận dụng những cơ hội tương tự.

4. Ứng dụng của Cohort Analysis

Cohort analysis rất quan trọng trong quy trình phát triển sản phẩm – kỹ thuật phân tích này giúp bạn đánh giá các xu hướng theo thời gian và đo lường hành vi của các nhóm người dùng khác nhau, tránh đưa ra các quyết định phát triển/cập nhật sản phẩm một cách mù quáng với các con số/insight của một nhóm người dùng nhỏ.

Một số use case bạn có thể áp dụng cohort analysis như: 

Use case #1: Xác định thời điểm người dùng rời bỏ ứng dụng (churn rate)

Cohort analysis giúp bạn xem xét các hành vi nhất định đã dẫn tới việc giảm tần suất sử dụng một feature của một nhóm người dùng. Bạn có thể xác định chính xác đâu là thời điểm và lý do khiến người dùng rời bỏ ứng dụng. 

Kiểm soát tỷ lệ này và giữ chân người dùng bằng cách xác định các yếu tố dẫn đến việc rời bỏ cải thiện sẽ giúp bạn tối ưu chi phí thu hút người dùng (acquisition cost).

Ví dụ, một ứng dụng trò chơi đang có tỷ lệ gỡ cài đặt cao hơn mức trung bình. Phân tích cohort nhóm người dùng gỡ cài đặt trong 7 tháng tính từ thời điểm cài đặt như bảng dưới đây:

Phân tích cohort nhóm người dùng gỡ cài đặt trong 7 tháng

Có thể thấy rằng có tới 44% trong số người dùng đã gỡ cài đặt ứng dụng ngay trong tháng đầu tiên. Mặc dù tỷ lệ gỡ cài đặt giảm đáng kể trong tháng thứ hai nhưng tỷ lệ này vẫn tiếp tục cao tới 14% trong tháng thứ ba. Trung bình, 68% người dùng có được của bạn rời bỏ trong vòng 4 tháng kể từ khi cài đặt ứng dụng. 

Thử thực hiện phân tích trong khoảng thời gian 2 tháng để tính số lượng người dùng có chơi ít nhất một trò chơi trước khi gỡ cài đặt ứng dụng để tìm ra nguyên nhân cho đà tăng của tỷ lệ gỡ cài đặt.

Ta được kết quả như dưới đây:

Phân tích người dùng đã chơi ít nhất một trò chơi trước khi gỡ cài đặt ứng dụng

Có tới 95% người dùng đã chơi ít nhất một trò chơi trên ứng dụng của bạn trước khi gỡ cài đặt ứng dụng. Điều này dẫn đến một số giả định về lý do gỡ cài đặt:

  • Trò chơi không phù hợp với lứa tuổi hoặc sở thích của người dùng.
  • Trò chơi chưa đủ hấp dẫn.
  • Ứng dụng bị lỗi khi họ đang chơi game.
  • Trải nghiệm làm quen không được tối ưu và đem lại cảm giác tiêu cực.

Và còn nhiều vấn đề khác có thể là lý do.

Marketer sẽ cần liệt kê tất cả các tình huống có thể xảy ra và tìm ra cách để cải thiện và giảm tỷ lệ gỡ cài đặt.

Tỷ lệ tương tác trung bình trong cả 7 tháng cho thấy chỉ 95,9% người dùng thực sự chơi trò chơi trước khi gỡ cài đặt ứng dụng của bạn. Vậy còn 5% người dùng không cả chơi một trò chơi nhưng đã gỡ cài đặt thì sao?  Con số này cho thấy có thể vẫn còn vấn đề trong quá trình onboarding – quá trình người dùng set up ứng dụng sau khi đã cài đặt và trước khi sử dụng.

Nhìn vào cohort analysis cũng có thể thấy rằng 0,1% người dùng đã cài đặt lại ứng dụng vào tháng tiếp theo và chơi một trò chơi. Mặc dù đây là một con số nhỏ nhưng điều đó vẫn có ý nghĩa tích cực rằng bạn có thể thuyết phục người dùng cũ quay lại với ứng dụng bằng cách chạy các targeting campaign trên các kênh phù hợp.

Use case #2: Tối ưu các điểm chạm

Cohort analysis cũng có thể giúp bạn chắc chắn rằng những nỗ lực trong marketing có đang mang lại kết quả trong việc chuyển đổi người dùng không. Ví dụ, sử dụng cohort analysis để phân tích các điểm chạm khác nhau sẽ giúp biết rằng điểm chạm nào đang chuyển đổi người dùng tốt hơn. Giả sử, nếu người dùng chuyển đổi từ quảng cáo trên mạng xã hội có churn rate cao hơn nhiều so với người dùng tới từ nguồn khác thì bạn biết rằng vẫn còn một số điểm cần cải thiện ở điểm chạm này.

Giả sử ứng dụng trò chơi của bạn có tỷ lệ gỡ cài đặt (uninstall rate) ở mức cao. Không khó để bạn nhận thấy rằng thực tế số lượng người dùng mới không hề giảm, nhưng khoảng 70% trong số họ lại gỡ cài đặt ứng dụng chỉ trong vòng 1 tháng, khiến chi phí để tìm kiếm các khách hàng mới tăng cao. 

Bên cạnh việc tập trung giảm số lượng gỡ cài đặt, một marketer cũng sẽ cần giữ chân 30% người dùng còn lại. Từ việc xác định người dùng trung thành và biết họ được thu hút từ kênh/điểm chạm nào, bạn có thể tập trung các chiến thuật marketing chuyển đổi người dùng ở kênh/điểm chạm đó. Bạn có thể tạo một nhóm người dùng sử dụng ứng dụng thường xuyên, phân chia theo kênh/điểm chạm thường xuyên chơi trò chơi, phân chia dữ liệu đó theo kênh mà người dùng được chuyển đổi và xem dữ liệu trong khoảng thời gian 8 tuần. Phân tích cohort được kết quả:

Dùng cohort analysis để tối ưu các điểm chạm

Có thể thấy rằng người dùng có điểm chạm đầu tiên tới ứng dụng thông qua Organic Search Paid Search có tỷ lệ ở lại cao nhất. Vì vậy, bạn cần thực hiện nhiều chiến dịch paid search hơn và đầu tư nhiều hơn cho SEO để chuyển đổi những người dùng có high intent.

Tương tự, người dùng có điểm chạm đầu tiên thông qua ReferralEmail thường có mức giảm trong giai đoạn hậu engagement ở tuần 2. Nói cách khác, các kênh này có tỷ trọng thấp trong việc thu hút các high intent users cho ứng dụng, do đó, bạn sẽ cần tìm cách tối ưu hơn để tiếp cận tới target audience thông qua những kênh này.

Use case #3: Theo dõi user journey khác nhau

Mỗi nhóm người dùng có một vòng đời riêng. Việc theo dõi các nhóm người dùng khác nhau trong suốt user journey giúp bạn hiểu được nhu cầu theo từng giai đoạn cụ thể và xác định vấn đề sớm hơn. Ví dụ: người dùng mới cần thêm hướng dẫn để làm quen ứng dụng, trong khi người dùng trung thành sẽ muốn có thông báo về tính năng mới và bản nâng cấp sản phẩm—và tất cả họ đều có thể gặp phải các vấn đề giống nhau hoặc khác nhau trong quá trình sử dụng. 

Cohort analysis giúp bạn có thể phản ứng nhanh chóng để tránh xu hướng đó lan tới những nhóm người dùng khác. Cohort analysis cũng giúp các marketer đặt ra những câu hỏi rất cụ thể liên quan đến hành vi người dùng và chỉ phân tích dữ liệu có liên quan.

Thay vì xem tất cả người dùng là một và có các đặc điểm, nhu cầu như nhau, bạn có thể chia họ thành nhiều nhóm để xác định hành vi trong suốt vòng đời. Điều này có thể giúp trả lời các câu hỏi như: 

  • Những tính năng nào kích thích người dùng tiếp tục quay lại sử dụng?
  • Các nhóm người dùng có phản ứng thế nào với các retention marketing campaign? Các chiến dịch đó có dẫn đến nhiều chuyển đổi hơn không? 
  • Sản phẩm của bạn thu hút người dùng mới đến mức nào (người dùng hiểu và thích ứng với sản phẩm của bạn trong bao lâu)?

Giả sử bạn muốn biết người dùng mất bao lâu để mua một sản phẩm, sau đó đăng đánh giá. Mặc dù thực hiện phân tích kênh về các sự kiện dẫn đến mua hàng sẽ giúp bạn hiểu rõ hơn về số lượng người không mua hàng – nó sẽ không giúp bạn hiểu được hành vi của những người đã thực hiện mua hàng.

Bạn có thể phân tích những người dùng có lần đầu tiên xem sản phẩm và ngay lập tức đưa ra quyết định mua, trong một khoảng thời gian đủ ngắn lý tưởng. Điều này sẽ giúp bạn có được ý tưởng người dùng sẽ mất bao lâu để đưa ra quyết định mua hàng. 

Phân tích người dùng mất bao lâu để đưa ra quyết định mua hàng

Có thể nhận ra rằng hầu hết người dùng đều mua hàng 2 – 4 ngày sau khi đánh giá sản phẩm. Hành vi thú vị này có thể là do một số yếu tố:

  • Ứng dụng gửi lời nhắc cho những người dùng này rằng sản phẩm họ đã xem vẫn có sẵn để mua từ ngày thứ 2 đến ngày thứ 4.
  • Ứng dụng gửi cho người dùng các ưu đãi giảm giá trên cùng một sản phẩm/các sản phẩm liên quan vào ngày thứ 3 hoặc ngày thứ 4 (vì những ngày này hiển thị số lượt mua hàng cao nhất).
  • Người dùng không chắc chắn rằng họ có đang nhận được mức giá tốt nhất trên trang web chưa và cần đánh giá các lựa chọn khác (do thiếu niềm tin, trong trường hợp các trang web thương mại điện tử chưa có nền tảng người dùng đủ vững).
  • Các sản phẩm high-involvement có giá trị cao và thường được mua một lần trong thời gian dài. Do đó, người dùng cần một thời gian để quyết định xem họ có muốn tiếp tục mua hàng hay không (ví dụ các sản phẩm đồ điện tử và thiết bị cao cấp).

Bước tiếp theo sẽ là xác định lý do tại sao người dùng mất 2 – 4 ngày để mua hàng và giảm khoảng cách thời gian nếu có thể.

Use case #4: Xác thực các giả định về hành vi người dùng

Bất cứ hành vi nào của người dùng có thể tác động từ nhiều yếu tố. Vì vậy, khi có giả định về hành vi người dùng hoặc rút ra một insight qua một nghiên cứu định tính, marketer cần sử dụng dữ liệu để trả lời cho câu hỏi: liệu hành vi đó có xảy ra ở nhiều nhóm người dùng, nếu không thì đâu là nhóm người dùng có hành vi đó nhiều nhất; hành vi đó xảy ra ở thời điểm nào trong vòng đời và có kéo dài không hay chỉ mang tính nhất thời?

Ví dụ: bạn muốn phân tích người dùng của một ứng dụng E-Commerce sẽ mất bao lâu để đưa ra quyết định mua hàng sau khi xem sản phẩm, và đã loại bỏ các yếu tố tác động từ các hoạt động truyền thông sau đó.

Bạn có thể phân tích cohort nhóm người dùng xem sản phẩm và có hành động mua hàng trong vòng 10 ngày gần nhất. Kết quả được trình bày như bảng dưới đây: 

phân tích cohort nhóm người dùng xem sản phẩm và có hành động mua hàng trong vòng 10 ngày

Phân tích nhanh sẽ cho thấy xu hướng khái quát là người dùng mất khoảng 2-4 ngày để đưa ra quyết định mua cho sản phẩm đã xem, dựa vào màu sắc của cột Day 2 tới Day 4 là đậm nhất và có tỷ lệ cao nhất. 

Có một giả định để lý giải hành vi này:

  • Giả định 1: Người dùng mất thời gian để đánh giá các lựa chọn khác do không chắc chắn rằng sản phẩm của bạn đã có giá tốt nhất so với các sàn thương mại điện tử khác hay chưa
  • Giả định 2: Sản phẩm có giá trị lớn, high-involvement và cần một khoảng thời gian để đưa ra quyết định

Giả định 1 có yếu tố tác động của giá bán và mức độ tin tưởng vào thương hiệu của người dùng, trong khi giả định 2 là vấn đề về nhận thức về sản phẩm và hành vi đưa ra quyết định cuối cùng của người dùng.

Cách tốt nhất để kiểm chứng giả định 2 chính là thực hiện một số chiến thuật nhằm thúc đẩy sự chuyển đổi để giúp người dùng đưa ra quyết định nhanh hơn: ví dụ các tin nhắn đánh vào yếu tố khan hiếm như  “Chỉ còn 2 sản phẩm cuối cùng”, hoặc các notification gợi nhớ người dùng về những sản phẩm đã xem,… Sau khi thực hiện các chiến thuật đó trong vòng 7 ngày, hãy thực hiện cohort analysis một lần nữa để kiểm tra giả định: 

thực hiện cohort analysis để kiểm tra giả thuyết đặt ra

Có thể thấy xu hướng chuyển đổi từ xem sản phẩm tới mua hàng đã chuyển dịch từ Day 2 – day 4 thành Day 0 – day 2, chứng minh rằng giả định của bạn đang đi đúng hướng. 

Use case #5: Hiểu thêm về nhu cầu và hành vi của người dùng

Một số yếu tố như người tiêu dùng theo mùa/người tiêu dùng theo ưu đãi/người tiêu dùng mua một lần,… khiến các marketer gặp khó khăn trong việc phân biệt các kiểu hành vi khác nhau của người dùng.

Ví dụ một trang web thương mại điện tử thường xuyên chạy chương trình giảm giá cuối mùa. Website này có tỷ lệ mua hàng cao trong thời gian khuyến mại, nhưng khi đợt giảm giá kết thúc, hoạt động kinh doanh sẽ trở lại bình thường. Mặc dù đây là hành vi thông thường của người dùng nhưng chúng tôi đang bỏ lỡ một khía cạnh rất quan trọng – hậu quả của việc bán hàng đối với doanh nghiệp của bạn. Thông thường, đợt giảm giá cuối mùa có các đặc điểm sau:

  • Được hỗ trợ bởi các chiến dịch truyền thông, nhằm tạo ra nhận thức và thu hút người dùng mới.
  • Được hỗ trợ bởi các chiến dịch re-engagement, nhằm mục đích kích thích người dùng cũ quay lại để mua những sản phẩm họ quan tâm với mức giá chiết khấu.
  • Được hỗ trợ bởi các chiến dịch cross-selling, nhằm thu hút nhóm người dùng có ý định tìm kiếm trên thanh search các sản phẩm tương tự.

Trong mỗi trường hợp được đề cập ở trên, nếu khách hàng có trải nghiệm tốt với đợt giảm giá cuối mùa của bạn thì rất có thể họ sẽ quay lại vào một ngày sau đó để mua sắm nhiều hơn. Nhưng liệu giả định đó có đúng không? Cohort analysis dưới đây sẽ giúp bạn tìm ra câu trả lời:

Phân tích cohort để hiểu thêm về nhu cầu và hành vi của người dùng

Giả sử bạn thực hiện hai đợt bán hàng theo mùa mỗi năm: Đầu tiên là đợt giảm giá cuối hè từ tháng 7 đến tháng 8 và đợt còn lại là đợt giảm giá mùa đông-giáng sinh từ tháng 11 đến tháng 12. Khi thực hiện phân tích nhóm những người mua hàng lặp lại trong khoảng thời gian 15 tháng, bạn thấy rằng doanh số bán hàng theo mùa đang thể hiện các hoạt động thúc đẩy mua hàng lặp lại đang hiệu quả:

  • Có 8,5% trong số các khách hàng cũ có quay lại website để mua sắm trong các dịp sale theo mùa. Điều này dường như phần lớn đúng với tất cả doanh số bán hàng theo mùa.
  • Có 7,7% người dùng thực hiện giao dịch mua hàng đầu tiên trong đợt giảm giá sẽ thực hiện mua hàng trả lại trong đợt giảm giá tiếp theo.
  • Có 3,9% người dùng thực hiện giao dịch mua hàng đầu tiên trong đợt giảm giá cũng thực hiện mua hàng lặp lại trong những tháng không có đợt giảm giá.
  • Có sự chênh lệch khá lớn giữa tỷ lệ mua lại của tháng bán hàng và tháng không bán hàng.

Doanh số bán hàng theo mùa đã đóng một vai trò quan trọng trong việc thu hút lại khách hàng và thúc đẩy việc mua hàng lặp lại trong một thời gian dài. Vì vậy, bạn nên cân nhắc thử nghiệm Spring Season Sale vào tháng 3 để xem liệu xu hướng mua hàng lặp lại nhiều có tiếp tục hay không.

5. Cách thực hiện Cohort Analysis 

Bước 1: Chuẩn bị data

Điều đầu tiên bạn cần chính là dataset đáng tin cậy. Một số nguồn data chuyên về E-Commerce như Shopify, Magento hoặc WooCommerce là những giải pháp sẵn có, phù hợp với yêu cầu. Tuy nhiên, nếu bạn có giải pháp nội bộ như CRM hoặc cơ sở dữ liệu, hãy đảm bảo giải pháp đó chứa thông tin sau:

  • Dữ liệu về người dùng: Mức độ chi tiết của dữ liệu về người dùng là nền tảng để phân nhóm trong cohort analysis. Tuy nhiên, đây là dữ liệu PII (thông tin nhận dạng cá nhân), vì vậy hãy đảm bảo bạn tuân thủ cả nguyên tắc GDPR và NDA.
  • Dữ liệu về ngày chuyển đổi và ngày thực hiện giao dịch/event: Dữ liệu giao dịch như ngày đặt hàng, ngày thanh toán, ngày thực hiện các event như đăng nhập, add to cart,… là dữ liệu quan trọng để bạn có thể đánh dấu thời điểm người dùng bắt đầu thực hiện hành vi và theo dõi chúng theo thời gian.
  • Giá trị để tính toán metric cần báo cáo: Thông thường đây sẽ là giá trị đơn hàng hoặc số lượng của fingerprint của các event trong mỗi session, được biểu thị bằng đơn vị tiền tệ hoặc số lượt. Bạn cũng có thể thực hiện cohort analysis với các số liệu như số lượng đơn đặt hàng hoặc số lượng khách hàng. Trong hai trường hợp sau này, bạn sẽ phải thực hiện đếm số ID duy nhất xác định từng đơn hàng hoặc khách hàng. Ngoài ra, bạn có thể sử dụng các giá trị khác như tỷ suất lợi nhuận (lợi nhuận/doanh thu) hoặc tỷ lệ giữ chân khách hàng để tính toán trong cohort analysis.

Đọc thêm: Đâu là hệ thống CRM phù hợp với doanh nghiệp của bạn?

Lưu ý: Mặc dù về mặt kỹ thuật, bạn có thể thực hiện cohort analysis với dữ liệu tổng hợp (aggregated data), nhưng lưu ý rằng dữ liệu này có thể hạn chế mức độ linh hoạt so với dữ liệu cấp độ của từng người dùng. Vì thế, bạn nên tránh sử dụng dữ liệu đã được tổng hợp như CPC (Chi phí mỗi lần nhấp chuột) khi thực hiện cohort analysis, thay vào đó hãy sử dụng dữ liệu cấp người dùng chi tiết hơn.

Bước 2: Xác định cách chia nhóm người dùng và tính khoảng cách thời gian

Sau khi đã có đầy đủ dữ liệu, bạn cần xác định:

Cách chia nhóm người dùng

Cách chia nhóm người dùng theo các mốc thời gian của một hành vi cụ thể (ví dụ như đăng ký sử dụng sản phẩm, lần đầu mua hàng) hoặc theo một kênh nhất định,… 

Khoảng cách thời gian

Khoảng cách thời gian tính toán khoảng thời gian kể từ mốc thời điểm lựa chọn để đo lường hành vi của người dùng/khách hàng cho tới thời điểm người dùng/khách hàng thực hiện hành vi mong muốn, ví dụ (ngày khách hàng mua lần đầu tiên) – (ngày khách hàng thực hiện giao dịch mua lại).

Bước 3: Duy trì phân tích cohort

Thay vì tạo ra báo cáo cohort nhằm mục đích ad-hoc, hãy duy trì phân tích thành báo cáo nhằm monitor tình hình vận hành hàng ngày, bằng cách đảm bảo dữ liệu có thể được cập nhật đều đặn theo hai cách:

  • Tự động cập nhật dữ liệu theo đường ống dữ liệu: Dữ liệu được đặt lịch để fetch data từ server về thông qua API.
  • Upsert dữ liệu thủ công: Sử dụng dữ liệu về ngày giao dịch để làm tiêu chí xác định thời gian update data lần cuối, sau đó lấy data một cách thủ công và upsert các record mới. Cách này sẽ có rủi ro là có record được update trong hệ thống nhưng không được cập nhật trong Google Sheets, nhưng bù lại có ưu điểm là tránh ghi đè những record cũ, từ đó giảm thiểu rủi ro tạo các bản ghi bị trùng lặp.

Bước 4: Trực quan hóa báo cáo cohort với các công cụ BI

Bạn có thể bổ sung một số yếu tố nhằm trực quan hóa và tạo sự thuận tiện trong việc khám phá báo cáo phân tích cohort:

  • Bổ sung dimension filters: dimension filters giúp dễ dàng (slice & dice) nhằm bẻ nhỏ một parameter và có góc nhìn chi tiết hơn.
  • Bổ sung giá trị lũy tiến: tính tổng giá trị theo thời gian để có thêm góc nhìn nhóm người dùng/khách hàng nào đem lại kết quả tốt hơn.
  • Bổ sung giá trị tổng theo từng cột: hiển thị thông tin về highest points theo giá trị lũy tiến đã tính.

Đây là một số gợi ý có thể giúp bạn trực quan hóa báo cáo tốt hơn. Ngoài ra, bạn cũng có thể bổ sung một số dữ liệu khác, ví dụ dữ liệu về social media và advertising để tính toán Chi phí thu hút khách hàng (CAC), phân tích điểm hòa vốn (break-even analysis) hoặc thậm chí là giá trị vòng đời của khách hàng (customer lifetime value).

6. Một số công cụ và cách thực hiện Cohort Analysis 

6.1. Cách thực hiện Cohort analysis trong Google Analytics 4

Để tạo báo cáo phân tích cohort trong Google Analytics 4, bạn click chọn Explore ở phía trái của thanh > Template Gallery > Cohort exploration template.

tạo báo cáo phân tích cohort trong Google Analytics 4

Ở giao diện này, bạn có thể lựa chọn các parameters:

  • Technique (kỹ thuật cohort)
  • Segment (nhóm các cohort)
  • Cohort inclusion (điều kiện tính số lượng người dùng vào cohort)
  • Return criteria (một điều kiện tiếp theo mà những người dùng này cần đáp ứng để tiếp tục ở trong nhóm cohort trong những khoảng thời gian sau đó)
  • Cohort granularity (theo ngày, theo tuần hay theo tháng)
  • Calculation type (cách tính toán – tính toán theo các phép toán cơ bản, giá trị động/rolling hay lũy kế)
  • Breakdown field (lựa chọn một số dimension theo nhu cầu)

Ở góc trên cùng bên trái, bạn cũng có thể thay đổi tên báo cáo và khám phá dữ liệu theo các phạm vi thời gian khác nhau để theo dõi hành vi của người dùng thay đổi như thế nào.

Theo mặc định, bạn sẽ nhìn thấy một bảng dữ liệu với mỗi người người dùng theo khoảng thời gian phân tích báo cáo. Bạn có thể điều chỉnh các filter, ví dụ:

  • Return Criteria — thời điểm bắt đầu của một session
  • Cohort granularity — theo tuần
  • Data range — trong vòng 6 tuần gần nhất 
  • Values – lượt truy cập
  • Metric type – tính trên mỗi user

Kết quả sẽ như sau:

ví dụ báo cáo cohort trong GA4

Trong cột đầu tiên là số lượng khách truy cập trong khoảng thời gian báo cáo. Ý nghĩa của các cột còn lại là hành vi truy cập lại của các nhóm có thay đổi như nào đối với tất cả người dùng và theo từng tuần. Tỷ lệ giữ chân càng cao thì màu sắc càng đậm: Từ ngày 30 tháng 12 đến ngày 5 tháng 1, đã có 6.604 người dùng mới đăng nhập vào trang web. Một tuần sau, chỉ có 4,47% trong số họ quay lại trang web; sau hai tuần, 2,32% quay lại,…

Bạn có thể tham khảo thêm về cách thực hiện Cohort Analysis trong Google Analytics, tuy nhiên hãy lưu ý một số điểm hạn chế của công cụ này:

  • Google Analytics chỉ có thể xác định nhóm người dùng dựa trên bộ event đã xác định và được định nghĩa sẵn của công cụ và người dùng không thể thay đổi và customize
  • Chỉ có thể phân tích một metric trong một report 
  • Không thể set the customer cohort granularity và chỉ có ba lựa chọn: theo ngày, theo tuần và theo tháng
  • Chỉ có một date range cho mỗi báo cáo. Bạn không thể thấy phân bổ doanh số bán hàng trong tháng 8 cho những khách hàng đã thực hiện giao dịch mua hàng đầu tiên vào tháng 5)
  • Không thể đặt date range báo cáo tương đối dài vì phạm vi ngày bị giới hạn và phụ thuộc vào mức độ chi tiết của nhóm. Ví dụ: khoảng thời gian báo cáo tối đa cho nhóm được tạo theo ngày là 30 ngày; theo tuần, 12 tuần; và theo tháng, 3 tháng.
  • Không thể filter dữ liệu trong standard setting: Ví dụ nếu bạn muốn phân tích hành vi người dùng theo cả loại traffic, loại thiết bị hoặc một parameter khác, bạn cần tạo từng nhóm người dùng theo từng tiêu chí trước.

6.2. Cách thực hiện Cohort Analysis trong Google Sheets

Bước 1: Chuẩn bị và làm sạch dữ liệu

Với Google Sheets, bạn có thể kết hợp các tính năng pivot tables, formulas, filter formulas và Apps Script để tạo ra báo cáo cohort analysis.

Đầu tiên, bạn cần import data lên Google Sheet, sau đó sắp xếp, trình bày và cấu trúc theo hình thức dưới đây: 

tạo bảng trong google sheet

Trong cột đầu tiên, bạn cần có dữ liệu thời gian theo tháng/tuần/ngày bắt đầu hình thành nhóm (registration_week). Với cột thứ hai, bạn cần có tháng/tuần/ngày giao dịch (transaction_week). Với cột thứ ba, bạn sẽ có số lần mua hàng (hoặc dữ liệu khác về số liệu bạn đang phân tích).

Bạn có thể upload data vào Google Sheets theo nhiều cách như sử dụng Google Analytics API, sử dụng kết hợp BigQuery export & Google Analytics 360 hoặc Google Analytics 4. Nếu sử dụng Google BigQuery để lưu trữ dữ liệu, bạn có thể sử dụng query SQL template như dưới đây để truy vấn: 

SELECT
registration_week,
Transaction_week,
SUM ( purchases ) AS purchases
FROM (
SELECT
IFNULL ( user.id, clientId ) AS userID,
STRING ( YEAR ( date )) + ’-’ + RIGHT ( ’0′ + STRING ( WEEK ( date )), 2 ) AS registration_week
FROM TABLE_DATE_RANGE ([projectID:datasetID.session_streaming_], TIMESTAMP ( ’2017-08-01′ ), CURRENT_TIMESTAMP ())
WHERE hits.eventInfo.eventCategory = ’registration’ ) AS t1
LEFT JOIN EACH (
SELECT
IFNULL ( user.id, clientId ) AS userID,
EXACT_COUNT_DISTINCT ( hits.transaction.transactionId ) AS purchases,
STRING ( YEAR ( date )) + ’-’ + RIGHT ( ’0′ + STRING ( MONTH ( date )), 2 ) AS transaction_week
FROM TABLE_DATE_RANGE ( [projectID:datasetID.session_streaming_], TIMESTAMP ( ’2017-08-01′ ), CURRENT_TIMESTAMP())
WHERE hits.eCommerceAction.action_type = ’purchase’
GROUP BY userID, transaction_week) AS t2
ON t1.userID = t2.userID
WHERE REPLACE ( registration_week, ’-’, ’’ ) <= REPLACE ( transaction_week, ’-’, ’’ )
GROUP BY registration_week, transaction_week,
ORDER BY registration_week, transaction_week

Bước 2: 

1/ Tạo báo cáo với pivot tables

Cách dễ nhất để xây dựng báo cáo cohort là sử dụng pivot table. Đầu tiên, lựa chọn khoảng thời gian cần phân tích bằng cách mở Insert tab và chọn Pivot Table. Giao diện sẽ hiển thị hộp thoại pivot table như dưới đây:

Tạo báo cáo với pivot tables

Trong Rows, chọn registration_week; trong Columns, chọn transaction_week (các cột bổ sung hiển thị các tuần tiếp theo); và trong Values, chọn số lượt mua hàng. Sau đó áp dụng conditional formatting, tạo dải màu cho giá trị giúp báo cáo trực quan hơn:

áp dụng conditional formatting để tạo dải màu

Nếu bạn cần phân tích một số metrics, báo cáo sẽ hiển thị như dưới đây:

báo cáo cohort

Ngoài ra, bạn cũng có thể bổ sung các filters vào pivot table nếu cần.

2/ Tạo báo cáo cohort analysis với các công thức

  • Tạo một sheet mới và sử dụng công thức = UNIQUE (Example! A: A) vào ô A2 để insert tất cả các tuần từ dữ liệu gốc vào sheet mới.
sử dụng công thức = UNIQUE
  • Sau đó sử dụng công thức =TRANSPOSE (UNIQUE (Example! B2: B)) ​ ở ô B2 để tính tất cả các tuần có giao dịch và chuyển từ dạng cột trong bảng dữ liệu gốc sang hàng
sử dụng công thức =TRANSPOSE
  • Sau đó sử dụng công thức = SUMIF (Example!$C:$C, Example!$A:$A,$A3, Example!$B:$B, B$2) ​vào ô B3 để tính tổng tất cả các giao dịch mua từ cột C của bảng dữ liệu gốc
sử dụng công thức = SUMIF

Chú ý: Example trong công thức là tên của spreadsheet có dữ liệu gốc

Cuối cùng, kéo công thức theo cột/hàng và tạo conditional formatting để bôi dải màu cho giá trị. 

3/ Tạo báo cáo cohort analysis bằng cách kết hợp công thức và filters

Bạn cũng có thể điều chỉnh công thức theo cách trước đó để lọc dữ liệu trong báo cáo theo bất kỳ parameter.

Đầu tiên, bạn cần bổ sung parameter vào sheet dữ liệu gốc. Với ví dụ trên, có thể thêm traffic source, traffic medium, kênh và tên campaign. Bạn cũng có thể thêm một số parameter khác như dữ liệu địa lý (quốc gia, thành phố), dữ liệu về thiết bị (loại thiết bị, hệ điều hành, phiên bản điện thoại),… 

Bạn cũng có thể thay đổi cohort size từ hàng tuần sang hàng tháng. Với những thay đổi đó, bạn có thể thấy kết quả như dưới đây:

Tạo báo cáo cohort analysis bằng cách kết hợp công thức và filters

Sau đó, tạo thêm một sheet Month và áp dụng tương tự các công thức như phía trên: Insert công thức = UNIQUE (Example! A: A) vào ô A2 

Insert công thức = UNIQUE

Tiếp đó, tạo thêm một sheet báo cáo mới và tạo thêm hai filter Source/MediumCampaign bằng cách:

  • Mở Data > tab Data Validation.
  • Trong trường Cell range, nhập vị trí ô để xác định ô sẽ hiển thị filter danh sách drop-down.
  • Trong trường Criteria, chọn điều kiện List FROM a range và xác định vị trí cột tương ứng với parameter từ bảng data gốc.
  • Chọn Save.
data validation

Cuối cùng, chúng ta sẽ có filter như dưới đây:

tạo filter

Sau đó, sử dụng công thức =Month! A$2 tại cột A để lấy tất cả tháng có người dùng đăng ký từ sheet Month.

Mỗi giá trị tháng có thể lặp lại nhiều lần, tùy thuộc số parameters mà báo cáo cohort đang có (trong ví dụ này có 3 parameter là User, Revenue và Cost). Đây cũng là lý do vì sao cần phải tạo riêng một sheet để lấy thông tin về tháng.

sử dụng công thức =Month

Các parameter được nhập thủ công và không dùng công thức.

Sử dụng công thức =TRANSPOSE (UNIQUE (Example2! B2: B)) trong ô C2, công thức này sẽ lấy các tháng có giao dịch từ bảng dữ liệu gốc và chuyển định dạng từ cột thành hàng.

Và cuối cùng, để tính giá trị của các ô theo từng tháng sau đó, chèn công thức:

=IF (AND ($B$1=””,$D$1=””), SUMIF (Example2!$E:$E, Example2!$A:$A,$A3, Example2!$B:$B, C$2), IF (AND ($B$1=””), SUMIF (Example2!$E:$E, Example2!$A:$A,$A3, Example2!$B:$B, C$2, Example2!$D:$D,$D$1), IF (AND ($D$1=””), SUMIF (Example2!$E:$E, Example2!$A:$A,$A3, Example2!$B:$B, C$2, Example2!$C:$C,$B$1), SUMIF (Example2!$E:$E, Example2!$A:$A,$A3, Example2!$B:$B, C$2, Example2!$C:$C,$B$1, Example2!$D:$D,$D$1))))

Công thức này sẽ tính toán metrics cần tính trong ô mong muốn dựa trên các filters.

sử dụng hàm if để tính toán

Bởi chúng ta có 2 filters, cần đưa tất cả các kết hợp có thể có vào công thức:​ 

Công thức theo điều kiện trên được tính dựa theo các trường hợp: 

  • Cả hai filters đều trống 
  • Cả hai filters đều có giá trị
  • Chỉ filters đầu tiên có giá trị
  • Chỉ filters thứ hai có giá trị

Đối với mỗi metric, công thức không thay đổi; chỉ cột tính tổng giá trị của một metric cụ thể mới thay đổi. Ví dụ: đối với chỉ số User, tính tổng của cột Example2!$E:$E; đối với chỉ số Revenue, tính tổng cột Example2!$H:$H; và đối với chỉ số Cost, tính tổng cột Example2!$I:$I.

Nếu muốn có nhiều hơn hai filters trong báo cáo, bạn sẽ cần tăng số lượng điều kiện và thay đổi công thức. 

4/Tạo báo cáo cohort analysis bằng cách Google Apps Script

Google Apps Script là ngôn ngữ lập trình JavaScript cho phép bạn thêm các tính năng và xử lý dữ liệu trên Google Sheets và các dịch vụ khác của Google. 

Để tạo báo cáo cohort analysis bằng Google Apps Script, bạn không cần chuyển dữ liệu sang Google Sheets. Bảng có dữ liệu gốc được tạo trong Google BigQuery, từ đó Apps Script có thể xuất dữ liệu sang sheet báo cáo.

Sử dụng script, bạn có thể:

  • Tạo ra một menu trên thanh công cụ của Google Sheets để chạy công thức tính toán riêng chỉ với một cú click chuột.
  • Thực hiện các câu truy vấn dữ liệu từ BigQuery và truy xuất những kết quả đó.
  • Tạo các ô sẽ được sử dụng làm filters. Các parameter phải được nhập thủ công. Các filters sẽ không có danh sách drop-down như trong báo cáo được tạo bằng công thức. Bạn sẽ phải chỉ định giá trị mà bạn muốn tự lọc dữ liệu trong ô và giá trị này được sử dụng trong truy vấn SQL đối với dữ liệu trong Google BigQuery.
  • Thay đổi cách hiển thị báo cáo: áp dụng định dạng có điều kiện (conditional formatting), thực hiện các dấu ngắt và thụt lề cần thiết, thay đổi thứ tự các mục, thay đổi chiều của bảng (từ cột sang hàng và ngược lại),…

Để kết nối Apps Script với Google Sheets, nhấp chọn Tools trên thanh công cụ > nhấp chọn tab Script editor > nhấp chọn Resources > vào Additional functions of Google Services > kích hoạt BigQuery API và Google Sheets API:

Tạo báo cáo cohort analysis bằng cách Google Apps Script

Sau đó, truy cập Google Cloud Platform để kích hoạt các API. Lúc này, bạn có thể chạy các câu lệnh (scripts) trong Trình chỉnh sửa để lấy dữ liệu từ Google BigQuery và tạo cohort report trong Google Sheets. 

Bạn có thể sử dụng mẫu script cho báo cáo cohort với một parameter và hai filter như trên. Sau đó, bạn có thể chèn tên project vào script và bảng dữ liệu trên BigQuery và nhận kết quả báo cáo như hình:

mẫu script cho báo cáo cohort

Bạn cũng có thể dễ dàng sửa đổi mẫu script để tạo báo cáo với các trường và số lượng số liệu bạn cần.

6.3. Cách thực hiện Cohort Analysis với SQL

Cách thực hiện Cohort analysis với SQL

Tương tự cách thực hiện cohort analysis như Google Analytics và Excel, bạn vẫn cần dataset với 2 bảng: user (cần có field id và timestamp user lần đầu chuyển đổi) và activities (cần có field user_id và timestamp của hành động cần phân tích) .

Lưu ý: Trong case study hướng dẫn sẽ sử dụng PostgreSQL

Đầu tiên, tạo bảng CTE cohort_items để nhóm người dùng theo đặc điểm chung, trong case study này thì dựa theo tháng đầu tiên đăng ký:

— (user_id, cohort_month), each
WITH cohort_items AS (
SELECT
DATE_TRUNC(‘month’, U.timestamp)::DATE as cohort_month,
id AS user_id
FROM users U
ORDER BY 1, 2
)

Sau đó, tạo bảng CTE  user_activities:

— (user_id, month_number): user X has activity in month number X
WITH user_activities AS (
SELECT
A.user_id,
EXTRACT(month FROM
AGE(DATE_TRUNC(‘month’, A.timestamp)::DATE, C.cohort_month)
) AS month_number
FROM public.activities A
LEFT JOIN cohort_items C ON A.user_id = C.user_id
GROUP BY 1, 2
)

Kết quả query sẽ trả về tất cả các cặp (user_id, month_number) cho biết liệu người dùng có hoạt động trong tháng đó sau ngày đăng ký ban đầu của họ hay không.

user month_number 
Alex 0
Alex 1
Bob 0
Bob 2

Tiếp tục tạo bảng CTE cohort_size để tính tổng số người dùng ở mỗi nhóm.

— (cohort_month, size)
WITH cohort_size AS (
SELECT
cohort_month,
count(1) AS num_users
FROM cohort_items
GROUP BY 1
ORDER BY 1
),

Cuối cùng, LEFT JOIN để join các thông tin vào một bảng:

— (cohort_month, month_number, cnt)
WITH retention_table as (
SELECT
C.cohort_month,
A.month_number,
count(1) as num_users
FROM user_activities A
LEFT JOIN cohort_items C ON A.user_id = C.user_id
GROUP BY 1, 2
)
— our final value: (cohort_month, size, month_number, percentage)
SELECT
B.cohort_month,
S.num_users as total_users,
B.month_number,
B.num_users::float * 100 / S.num_users as percentage
FROM retention_table B
LEFT JOIN cohort_size S ON B.cohort_month = S.cohort_month
WHERE B.cohort_month IS NOT NULL
ORDER BY 1, 3

Kết quả nhận được sẽ là: 

dữ liệu để tạo bảng cohort

Sau đó sử dụng các công cụ BI có hỗ trợ trực quan hóa dữ liệu dưới dạng cohort table và chúng ta có kết quả như dưới đây:

trực quan hóa dữ liệu dưới dạng cohort table

Tạm kết

Cohort Analytics là một kỹ thuật phân tích giúp hiểu rõ hơn về hành vi mua sắm và tương tác của khách hàng và người dùng. Đây sẽ là kỹ thuật phân tích bắt buộc phải có nếu doanh nghiệp muốn nâng cao hiểu biết về khách hàng/người dùng, tăng engagement và giữ chân họ cũng như giảm tỷ lệ rời bỏ doanh nghiệp. 

Đăng ký ngay khóa học Data Analysis – Phân tích dữ liệu cho quyết định chiến lược để đọc, hiểu và rút ra insight từ dữ liệu mà đối tượng khách hàng mục tiêu để lại.

Khóa học sẽ giúp bạn: 

  • Hiểu rõ quy trình làm việc với dữ liệu: Nắm vững quy trình 6 bước từ: Xác định vấn đề, Thu thập dữ liệu, Chuẩn bị dữ liệu, Khám phá dữ liệu, Xây dựng báo cáo, đến Phân tích dữ liệu và Đề xuất giải pháp, giúp bạn tiếp cận dữ liệu một cách hiệu quả.
  • Phát triển tư duy đặt vấn đề và xác định bài toán: Nắm vững kỹ năng đặt câu hỏi đúng và xác định chính xác bài toán trước khi tiếp cận giải quyết vấn đề dữ liệu. Sử dụng công cụ “Issue Tree” để đảm bảo giải pháp của bạn thật sự đáp ứng đúng vấn đề doanh nghiệp.
  • Kỹ năng xử lý và trực quan hóa dữ liệu: Học cách sử dụng công cụ như Power BI, Excel để hỗ trợ xử lý và trực quan hóa dữ liệu, giúp bạn khám phá thông tin từ dữ liệu một cách đầy đủ hơn.
  • Nâng cao khả năng đọc số và rút ra insight: Luyện tập đọc số và rút ra insight từ dữ liệu, phát hiện các điểm bất thường, tìm ra xu hướng, nguyên nhân và trình bày đề xuất, qua các case study trong nhiều lĩnh vực khác nhau như Sales, User, Digital… Dưới sự hướng dẫn của các trainers có nhiều kinh nghiệm.

Tìm hiểu và đăng ký tư vấn khóa học Data Analysis tại đây!