שיטת 'ערך שפלי' היא אלגוריתם שמקצה קרדיט למספר גדול של ערוצי פרסום ונקודות מגע עם הלקוח על סמך מודל התרומה שלהם להמרה. באמצעות שיטת הערך של שאפלי, תוכלו לבנות מודל של התרומה של ערוץ מסוים להמרה.
Ads Data Hub משתמש ב "שיטת ערך שאפלי מפושטת", שמוסברת בפירוט במאמר שיטות של ערך שאפלי למודלים של שיוך (Attribution) במאמר פרסום באינטרנט.
הגבלות על הפרטיות
המערכת תסיר נקודות מגע עם הלקוח שבהן יש פחות מ-50 משתמשים ומשתמשים חריגים שתורמים קרדיט לא פרופורציונלי לנקודת מגע מסוימת עם הלקוח. לכן, יכול להיות שחסרים נקודות מגע עם הלקוח בטבלת הערך של Shapley בפלט של המודל 'נקודות מגע עם הלקוח'.הודעות בנושא פרטיות מוצגות אחרי כל איטרציה של מודל הערך של Shapley. ההודעות האלה כוללות מידע על המשתמשים ונקודות המגע עם הלקוח שסוננו.
סקירה כללית על חישוב ערכי ערך שפלי
- יוצרים את טבלאות נקודות המגע עם הלקוח ואת הטבלאות של הקרדיטים:
touchpoint_temp_table
.user_credit_temp_table
.
- צריך לקרוא לפונקציה בעלת ערך הטבלה
ADH.TOUCHPOINT_ANALYSIS
באמצעות הטבלאות הזמניות שלמעלה כארגומנטים.
יצירה של טבלאות נקודות המגע והקרדיט
יצירת הטבלה של נקודות המגע
טבלת נקודות המגע היא המקום שבו מוגדרים אירועי משתמשים שקשורים לנקודות המגע עם הלקוח. נתונים לדוגמה עשויים לכלול, בין היתר: 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 ציון ערך שפלי מחושב לנקודת המגע הזו עם הלקוח. |
קוד לדוגמה לשימוש בפונקציה בעלת ערך טבלה
SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
TABLE tmp.touchpoint_temp_table,
TABLE tmp.user_credit_temp_table,
'SHAPLEY_VALUES')