मार्कोव चेन का आंकड़ों से जुड़ा फ़ंक्शन, विज्ञापन टचपॉइंट को क्रेडिट असाइन करने के लिए संभावित तरीकों का इस्तेमाल करता है. यह क्रेडिट, उपयोगकर्ता के ग्राहक में बदलने की संभावना में उनके योगदान के आधार पर असाइन किया जाता है. इस एक्सपेरिमेंटल फ़ंक्शन का आउटपुट, किसी विज्ञापन चैनल, कैंपेन या अन्य टचपॉइंट को क्रेडिट असाइन करने में मददगार हो सकता है. यह क्रेडिट, कन्वर्ज़न इवेंट में उनके योगदान के आधार पर असाइन किया जाता है
यह कैसे काम करता है
मार्कोव चेन का आंकड़ों से जुड़ा फ़ंक्शन, मार्कोव चेन बनाने के लिए आपके विज्ञापन डेटा का इस्तेमाल करता है. इसमें क्रम से लगाए गए ग्राफ़ में मौजूद हर वर्टिक्स, किसी टचपॉइंट को दिखाता है. साथ ही, हर एज से उस टचपॉइंट पर जाने की संभावना का पता चलता है. हालांकि, यह संभावना उस मौजूदा टचपॉइंट पर होने पर ही होती है. यह मानता है कि ट्रांज़िशन की संभावना पर सिर्फ़ मौजूदा टचपॉइंट का असर पड़ता है. इसके बाद, हर टचपॉइंट के योगदान का हिसाब लगाने के लिए, टचपॉइंट को ग्राफ़ से हटाया जाता है. साथ ही, टचपॉइंट हटाने के बाद, कन्वर्ज़न की अनुमानित संभावना का हिसाब लगाया जाता है.
निजता से जुड़ी पाबंदियां
टचपॉइंट में 50 या उससे ज़्यादा ग्राहक में बदलने वाले उपयोगकर्ता और 50 या उससे ज़्यादा ग्राहक में नहीं बदलने वाले उपयोगकर्ता होने चाहिए, ताकि निजता फ़िल्टर उन्हें हटा न सकें. इसके अलावा, ऐसे उपयोगकर्ताओं को फ़िल्टर किया जा सकता है जो किसी टचपॉइंट में बहुत ज़्यादा क्रेडिट देते हैं. इसलिए, हो सकता है कि मार्कोव चेन मॉडल के आउटपुट में, इनपुट टचपॉइंट टेबल में मौजूद कुछ टचपॉइंट मौजूद न हों.मार्कोव चेन मॉडल के हर दोहराव के बाद, निजता से जुड़े मैसेज दिखाए जाते हैं. इन मैसेज में, फ़िल्टर किए गए उपयोगकर्ताओं और टचपॉइंट की जानकारी शामिल होती है.
मार्कोव चेन वैल्यू का हिसाब लगाने के बारे में खास जानकारी
- टचपॉइंट और क्रेडिट टेबल बनाएं:
touchpoint_temp_table
.user_credit_temp_table
.
- ऊपर दी गई टेम्पररी टेबल को आर्ग्युमेंट के तौर पर इस्तेमाल करके,
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')