การวิเคราะห์เชน Markov

ฟังก์ชันทางสถิติของเชน Markov ใช้วิธีการที่เป็นไปได้ในการให้เครดิตแก่ทัชพอยต์การโฆษณาต่างๆ โดยอิงตามการมีส่วนร่วมโดยประมาณของแนวโน้มที่จะเกิด Conversion ของผู้ใช้ ผลลัพธ์ของฟังก์ชันทดลองนี้อาจเป็นประโยชน์ในการกำหนดเครดิตให้กับช่องทางการโฆษณา แคมเปญ หรือทัชพอยต์อื่นๆ ที่ระบุ โดยอิงตามการมีส่วนร่วมโดยประมาณที่มีต่อเหตุการณ์ Conversion

วิธีการทำงาน

ฟังก์ชันทางสถิติของห่วงโซ่ของมาร์คอฟจะใช้ข้อมูลการโฆษณาของคุณเพื่อสร้างห่วงโซ่มาร์คอฟ โดยจุดยอดแต่ละจุดในกราฟตามลำดับจะแสดงทัชพอยต์และขอบแต่ละด้านให้ความน่าจะเป็นในการย้ายไปยังทัชพอยต์ถัดไป โดยมีเงื่อนไขของการอยู่ที่ทัชพอยต์ปัจจุบันนั้น โดยมีสมมติฐานว่าเฉพาะทัชพอยต์ปัจจุบันเท่านั้นที่มีผลต่อความน่าจะเป็นของการเปลี่ยน จากนั้นระบบจะคำนวณการมีส่วนร่วมของแต่ละทัชพอยต์โดยนำทัชพอยต์ออกจากกราฟ และคำนวณความน่าจะเป็นโดยประมาณของ Conversion เมื่อมีการนำทัชพอยต์ดังกล่าวออก

ข้อจำกัดด้านความเป็นส่วนตัว

ทัชพอยต์ต้องมีผู้ใช้ที่ทำให้เกิด Conversion อย่างน้อย 50 รายและผู้ใช้ที่ไม่ทําให้เกิด Conversion อย่างน้อย 50 รายเพื่อไม่ให้ถูกนําออกโดยตัวกรองความเป็นส่วนตัว นอกจากนี้ ผู้ใช้ที่ค่าผิดปกติซึ่งสร้างเครดิตให้กับทัชพอยต์ในปริมาณที่ไม่เหมาะสมอาจถูกกรองออก ดังนั้น เอาต์พุตจากโมเดลเชนของ Markov จึงอาจไม่มีบางทัชพอยต์ที่อยู่ในตารางทัชพอยต์อินพุต

ประกาศเกี่ยวกับความเป็นส่วนตัวจะแสดงหลังจากการทำซ้ำรูปแบบห่วงโซ่มาร์คอฟแต่ละครั้ง ข้อความเหล่านี้มีข้อมูลผู้ใช้และทัชพอยต์ที่ถูกกรองออก

ภาพรวมเกี่ยวกับการคำนวณของห่วงโซ่มาร์คอฟในการประมวลผล

  1. สร้างทัชพอยต์และตารางเครดิต ดังนี้
    1. touchpoint_temp_table.
    2. user_credit_temp_table.
  2. เรียกใช้ฟังก์ชันค่าตาราง ADH.TOUCHPOINT_ANALYSIS โดยใช้ตารางชั่วคราวด้านบนเป็นอาร์กิวเมนต์

สร้างทัชพอยต์และตารางเครดิต

สร้างตารางทัชพอยต์

ตารางทัชพอยต์คือจุดที่กำหนดเหตุการณ์ของผู้ใช้ที่เกี่ยวข้องกับทัชพอยต์ ข้อมูลตัวอย่างอาจรวมถึงแต่ไม่จํากัดเพียง campaign_id , creative_id, placement_id หรือ site_id

โดยตารางต้องมีคอลัมน์ต่อไปนี้

ชื่อคอลัมน์ ประเภท
touchpoint string
ชื่อทัชพอยต์ที่กำหนดเอง (ต้องไม่เป็นค่าว่างหรือมีเครื่องหมายจุลภาค)
user_id string
รหัสของผู้ใช้ที่เข้าชมทัชพอยต์ (ต้องไม่เป็นค่าว่างหรือ 0)
event_time int
เวลาที่ผู้ใช้เข้าชมทัชพอยต์ (ต้องไม่เป็นค่าว่าง)

โค้ดตัวอย่างสำหรับการสร้างตาราง

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)
);

สร้างตารางเครดิตของผู้ใช้

ตารางเครดิตของผู้ใช้คือที่ที่มีการกำหนดเหตุการณ์ Conversion เหตุการณ์ที่เกิดขึ้นตาม Conversion จะถือว่าเป็นเหตุการณ์ที่ไม่ทำให้เกิด Conversion

โดยตารางต้องมีคอลัมน์ต่อไปนี้

ชื่อคอลัมน์ ประเภท
user_id string
รหัสของผู้ใช้ที่เข้าชมทัชพอยต์ (ต้องไม่เป็นค่าว่างหรือ 0)
event_time int
เวลาที่กิจกรรมการสนับสนุนเกิดขึ้น (ต้องไม่เป็นค่าว่าง)
credit integer
เครดิตจากผู้ใช้ โดยจะเป็นเครดิตใดก็ได้ที่ต้องการวิเคราะห์ เช่น มูลค่า Conversion จำนวน Conversion เป็นต้น ซึ่งต้องอยู่ระหว่าง 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')