Kiểm tra dữ liệu Thử nghiệm A/B bằng BigQuery

Ngoài việc xem dữ liệu thử nghiệm A/B Testing trong bảng điều khiển Firebase, bạn có thể kiểm tra và phân tích dữ liệu thử nghiệm trong BigQuery. Mặc dù A/B Testing không có bảng BigQuery riêng, nhưng tư cách thành viên của thử nghiệm và biến thể được lưu trữ trên mọi sự kiện Google Analytics trong bảng sự kiện Analytics.

Thuộc tính người dùng chứa thông tin thử nghiệm có dạng userProperty.key like "firebase_exp_%" hoặc userProperty.key = "firebase_exp_01" trong đó 01 là mã thử nghiệm và userProperty.value.string_value chứa chỉ mục (dựa trên 0) của biến thể thử nghiệm.

Bạn có thể sử dụng các thuộc tính người dùng thử nghiệm này để trích xuất dữ liệu thử nghiệm. Điều này giúp bạn có thể phân tích kết quả thử nghiệm theo nhiều cách và xác minh độc lập kết quả của A/B Testing.

Để bắt đầu, hãy hoàn tất các bước sau như mô tả trong hướng dẫn này:

  1. Bật tính năng xuất dữ liệu BigQuery cho Google Analytics trong bảng điều khiển Firebase
  2. Truy cập vào dữ liệu A/B Testing bằng BigQuery
  3. Khám phá các truy vấn mẫu

Bật tính năng xuất dữ liệu BigQuery cho Google Analytics trong bảng điều khiển Firebase

Nếu đang sử dụng gói Spark, bạn có thể sử dụng BigQuery hộp cát để truy cập BigQuery miễn phí, tuỳ thuộc vào hạn mức của Hộp cát. Hãy xem phần Định giá và hộp cátBigQuery BigQuery để biết thêm thông tin.

Trước tiên, hãy đảm bảo rằng bạn đang xuất dữ liệu Analytics sang BigQuery:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến phần Cài đặt > thẻ Tích hợp.

  2. Trong thẻ BigQuery, hãy nhấp vào Manage (Quản lý) và xác minh rằng dự án của bạn đang xuất dữ liệu Analytics sang BigQuery.

    Nếu thẻ này có nội dung là Link (Liên kết), thì bạn cần thiết lập tính năng xuất dữ liệu (tiếp tục bước tiếp theo).

  3. Nếu bạn cần thiết lập tính năng xuất dữ liệu:

    1. Xem phần About Linking Firebase to BigQuery (Giới thiệu về việc liên kết Firebase với BigQuery), sau đó nhấp vào Next (Tiếp theo).

    2. Trong phần Configure integration (Định cấu hình tính năng tích hợp), hãy bật Google Analytics.

    3. Chọn một khu vực và chọn chế độ cài đặt xuất dữ liệu.

    4. Nhấp vào Link to BigQuery.

Tuỳ thuộc vào cách bạn chọn xuất dữ liệu, có thể mất đến một ngày để các bảng này xuất hiện. Để biết thêm thông tin về cách xuất dữ liệu dự án sang BigQuery, hãy xem Xuất dữ liệu dự án sang BigQuery.

Truy cập vào dữ liệu A/B Testing trong BigQuery

Trước khi truy vấn dữ liệu cho một thử nghiệm cụ thể, bạn cần lấy một số hoặc tất cả thông tin sau để sử dụng trong truy vấn:

  • Mã thử nghiệm: Bạn có thể lấy mã này từ URL của trang Experiment overview (Tổng quan về thử nghiệm). Ví dụ: nếu URL của bạn có dạng https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, thì mã thử nghiệm là 25.
  • Google Analytics mã tài sản: Đây là mã tài sản gồm 9 chữ số Google Analytics. Bạn có thể tìm thấy mã này trong Google Analytics; mã này cũng xuất hiện trong BigQuery khi bạn mở rộng tên dự án để hiển thị tên của Google Analytics sự kiện bảng (project_name.analytics_000000000.events).
  • Ngày thử nghiệm: Để tạo một truy vấn nhanh hơn và hiệu quả hơn, bạn nên giới hạn truy vấn của mình ở các phân vùng bảng sự kiện hằng ngày có chứa dữ liệu thử nghiệm – các bảng được xác định bằng hậu tố YYYYMMDD.Google Analytics Vì vậy, nếu thử nghiệm của bạn chạy từ ngày 2 tháng 2 năm 2024 đến ngày 2 tháng 5 năm 2024, bạn sẽ chỉ định _TABLE_SUFFIX between '20240202' AND '20240502'. Để xem ví dụ, hãy xem phần Chọn giá trị của một thử nghiệm cụ thể.
  • Tên sự kiện: Thông thường, các tên này tương ứng với các chỉ số mục tiêu mà bạn đã định cấu hình trong thử nghiệm. Ví dụ: sự kiện in_app_purchase, ad_impression hoặc user_retention.

