Marketing mix modeling (MMM) оценивает, какую часть продаж на самом деле принёс каждый канал, включая ТВ и наружную рекламу, и сколько вернёт следующий доллар в каждом из них. Модель работает на агрегированных недельных данных, без cookies и пользовательских идентификаторов, и во многом поэтому к ней снова вернулись. Порог входа - около двух лет чистой недельной истории, в которой бюджеты реально менялись, а на выходе получается оценка с неопределённостью, а не доказательство: доверять ей можно, когда её начинают проверять экспериментами.

Это вводная статья серии из четырёх. Здесь: что такое MMM и нужен ли он вам сейчас. Дальше: Google Meridian на практике, гео-эксперименты в GeoX и GeoLift для проверки модели и Meridian, Robyn и PyMC-Marketing в сравнении для выбора библиотеки.

На какие вопросы MMM отвечает и на какие нет

Лучшее короткое описание задачи до сих пор - список вопросов из статьи Чана и Перри (Google, 2017): какую отдачу дало ТВ в прошлом году, какими будут продажи, если в следующем году потратить больше или меньше, и как разделить бюджет, чтобы продать больше всего.¹ Рабочая MMM даёт четыре вещи:

  • Инкрементальный вклад каждого канала. Сколько продаж, заявок или выручки канал добавил сверх базы, которая случилась бы и без него. Сюда входят ТВ, наружная реклама (OOH), радио и спонсорство, которых пользовательская атрибуция не видит вовсе.
  • ROI каждого канала, посчитанный от инкрементального вклада, а не от атрибуцированных кликов.
  • Кривые отклика. Как вклад канала меняется при росте или снижении бюджета, то есть где канал упирается в насыщение.
  • Сценарии бюджета. Что будет с итогом, если перенести деньги между каналами, в пределах тех бюджетов, которые модель уже видела.

Не менее важно, чего она делать не умеет:

ВопросОтветит ли MMM?Инструмент лучше
Какие каналы дали дополнительные продажи в прошлом году, включая ТВ и OOHДа, это её основная задача-
Как разделить бюджет следующего года между каналамиДа, в пределах бюджетов, которые она виделаКрупные сдвиги проверить экспериментом
Какой креатив, аудитория или ключевое слово работают лучшеНет: в недельных итогах по каналу нет такой детализацииA/B-тесты в платформах, атрибуция
Что поменять в кампаниях на этой неделеНет: модель обновляют в лучшем случае раз в месяц или кварталАтрибуция, отчёты платформ
Доказать, что канал X вызвал эти продажиСама по себе нет: это регрессия на исторических данныхРандомизированные или гео-эксперименты
Что будет, если утроить бюджет каналаПлохо: это экстраполяция за пределы данныхТест с усилением бюджета (heavy-up)

Пятую строку команды обычно пропускают. Чан и Перри подчёркивают, что MMM - это регрессия на небольшом объёме наблюдательных данных и её результаты корреляционные, а не причинные, за исключением узкого набора условий.¹ Плейбук Google по измерениям говорит то же практическим языком: раз MMM опирается на корреляции, её точность зависит от масштаба, времени и вариации ваших прошлых расходов.² Это не повод отказываться от MMM. Это повод планировать эксперименты рядом с ней с первого дня.

Модель в одной формуле

Большинство современных MMM, включая Meridian, Robyn и PyMC-Marketing, построены на скелете, который Джин и соавторы выписали в статье Google 2017 года:³

Здесь - KPI в неделю t (продажи, выручка, одобренные заявки), - база (свободный член плюс тренд и сезонность: то, что вы продали бы без платной рекламы), - расходы или показы канала c в неделю t, Adstock переносит часть медиа прошлых недель в текущую с коэффициентом затухания , Hill изгибает его в убывающую отдачу с точкой полунасыщения и наклоном , - максимальный эффект канала, - контрольные переменные (цена, промо, праздники, макроэкономика, конкуренты) с коэффициентами , а - шум, который модель не объясняет.

