MMM ломается не на модели, а на грязных входах: 7 проверок до расчёта
MMM отвечает на простой вопрос: какой канал создал дополнительную выручку, а не просто коснулся пользователя. Для этого нужны ряды по продажам, медиа-давлению, цене, промо, сезонности и внешним факторам. Если в данных есть провалы, дубли или смена логики учёта, регрессия честно обучится на шуме.
Перед моделированием проверьте:
— у всех рядов одна частота и одинаковые даты;
— spend и impressions не дублируют друг друга;
— промо и скидки вынесены отдельно;
— нет резких разрывов из-за смены трекинга;
— медиавес желательно лагировать и насыщать, а не пихать в модель «как есть».
Базовая логика проста: Sales_t = baseline + f(media_t-k) + price_t + promo_t + seasonality_t + error_t. Если media и price идут вместе, модель может приписать эффект не тому фактору. Если каналов много, смотрите VIF, корреляции и стабильность коэффициентов на бутстрапе. Если знак канала меняется от прогона к прогону — это не инсайт, а слабая идентификация.
Ещё одна ловушка — слишком короткая история. MMM любит 1–2 цикла спроса минимум; иначе сезонность и долгий эффект медиа не отделяются от шума. Поэтому сначала чистим входы и проверяем структуру данных, потом уже спорим о формулах и байесовских priors.
Хороший MMM начинается не с «какую библиотеку взять», а с вопроса «какие ряды вообще можно доверять».
Measurement Brand — MMM / incrementality
@measurement_brand_aff
MMM ломается не на модели, а на грязных входах: 7 проверок до расчёта
Этот пост опубликован в Telegram-канале Measurement Brand — MMM / incrementality. Подписаться можно по ссылке: @measurement_brand_aff.