اگر هنوز بودجه کمپینها را با «آخرین کلیک» (Last-Click) جابهجا میکنید، احتمالاً بخشی از کانالهایی را که واقعاً باعث ایجاد تقاضا میشوند کمارزش میکنید و به کانالهایی که فقط «جمعکننده تبدیل» هستند بیشازحد بودجه میدهید. هدف این مقاله یک آموزش کاملاً عملی است تا بتوانید با multi-touch attribution model سهم واقعی کانالها را در مسیر تبدیل محاسبه کنید، وزن هر کانال را بهصورت شفاف بسازید و در نهایت یک جدول تخصیص هزینه/درآمد در اکسل آماده کنید که به تصمیم بودجهای تبدیل شود.
در این راهنما چهار خانواده مدل را پوشش میدهیم: خطی (Linear)، کاهشی-زمانی (Time-Decay)، جایگاهی (Position-Based) و یک «جانشین دادهمحور» برای زمانی که مدلهای پیشرفته در دسترس نیستند. سپس سراغ آمادهسازی داده (بههمدوزی نشست/کاربر، پنجره اتریبیوشن، حذف ترافیک داخلی)، فرمولهای وزندهی و گزارشگیری میرویم و در پایان یک چکلیست و بخش خطاهای رایج میآوریم.
فهرست مطالب
- چرا به MTA برای بودجهبندی نیاز داریم؟
- پیشنیازها و تعریفهای کلیدی
- آمادهسازی داده: از مسیر کاربر تا جدول اکسل
- انتخاب مدل: چه زمانی کدام مدل؟
- مدل خطی (Linear): فرمول و مثال اکسل
- مدل کاهشی-زمانی (Time-Decay): فرمول و مثال
- مدل جایگاهی (Position-Based): فرمول و مثال
- جانشین دادهمحور (Data-Driven Proxy): رویکرد عملی
- ساخت جدول تخصیص هزینه/درآمد به کانالها در اکسل
- تبدیل اتریبیوشن به تصمیم بودجهای
- خطاهای رایج در MTA و گزارشها
- چکلیست اجرایی قبل از ارائه گزارش
- سؤالات متداول
چرا به MTA برای بودجهبندی نیاز داریم؟
در بسیاری از کسبوکارها، مسیر تبدیل یک کاربر چندمرحلهای است: شاید اول از سرچ ارگانیک وارد شود، بعد با ریتارگتینگ برگردد، سپس ایمیل را باز کند و در نهایت با سرچ برند یا دایرکت خرید کند. اگر فقط آخرین کلیک را معیار بگیرید، بودجه به سمت کانالهای پایانی (مثل سرچ برند) میرود و کانالهای ایجادکننده تقاضا (مثل محتوا، ویدئو، پراسپکتینگ) تضعیف میشوند.
multi-touch attribution model دقیقاً برای همین شکاف ساخته شده است: توزیع اعتبار (و در نتیجه درآمد/سود منتسب) بین نقاط تماس (touchpoints). خروجی MTA به شما میگوید «هر کانال چه سهمی در تبدیل داشته»، نه فقط «کدام کانال آخرین بار کلیک شده».
اما یک نکته مهم: اتریبیوشن قرار نیست حقیقت مطلق باشد؛ یک مدل تصمیمگیری است. هدف ما این است که با دادههای قابل دسترس (اکسل + خروجیهای ابزار تحلیلی)، مدلی بسازیم که پایدار، قابل توضیح و قابل تکرار باشد.
پیشنیازها و تعریفهای کلیدی
قبل از شروع محاسبهها، چند تعریف را یکدست کنید تا تیم درباره «واحد تحلیل» و «قواعد انتساب» توافق داشته باشد:
- مسیر تبدیل (Conversion Path): دنبالهای از نشستها/نقاط تماس که به یک تبدیل ختم میشود.
- کانال: دستهبندی منبع ترافیک/کمپین (مثلاً Paid Search، Paid Social، Organic، Email، Referral).
- پنجره اتریبیوشن (Attribution Window): بازه زمانی قبل از تبدیل که نقاط تماس داخل آن را معتبر میدانید (مثلاً 7، 30 یا 90 روز).
- بههمدوزی نشست/کاربر (Stitching): اتصال نشستهای یک کاربر به یک شناسه مشترک (User ID یا Client ID).
- حذف ترافیک داخلی: حذف کلیکها/بازدیدهای تیم، آژانس، تستهای QA و ابزارهای مانیتورینگ.
اگر در نامگذاری کمپینها و UTMها بینظم هستید، هر مدل اتریبیوشن خروجی مشکوک میدهد؛ پیشنهاد میکنم ابتدا استاندارد نامگذاری را تثبیت کنید و سپس سراغ MTA بروید. برای این بخش میتوانید از این راهنمای داخلی استفاده کنید: راهنمای عملی طراحی UTM و نامگذاری کمپینها برای گزارشگیری دقیق.
آمادهسازی داده: از مسیر کاربر تا جدول اکسل
هسته محاسبات MTA یک جدول «سطح نقطه تماس» است؛ یعنی هر ردیف یک touchpoint از یک مسیر تبدیل باشد. سپس شما وزنها را روی این جدول اعمال میکنید و در نهایت به سطح کانال تجمیع میکنید.
۱) تعیین واحد تحلیل: کاربر یا تبدیل؟
دو انتخاب رایج دارید:
- در سطح تبدیل (Conversion-level): هر سفارش/لید یک مسیر دارد و اعتبار بین نقاط تماس همان مسیر تقسیم میشود (برای بودجهبندی معمولاً مناسبتر است).
- در سطح کاربر (User-level): مسیرهای چند تبدیل یک کاربر را با هم میبینید (برای تحلیل چرخه عمر مفید است، ولی در اکسل پیچیدهتر میشود).
۲) تعریف پنجره اتریبیوشن
پنجره را بر اساس طول چرخه تصمیمگیری و الگوی خرید انتخاب کنید. برای محصول ارزان و تصمیم سریع، 7 تا 14 روز ممکن است کافی باشد؛ برای B2B یا خریدهای گران، 30 تا 90 روز منطقیتر است. پنجره را ثابت نگه دارید تا مقایسه دورهای معتبر شود.
۳) حذف ترافیک داخلی و ترافیک آلوده
اگر تیم فروش یا مارکتینگ زیاد روی صفحات فرود کلیک میکنند، نرخها و مسیرها بههم میریزد. حداقل کار: حذف IPهای شرکت/آژانس و فیلترکردن پارامترهای تست. همچنین کلیکهای ابزارهای مانیتورینگ را در صورت امکان جدا کنید.
۴) ساخت جدول خام مسیرها
ستونهای پیشنهادی برای اکسل:
- conversion_id
- user_id (یا client_id)
- conversion_datetime
- touch_datetime
- channel
- campaign (اختیاری)
- revenue (برای همان conversion_id)
- cost (اگر در سطح کمپین دارید، بعداً مچ میشود)
نکته: اگر ابزار شما مسیرها را بهصورت «رشته» میدهد (مثلاً Channel A > Channel B > Channel C)، آن را به ردیفهای جداگانه بشکنید (هر touchpoint یک ردیف). در اکسل میتوانید از Power Query یا ابزارهای Split/Unpivot استفاده کنید.
۵) تعیین ترتیب نقاط تماس
برای هر conversion_id باید ترتیب touchpoints را داشته باشید: touchpoint اول، وسطها، آخر. در اکسل معمولاً با Sort بر اساس conversion_id و touch_datetime و سپس ساختن یک شماره ترتیب (1..n) انجام میشود.
انتخاب مدل: چه زمانی کدام مدل؟
یک multi-touch attribution model خوب، مدلی است که با بلوغ داده و هدف تصمیمگیری شما همخوان باشد. جدول زیر مقایسهای سریع ارائه میدهد:
| مدل | مزیت | عیب/ریسک | بهترین کاربرد |
|---|---|---|---|
| Linear | ساده، قابل توضیح، سریع در اکسل | تفاوت کیفیت نقاط تماس را نادیده میگیرد | شروع کار، گزارش اولیه برای مدیریت |
| Time-Decay | به تعاملات نزدیک به تبدیل وزن بیشتر میدهد | ممکن است کانالهای بالای قیف را کمارزش کند | چرخه خرید کوتاه/میانه، ریتارگتینگ قوی |
| Position-Based | نقطه شروع و پایان را برجسته میکند | وزنها قراردادیاند (40/20/40 و …) | وقتی جذب اولیه و بستن تبدیل هر دو مهماند |
| Data-Driven Proxy | نزدیکتر به واقعیت بدون نیاز به ابزار پیشرفته | نیازمند داده تمیز و طراحی دقیق فرضها | تیمهای دادهمحور با محدودیت ابزار |
پیشنهاد عملی: اگر تازه شروع کردهاید، Linear را پایه کنید و همزمان یک Time-Decay یا Position-Based را بهعنوان سناریوی دوم اجرا کنید؛ اختلاف خروجیها همان «گفتوگوی مفید» برای تصمیم بودجهای است.
مدل خطی (Linear): فرمول و مثال اکسل
در مدل خطی، اعتبار هر تبدیل بهطور برابر بین نقاط تماس همان مسیر تقسیم میشود. اگر مسیر 4 touchpoint دارد، هر کدام 25٪ اعتبار میگیرد.
فرمول:
اگر تعداد touchpoint در مسیر = n، وزن هر touchpoint = 1/n
پیادهسازی در اکسل: برای هر conversion_id تعداد ردیفهای مربوط به آن را بشمارید (n) و ستون وزن را 1/n قرار دهید. سپس revenue_attributed = revenue * weight.
این مدل برای ساخت اولین نسخه گزارش MTA عالی است چون کمترین تصمیمهای سلیقهای را وارد میکند و سریع قابل دفاع است. در گزارش مدیریتی، این جمله را اضافه کنید: «Linear، سهم کانالها را بهصورت برابر در مسیر تقسیم میکند و هنوز اثر زمان/نقش کانال را مدل نمیکند.»
در ادامه وقتی از multi-touch attribution model صحبت میکنیم، Linear را مبنا قرار میدهیم تا تفاوتها قابل مقایسه باشد.
مدل کاهشی-زمانی (Time-Decay): فرمول و مثال
در Time-Decay، هرچه touchpoint به زمان تبدیل نزدیکتر باشد وزن بیشتری میگیرد. ایده این نیست که «بالای قیف بیارزش است»، بلکه میگوید اثر تعاملات تازهتر معمولاً قویتر است (بهخصوص در چرخههای کوتاه).
تعریف نیمهعمر (Half-life)
برای عملیکردن مدل، یک پارامتر انتخاب میکنیم: نیمهعمر. مثلاً اگر نیمهعمر را 7 روز بگذارید، وزنی که 7 روز قبل از تبدیل رخ داده نصف وزن touchpoint روز تبدیل خواهد بود (قبل از نرمالسازی).
فرمول پیشنهادی (قابل اجرا در اکسل)
- اختلاف روز = (conversion_datetime – touch_datetime) به روز
- وزن خام = 0.5 ^ (اختلاف روز / نیمهعمر)
- وزن نهایی = وزن خام / مجموع وزنهای خام در همان conversion_id
گام نهایی (نرمالسازی) مهم است تا جمع وزنهای هر مسیر دقیقاً 1 شود. سپس مثل قبل: revenue_attributed = revenue * weight_final.
این multi-touch attribution model وقتی خوب عمل میکند که تیم شما نقش ریتارگتینگ، ایمیل و سرچ برند را میپذیرد ولی نمیخواهد کل اعتبار را به آخرین کلیک بدهد.
مدل جایگاهی (Position-Based): فرمول و مثال
Position-Based معمولاً نسخه «U-shaped» است: سهم بالایی به اولین touchpoint (برای ایجاد آگاهی/ورود) و آخرین touchpoint (برای بستن تبدیل) میدهد و بقیه را در میانه پخش میکند.
پارامترهای رایج
- ۴۰٪ برای اولین touchpoint
- ۴۰٪ برای آخرین touchpoint
- ۲۰٪ تقسیم مساوی بین touchpointهای میانی
اگر مسیر فقط 1 touchpoint دارد، 100٪ به همان میرسد؛ اگر 2 touchpoint دارد، معمولاً 50/50 یا 40/60 بسته به تصمیم شما (بهتر است قاعده را در گزارش شفاف کنید).
پیادهسازی در اکسل
برای هر conversion_id باید تشخیص دهید کدام ردیف «اول» و کدام «آخر» است (با شماره ترتیب). سپس وزن را طبق قواعد بالا بدهید و برای میانیها وزن باقیمانده را بر تعداد میانیها تقسیم کنید.
مزیت این multi-touch attribution model این است که برای تیمها قابل فهم است و بحث «بالای قیف» را به شکل قابل دفاع وارد بودجهبندی میکند.
جانشین دادهمحور (Data-Driven Proxy): رویکرد عملی
مدلهای دادهمحور واقعی به داده بزرگ و زیرساخت نیاز دارند، اما میتوانید یک «جانشین دادهمحور» بسازید که از دادههای خودتان سیگنال بگیرد و از وزنهای کاملاً قراردادی فاصله بگیرد.
ایده: وزندهی بر اساس شواهد عملکردی کانال در موقعیتهای مختلف مسیر
یک روش عملی:
- مسیرها را به «اول»، «میانی»، «آخر» تقسیم کنید.
- برای هر کانال، نرخ حضور در تبدیلها را در هر جایگاه محاسبه کنید (چند درصد تبدیلها کانال را در جایگاه اول/آخر دارند).
- یک ضریب نقش تعیین کنید (مثلاً First=1.2، Middle=1.0، Last=1.1) و بر اساس ترکیب حضور کانال در جایگاهها، امتیاز بسازید.
- امتیاز را به وزن تبدیل کنید و در هر مسیر نرمالسازی کنید.
این روش جایگزین علمی کامل نیست، اما بهعنوان یک multi-touch attribution model قابل دفاع، دو ویژگی مهم دارد: (1) از داده شما یاد میگیرد (2) هنوز در اکسل قابل اجرا و قابل توضیح است.
اگر دادهتان پراکنده است یا کانالها با UTM درست برچسب نخوردهاند، اول سراغ تمیزسازی بروید و سپس این سناریو را اضافه کنید. همچنین برای تیمهایی که گزارش را بعداً در داشبورد میخواهند، بهتر است ساختار داده را از ابتدا استاندارد کنید؛ در این زمینه این لینک کمک میکند: راهنمای عملی ساخت داشبورد پایش قیف فروش در Looker Studio.
ساخت جدول تخصیص هزینه/درآمد به کانالها در اکسل
هدف نهایی، یک جدول تصمیمساز است: «درآمد منتسب به کانال» در کنار «هزینه کانال» و سپس شاخصهای بهرهوری. مراحل پیشنهادی:
گام ۱: محاسبه درآمد منتسب در سطح touchpoint
برای هر ردیف (touchpoint) دو ستون بسازید:
- weight_model (مثلاً weight_linear یا weight_time_decay)
- attributed_revenue = revenue * weight_model
گام ۲: تجمیع در سطح کانال
با Pivot Table:
- Rows: channel
- Values: Sum of attributed_revenue
- در صورت نیاز: تعداد تبدیلهای منتسب (Sum of weight بهعنوان «تبدیل معادل»)
گام ۳: اضافهکردن هزینه کانال
هزینه معمولاً از پلتفرمها میآید و در سطح کمپین/روز است. آن را به سطح کانال تجمیع کنید (Sum cost by channel) و سپس با VLOOKUP/XLOOKUP یا Power Query به جدول Pivot اضافه کنید.
گام ۴: ساخت KPIهای بودجهبندی
- ROI: attributed_revenue / cost
- ROAS: مشابه ROI ولی بدون هزینههای دیگر (در اینجا همان نسبت درآمد منتسب به هزینه تبلیغ)
- CAC: cost / attributed_conversions (تبدیل معادل)
با همین جدول میتوانید خروجی چند مدل را کنار هم بگذارید (ستونهای جداگانه برای Linear، Time-Decay، Position-Based) و ببینید کدام کانالها نسبت به مدل last-click بالا/پایین میشوند. اینجا دقیقاً نقطهای است که multi-touch attribution model ارزش خود را در تصمیم بودجهای نشان میدهد.
تبدیل اتریبیوشن به تصمیم بودجهای
اشتباه رایج این است که گزارش MTA را مستقیم به «کم/زیاد کردن بودجه» تبدیل کنیم. پیشنهاد عملی این است که از یک چارچوب تصمیم استفاده کنید:
۱) کانالها را بر اساس نقش در قیف تفکیک کنید
- بالای قیف: کانالهایی که اغلب first-touch هستند
- میانه قیف: کانالهای nurture/یادآوری
- پایین قیف: کانالهای close (آخرین تعامل)
۲) بودجه را با «سناریو» جابهجا کنید، نه با یک عدد قطعی
مثلاً سه سناریو بسازید:
- سناریوی محافظهکارانه: وزنهای نزدیک به Linear
- سناریوی عملکردگرا: Time-Decay با نیمهعمر کوتاهتر
- سناریوی رشد: Position-Based با تأکید بر first-touch
اگر در هر سه سناریو یک کانال ضعیف بود، احتمالاً واقعاً نیاز به کاهش/بازطراحی دارد.
۳) قبل از جابهجایی بزرگ، اثر را با آزمایش بسنجید
اتریبیوشن به شما «فرضیه» میدهد. برای اینکه مطمئن شوید با کاهش بودجه کانالهای بالای قیف تقاضا را نابود نمیکنید، بهتر است تستهای کنترلشده (incrementality) یا حداقل A/B در سطح پیام/کمپین انجام دهید. در این زمینه این راهنما کاربردی است: راهنمای عملی تست افزایش نرخ تبدیل (CRO): طراحی A/B تست، محاسبه حجم نمونه و تحلیل نتایج.
خطاهای رایج در MTA و گزارشها
- یکسان گرفتن کانال با کمپین: کانال طبقهبندی است، کمپین سطح اجرایی؛ مخلوطشدن این دو خروجی را گمراه میکند.
- پنجره اتریبیوشن نامناسب: پنجره کوتاه برای چرخه خرید بلند، کانالهای بالای قیف را حذف میکند؛ پنجره خیلی بلند نویز وارد میکند.
- ترافیک داخلی/تست حذف نشده: مسیرهای ساختگی میسازد و وزنها را به کانالهای اشتباه میدهد.
- عدم نرمالسازی وزنها: در Time-Decay یا Proxy اگر وزنها جمعاً 1 نشوند، درآمد منتسب از درآمد واقعی بیشتر/کمتر میشود.
- نادیدهگرفتن چنددستگاهی: اگر stitching ندارید، بخشی از مسیرها تکهتکه میشود و مدل به کانالهای پایانی متمایل میگردد.
- تصمیم بودجهای بر اساس یک ماه داده: نوسان فصلی و کمپینهای مقطعی میتواند نتیجه را جابهجا کند؛ حداقل 8 تا 12 هفته را کنار هم ببینید.
چکلیست اجرایی قبل از ارائه گزارش
- پنجره اتریبیوشن تعریف و در گزارش نوشته شده است.
- قاعده برخورد با مسیرهای 1 یا 2 touchpoint مشخص است.
- ترافیک داخلی و تستها حذف شدهاند.
- کانالبندی استاندارد و پایدار است (UTMها تمیز و قابل گروهبندیاند).
- در Time-Decay نیمهعمر مشخص و قابل دفاع است.
- وزنها در هر conversion_id نرمالسازی شدهاند (جمع وزنها = 1).
- درآمد منتسب در مجموع با درآمد واقعی همخوان است (کنترل جمعها).
- خروجی حداقل در دو مدل مقایسه شده (مثلاً Linear و Time-Decay).
- نتیجه به اقدام تبدیل شده: 3 پیشنهاد مشخص برای جابهجایی بودجه + ریسکها.
سؤالات متداول
۱) آیا multi-touch attribution model جایگزین کامل تستهای افزایشی است؟
خیر. MTA بیشتر یک مدل توزیع اعتبار بر اساس مشاهده مسیرهاست؛ تست افزایشی برای سنجش علیت (causality) مناسبتر است. بهترین حالت: MTA برای ساخت فرضیه و اولویتبندی، و تست برای تأیید تصمیمهای بزرگ.
۲) برای کسبوکارهای کوچک، کدام مدل بهتر است؟
اگر داده کم یا نامنظم دارید، Linear بهترین شروع است چون کمترین پیچیدگی را دارد. بعد از تمیزشدن UTM و کانالبندی، Time-Decay را بهعنوان سناریوی دوم اضافه کنید.
۳) پنجره اتریبیوشن را چگونه انتخاب کنم؟
از توزیع «زمان تا تبدیل» شروع کنید: چند درصد تبدیلها طی 7/14/30 روز رخ میدهند؟ پنجرهای انتخاب کنید که بخش عمده مسیرها را پوشش دهد، بدون اینکه تعاملات قدیمی و کماثر را وارد کند.
۴) اگر مسیرها فقط 1 یا 2 touchpoint دارند، MTA معنی دارد؟
بله، اما قدرت تفکیک پایین میآید. در چنین شرایطی تمرکز روی کیفیت داده (UTM، کانالبندی، stitching) مهمتر از پیچیدهکردن مدل است.
۵) چگونه وزندهی را به تیم مدیریت توضیح دهم؟
با یک مثال ساده از یک مسیر واقعی (3 تا 5 touchpoint) و نشاندادن اینکه در Linear/Time-Decay/Position-Based درآمد چگونه تقسیم میشود؛ سپس نشان دهید تصمیم بودجهای در هر سناریو چه تغییری میکند.
۶) آیا میتوانم هزینه را هم مثل درآمد چندلمسی تخصیص دهم؟
هزینه معمولاً در سطح کانال/کمپین در پلتفرم ثبت میشود و ذاتاً «آخرین کلیک» نیست؛ بهتر است هزینه را همانطور که خرج شده نگه دارید و درآمد را با multi-touch attribution model منتسب کنید تا ROI/ROAS معنا پیدا کند.
۷) با کانال Direct/None چه کنم؟
Direct اغلب «شناختهنشدن منبع» یا «بازگشت کاربر» است. پیشنهاد: Direct را نگه دارید اما در تحلیل نقش کانالها، سهم Direct را جداگانه گزارش کنید و حساسیت مدل را بسنجید (در برخی تیمها Direct را در مدل کموزنتر میکنند، ولی باید شفاف و ثابت باشد).
۸) هر چند وقت یکبار باید مدل را بازنگری کنم؟
وقتی ترکیب کانالها، پیامها یا رفتار مشتری تغییر جدی میکند (کمپین بزرگ، ورود کانال جدید، تغییر قیمتگذاری)، مدل را بازنگری کنید؛ در حالت عادی هر فصل یک بار کافی است.
اگر بخواهید این فرآیند را از اکسل به داشبورد منتقل کنید، ابتدا ساختار جدول touchpoint را استاندارد نگه دارید تا همان منطق وزندهی در ابزارهای گزارشگیری هم قابل پیادهسازی باشد.