Три свойства, которые стоит держать в голове, прежде чем читать презентацию любого вендора:

  1. Эффекты медиа складываются. Каждый канал - отдельное слагаемое, поэтому модель и может разложить продажи на базу и каналы. Джин и соавторы прямо оговаривают, что ради простоты синергия между каналами здесь не учитывается.³
  2. Сначала перенос эффекта, потом насыщение - обычный порядок. Meridian применяет Hill к медиа после adstock, если не переключить настройку,⁴ а Джин и соавторы объясняют, когда лучше обратный порядок: когда бюджет приходит несколькими короткими всплесками.³
  3. Библиотеки нормируют adstock по-разному. У Джина и соавторов, в Meridian и в PyMC-Marketing (по умолчанию) веса adstock делятся на их сумму, и медиа после adstock остаются в масштабе расходов.³ ⁴ ⁵ Геометрический adstock в Robyn - обычная рекурсивная сумма, которая раздувает итог в 1/(1-θ) раз.⁶ Поэтому одно и то же θ в разных инструментах означает разное, а разницу поглощают β и ec. Сравнивайте между моделями кривые и ROI, но не сырые параметры.

У Джина и соавторов есть и вторая причина читать кривые, а не коэффициенты: очень разные сочетания β, ec и s рисуют почти одну и ту же кривую в пределах наблюдаемых расходов, так что отдельные параметры иногда почти неидентифицируемы, даже когда сама кривая оценена хорошо.³

Adstock: реклама, которая работает после окончания флайта

Идея, что эффект рекламы накапливается и затухает, а не действует только в неделю выхода, восходит к Саймону Бродбенту: термин adstock он ввёл в статье 1979 года «One Way TV Advertisements Work» в Journal of the Market Research Society. Самая простая и до сих пор самая распространённая форма - геометрическое затухание:

- медиа после adstock в неделю t, - расходы этой недели, θ (от 0 до 1) - доля adstock прошлой недели, которая переходит в текущую. Это ненормированная форма, как в Robyn; графики серии используют её, потому что по ней легко следить за числами.

Возьмём один всплеск в 100 в первую неделю и ничего после:

При θ = 0,3 всплеск почти исчезает к 4-й неделе, при θ = 0,85 на 6-й неделе он ещё выше 40.
Неделяθ = 0,3θ = 0,6θ = 0,85
1100100100
2306085
393672,25
42,721,661,41
50,8112,9652,2
60,247,7844,37
Сумма, недели 1-12142,86249,46571,84
Сумма, все недели142,86250666,67

Каждая неделя сохраняет долю θ от предыдущей, поэтому суммарный эффект всплеска - геометрический ряд:

Здесь 100 - всплеск, а k - номер недели после него: θ = 0,3 даёт 100/0,7 = 142,86, θ = 0,6 даёт 100/0,4 = 250, θ = 0,85 даёт 100/0,15 = 666,67.

Из таблицы следуют два практических вывода. Первый: медленный канал растягивает эффект на месяцы. При θ = 0,85 за 12 недель набирается только 571,84 из 666,67, поэтому модель с коротким окном лагов или тест, прочитанный слишком рано, теряют часть эффекта. Второй: от коэффициента затухания зависит, сколько заслуги канал получит за продажи, случившиеся через недели после остановки рекламы. Поэтому его нужно оценивать, а не вписывать руками.

Для стартовых диапазонов документация Robyn приводит эмпирическое правило по недельным моделям, которые строила её команда: ТВ 0,3-0,8, OOH, пресса и радио 0,1-0,4, digital 0,0-0,3.⁶ Используйте их как границы для prior (априорных распределений) или гиперпараметров, а не как факты о вашем рынке.

Некоторые каналы достигают пика позже. Геометрическое затухание ставит пик в неделю расходов. Для медиа, которым нужно время раскачаться, например длинной ТВ-кампании или запуска бренда, Джин и соавторы предлагают adstock с отложенным пиком (он есть в PyMC-Marketing), а Robyn для той же цели предлагает формы Вейбулла. Проверьте, что поддерживает ваша библиотека, прежде чем навязывать геометрическое затухание всем каналам.

Насыщение: почему второй миллион покупает меньше первого

Второе преобразование описывает убывающую отдачу. Стандартная форма - функция Хилла, которую Джин и соавторы позаимствовали из фармакологии:³

