تحلیل ارزش شیپلی

روش ارزش Shapley الگوریتمی است که اعتبار را به کانال‌های تبلیغاتی و نقاط تماس متعدد بر اساس سهم مدل‌سازی شده آنها در تبدیل اختصاص می‌دهد. با استفاده از روش ارزش Shapley، می توانید سهمی که یک کانال خاص در تبدیل دارد را مدل کنید.

Ads Data Hub از "روش ارزش شیپلی ساده شده" استفاده می کند، که با جزئیات کامل در روش های ارزش Shapley برای مدل سازی اسناد در مقاله تبلیغات آنلاین توضیح داده شده است.

محدودیت های حریم خصوصی

فیلترهای حریم خصوصی نقاط تماس با کمتر از 50 کاربر و کاربران پرت را که اعتبار نامتناسبی را به یک نقطه تماس اختصاص می‌دهند حذف می‌کنند. بنابراین، خروجی مدل ارزش Shapley ممکن است برخی از نقاط تماس را که در جدول نقاط تماس ورودی هستند، از دست داده باشد.

پیام های حریم خصوصی پس از هر بار تکرار مدل ارزش Shapley نشان داده می شود. این پیام ها شامل اطلاعات کاربران و نقاط لمسی است که فیلتر شده اند.

مروری بر محاسبه مقادیر مقادیر Shapley

  1. جداول نقطه تماس و اعتبار را ایجاد کنید:
    1. touchpoint_temp_table .
    2. user_credit_temp_table .
  2. تابع با ارزش جدول 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')