Входные данные и переменные
Расходы, сезонность и базовый уровень
«Входные данные и переменные» — бесплатный урок Digital Marketing Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Digital Marketing Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Digital Marketing Academy содержит 4 уроков всего.
Устройство входных данных MMM
Качество MMM не может быть выше качества его входных данных. Они делятся на три группы: медиапеременные (инструменты, которыми Вы управляете), контрольные переменные (факторы, которыми Вы не управляете) и зависимая переменная (то, что Вы прогнозируете).
Правильно задать эти данные, выбрать подходящую детализацию и частоту обновления — основная часть работы над достоверной моделью.
dependent : sales or revenue (weekly)
media : spend or impressions per channel
controls : price, promo, seasonality, macro
transforms: adstock, saturationЗависимая переменная
Выберите чистый результат: количество проданных единиц, выручку или новых клиентов. Последовательно определите, используется ли валовое или чистое значение и исключены ли возвраты.
Моделируйте с той детализацией, на которую можете воздействовать, обычно на национальном или региональном уровне с недельным шагом. Ежедневные данные добавляют шум, а ежемесячные скрывают динамику.
Медиапеременные: расходы и показы
Медиаданные можно представить как расходы или как экспозицию (показы, рейтинговые пункты, клики). Показы отделяют объём размещения от стоимости, что важно при колебаниях цены за тысячу показов.
Распространённый подход: строить модель на показах для получения кривой отклика, а затем пересчитывать результат в расходы для ROI. Всегда используйте согласованные единицы измерения внутри одного канала.
TV -> GRPs
Search -> clicks or spend
Social -> impressions
OOH -> spend (no impression feed)Перенос рекламного эффекта
Рекламный эффект сохраняется после окончания размещения. Модель переноса эффекта описывает это затухание, поэтому продажи этой недели отражают рекламу предыдущих недель.
Коэффициент затухания лямбда управляет памятью модели: 0,0 означает отсутствие переноса эффекта, а 0,8 — длинный хвост воздействия. У TV обычно более высокий перенос эффекта, чем у поисковой рекламы.
adstock_t = media_t + lambda * adstock_(t-1)
lambda=0.3 (search): fast decay
lambda=0.7 (TV): slow decay, long memoryНасыщение (убывающая отдача)
Удваивание расходов редко удваивает продажи. Преобразование насыщения учитывает убывающую отдачу, чтобы модель не продолжала бесконечно линейно экстраполировать результат.
Преобразования Хилла или логарифмические преобразования изгибают кривую отклика, задавая для каждого канала реалистичный предел и эффективный диапазон расходов.
Hill: response = x^a / (x^a + k^a)
low spend -> steep gains
high spend -> flattening curve (saturated)Контрольные переменные
Контрольные переменные учитывают немедийные факторы, чтобы их ошибочно не приписывали рекламе. Ключевые факторы: цена, промоакции, дистрибуция и доступность, активность конкурентов и макроэкономические индексы.
Отсутствие важной контрольной переменной искажает коэффициенты медиапеременных и часто завышает вклад канала, который случайно работал во время промоакции.
price : average selling price
promo : 0/1 flag or % discount depth
distribution : stores or % ACV
competitor : share of voice / spend
macro : consumer confidence, CPIСезонность и тренд
У многих продуктов выражена сезонность. Учитывайте её с помощью фиктивных переменных для месяца или недели, слагаемых Фурье либо сезонного индекса, а также добавляйте слагаемое тренда для отражения базового роста или снижения.
Без этого сезонный рост продаж перейдёт в медиапеременные, которые случайно использовались в пиковый сезон.
fourier: sin(2*pi*t/52), cos(2*pi*t/52)
trend: t (linear) or spline
holiday: black_friday_flag, holiday_flagРазделение базовых и инкрементальных продаж
MMM отделяет базу — то, что Вы продали бы без новых медиаразмещений: капитал бренда, дистрибуция и цена — от инкрементальных вкладов, вызванных медиа.
Здоровая модель часто показывает большую стабильную базу. Если медиа «объясняет» почти всё, контрольные переменные, вероятно, слишком слабы.
total_sales = base + sum(media_contributions)
base : 70%
incremental : 30% (split across channels)Проблемы мультиколлинеарности
Когда каналы размещаются одновременно, модель не может отделить их эффекты друг от друга, а коэффициенты становятся нестабильными и иногда меняют знак.
Диагностируйте проблему с помощью матриц корреляций и VIF. Снизить её влияние можно, меняя расходы во времени, добавляя географические вариации или используя байесовские априорные распределения для стабилизации оценок.
corr(TV, Social) = 0.91 -> high collinearity
VIF > 10 -> unstable estimate
fix: stagger flights, add geo splits, priorsКонтрольный список проверки переменных
Приведите все ряды к одному календарю и часовому поясу. Заполняйте пропуски осознанно, а не молча нулевыми значениями, которые не позволяют отличить «нет расходов» от «нет данных».
Скорректируйте денежные ряды с учётом инфляции, если период наблюдения длительный, и документируйте каждое преобразование, чтобы результаты можно было воспроизвести.
Объединение входных данных
Итоговая матрица модели объединяет исходные контрольные переменные и преобразованные медиаданные. Каждый столбец медиаданных сначала преобразуется с учётом переноса эффекта, а затем насыщения перед включением в регрессию.
Порядок операций в конвейере важен: сначала перенос эффекта (когда он проявляется), затем насыщение (каков его масштаб).
raw_TV -> adstock(lambda=0.7) -> saturation(Hill)
-> column TV_eff in model
sales = base + b1*TV_eff + b2*Search_eff
+ b3*price + b4*promo + seasonБыстрая проверка
Определите подходящее преобразование для каждого явления.
Итоги
Входные данные MMM — это зависимая переменная, медиапеременные (сначала преобразованные с учётом переноса эффекта, затем насыщения) и контрольные переменные (цена, промоакции, дистрибуция, сезонность и макроэкономические факторы).
Сильные контрольные переменные защищают от завышения вклада медиа, а чистые, согласованно масштабированные и хорошо документированные ряды служат основой надёжной модели.
Часто задаваемые вопросы
Урок «Входные данные и переменные» бесплатный?
Да — полный текст урока «Входные данные и переменные» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Digital Marketing Academy, подпишись на CoddyKit PRO. Курс Digital Marketing Academy содержит 4 уроков всего.
Чему я научусь в уроке «Входные данные и переменные»?
Расходы, сезонность и базовый уровень Ты практикуешь Digital Marketing Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Digital Marketing Academy?
Предыдущий опыт не требуется. Digital Marketing Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Входные данные и переменные»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Digital Marketing Academy?
Да. Каждый урок Digital Marketing Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- MMM и атрибуция
- Входные данные и переменные
- Интерпретация MMM
- Перераспределение бюджета