x - медиа (после adstock), ec - точка полунасыщения, уровень, при котором канал даёт половину своего максимального эффекта, s - наклон, задающий форму кривой; результат лежит от 0 до 1 и умножается на β, превращаясь в эффект канала.

Каждая кривая достигает половины максимума в точке полунасыщения. Малый наклон даёт выпуклую вверх кривую с самого начала, большой - S-образную, с порогом, ниже которого бюджет почти не работает.

Расчёт при ec = 100 и s = 1, то есть Hill(x) = x / (x + 100):

Бюджет xHill(x)Расчёт
500,33350 / 150
1000,5100 / 200
2000,667200 / 300
4000,8400 / 500

Удвоение бюджета со 100 до 200 поднимает эффект с 0,5 до 0,667: на треть, а не вдвое. Следующее удвоение, до 400, добавляет примерно пятую часть (0,8 / 0,667). В этой таблице весь смысл перераспределения бюджета: тот же доллар стоит больше в канале, который ещё находится на крутом участке своей кривой.

Два замечания из практики. Априорное распределение Meridian по умолчанию предполагает выпуклую вверх кривую для платных медиа, а документация предупреждает, что S-образные кривые могут мешать оптимизации бюджета (на октябрь 2026).⁷ А S-образную форму модель может выучить, только если в истории есть недели с низкими расходами: Джин и соавторы показывают, что когда точка полунасыщения лежит за пределами наблюдаемых расходов, совершенно разные кривые одинаково хорошо описывают данные.³

От данных к решениям: конвейер MMM

От недельных данных к решению по бюджету

Одна регрессия, три способа её читать, проверка экспериментами

  1. Недельные данные

    KPI из бэкенда

    Бюджет и показы по каналам

    Контрольные: цена, промо, сезон

    • 2+ года
  2. Преобразования и оценка

    Adstock

    Насыщение Хилла

    Байесовская или ridge-оценка

    • проверка на отложенных неделях
  3. Чтение результатов

    Декомпозиция

    ROI, mROI

    Кривые отклика

    • интервалы, а не точки
  4. Решение

    Сценарии бюджета

    Не больше 20% за шаг

    Проверка крупнейших ставок

    • эксперименты

Результаты экспериментов возвращаются в модель как калибровка.

Цикл повторяется, когда планируют бюджеты: раз в квартал или в год.

Цикл MMM: недельные данные, преобразования и оценка, три способа читать результат, решение по бюджету и эксперименты, которые возвращаются в модель.
  1. Данные. Недельный KPI, расходы и охват по каналам, контрольные переменные. Во всех проектах MMM, которые я видел, этот шаг занимает большую часть времени.
  2. Преобразования. Adstock и насыщение для каждого канала, с параметрами, оценёнными по данным, а не заданными вручную.
  3. Обучение. Meridian и PyMC-Marketing - байесовские: вы задаёте prior и получаете posterior (апостериорное распределение) по каждому параметру. Robyn обучает гребневые (ridge) регрессии, подбирает параметры преобразований оптимизатором и выбирает среди множества моделей-кандидатов и по качеству подгонки, и по критерию правдоподобия, который сравнивает долю эффекта каждого канала с его долей в расходах.⁶ Компромиссы разобраны в статье-сравнении.
  4. Результаты. Декомпозиция, ROI и предельный ROI, кривые отклика: о них следующий раздел.
  5. Сценарии бюджета. Оптимизатор переносит деньги между каналами вдоль кривых отклика в заданных вами границах.
  6. Эксперименты. Каналы с самой широкой неопределённостью и самыми крупными планируемыми сдвигами идут в тест, а результаты возвращаются в модель как калибровка: prior в байесовской модели, отдельная целевая функция калибровки в Robyn.

Как читать результаты

Проверьте модель на неделях, которых она не видела

Прежде чем читать любой ROI, отложите последние недели и проверьте модель на них. На графике смоделированный бренд с тремя каналами, истинный ROI которых известен: регрессию, которой дали истинные формы adstock и насыщения, обучают на 91 неделе и проверяют на последних 13. R² на обучении 0,917, средняя абсолютная ошибка в процентах на отложенных неделях 7,3%.

Смоделированная недельная выручка (точки) и модель с 90% полосой: обучение на неделях 1-91, проверка на 13 серых неделях, которых модель не видела, ошибка на них 7,3%.

