Metode Shapley value adalah algoritma yang menetapkan kredit ke banyak saluran iklan dan poin kontak berdasarkan kontribusi sesuai model terhadap konversi. Dengan metode Shapley value, Anda dapat membuat model kontribusi yang dimiliki saluran tertentu terhadap konversi.
Ads Data Hub menggunakan "Metode Nilai Shapley yang Disederhanakan", yang dijelaskan secara mendetail dalam Metode Nilai Shapley untuk Pemodelan Atribusi dalam Makalah Iklan Online.
Pembatasan privasi
Filter privasi akan menghapus poin kontak yang memiliki kurang dari 50 pengguna dan pengguna pencilan yang memberikan jumlah kredit secara tidak proporsional ke suatu poin kontak. Dengan demikian, output dari model Shapley value mungkin tidak memiliki beberapa poin kontak yang ada di tabel poin kontak input.Pesan privasi ditampilkan setelah setiap iterasi model Shapley value. Pesan ini mencakup informasi tentang pengguna dan poin kontak yang difilter.
Ringkasan komputasi Shapley value value
- Buat poin kontak dan tabel kredit:
touchpoint_temp_table
.user_credit_temp_table
.
- Panggil fungsi bernilai tabel
ADH.TOUCHPOINT_ANALYSIS
menggunakan tabel sementara di atas sebagai argumen.
Membuat poin kontak dan tabel kredit
Membuat tabel poin kontak
Tabel poin kontak adalah tempat peristiwa pengguna yang terkait dengan poin kontak ditentukan. Data contoh dapat mencakup, tetapi tidak terbatas pada: campaign_id
, creative_id
, placement_id
, atau site_id
.
Tabel harus berisi kolom berikut:
Nama kolom | Jenis |
---|---|
touchpoint |
string Nama poin kontak arbitrer. (Tidak boleh NULL atau berisi koma.) |
user_id |
string ID pengguna yang mengunjungi poin kontak. (Tidak boleh NULL atau 0.) |
event_time |
int Waktu saat pengguna mengunjungi poin kontak. (Tidak boleh NULL.) |
Kode contoh untuk membuat tabel:
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)
);
Membuat tabel kredit pengguna
Tabel kredit pengguna adalah tempat peristiwa konversi ditentukan. Untuk setiap pengguna, hanya peristiwa dengan stempel waktu sebelum konversi yang akan dipertimbangkan.
Tabel harus berisi kolom berikut:
Nama kolom | Jenis |
---|---|
user_id |
string ID pengguna yang mengunjungi poin kontak. (Tidak boleh NULL atau 0.) |
event_time |
int Waktu saat peristiwa kontribusi terjadi. (Tidak boleh NULL.) |
credit |
integer Kredit yang dikontribusikan oleh pengguna. Dapat berupa kredit apa pun yang ingin dianalisis. Misalnya, nilai konversi, jumlah konversi, dll. Nilainya harus antara 1 dan 100. |
Kode contoh untuk membuat tabel:
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
);
{i>Function<i} nilai-tabel
Fungsi bernilai tabel adalah fungsi yang menampilkan tabel sebagai hasilnya. Dengan demikian, Anda dapat melakukan kueri fungsi bernilai tabel seperti halnya tabel normal.
Sintaksis
ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)
Argumen
Nama | |
---|---|
touchpoints_tmp_table_name |
Nama tabel poin kontak sementara yang dibuat klien. Tabel harus memiliki skema yang berisi kolom touchpoint , user_id , dan event_time . |
credits_tmp_table_name |
Nama ke tabel kredit pengguna sementara yang dibuat klien. Tabel harus memiliki skema yang berisi kolom user_id , credit , dan conversion_time . |
model |
string Harus SHAPLEY_VALUES. |
Tabel output
Tabel output akan berisi skema berikut:
Nama kolom | Jenis |
---|---|
touchpoint |
string Nama poin kontak. |
score |
integer Skor nilai Shapley yang dihitung untuk poin kontak ini. |
Kode contoh untuk menggunakan fungsi bernilai tabel
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')