Growth Mindset

#02: Habit Moment Correlation – [User Activation Moments]

Challenge 2: Habit Moment Correlation là bài thứ 02 trong case study User Activation Moments

Sau khi bạn đã hiểu được Retention Curve ở Challenge 1, nhiệm vụ lần này là xác định “Habit Moment” – thời điểm người dùng hình thành thói quen sử dụng sản phẩm.

Bạn sẽ sử dụng SQL để tìm ra mối tương quan giữa số lần người dùng thực hiện hành động cốt lõi (core action) trong 7 ngày đầu tiêntỷ lệ họ được giữ chân sau 30 ngày. Đây là một trong những bài phân tích quan trọng nhất để hiểu cách hành vi ban đầu dẫn tới retention dài hạn.

Tình huống: Sau khi phân tích Retention Curve ở Challenge 1, bạn nhận thấy sự rơi rụng lớn sau tháng đầu tiên. Giả thuyết đặt ra là những người dùng hình thành được thói quen sớm sẽ ở lại lâu hơn. Sản phẩm của bạn có một hành động cốt lõi (core action) là “tạo báo cáo” (create_report). Nhiệm vụ của bạn là tìm ra một định nghĩa cụ thể cho “Habit Moment” bằng cách xác định tần suất thực hiện hành động “tạo báo cáo” trong tuần đầu tiên có tương quan mạnh nhất với tỷ lệ giữ chân sau 30 ngày.

Challenge Habit Moment

Viết một câu lệnh SQL Server để phân tích mối tương quan giữa số lần người dùng “tạo báo cáo” trong 7 ngày đầu tiên và khả năng họ được giữ chân sau 30 ngày.

  • Core Actioncreate_report.
  • Initial Period: 7 ngày đầu tiên kể từ ngày đăng ký.
  • Retained User (after 30 days): Người dùng được tính là “giữ chân” nếu họ có bất kỳ hoạt động nào trong khoảng thời gian từ ngày thứ 8 đến ngày thứ 30 sau khi đăng ký.

Theory Liên Quan

Habit Moment
  • Định nghĩaHabit Moment (Điểm hình thành thói quen) là một ngưỡng hành vi có thể đo lường được, báo hiệu rằng người dùng đã bắt đầu tích hợp sản phẩm vào thói quen của họ. Nó không phải là một cảm giác, mà là một cột mốc cụ thể.
  • Công thức chung:
    • Nó thường được định nghĩa theo công thức: “Người dùng thực hiện [Hành động Cốt lõi] ít nhất X lần trong Y ngày đầu tiên.”
    • [Hành động Cốt lõi] (Core Action): Hành động chính mang lại giá trị cho người dùng (ví dụ: create_report trong challenge này, ‘đăng ảnh’ trên Instagram, ‘ghim’ trên Pinterest).
    • X và Y: Nhiệm vụ của một Data Analyst là tìm ra các giá trị X và Y này bằng cách phân tích dữ liệu.
  • Tại sao nó quan trọng:
    • Nó là một chỉ báo sớm (leading indicator) cho việc giữ chân người dùng dài hạn. Những người dùng đạt đến Habit Moment có khả năng ở lại với sản phẩm cao hơn đáng kể.
    • Nó cho team sản phẩm một mục tiêu rõ ràng: “Làm thế nào để chúng ta giúp nhiều người dùng mới đạt được cột mốc ‘tạo 3 báo cáo trong 7 ngày’?”
  • Ví dụ kinh điển:
    • Facebook: Phát hiện ra rằng “người dùng kết nối với 7 người bạn trong 10 ngày đầu tiên” có khả năng trở thành người dùng hoạt động lâu dài cao hơn nhiều. Đây chính là Habit Moment của họ.
Correlation Analysis (Phân Tích Tương Quan)
  • Định nghĩaCorrelation Analysis là một phương pháp thống kê để xem xét mối quan hệ giữa hai hoặc nhiều biến số. Nó cho chúng ta biết liệu chúng có xu hướng di chuyển cùng nhau hay không.
  • Tương quan không phải là Nhân quả (Correlation is not Causation):
    • Đây là một nguyên tắc cực kỳ quan trọng. Chỉ vì hai thứ xảy ra cùng nhau không có nghĩa là cái này gây ra cái kia.
    • Ví dụ: Doanh số bán kem và số vụ chết đuối đều tăng vào mùa hè. Chúng có tương quan dương mạnh, nhưng ăn kem không gây ra chết đuối. Biến thứ ba (thời tiết nóng) là nguyên nhân gây ra cả hai.
  • Cách chúng ta sử dụng nó ở đây:
    • Chúng ta tìm kiếm một mối tương quan mạnh giữa một hành vi sớm (số lần create_report trong 7 ngày đầu) và một kết quả sau này (tỷ lệ giữ chân sau 30 ngày).
    • Chúng ta không khẳng định rằng việc tạo báo cáo gây ra sự giữ chân, nhưng chúng ta có thể nói rằng nó là một tín hiệu mạnh mẽ của một người dùng có khả năng sẽ ở lại.
  • Tìm kiếm Điểm uốn (Inflection Point):
    • Khi chúng ta vẽ biểu đồ tỷ lệ giữ chân so với tần suất hành động, chúng ta thường tìm kiếm một “điểm uốn” – nơi tỷ lệ giữ chân tăng vọt.
    • Ví dụ:
      • 1 báo cáo -> 10% giữ chân
      • 2 báo cáo -> 15% giữ chân
      • 3 báo cáo -> 65% giữ chân
    • Sự nhảy vọt từ 15% lên 65% tại mốc “3 báo cáo” chính là điểm uốn. Đây là ứng cử viên sáng giá nhất cho Habit Moment.
habit moment

SQL Solution

/*
*   Mục tiêu: Tìm ra "Habit Moment" - một ngưỡng hành động mà khi người dùng vượt qua, họ có khả năng quay lại cao hơn đáng kể.
*   Phương pháp: Phân tích mối tương quan giữa tần suất thực hiện một hành động cốt lõi ('create_report') trong tuần đầu tiên và tỷ lệ giữ chân (retention) trong các tuần tiếp theo.
*   Giả thuyết: "Người dùng thực hiện hành động 'create_report' ít nhất N lần trong 7 ngày đầu tiên có tỷ lệ giữ chân cao hơn đáng kể."
*/
WITH
/*
*   Mục tiêu: Đếm số lần mỗi người dùng thực hiện hành động 'create_report' trong 7 ngày đầu tiên kể từ lúc đăng ký.
*   Tư duy ngược (Tại sao cần bước này?): Để kiểm tra giả thuyết, chúng ta cần một biến độc lập (independent variable) - đó là "tần suất hành động". CTE này tạo ra biến đó, phân loại người dùng vào các nhóm dựa trên mức độ tương tác ban đầu của họ (0 lần, 1 lần, 2 lần, v.v.).
*   Cách làm: Với mỗi người dùng, đếm số sự kiện 'create_report' xảy ra trong khoảng thời gian từ lúc đăng ký đến trước 7 ngày sau đó.
*/
First7DaysActivity AS (
    SELECT
        u.UserID,
        -- Đếm các sự kiện 'create_report' trong 7 ngày đầu tiên.
        COUNT(CASE WHEN e.EventName = 'create_report' THEN e.EventID ELSE NULL END) AS ReportCount
    FROM
        Users u
    LEFT JOIN
        Events e ON u.UserID = e.UserID
        -- Hoạt động phải xảy ra trong vòng 7 ngày đầu (từ ngày 0 đến hết ngày 6).
        AND e.EventTimestamp < DATEADD(day, 7, u.RegistrationDate)
    GROUP BY
        u.UserID
),
/*
*   Mục tiêu: Xác định xem một người dùng có được coi là "được giữ chân" (retained) hay không.
*   Tư duy ngược (Tại sao cần bước này?): Đây là biến phụ thuộc (dependent variable) của chúng ta. Để đo lường tác động của tần suất hành động, chúng ta cần một định nghĩa rõ ràng về "kết quả thành công". Ở đây, thành công được định nghĩa là người dùng có quay lại sau tuần đầu tiên.
*   Cách làm: Lấy danh sách những người dùng có ít nhất một hoạt động trong khoảng thời gian từ ngày thứ 8 đến ngày thứ 30.
*/
RetentionStatus AS (
    SELECT DISTINCT
        u.UserID,
        1 AS IsRetained
    FROM
        Users u
    JOIN
        Events e ON u.UserID = e.UserID
    WHERE
        -- Hoạt động phải nằm trong khoảng từ đầu ngày thứ 8 đến hết ngày thứ 30.
        e.EventTimestamp >= DATEADD(day, 7, u.RegistrationDate)
        AND e.EventTimestamp < DATEADD(day, 31, u.RegistrationDate)
)
/*
*   Mục tiêu: Kết hợp dữ liệu tần suất và trạng thái giữ chân để tính toán tỷ lệ giữ chân cho mỗi nhóm tần suất.
*   Tư duy ngược (Tại sao cần bước này?): Đây là bước kiểm chứng giả thuyết. Bằng cách so sánh tỷ lệ giữ chân của các nhóm (nhóm không làm gì, nhóm làm 1 lần, 2 lần, 3 lần...), chúng ta có thể xác định được ngưỡng "N" mà tại đó tỷ lệ giữ chân tăng vọt. Ngưỡng đó chính là "Habit Moment".
*   Cách làm: JOIN hai CTE trên, nhóm theo `ReportCount`, sau đó đếm tổng số người dùng và số người dùng được giữ chân trong mỗi nhóm để tính ra tỷ lệ.
*/
SELECT
    f7a.ReportCount AS ActivityFrequencyInFirst7Days,
    COUNT(DISTINCT f7a.UserID) AS TotalUsers,
    COUNT(rs.UserID) AS RetainedUsers,
    -- Công thức: Tỷ lệ giữ chân = (Số người dùng được giữ chân) / (Tổng số người dùng)
    CAST( (1.0 * COUNT(rs.UserID)) / COUNT(DISTINCT f7a.UserID) AS DECIMAL(6,2) ) AS RetentionRate