Хорошая проверка на отложенных неделях необходима, но не достаточна. На этих же данных модель не может отделить наружную рекламу от базы, потому что её бюджет почти не меняется: интервал её ROI остаётся от 0,29 до 3,52 против 0,28-4,69 у одного prior. Как это выглядит и что меняет один эксперимент, показано в статье про Meridian.

Декомпозиция: откуда пришли продажи

Условная декомпозиция за 26 недель: база внизу, постоянно включённый платный поиск посередине, онлайн-видео двумя флайтами, каждый из которых медленно затухает.

График построен на синтетических данных. За 26 недель модель относит 3120 на базу, 814 на платный поиск и 858 на онлайн-видео (тыс. $), всего 4792. Доля компонента - его вклад, делённый на сумму:

- смоделированная выручка канала (или базы) за период, а сумма берётся по всем компонентам: база = 3120 / 4792 = 65,1%, платный поиск = 814 / 4792 = 17,0%, видео = 858 / 4792 = 17,9%.

Две проверки, которые я делаю на каждой декомпозиции, прежде чем кто-то начнёт обсуждать каналы:

  • Правдоподобна ли база? База в 65% означает, что около двух третей выручки за этот период случились бы вообще без платной рекламы. Верить ли в это - вопрос к бизнесу: спросите продажи и финансы, прежде чем принимать цифру. База, которая в какие-то недели уходит ниже нуля, почти всегда означает ошибку в спецификации модели, а не гениальность маркетинга.
  • За что модель хвалит поиск? Постоянно включённый поиск, особенно брендовый, собирает спрос, который создали другие каналы и сам бренд. Чан и Перри называют платный поиск и ремаркетинг типичными примерами смещения отбора (selection bias),¹ а плейбук Google называет поиск особенно трудным для измерения в MMM и рекомендует регулярно проверять его экспериментами.²

ROI и предельный ROI

ROI говорит, как канал отработал в среднем. Предельный ROI (mROI) говорит, что сделает следующий доллар. Решения о бюджете принимаются по второму.

- дополнительная выручка при недельном бюджете x, - максимум, который канал вообще способен добавить, ec = 50 - его точка полунасыщения (всё в тыс. $, наклон s = 1); ROI - выручка на доллар уже потраченного, mROI - производная, отдача ещё одного доллара.

При 100 тыс. $ в неделю средний ROI равен 2,0, но наклон кривой, отдача следующего доллара, всего около 0,67.
Бюджет в неделю, тыс. $Дополнительная выручка, тыс. $ROImROI
251004,02,667
501503,01,5
1002002,00,667
1502251,50,375

При 50: выручка = 300 × 50 / 100 = 150, ROI = 150 / 50 = 3,0, mROI = 300 × 50 / 100² = 1,5. При 100: выручка = 300 × 100 / 150 = 200, ROI = 2,0, mROI = 15 000 / 150² = 0,667. Точка, где следующий доллар возвращает ровно доллар:

Приравняв mROI к 1 и решив уравнение относительно x, получаем бюджет безубыточности, здесь 72,5 тыс. $ в неделю.

То есть при 100 тыс. $ в неделю канал показывает здоровый ROI 2,0, а каждый доллар сверх 72,5 тыс. возвращает меньше доллара. Отчёт, где есть только ROI, посоветовал бы и дальше наращивать бюджет. Правило решения: переносить деньги из каналов с низким mROI в каналы с высоким, пока предельная отдача не станет примерно одинаковой; Джин и соавторы формализуют ту же идею как максимизацию прогнозной выручки при фиксированном бюджете.³

Две оговорки. ROI в MMM включает перенос эффекта: Джин и соавторы учитывают и выручку в неделях после периода расходов.³ И эти два числа не одинаково надёжны: Чан и Перри отмечают, что модель может неплохо оценивать предельный ROI рядом с текущими расходами и плохо - средний, потому что средний ROI требует экстраполяции к нулевому бюджету, а такого уровня в данных обычно нет.¹

Интервалы: почему одна точка опасна