Sau khi bạn thu thập thông tin cần thiết để tạo truy vấn:

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến BigQuery.
  2. Chọn dự án của bạn, sau đó chọn Create SQL query (Tạo truy vấn SQL).
  3. Thêm truy vấn. Để xem các truy vấn mẫu cần chạy, hãy xem phần Khám phá các truy vấn mẫu.
  4. Nhấp vào Run (Chạy).

Truy vấn dữ liệu thử nghiệm bằng truy vấn được tạo tự động của bảng điều khiển Firebase

Nếu bạn đang sử dụng gói Blaze, trang Experiment overview (Tổng quan về thử nghiệm) sẽ cung cấp một truy vấn mẫu trả về tên thử nghiệm, biến thể, tên sự kiện và số lượng sự kiện cho thử nghiệm mà bạn đang xem.

Cách lấy và chạy truy vấn được tạo tự động:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến DevOps & Engagement > A/B Testing.
  2. Chọn thử nghiệm A/B Testing mà bạn muốn truy vấn để mở Experiment overview (Tổng quan về thử nghiệm).
  3. Trên trình đơn Tuỳ chọn, bên dưới phần BigQuery integration (Tích hợp), hãy chọn Query experiment data (Truy vấn dữ liệu thử nghiệm). Thao tác này sẽ mở dự án của bạn trong BigQuery trong Google Cloud bảng điều khiển và cung cấp một truy vấn cơ bản mà bạn có thể dùng để truy vấn dữ liệu thử nghiệm.

Ví dụ sau đây cho thấy một truy vấn được tạo cho một thử nghiệm có 3 biến thể (bao gồm cả đường cơ sở) có tên là "Winter welcome experiment" (Thử nghiệm chào đón mùa đông). Truy vấn này trả về tên thử nghiệm đang hoạt động, tên biến thể, sự kiện riêng biệt và số lượng sự kiện cho từng sự kiện. Xin lưu ý rằng trình tạo truy vấn không chỉ định tên dự án của bạn trong tên bảng, vì trình tạo này sẽ mở trực tiếp trong dự án của bạn.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Để xem thêm các ví dụ về truy vấn, hãy chuyển đến phần Khám phá các truy vấn mẫu.

Khám phá các truy vấn mẫu

Các phần sau đây đưa ra ví dụ về các truy vấn mà bạn có thể dùng để trích xuất A/B Testing dữ liệu thử nghiệm từ Google Analytics bảng sự kiện.

Trích xuất giá trị độ lệch chuẩn của giao dịch mua và thử nghiệm từ tất cả thử nghiệm

Bạn có thể sử dụng dữ liệu kết quả thử nghiệm để xác minh độc lập Firebase A/B Testing kết quả. Câu lệnh SQL BigQuery sau đây trích xuất các biến thể thử nghiệm, số lượng người dùng riêng biệt trong từng biến thể và tổng doanh thu từ các sự kiện in_app_purchaseecommerce_purchase, cũng như độ lệch chuẩn cho tất cả thử nghiệm trong phạm vi thời gian được chỉ định là ngày bắt đầu và ngày kết thúc _TABLE_SUFFIX. Bạn có thể sử dụng dữ liệu thu được từ truy vấn này với trình tạo mức ý nghĩa thống kê cho các kiểm thử t một phía để xác minh rằng kết quả mà Firebase cung cấp khớp với phân tích của riêng bạn.

Để biết thêm thông tin về cách A/B Testing tính toán suy luận, hãy xem bài viết Diễn giải kết quả thử nghiệm.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Chọn giá trị của một thử nghiệm cụ thể

Truy vấn mẫu sau đây minh hoạ cách lấy dữ liệu cho một thử nghiệm cụ thể trong BigQuery. Truy vấn mẫu này trả về tên thử nghiệm, tên biến thể (bao gồm cả Đường cơ sở), tên sự kiện và số lượng sự kiện.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName