Опора на знания отрасли. Оценки опираются и на ваши данные, и на априорные отраслевые допущения. Чем короче история, тем больше вес допущений – это видно по ширине диапазонов.
Метод
Как считается MMM: модель, её проверка и честный отказ
Модель медиамикса в Econometrica MMM Optimizer – байесовская эконометрическая модель: она оценивает вклад каждого рекламного канала в продажи не одной цифрой, а распределением возможных значений, и показывает его 90-процентным диапазоном правдоподобия. Это эконометрическое моделирование маркетинг-микса (MMM) на байесовском методе. Ниже – из чего состоит модель, какими проверками мы отделяем надёжный расчёт от ненадёжного и что модель не делает.
Из чего состоит модель
- Перенос эффекта рекламы (адсток). Реклама продолжает работать после выхода. Модель учитывает это двумя способами: геометрическим затуханием – скорость затухания оценивается по данным – или по форме Вейбулла с заданной формой. По умолчанию способ подбирается автоматически.
- Насыщение. После некоторого уровня вложений каждый следующий рубль в канале даёт меньше предыдущего. Насыщение описывается кривой Хилла, её параметры оцениваются по данным.
- Календарь российских праздников учитывается автоматически; его можно отключить.
- Сезонность. Сезонная волна добавляется, если в данных не меньше двух полных циклов и она статистически заметна; иначе сезонной составляющей нет.
- Внешние факторы – цена, промоакции, дистрибуция, заболеваемость и другие – входят в модель, если вы даёте их отдельными колонками.
- Результаты экспериментов. Если у вас есть результаты лифт-тестов, их можно учесть в модели как дополнительное наблюдение.
Кривые отклика: где следующий рубль ещё работает
- ТВ
- Наружная реклама
- Онлайн-видео
- Поиск
- Затраты сейчас
- После перераспределения
Данные графика таблицей
| Канал | Затраты сейчас, млн | Затраты после, млн | Прирост по кривой сейчас, млн | Прирост по кривой после, млн |
|---|---|---|---|---|
| ТВ | 954,4 | 551,9 | 1 242,1 | 1 101,3 |
| Наружная реклама | 261,1 | 242,6 | 287,3 | 274,3 |
| Онлайн-видео | 380,3 | 623,7 | 923,9 | 1 230,1 |
| Поиск | 312,1 | 489,6 | 470,4 | 717,8 |
Текстовое описание ролика
- 0,0–3,0 сРеклама продолжает работать после выхода.
- 3,0–9,0 сРеклама вышла один раз, а её эффект виден ещё несколько периодов и постепенно затухает
- 9,0–14,0 сскорость затухания при геометрическом переносе модель оценивает по данным.
- 14,0–20,3 сПосле некоторого уровня вложений каждый следующий рубль в канале даёт меньше предыдущего.
- 20,3–25,3 сНасыщение описывается кривой Хилла, её параметры оцениваются по данным.
- 25,3–31,9 сПри коротком ряде – меньше 30 наблюдений – программа по умолчанию выбирает упрощённый режим:
- 31,9–38,0 собычную регрессию с фиксированными параметрами переноса и насыщения.
Как идёт расчёт
Модель построена на PyMC – открытой библиотеке байесовского моделирования. В байесовском режиме расчёт идёт сэмплером NUTS: по умолчанию четыре независимые цепи по 2000 выборок после 2000 шагов прогрева. Цепи – это несколько параллельных прогонов; если они сошлись к одному ответу, расчёту можно доверять больше.
При коротком ряде – меньше 30 наблюдений – программа по умолчанию выбирает упрощённый режим: обычную регрессию с фиксированными параметрами переноса и насыщения. В нём у вклада каналов диапазона нет, остальные диапазоны строятся иначе, и вердикт «надёжно» не выдаётся никогда.
Четыре состояния вердикта
После расчёта модель получает одно из четырёх состояний:
- Надёжно. Расчёт сошёлся, проверки качества пройдены.
- Совет с оговоркой. Совет даётся, но с оговоркой и названными причинами. Причины: данных мало относительно числа параметров модели; качество модели слабое; дивергенции есть, но их число не превышает порога отказа; низкое эффективное число выборок; низкий показатель E-BFMI; проблема на проверке априорных допущений; отключён календарь праздников.
- Модель ненадёжна. Расчёт не сошёлся. Программа показывает причину и не применяет переброску бюджета автоматически.
- Надёжность не проверена. Если диагностику получить нельзя или она неполная, программа так и пишет и предлагает трактовать рекомендации осторожно.
Пороги отказа
Модель помечается ненадёжной, если выполнено хотя бы одно условие:
- наибольший показатель сходимости R-hat равен 1,05 или выше. R-hat сравнивает разброс внутри цепей и между цепями; близкое к единице значение означает, что цепи пришли к одному ответу;
- дивергенций больше 1 % от всех сохранённых выборок всех цепей, а если это меньше 20 – больше 20. При расчёте по умолчанию (четыре цепи по 2000 выборок) порог – больше 80 дивергенций. Дивергенция – сбой шага сэмплера, признак того, что часть распределения расчёт мог пропустить.
Нехватка данных к отказу не ведёт: при ограниченных данных совет даётся с оговоркой. Отказ – только по несходимости расчёта.
Пороги действуют в версии 2.5.11 и пересматриваются по итогам проверки метода.
Как выглядит честный отказ
Честный отказ
Модель помечена как ненадёжная
Переброска бюджета отключена – модель не завершила расчёт корректно
Порог R-hat ≥ 1,05 – в версии 2.5.11; пересматривается по итогам проверки метода.
Данные иллюстрации таблицей
| Цепочка | Среднее значение параметра |
|---|---|
| Цепочка 1 | 0,46 |
| Цепочка 2 | 0,47 |
| Цепочка 3 | 0,55 |
| Цепочка 4 | 0,52 |
| R-hat по четырём цепочкам | 1,23 |
| Порог отказа | ≥ 1,05 |
Если цепи расчёта не сошлись, модель помечается ненадёжной и называет причину, а переброска бюджета не применяется автоматически: ползунки бюджета остаются в текущем положении.
Предельная отдача и распределение бюджета
При оптимизации рекламного бюджета распределение ищется по предельной отдаче каналов – сколько даст следующий рубль в каждом канале – в границах, которые вы задаёте: по каналу, по группам «бренд» и «перформанс» (если модель иерархическая) и по бюджету в целом.
В окне программы по умолчанию бюджет канала может меняться от 20 до 200 % текущего; границы можно изменить. Можно поставить и обратную задачу – какой бюджет нужен для цели продаж, – а также найти, при каком общем бюджете прибыль наибольшая, если показатель переведён в деньги.
Предельная отдача каналов показывается с диапазоном; разброс оптимальных долей можно рассчитать отдельно. Рекомендуемые суммы и прогнозный прирост – точечные: оптимизатор работает по средним оценкам модели.
По каждому каналу программа ставит метку решения – например, «Масштабировать», «Под наблюдением» или «Недостаточно данных»; при ненадёжной модели – «Требует переобучения».
Средняя и предельная окупаемость каналов
- Средняя окупаемость
- Предельная – отдача следующего рубля
- 90-процентный интервал
Данные графика таблицей
| Канал | Средняя окупаемость | 90-процентный интервал | Предельная окупаемость | 90-процентный интервал |
|---|---|---|---|---|
| Поиск | 2,03 | 1,11–2,91 | 1,62 | 0,94–2,03 |
| Онлайн-видео | 2,34 | 1,86–2,77 | 1,61 | 0,83–2,19 |
| Наружная реклама | 0,97 | 0,46–1,50 | 0,58 | 0,08–0,86 |
| ТВ | 1,08 | 0,80–1,39 | 0,17 | 0,00–0,33 |
Текстовое описание ролика
- 0,0–5,0 сРаспределение рекламного бюджета ищется по предельной отдаче каналов
- 5,0–10,5 ссколько даст следующий рубль в каждом канале
- 10,5–15,5 сПредельная отдача каналов показывается с диапазоном
- 15,5–21,5 сВ окне программы по умолчанию бюджет канала может меняться от 20 до 200 % текущего; границы можно изменить.
- 21,5–28,5 сПри переносе бюджета из насыщенного канала в канал с более высокой предельной отдачей прогноз растёт.
- 28,5–36,0 сРекомендуемые суммы и прогнозный прирост – точечные: оптимизатор работает по средним оценкам модели.
Проверка на истории
Модель можно проверить на истории: она переобучается на прошлом и предсказывает следующий отрезок, и так по нескольким отрезкам – нужно не меньше трёх. Программа сначала сравнивает точность с наивным прогнозом, затем считает, как часто факт попадает в 90-процентный интервал прогноза. Если попаданий меньше 70 %, программа предупреждает. Проверка запускается отдельно; если её запускали и она завершилась, результат попадает в отчёт программы.
Что доказывает такая проверка: насколько модель на ваших данных предсказывала прошлое. Точность модели в будущем она не доказывает – она показывает, где проходит граница уверенности.
Повторяемость и что можно проверить после сдачи
Статистическая оценка – не арифметика: при повторном обучении числа могут сдвигаться в пределах интервала неопределённости; повторяются процедура и интервал, а не шестой знак после запятой.
Что можно проверить после сдачи:
- параметры модели, включая априорные допущения, – отдельным файлом JSON;
- отпечаток расчёта – веб-отчёт содержит отпечаток SHA-256 файла модели и результатов разбивки (исходная выгрузка в него не входит). Отпечаток печатается, только если его удалось посчитать; если нельзя, отчёт называет причину.
Когда не подходит
- Нужно, чтобы модель сама выделила тренд. Отдельной составляющей тренда в модели нет; если тренд важен, его дают отдельной колонкой-фактором.
- Нужна форма переноса по Вейбуллу, обученная на данных. У этого способа форма задана; по данным оценивается скорость геометрического затухания.
- Нужна рекомендация по бюджету с учётом всей неопределённости модели. Рекомендуемые суммы – по средним оценкам; неопределённость видна у вклада, окупаемости и предельной отдачи.
- Целевой показатель – восприятие бренда. Такие показатели целевыми не поддерживаются.
- Нужна замена эксперименту. Модель оценивает вклад по истории наблюдений; если есть результаты экспериментов, их стоит учесть в модели.
Вопросы и ответы
Почему диапазон, а не одна цифра?
Потому что вклад канала оценивается по ограниченной истории, и честнее показать, в каких пределах он лежит. Широкий диапазон – сигнал, что данных для уверенного вывода по этому каналу не хватает.
Что значит «модель ненадёжна»?
Расчёт не сошёлся: наибольший R-hat равен 1,05 или выше либо дивергенций больше порога. Программа называет причину и не применяет переброску бюджета автоматически.
Отказывается ли программа советовать при малых данных?
Нет. При ограниченных данных совет даётся с оговоркой, а модель намеренно сдержана: она сильнее опирается на априорные допущения. Отказ – только при несошедшемся расчёте.
Получится ли при повторном расчёте то же число?
Повторяются процедура и интервал. Числа при повторном обучении могут сдвигаться в пределах интервала неопределённости.
Почему пороги могут измениться?
Метод проходит отдельную проверку; пороги версии 2.5.11 пересматриваются по её итогам.
Хотите посмотреть, как метод отработает на ваших данных?
Опишите задачу и какие данные есть – скажем, что из них получится.
Ответим на заявку не позднее чем через два рабочих дня после получения заявки.
Если почтовая программа не открылась, напишите на hello@mmm-optimizer.pro