Каждое число выше - одна точка. Настоящие модели выдают распределения: posterior в байесовских моделях, бутстреп-интервалы в Robyn. Три причины никогда не показывать точку без интервала:

  • Оптимальный микс тоже неопределён. Джин и соавторы показали, что рекомендованный микс имеет большую дисперсию, потому что большую дисперсию имеют оценки параметров, и что подстановка средних параметров в формулу ROI может дать неверный ответ, так как игнорирует совместное движение параметров. Считайте ROI для каждой выборки из posterior и только потом усредняйте.³
  • Хорошая подгонка не равна проверке. В примере Чана и Перри пять правдоподобных моделей на одних и тех же данных, все с R² 0,98-0,99, расходились в прогнозе продаж до 50% и рекомендовали противоречащие друг другу распределения бюджета.¹
  • Широкие интервалы подсказывают, что тестировать дальше. Плейбук Google рекомендует первыми проверять экспериментами каналы с самыми широкими интервалами.²

Моё рабочее правило: показывать ROI каждого канала вместе с интервалом. Если интервал по каналу накрывает и «сократить», и «удвоить», модель не ответила на вопрос по этому каналу, и именно он - ваш следующий эксперимент.

Что нужно подготовить до старта

  • 2 года: минимум недельной истории (Robyn, плейбук Google)
  • 3 года: рекомендуется для национальной модели Meridian
  • 10 : 1: наблюдений на одну переменную модели (Robyn)
  • 4: точки на параметр в примере Meridian на 104 неделях: слишком мало

Источники сходятся в нижней границе. Руководство аналитика Robyn требует минимум два года недельных данных, а при только месячных данных - больше двух лет, например 4-5.⁸ Плейбук Google называет не менее двух лет истории обязательным условием MMM.² Meridian просит минимум два года недельных данных для гео-моделей и три года для национальных, а для месячных данных - не меньше трёх лет.⁹

Почему больше - лучше, объясняет простой подсчёт. Документация Meridian разбирает национальную модель с 12 каналами, 6 контрольными переменными и 8 узлами тренда: 26 параметров на 104 недельных точках - это 4 точки на параметр, что документация называет слишком малым для надёжной оценки, и предлагает три года (156 / 26 = 6 точек на параметр) или гео-модель.¹⁰ Чан и Перри приводят эмпирическое правило 7-10 точек на параметр для устойчивой регрессии и отмечают, что лаг и насыщение требуют 3-4 параметров на канал.¹ Руководство Robyn рекомендует около 10 наблюдений на одну независимую переменную.⁸

Помимо длины истории, чек-лист такой:

  • Один KPI с одинаковым определением на весь период. Если в 2024 году «заявкой» считалась отправленная форма, а в 2025-м одобренная заявка, модель увидит структурный разрыв, а не маркетинг. Meridian также требует KPI, который можно суммировать по времени и регионам: штуки, выручка, конверсии, но не доли вроде CTR.⁹
  • Бизнес-результат, а не конверсия из рекламной платформы. В банках, страховании и кредитовании результат живёт в core-системе или CRM: одобрения, выдачи, полисы, нередко оформленные офлайн в отделении или колл-центре. Заведите их в недельную таблицу; как их собрать, разобрано в статьях про атрибуцию отделений и лиды без выдач.
  • Расходы и охват по каждому каналу за каждую неделю, фактические, а не плановые. Руководство Robyn настаивает на фактических данных и предпочитает метрики контакта, например показы или GRP, если они есть;⁸ Meridian нужны расходы плюс одна метрика контакта по каждому каналу.⁹
  • Вариация. Если бюджет канала почти не менялся, модель не отделит его эффект от базы; в руководстве Robyn пример с ТВ-бюджетом, который стоит на месте, пока продажи колеблются.⁸ Паузы, флайты и региональные различия - то, на чём модель учится. Каналы, которые всегда растут вместе (всё вверх в четвёртом квартале), создают ту же проблему.¹
  • Контрольные переменные. Цены и промо, процентные ставки для финансовых продуктов, праздники по местному календарю, запуски продуктов, активность конкурентов, макропоказатели.
  • Место для данных. Недельная таблица в хранилище, которую пересобирает задание по расписанию, а не таблица, которую кто-то обновляет вручную. См. статью про first-party данные и DWH. Поскольку MMM работает только с агрегированными данными, потеря cookies и пробелы в согласиях не ломают её так, как ломают пользовательский трекинг,² при условии что KPI берётся из вашего бэкенда, а не из конверсий, которые отчитывает платформа; откуда берутся эти пробелы, объясняет статья про Consent Mode v2.

