Phân tích giá trị Shapley

Phương pháp giá trị Shapley là một thuật toán chỉ định giá trị đóng góp cho nhiều kênh quảng cáo và điểm tiếp xúc dựa trên mức đóng góp được mô hình hoá của các kênh đó vào lượt chuyển đổi. Khi sử dụng phương pháp giá trị Shapley, bạn có thể lập mô hình mức đóng góp của một kênh cụ thể vào lượt chuyển đổi.

Ads Data Hub sử dụng "Phương pháp giá trị Shapley được đơn giản hoá", được giải thích chi tiết trong bài viết Phương pháp giá trị của Shapley để lập mô hình phân bổ trong Báo cáo Quảng cáo trực tuyến.

Quy định hạn chế về quyền riêng tư

Bộ lọc về quyền riêng tư sẽ xoá những điểm tiếp xúc có ít hơn 50 người dùng và người dùng bên ngoài đóng góp lượng giá trị đóng góp không tương xứng cho một điểm tiếp xúc. Do đó, đầu ra từ mô hình giá trị Shapley có thể thiếu một số điểm tiếp xúc trong bảng điểm tiếp xúc đầu vào.

Thông báo về quyền riêng tư sẽ xuất hiện sau mỗi lần lặp lại mô hình giá trị Shapley. Các thông báo này bao gồm thông tin về người dùng và điểm tiếp xúc đã lọc.

Tổng quan về cách tính giá trị giá trị Shapley

  1. Tạo điểm tiếp xúc và bảng tín dụng:
    1. touchpoint_temp_table.
    2. user_credit_temp_table.
  2. Gọi hàm có giá trị bảng ADH.TOUCHPOINT_ANALYSIS bằng cách sử dụng bảng tạm thời ở trên làm đối số.

Tạo điểm tiếp xúc và bảng tín dụng

Tạo bảng điểm tiếp xúc

Bảng điểm tiếp xúc là nơi xác định các sự kiện của người dùng liên quan đến điểm tiếp xúc. Dữ liệu ví dụ có thể bao gồm nhưng không giới hạn ở: campaign_id , creative_id, placement_id hoặc site_id.

Bảng phải chứa các cột sau:

Tên cột Loại
touchpoint string
Tên điểm tiếp xúc tuỳ ý. (Không được là giá trị NULL hoặc chứa dấu phẩy.)
user_id string
Mã nhận dạng của người dùng ghé thăm điểm tiếp xúc. (Không được là giá trị NULL hoặc 0.)
event_time int
Thời gian người dùng truy cập vào điểm tiếp xúc. (Không được là giá trị NULL.)

Mã mẫu để tạo bảng:

CREATE TABLE touchpoint_temp_table
AS (
  SELECT user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
  FROM adh.cm_dt_impressions
  WHERE
    event.event_type IN ('VIEW')
    AND user_id <> '0'
    AND event.campaign_id IN UNNEST(@campaign_ids)

  UNION ALL

    SELECT
      user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
    FROM adh.cm_dt_clicks
    WHERE
      event.event_type IN ('CLICK')
      AND user_id <> '0'
      AND event.campaign_id IN UNNEST(@campaign_ids)
);

Tạo bảng tín dụng người dùng

Bảng giá trị đóng góp của người dùng là nơi xác định các sự kiện chuyển đổi. Đối với mỗi người dùng, chỉ những sự kiện có dấu thời gian trước lượt chuyển đổi mới được xem xét.

Bảng phải chứa các cột sau:

Tên cột Loại
user_id string
Mã nhận dạng của người dùng ghé thăm điểm tiếp xúc. (Không được là giá trị NULL hoặc 0.)
event_time int
Thời điểm diễn ra sự kiện đóng góp. (Không được là giá trị NULL.)
credit integer
Giá trị đóng góp do người dùng đóng góp. Đó có thể là bất kỳ giá trị đóng góp nào mà bạn muốn phân tích. Ví dụ: giá trị chuyển đổi, số lượt chuyển đổi, v.v. phải nằm trong khoảng từ 1 đến 100.

Mã mẫu để tạo bảng:


CREATE TABLE user_credit_temp_table AS (
  SELECT
    user_id,
    MAX(event.event_time) AS event_time,
    1 AS credit
  FROM adh.cm_dt_activities_attributed
  WHERE user_id <> '0'
    AND event.campaign_id IN UNNEST(@campaign_ids)
    AND DATE(TIMESTAMP_MICROS(event.event_time)) BETWEEN @start_date AND @end_date
    AND event.activity_id IN UNNEST (@activity_ids)
  GROUP BY user_id
);

Hàm có giá trị trong bảng

Hàm có giá trị của bảng là một hàm trả về kết quả cho một bảng. Do đó, bạn có thể truy vấn hàm có giá trị trong bảng giống như với bảng thông thường.

Cú pháp

ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)

Đối số

Tên
touchpoints_tmp_table_name Tên của bảng điểm tiếp xúc tạm thời do khách hàng tạo. Bảng bắt buộc phải có giản đồ chứa các cột touchpoint, user_idevent_time.
credits_tmp_table_name Tên cho bảng tín dụng người dùng tạm thời do khách hàng tạo. Bảng bắt buộc phải có giản đồ chứa các cột user_id, creditconversion_time.
model string
Phải là SHAPLEY_values.

Bảng kết quả

Bảng đầu ra sẽ chứa giản đồ sau:

Tên cột Loại
touchpoint string
Tên điểm tiếp xúc.
score integer
Điểm giá trị Shapley được tính cho điểm tiếp xúc này.

Mã mẫu để sử dụng hàm có giá trị trong bảng

SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
  TABLE tmp.touchpoint_temp_table,
  TABLE tmp.user_credit_temp_table,
  'SHAPLEY_VALUES')