Практические подходы к оптимизации бюджета при моделировании комплекса маркетинга

Автор: Дмитрий Иванов [Команда P9X]

~8 минут чтения

Моделирование маркетингового микса (МММ)

Photo by Joel Filipe on Unsplash

Краткое введение в МММ

Marketing Mix Modeling (MMM) — это подход, основанный на данных, который используется для выявления и анализа ключевых факторов, влияющих на бизнес-результаты, такие как продажи или выручка. Он изучает влияние различных факторов, которые могут повлиять на реакцию. Цель МММ — предоставить информацию о том, как маркетинговую деятельность, включая рекламу, ценообразование и акции, можно оптимизировать для повышения эффективности бизнеса.

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

Моделирование маркетингового микса с ограниченными коэффициентами

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

Моделирование маркетингового микса с помощью PyMC3

Во-вторых, применяется преобразование адстока, чтобы учесть запаздывающее и затухающее влияние рекламы на поведение потребителей.

Моделирование маркетингового микса с использованием сглаживающих сплайнов

Улучшение моделирования маркетингового микса с помощью подходов машинного обучения

Последний шаг — построение модели маркетингового микса путём оценки коэффициентов и параметров функций адстока и насыщения.

Оптимизация бюджета

И насыщающие кривые, и обученная модель могут использоваться в моделировании маркетингового микса для оптимизации расходов бюджета.

Преимущества использования насыщающих кривых:

  • Простота визуализации влияния расходов на результат.
  • Упрощение процедуры оптимизации бюджета, поскольку для этого требуются только параметры преобразования насыщения.

Одним из недостатков является то, что насыщающие кривые основаны на исторических данных и могут не всегда точно прогнозировать реакцию на будущие расходы.

Преимущества использования обученной модели для оптимизации бюджета:

  • Модель использует сложные взаимосвязи между медиаактивностью и другими переменными, включая тенденции и сезонность, и может лучше фиксировать убывающую отдачу с течением времени.

Данные

Я продолжаю использовать набор данных, предоставленный Robyn под лицензией MIT, как и в моих предыдущих статьях, для практических примеров и следую тем же шагам подготовки данных, применяя Prophet для разложения тенденций, сезонности и праздников.

Набор данных состоит из 208 недель выручки (с 2015–11–23 по 2019–11–11) и включает:

  • 5 каналов расходов на медиа: tv_S, ooh_S, print_S, VK_S, search_S
  • 2 медиаканала, которые также имеют информацию об экспозиции (Impression, Clicks): VK_I, search_clicks_P (не используются в этой статье)
  • Органические медиа без расходов: newsletter
  • Контрольные переменные: events, holidays, продажи конкурентов (competitor_sales_B)

Моделирование

Я построил полный рабочий конвейер МММ, который можно применить в реальных сценариях для анализа расходов на медиа по переменной отклика, состоящий из следующих компонентов:

Примечание о коэффициентах

В scikit-learn Ridge Regression не предлагает возможности установить подмножество коэффициентов положительными. Однако возможным обходным путём является отклонение решения optuna, если некоторые из медиакоэффициентов окажутся отрицательными. Этого можно достичь, возвращая очень большое значение, указывающее на то, что отрицательные коэффициенты неприемлемы и должны быть исключены.

Примечание о преобразовании насыщения

Функция насыщения Хилла предполагает, что входная переменная находится в диапазоне от 0 до 1, что означает, что входная переменная должна быть нормализована перед применением преобразования. Однако можно применить преобразование Хилла к ненормализованным данным, масштабируя параметр половинной насыщенности до диапазона расходов с помощью следующего уравнения:

half_saturation_unscaled = half_saturation * (spend_max - spend_min) + spend_min

где half_saturation — исходный параметр половинной насыщенности в диапазоне от 0 до 1, spend_min и spend_max представляют минимальное и максимальное значения расходов соответственно.

Полная функция преобразования представлена ниже:

class HillSaturation(BaseEstimator, TransformerMixin):
    def __init__(self, slope_s, half_saturation_k):
        self.slope_s = slope_s
        self.half_saturation_k = half_saturation_k

    def fit(self, X, y=None):
        return self

    def transform(self, X: np.ndarray, x_point = None):

        self.half_saturation_k_transformed  = self.half_saturation_k * (np.max(X) - np.min(X)) + np.min(X)

        if x_point is None:
            return (1 + self.half_saturation_k_transformed**self.slope_s / X**self.slope_s)**-1

Оптимизация бюджета с использованием насыщающих кривых

После того как модель обучена, мы можем визуализировать влияние расходов на медиа на переменную отклика, используя кривые отклика, которые были сгенерированы с помощью преобразований насыщения Хилла для каждого медиаканала.

Бюджетная оптимизация с использованием обученной модели

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

Заключение

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

Я показал два практических подхода к оптимизации маркетингового микса с использованием насыщающих кривых и обученных моделей.

Для детальной реализации обратитесь к полному коду, доступному для скачивания в моём репозитории на Github.

Спасибо за чтение!