Посчитайте параметры до того, как заказывать модель. Двадцать каналов по 3-4 параметра плюс контрольные переменные и сезонность могут превысить 156 точек, которые дают три года национальных недельных данных. Документация Meridian перечисляет способы: объединить мелкие каналы, убрать почти нулевые, сократить контрольные переменные и узлы, добавить годы, перейти на гео-данные или использовать более сильные prior.

MMM, атрибуция и эксперименты: кто на что отвечает

Мультиканальная атрибуция (MTA)Эксперименты на инкрементальностьMMM
ДанныеПользовательские пути (клики, частично просмотры)Тестовые и контрольные группы пользователей или регионовАгрегированные недельные итоги
Что измеряетЗаслугу точек касания на путях с конверсиейПричинный инкрементальный эффект в конкретный моментСмоделированный инкрементальный вклад во времени
КаналыОтслеживаемый digitalЛюбой канал, который можно отключить или изменитьВсе, включая офлайн
СкоростьЕжедневноНедели на тестОбновление раз в месяц или квартал
Главная слабостьЗасчитывает продажи, которые случились бы и такСнимок одного момента, дорого масштабироватьКорреляционная, нужна длинная история
Лучше всего дляЕжедневной оптимизации кампанийДоказательства и калибровкиРаспределения бюджета между каналами

Таблица следует обзору из плейбука Google.² Там же предложен полезный способ держать три инструмента вместе: для digital-каналов с кликами атрибуция обычно даёт щедрую верхнюю границу, эксперименты - консервативную нижнюю, и оценка MMM должна лечь между ними. Если не ложится, сначала проверьте настройку, а потом спорьте о цифрах.

Правила совмещения в плейбуке конкретные:²

  1. Сравнивайте сопоставимое. Эксперимент должен покрывать ту же агрегацию каналов и ту же метрику, что и модель, и проходить в обычный для бизнеса период.
  2. Расхождение 5-10% между MMM и экспериментом допустимо. Ниже 10% срочно перекалибровывать не нужно.
  3. Выше 10% калибруйте модель по эксперименту. В байесовской MMM эксперимент становится prior для ROI; в небайесовской плейбук предлагает множитель: iROAS эксперимента, делённый на ROAS из MMM.
  4. Сдвигайте не больше 20% бюджета канала за раз по прогнозам MMM, а любое изменение больше 10% по возможности проверяйте экспериментом.
  5. Не калибруйте целый канал по одному эксперименту. Калибровка должна быть постоянной и охватывать как можно больше каналов.
  6. Не стремитесь к единому источнику правды. Даже с MMM мирового уровня ежедневную оптимизацию лучше вести по атрибуции.

Один эксперимент - одна задача. Плейбук прямо говорит: один и тот же эксперимент нельзя использовать и для калибровки модели, и для её проверки. Если результат теста ушёл в prior, для проверки обновлённой модели планируйте новый тест.

Руководство IAB от декабря 2025 года говорит о том же со стороны рекламодателя: MMM нужно встраивать в связку с атрибуцией, экспериментами и финансовыми системами, а не держать отдельным отчётом.¹¹ Как спроектировать эти эксперименты, в том числе при малом числе регионов, разобрано в статье про гео-эксперименты.

Когда MMM окупается, а когда нет

Опубликованного порога «достаточно большой компании» нет. Ниже моё суждение из практики, а не правило из какого-либо источника.

  • Стоит делать сейчас. Несколько каналов, настоящая история. Четыре и больше каналов с заметными бюджетами, хотя бы один из них атрибуция не видит (ТВ, OOH, радио, спонсорство, размещения в Telegram), два года недельных данных, бюджет решается раз в квартал или год, и есть человек с полномочиями действовать по итогам перераспределения.
  • Сначала подготовиться. Каналы есть, данных пока нет. KPI менял определение, расходы лежат в таблицах агентств или результат - офлайн-событие, которого ещё нет в хранилище. Потратьте ближайшие месяцы на недельную таблицу и первый эксперимент.
  • Пока рано. Слишком просто или слишком ново. Один-два digital-канала, где эксперименты в платформах и атрибуция ответят дешевле; бизнес-модель, которая принципиально изменилась меньше двух лет назад; или бюджеты, которые весь период стояли на месте.

Мой тест на размер бюджета: возьмите годовой медиабюджет, предположите, что лучшее распределение повысит его эффективность на скромные несколько процентов, и сравните с годовой стоимостью модели, то есть с инженерией данных, временем аналитика, обновлениями и одним-двумя экспериментами. Если первое число не превышает второе с запасом, вложитесь сначала в данные и эксперименты и вернитесь к MMM через год.

Казахстан и СНГ: что меняется

Мало гео-единиц. В Казахстане 17 областей и 3 города республиканского значения (Алматы, Астана, Шымкент), то есть около 20 гео-единиц.¹² Документация Meridian иллюстрирует гео-модель на 105 регионах и 156 неделях.¹⁰ Гео-модели выигрывают в точности за счёт большого числа регионов и различий в расходах между ними,¹³ а при 20 очень неравных единицах, где у большинства потребительских брендов, с которыми я работаю, Алматы и Астана намного крупнее остальных, этот выигрыш ограничен. Гео-эксперименты упираются в ту же стену: GeoLift рекомендует больше 20 гео-единиц,¹⁴ и Казахстан находится ровно на этой границе.

Что я с этим делаю:

  • Начинаю с национальной недельной модели и вкладываюсь в хорошо обоснованные prior и эксперименты, а не в гео-детализацию.
  • Перехожу на гео-уровень, только когда региональны обе стороны: KPI по региону клиента или отделения и расходы, которые действительно закупались по регионам. Сан и соавторы показывают, что гео-оценки ухудшаются по мере того, как всё больше медиапеременных восстанавливается из национальных данных,¹³ а национальные кампании на ТВ, в Яндексе или Telegram, разнесённые по регионам пропорционально населению, - именно такое восстановление.
  • Для экспериментов беру города, где это позволяет KPI, провожу тесты дольше и использую подобранные рынки (matched markets) или синтетический контроль вместо простого случайного разбиения; Алматы и Астану рассматриваю отдельно, чтобы один из них не оказался в тестовой группе в одиночку. Подробности в статье про гео-эксперименты.

Локальный набор каналов. Обычно это Google, Meta, TikTok, Яндекс, Telegram, OOH и ТВ. Работа с данными по каналам разная: ТВ приходит недельными GRP от медиаагентства; размещения в Telegram-каналах, купленные напрямую, часто существуют только в виде счетов и ссылок на посты, поэтому собирайте стоимость и просмотры по каждому посту и сворачивайте в недели; OOH часто покупается длинными ровными контрактами, и модели почти не на чем учиться.

Офлайн-результаты в банках и суперприложениях. Для банков, страховщиков и суперприложений целевое действие, будь то одобренный кредит, выдача, активированная карта или подписанный полис, часто происходит в отделении, в колл-центре или внутри приложения. MMM с этим справляется хорошо, потому что ей нужны только недельные итоги из core-системы, но кто-то должен построить эту недельную выгрузку. См. статьи про атрибуцию отделений и продвижение суперприложения с Firebase и tROAS.

Типичные ошибки

Считать брендовый поиск драйвером роста

Брендовый поиск собирает спрос, который создали ТВ, OOH и сарафанное радио, и модель может отдать ему чужую заслугу. Проверьте поиск экспериментом, прежде чем переносить в него деньги со слов модели.

Перераспределять бюджет по среднему ROI

У канала с ROI 2,0 предельный ROI может быть 0,67. Двигайте бюджет по mROI и кривым отклика; средний ROI - для отчёта о прошлом.

Верить одной модели, потому что она хорошо подогнана

Одинаково хорошо подогнанные модели могут расходиться в прогнозе продаж до 50%. Смотрите на интервалы, сравнивайте варианты модели и считайте высокий R² минимальным требованием, а не проверкой.

Спрашивать о бюджетах, которых модель не видела

Удвоить канал или выключить его - это экстраполяция. Сдвигайте не больше 20% бюджета канала за раз и перед крупными шагами проводите тест с усилением или отключением (holdout).

