ניתוח שרשרת מרקוב

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

איך זה עובד

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

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

נקודות מגע עם הלקוח חייבות לכלול 50 משתמשים או יותר שהשלימו המרה ו-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
חייב להיות MARKOV_CHAINS.

טבלת פלט

טבלת הפלט תכיל את הסכימה הבאה:

שם העמודה סוג
touchpoint string
שם נקודת המגע.
score integer
ציון ניקוד מחושב על ידי מרקוב לנקודת המגע הזו עם הלקוח.

קוד לדוגמה לשימוש בפונקציה בעלת ערך טבלה

SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
  TABLE tmp.touchpoint_temp_table,
  TABLE tmp.user_credit_temp_table,
  'MARKOV_CHAINS')