मार्कोव चेन विश्लेषण

मार्कोव चेन स्टैटिस्टिक्स फ़ंक्शन, संभावित तरीकों का इस्तेमाल करके सभी विज्ञापन टचपॉइंट के लिए क्रेडिट असाइन करता है. यह क्रेडिट, उपयोगकर्ता के ग्राहक में बदलने की संभावना के मॉडल किए गए योगदान के आधार पर तय किया जाता है. एक्सपेरिमेंट के लिए बनाए गए इस फ़ंक्शन का आउटपुट, किसी विज्ञापन चैनल, कैंपेन या अन्य टचपॉइंट को क्रेडिट असाइन करने में काम आ सकता है. ऐसा कन्वर्ज़न इवेंट में मॉडल के योगदान के आधार पर होता है

यह कैसे काम करता है

मार्कोव चेन स्टैटिस्टिकल फ़ंक्शन, मार्कोव चेन बनाने के लिए आपके विज्ञापन डेटा का इस्तेमाल करता है. इसमें क्रम वाले ग्राफ़ का हर वर्टेक्स एक टचपॉइंट को दिखाता है. साथ ही, हर किनारे उस मौजूदा टचपॉइंट पर होने के आधार पर, अगले टचपॉइंट पर जाने की संभावना देता है. यह मानता है कि सिर्फ़ मौजूदा टचपॉइंट, ट्रांज़िशन की संभावना पर असर डालता है. इसके बाद, ग्राफ़ से टचपॉइंट को हटाकर, हर टचपॉइंट के योगदान का हिसाब लगाया जाता है. साथ ही, टचपॉइंट को हटाने के बाद, कन्वर्ज़न की मॉडल की गई प्रॉबबिलिटी का हिसाब लगाया जाता है.

निजता से जुड़ी पाबंदियां

टचपॉइंट में 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
आर्बिट्ररी टचपॉइंट का नाम. (शून्य नहीं होना चाहिए या इसमें कॉमा नहीं होने चाहिए.)
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)
);

उपयोगकर्ता की क्रेडिट टेबल बनाना

उपयोगकर्ता की क्रेडिट टेबल वह जगह है जहां कन्वर्ज़न इवेंट तय किए जाते हैं. कन्वर्ज़न के बाद होने वाले इवेंट को, बिना कन्वर्ज़न वाले इवेंट माना जाता है.

टेबल में नीचे दिए गए कॉलम होने चाहिए:

कॉलम का नाम टाइप
user_id string
टचपॉइंट पर जाने वाले उपयोगकर्ता का आईडी. (शून्य या 0 नहीं होना चाहिए.)
event_time int
योगदान से जुड़ा इवेंट होने का समय. (शून्य नहीं होना चाहिए.)
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')