Атрибуция рекламных каналов: вариативность модели атрибуции Shapley value

Сегодня я хочу поделиться опытом того, как я проверял насколько модель вектор Шепли чувствительна к вариативности данных.

Зачем мне это нужно?
  1. Канал, с которого приходит клиент - случайная величина.
  2. Конверсия из канала Х может иметь (и как правило имеет) сильную вариативность от недели к неделе: 
    • запускаются новые компании, 
    • часть старых компаний оптимизируется, 
    • часть компаний просто выключается из-за отсутствия окупаемости.
Исходя из этого возникает вопрос: будет ли модель вектор Шепли (которая учитывает влияние всех цепочек) оставаться относительно стабильной при сильной вариативности активных цепочек?

Давайте это проверим.

(1) Итак, как я писал в одном из предыдущих постов про атрибуцию, я сгенерировал около ~13k клиентских цепочек.

Customers-channel chains.

(2) Важно отметить, что если сделать агрегацию цепочек, то уникальных цепочек окажется намного меньше - всего 273(!) цепочки.

Unique channel chains.

Такой размер выборки уже может наводить на мысль, что вполне могут найтись 2-3 ключевые цепочки, которые, если выбросить, могут существенно изменить перевзвешивание каналов.

(3) Чтобы оценить вариативность модели я использовал подход кросс-валидации:
  • удалял одну уникальную цепочку из данных и пересчитывал без нее модель Шепли,
  • сохранил 273 модели в массив, 
  • для каждого канала усреднил результат по вектору из 273 моделей.
Теперь, когда у нас есть 273 модели и их усреднение, мы готовы ответить на два важных вопроса:

-- Как отличаются результаты кросс-валидации и полной модели Шепли?

Cross-validation vs Full data model.

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

-- Какая вариативность модели Шепли?

Shapley model variability (cross-validation).

Легенда для чарта:
  • boxplot - показывает распределение моделей кросс-валидации в массиве,
  • красная точка - значение вектора Шепли для полной модели,
  • зеленая точка - усредненное значение моделей кросс-валидации в массиве.
Что мы видим на чарте выше?
  1. Есть каналы, где значение кросс-валидации Шепли равно значению полной модели: это каналы email и direct. Для этих каналов вариативность цепочек не сыграла.
     
  2. Есть каналы, где значение кросс-валидации модели Шепли меньше (5% - 12%), чем значение кросс-валидации: это каналы google_cpc, yandex_cpc, GDN, referral. Здесь вариативность имела ограниченное влияние.
     
  3. Есть канал, где значение кросс-валидации модели Шепли больше (284%), чем значение полной модели: это канал affiliate. Здесь вариативность цепочек оказала существенное влияние на результат. 
Таким образом, хотя для большинства каналов наличие outliers во время кросс-валидации не повлияло на значение усредненной модели кросс-валидации, один канал все же оказался сильно недооценен если разового использовать результаты полной модели Шепли.

РЕЗЮМЕ:
  1. При прочих равным я доверял бы результатам модели кросс-валидации больше, т.к. она будет значительно более устойчива к вариативности цепочек.
     
  2. Модель вектор Шепли оказалось чувствительна к вариативности данных, поэтому принимать ее результаты надо осторожно. 
P.S. Возможно, позже, я обновлю этот пост добавив также сравнение кросс-валидации цепи Маркова с полной моделью цепи Маркова.

Comments

Popular posts from this blog

IV/WOE - хороший способ понять какой информацией вы обладаете

A/B-тестирование: смотреть на конверсию vs смотреть на продажи

Продуктовая аналитика: влияние продуктовых фич на ретеншн