Полностью понимать, что такое модель Marketing Mix и как ее использовать

Вступление

Маркетинг всегда считался скорее искусством, чем наукой. Но с появлением онлайн-маркетинга и больших данных маркетинг стал более математическим и методичным, чем когда-либо. Фактически, одна из самых больших областей возможностей для приложений обработки данных и машинного обучения - это маркетинг!

В этой статье мы сосредоточимся на чрезвычайно распространенном и мощном методе маркетинговой науки под названием «Моделирование маркетингового микса». В этой статье будет рассказано, что это такое, почему это так полезно, как создать его на Python и, что наиболее важно, как его интерпретировать.

Что такое модель маркетингового микса?

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

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

Как правило, вашей выходной переменной будут продажи или конверсии, но также могут быть такие вещи, как посещаемость веб-сайта. Ваши входные переменные обычно состоят из маркетинговых расходов по каналам за периодом (день, неделя, месяц, квартал и т. Д.), Но могут также включать другие переменные, о которых мы поговорим позже.

Почему это так полезно?

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

  • Чтобы лучше понять взаимосвязь между вашими маркетинговыми каналами и целевой метрикой (т. Е. Конверсиями).
  • Чтобы отличить маркетинговые каналы с высокой рентабельностью инвестиций от каналов с низкой и в конечном итоге лучше оптимизировать маркетинговый бюджет.
  • Предсказать будущие конверсии на основе заданных входных данных.

Каждая из этих идей может принести огромную пользу при масштабировании вашего бизнеса. Давайте углубимся в то, что нужно, чтобы создать его с помощью Python. 👀

Построение модели маркетингового микса

Чтобы лучше понять модели маркетингового комплекса, в этом разделе мы рассмотрим создание модели маркетингового комплекса с нуля на Python. Эта модель маркетингового комплекса будет построена на основе этого набора данных от Kaggle.

Шаг 1. Импортируйте все соответствующие библиотеки и данные.

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("../input/advertising.csv/Advertising.csv")

Шаг 2: Выполните EDA

Как правило, вы проводите гораздо более исследовательский анализ данных, но в этом руководстве мы сосредоточимся на трех наиболее распространенных (и эффективных, по моему опыту):

  1. Матрицы корреляции: таблица, в которой показаны значения корреляции для каждой пары отношений.
  2. Парные графики: простой способ визуализировать отношения между каждой переменной.
  3. Важность функции: методы, которые присваивают оценку каждой функции в зависимости от того, насколько они полезны для прогнозирования целевой переменной.

Матрица корреляции

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

corr = df.corr()
sns.heatmap(corr, xticklabels = corr.columns, yticklabels = corr.columns, annot = True, cmap = sns.diverging_palette(220, 20, as_cmap=True))

Матрица корреляции выше показывает, что существует сильная корреляция между телевидением и продажами (0,78), умеренная корреляция между радио и продажами (0,58) и слабая корреляция между газетами и продажами (0,23). Еще слишком рано делать какие-либо выводы, но это хорошо, чтобы иметь в виду, продвигаясь вперед.

Парный сюжет

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

sns.pairplot(df)

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

Важность функции

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

# Setting X and y variables
X = df.loc[:, df.columns != 'sales']
y = df['sales']# Building Random Forest model
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error as mae
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.25, random_state=0)
model = RandomForestRegressor(random_state=1)
model.fit(X_train, y_train)
pred = model.predict(X_test)# Visualizing Feature Importance
feat_importances = pd.Series(model.feature_importances_, index=X.columns)
feat_importances.nlargest(25).plot(kind='barh',figsize=(10,10))

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

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

Шаг 3. Постройте модель маркетингового микса (также известную как модель OLS)

Пришло время создать нашу модель комплекса маркетинга! Другой способ обозначить модель, которую мы строим, - это модель OLS, сокращенно от обычного наименьших квадратов, которая представляет собой метод, используемый для оценки параметров в модели линейной регрессии. Модель OLS - это тип регрессионной модели, которая чаще всего используется при построении моделей комплекса маркетинга.

Что делает Python таким удивительным, так это то, что в нем уже есть библиотека, которую вы можете использовать для создания модели OLS:

import statsmodels.formula.api as sm
model = sm.ols(formula="sales~TV+radio+newspaper", data=df).fit()
print(model.summary())

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

Шаг 4: график фактических и прогнозируемых значений

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

from matplotlib.pyplot import figure
y_pred = model.predict()
labels = df['sales']
df_temp = pd.DataFrame({'Actual': labels, 'Predicted':y_pred})
df_temp.head()
figure(num=None, figsize=(15, 6), dpi=80, facecolor='w', edgecolor='k')
y1 = df_temp['Actual']
y2 = df_temp['Predicted']plt.plot(y1, label = 'Actual')
plt.plot(y2, label = 'Predicted')
plt.legend()
plt.show()

Неплохо! Похоже, что эта модель хорошо предсказывает продажи с учетом расходов на телевидение, радио и газеты.

Как интерпретировать модель маркетингового микса

Возвращаясь к выходным данным .summary (), нужно сосредоточиться на нескольких вещах:

  1. .summary () предоставляет нам множество подробных сведений о нашей модели. Возвращаясь к выходным данным .summary (), мы можем увидеть несколько областей, на которых нужно сосредоточиться (вы можете сослаться на эти идеи относительно результатов регрессии OLS ниже):
  2. Корректировка. R-квадрат равен 0,896. Это означает, что примерно 90% общего разброса данных можно объяснить с помощью модели. Это также означает, что модель не учитывает 10% используемых данных - это может быть связано с отсутствием переменных, например, если не был включен другой маркетинговый канал, или просто из-за шума в данных.
  3. В верхней половине вы можете увидеть Вероятность (F-статистика): 1,58e-96. Это значение вероятности (p-значение) представляет собой вероятность того, что нет хороших предикторов целевой переменной - в этом случае нет хороших предикторов продаж. Поскольку p-значение близко к нулю, мы знаем, что в модели есть по крайней мере один предиктор, который является хорошим предиктором продаж.

Если вы посмотрите на столбец P ›| t |, вы увидите p-значения для каждого предиктора. p-значения для телевидения и радио меньше 0,000, но p-значение для газет составляет 0,86, что указывает на то, что расходы на газеты не оказывают существенного влияния на продажи. Как правило, вы хотите, чтобы значение p было меньше 1% или 5%, что является двумя стандартами на практике.

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

Прочитав это, вы теперь должны знать, что такое модель комплекса маркетинга, как ее создать и как эффективно использовать ее для своего бизнеса. Как всегда, я желаю вам удачи в учебе :)

Не знаете, что читать дальше? Я подобрала для вас другую статью:



и еще один!



Теренс Шин