ניתוח ערך שפלי

השיטה של ערך שפלי היא אלגוריתם שמקצה קרדיט למספר ערוצי פרסום ונקודות מגע עם הלקוח על סמך התרומה שלהם להמרה לפי מודל. בעזרת השיטה של ערך Shapley, תוכלו לבנות את מודל התרומה של ערוץ מסוים להמרה.

Ads Data Hub משתמש ב'שיטה פשוטה של ערך שפלי', שמוסברת בפירוט במאמר שיטות ערך שפלי ליצירת מודלים של שיוך (Attribution) ב- במאמר בנושא פרסום אונליין.

הגבלות על פרטיות

מסנני פרטיות מסירים נקודות מגע עם פחות מ-50 משתמשים ומשתמשים חריגים שתורמים כמות לא פרופורציונלית לקרדיט לנקודת מגע מסוימת עם הלקוח. לכן, יכול להיות שבפלט מהמודל של ערך שפלי חסרות נקודות מגע מסוימות עם הלקוח שנמצאות בטבלת נקודות המגע עם הלקוח.

הודעות בנושא פרטיות מוצגות אחרי כל איטרציה של המודל של ערך שפלי. ההודעות האלה כוללות מידע על משתמשים ונקודות מגע עם הלקוח שסוננו.

סקירה כללית של ערכי מחשוב שפלי

  1. יוצרים את נקודת המגע עם הלקוח וטבלאות הקרדיט:
    1. touchpoint_temp_table.
    2. user_credit_temp_table.
  2. קוראים לפונקציה 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')