روش ارزش Shapley الگوریتمی است که اعتبار را به کانالهای تبلیغاتی و نقاط تماس متعدد بر اساس سهم مدلسازی شده آنها در تبدیل اختصاص میدهد. با استفاده از روش ارزش Shapley، می توانید سهمی که یک کانال خاص در تبدیل دارد را مدل کنید.
Ads Data Hub از "روش ارزش شیپلی ساده شده" استفاده می کند، که با جزئیات کامل در روش های ارزش Shapley برای مدل سازی اسناد در مقاله تبلیغات آنلاین توضیح داده شده است.
محدودیت های حریم خصوصی
فیلترهای حریم خصوصی نقاط تماس با کمتر از 50 کاربر و کاربران پرت را که اعتبار نامتناسبی را به یک نقطه تماس اختصاص میدهند حذف میکنند. بنابراین، خروجی مدل ارزش Shapley ممکن است برخی از نقاط تماس را که در جدول نقاط تماس ورودی هستند، از دست داده باشد.پیام های حریم خصوصی پس از هر بار تکرار مدل ارزش Shapley نشان داده می شود. این پیام ها شامل اطلاعات کاربران و نقاط لمسی است که فیلتر شده اند.
مروری بر محاسبه مقادیر مقادیر Shapley
- جداول نقطه تماس و اعتبار را ایجاد کنید:
-
touchpoint_temp_table
. -
user_credit_temp_table
.
-
- تابع با ارزش جدول
ADH.TOUCHPOINT_ANALYSIS
را با استفاده از جداول temp در بالا به عنوان آرگومان فراخوانی کنید.
جداول نقطه تماس و اعتبار را ایجاد کنید
جدول نقطه تماس را ایجاد کنید
جدول نقطه تماس جایی است که رویدادهای کاربر مربوط به نقاط تماس در آن تعریف می شوند. دادههای نمونه ممکن است شامل موارد زیر باشد، اما به این موارد محدود نمیشود: campaign_id
، creative_id
، placement_id
، یا site_id
.
جدول باید شامل ستون های زیر باشد:
نام ستون | تایپ کنید |
---|---|
touchpoint | string نام نقطه تماس خودسرانه (نباید NULL یا حاوی کاما باشد.) |
user_id | string شناسه کاربری که از نقطه تماس بازدید می کند. (نباید NULL یا 0 باشد.) |
event_time | int زمانی که کاربر از نقطه تماس بازدید کرده است. (نباید NULL باشد.) |
کد نمونه برای ایجاد جدول:
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)
);
جدول اعتبار کاربر را ایجاد کنید
جدول اعتبار کاربر جایی است که رویدادهای تبدیل تعریف می شوند. برای هر کاربر، فقط رویدادهایی با مهر زمانی قبل از تبدیل در نظر گرفته میشوند.
جدول باید شامل ستون های زیر باشد:
نام ستون | تایپ کنید |
---|---|
user_id | string شناسه کاربری که از نقطه تماس بازدید می کند. (نباید NULL یا 0 باشد.) |
event_time | int زمانی که رویداد مشارکت اتفاق افتاد. (نباید NULL باشد.) |
credit | integer اعتبار ارائه شده توسط کاربر. این می تواند هر اعتباری باشد که کسی دوست دارد تحلیل کند. مثلاً مقدار تبدیل، تعداد تبدیل و ... باید بین 1 تا 100 باشد. |
کد نمونه برای ایجاد جدول:
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
);
تابع با ارزش جدول
تابع جدول مقدار تابعی است که یک جدول را در نتیجه برمی گرداند. به این ترتیب، شما می توانید تابع با ارزش جدول را مانند یک جدول معمولی پرس و جو کنید.
نحو
ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)
استدلال ها
نام | |
---|---|
touchpoints_tmp_table_name | نام جدول نقطه تماس موقت ایجاد شده توسط مشتری. جدول باید دارای طرحی باشد که شامل ستون های touchpoint ، user_id و event_time باشد. |
credits_tmp_table_name | نام جدول اعتبار موقت کاربر ایجاد شده توسط مشتری. جدول باید دارای طرحی باشد که شامل ستونهای user_id ، credit و conversion_time باشد. |
model | string باید SHAPLEY_VALUES باشد. |
جدول خروجی
جدول خروجی شامل طرح زیر خواهد بود:
نام ستون | تایپ کنید |
---|---|
touchpoint | string نام نقطه تماس |
score | integer امتیاز ارزش Shapley برای این نقطه تماس محاسبه شده است. |
کد نمونه برای استفاده از تابع با ارزش جدول
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')