Моделировать лиды вместо бизнес-результата

Отправленные формы легко собрать и легко накрутить. Если бизнес зарабатывает на одобрениях или выдачах, моделируйте их, даже если для этого придётся каждую неделю выгружать данные из core-системы.

Следующий шаг

Если вы решаете прямо сейчас, начните со сбора недельной таблицы за последние два года: KPI, расходы и охват по каналам, контрольные переменные. То, как далеко вы продвинетесь за две недели, расскажет о вашей готовности больше любой демонстрации вендора, а когда таблица будет готова, продолжение - в статье про Meridian.

Источники

¹ Challenges and Opportunities in Media Mix Modeling (Chan, Perry, 2017) - Google Research
² Modern Measurement Playbook, 2024 edition - Google
³ Bayesian Methods for Media Mix Modeling with Carryover and Shape Effects (Jin et al., 2017) - Google Research
⁴ Model specification - Meridian, Google for Developers
⁵ GeometricAdstock - PyMC-Marketing API reference
⁶ Features: adstock, saturation and model selection - Robyn, Meta
⁷ Media saturation and lagging - Meridian, Google for Developers
⁸ Analyst's guide to MMM - Robyn, Meta
⁹ Collect and organize your data - Meridian, Google for Developers
¹⁰ Amount of data needed - Meridian, Google for Developers
¹¹ Modernizing MMM: Best Practices for Marketers - IAB
¹² Administrative-territorial units of the Republic of Kazakhstan (July 1, 2023) - Bureau of National Statistics
¹³ Geo-level Bayesian Hierarchical Media Mix Modeling (Sun et al., 2017) - Google Research
¹⁴ GeoLift - Meta, GitHub

Частые вопросы

Сколько времени занимает построение первой MMM?

По моему опыту, само моделирование - короткая часть: больше всего календарного времени уходит на то, чтобы собрать, очистить и согласовать два года недельных данных по KPI, расходам и контрольным переменным. Когда недельная таблица готова, первая внятная модель занимает недели. Гео-эксперимент для её проверки добавляет ещё: по руководству Google GeoX на тест от планирования до завершения закладывается 7-14 недель.

Можно ли строить MMM на месячных данных?

Можно, но нужна более длинная история: руководство Robyn советует больше двух лет, например 4-5, а Meridian просит минимум три года месячных данных. Месячные данные дают 12 точек в год вместо 52, поэтому модель может позволить себе гораздо меньше параметров, а документация Meridian предупреждает о проблемах со сходимостью и широких интервалах. Если недельные данные где-то есть, а в рекламных платформах и core-системах они обычно есть, восстановите историю по неделям.

Если у нас есть MMM, нужна ли ещё атрибуция?

Да. Плейбук Google прямо говорит, что даже MMM мирового уровня не заменяет атрибуцию для ежедневной оптимизации. MMM обновляется раз в месяц или квартал на уровне каналов, атрибуция отвечает ежедневно на уровне кампаний и ключевых слов. Распределяйте бюджет между каналами по MMM и экспериментам, а управляйте внутри каналов по атрибуции, в идеале откалиброванной экспериментами.

Как часто обновлять модель?

Моя настройка по умолчанию: обновление на новых данных раз в квартал и полная пересборка раз в год или после крупного изменения в бизнесе или наборе каналов. Между обновлениями двигайте не больше 20% бюджета канала за раз и продолжайте эксперименты, чтобы у следующего обновления была свежая калибровка. Если обновление на трёх новых месяцах данных резко меняет ROI канала, это тревожный сигнал, а не новость.

Влияют ли на MMM потеря cookies, ITP и баннеры согласия?

Напрямую нет: MMM работает с агрегированными недельными итогами и не нуждается в пользовательских данных, и именно поэтому плейбук Google называет её более устойчивой к будущим изменениям. Подвох в KPI. Если он берётся из конверсий рекламных платформ или GA4, он наследует их пробелы в согласиях и трекинге, и изменение доли согласий выглядит как изменение продаж, поэтому берите KPI из своего бэкенда или core-системы.

Узнаёте свою воронку?

Две недели, фиксированный скоуп, доступы только на чтение. Находки и роадмап на 90 дней остаются у вас в любом случае.