Time-decay attribution: чому last-click бреше
TL;DR. Якщо ваш product cycle > 24 годин (e.g. health, education, B2B), last-click дає 30–60% overcount для retargeting каналів. Time-decay attribution з half-life=7d ріже цю похибку на 80%.
Чому last-click ламається
Last-click — це симпатичне спрощення. «Хто привів — тому й гроші.» Проблема: 70–85% покупок у нерухомих ринках мають > 2 touch-points у customer journey. Останній touch — це часто branded retargeting, який працює тільки тому, що паралельні канали (organic search, Meta cold) розігріли користувача.
Time-decay у двох рядках
weight(touch) = 0.5 ^ ((conversion_ts - touch_ts) / half_life)
sum(weights) = 1.0 # normalize
Із half_life=7 днів: touch 1 день назад отримує 0.91× ваги; touch 7 днів назад — 0.5×; touch 30 днів назад — 0.05×. Не нуль, але мало.
Чому half_life=7d, а не 14d
На Medica+ data ми calibrate half_life через cross-validation: max correlation з actual revenue uplift від кампаній А/Б тесту → 7 ± 1 день. Якщо ваш цикл інший (subscription, B2B), запустіть calibration script у v11/transformers/attribution.py.
Як вмикаємо у Yolt
Settings → Data Sources → Attribution model → Time-decay (default 7d). Кожна сторінка автоматично використовує decay-weighted attribution. Ваші старі звіти теж переробляються — не потрібно мігрувати дані.
Питання? Telegram @yolt_support або email [email protected].