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à điểm tiếp xúc đó đối với lượt chuyển đổi. Bằng cách 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ể đối với 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ị Shapley để lập mô hình phân bổ trong quảng cáo trực tuyến.
Quy định hạn chế về quyền riêng tư
Bộ lọc 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à những người dùng ngoại lai đóng góp một lượng giá trị đóng góp không tương xứng cho một điểm tiếp xúc. Do đó, kết quả từ mô hình giá trị Shapley có thể thiếu một số điểm tiếp xúc 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 của 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à các điểm tiếp xúc đã được lọc.
Tổng quan về cách tính giá trị Shapley
- Tạo bảng điểm tiếp xúc và bảng giá trị đóng góp:
touchpoint_temp_table
.user_credit_temp_table
.
- Gọi hàm có giá trị kiểu bảng
ADH.TOUCHPOINT_ANALYSIS
bằng cách sử dụng các bảng tạm thời ở trên làm đối số.
Tạo bảng điểm tiếp xúc và bảng ghi cô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 mẫu 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 này 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à NULL hoặc chứa dấu phẩy.) |
user_id |
string Mã nhận dạng của người dùng truy cập vào điểm tiếp xúc. (Không được là 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 để trống.) |
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 của 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, hệ thống chỉ xem xét những sự kiện có dấu thời gian trước lượt chuyển đổi.
Bảng này 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 truy cập vào điểm tiếp xúc. (Không được là NULL hoặc 0.) |
event_time |
int Thời gian diễn ra sự kiện đóng góp. (Không được để trống.) |
credit |
integer Số tiền tín dụng do người dùng đóng góp. Đây có thể là bất kỳ khoản tín dụng nào mà người dùng muốn phân tích. Ví dụ: giá trị lượt chuyển đổi, số lượt chuyển đổi, v.v. Giá trị này 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ị kiểu bảng
Hàm có giá trị kiểu bảng là một hàm trả về một bảng. Do đó, bạn có thể truy vấn hàm có giá trị kiểu bảng như cách bạn truy vấn một 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 ứng dụng tạo. Bảng bắt buộc phải có giản đồ chứa các cột của touchpoint , user_id và event_time . |
credits_tmp_table_name |
Tên của bảng tín dụng người dùng tạm thời do ứng dụng tạo. Bảng bắt buộc phải có giản đồ chứa các cột user_id , credit và conversion_time . |
model |
string Phải là SHAPLEY_VALUES. |
Bảng đầu ra
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 đã tính cho điểm tiếp xúc này. |
Mã mẫu để sử dụng hàm có giá trị kiểu bảng
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')