FROM
    First7DaysActivity f7a
LEFT JOIN
    RetentionStatus rs ON f7a.UserID = rs.UserID
GROUP BY
    f7a.ReportCount
ORDER BY
    ActivityFrequencyInFirst7Days;

Giải Thích Output

  • ActivityFrequencyInFirst7Days: Số lần người dùng thực hiện hành động create_report trong 7 ngày đầu tiên.
  • TotalUsers: Tổng số người dùng có cùng tần suất hoạt động đó.
  • RetainedUsers: Trong số TotalUsers, có bao nhiêu người đã được giữ chân (có hoạt động sau 30 ngày).
  • RetentionRate: Tỷ lệ giữ chân, tính bằng RetainedUsers / TotalUsers. Đây là cột quan trọng nhất để tìm ra điểm uốn (inflection point).

Cách đọc kết quả:
Bằng cách quan sát cột RetentionRate, bạn sẽ tìm thấy một “điểm uốn” – một ngưỡng tần suất hoạt động mà tại đó, tỷ lệ giữ chân tăng đột biến. Ví dụ, tỷ lệ có thể là 10% cho người tạo 1 báo cáo, 25% cho 2 báo cáo, nhưng vọt lên 70% cho người tạo 3 báo cáo. Ngưỡng “3 báo cáo” đó chính là ứng cử viên sáng giá cho “Habit Moment”.

Template Insight Mẫu

  • Insight 1: Xác định điểm uốn (Inflection Point).
    • Dữ liệu cho thấy một mối tương quan mạnh mẽ giữa số lượng báo cáo được tạo trong tuần đầu và tỷ lệ giữ chân sau 30 ngày.
    • Cụ thể, tỷ lệ giữ chân tăng vọt từ 25% ở những người tạo 2 báo cáo lên 70% ở những người tạo 3 báo cáo. Đây là một điểm uốn quan trọng.
  • Insight 2: Định nghĩa Habit Moment.
    • Dựa trên phân tích, chúng tôi đề xuất định nghĩa ‘Habit Moment’ cho sản phẩm là: ‘Người dùng tạo ít nhất 3 báo cáo trong 7 ngày đầu tiên’.
    • Đây là một chỉ số hành vi có khả năng dự báo cao về việc giữ chân người dùng lâu dài.
  • Insight 3: Đề xuất hành động.
    • Mục tiêu của team Growth bây giờ nên tập trung vào việc thúc đẩy người dùng mới đạt được ‘Habit Moment’ này.
    • Các chiến dịch onboarding, hướng dẫn trong sản phẩm, và email marketing nên được thiết kế để khuyến khích người dùng tạo 3 báo cáo đầu tiên càng nhanh càng tốt.

Liên Kết Điều Hướng

← Về Case User Activation Moments
← Về Challenge 1 → Retention Curve Analysis
Tiếp tục Challenge 3 → Aha! Moment Behavioral Analysis

Nếu bạn muốn học phân tích dữ liệu thực chiến từ Business Mindset cho đến Coding thì có thể đăng ký các khóa học Phân Tích Dữ Liệu Thực Chiến nhé. Inbox mình Tại Đây.