Атрибуция рекламных каналов: вариативность модели атрибуции Shapley value
Сегодня я хочу поделиться опытом того, как я проверял насколько модель вектор Шепли чувствительна к вариативности данных.
Зачем мне это нужно?
Давайте это проверим.
(1) Итак, как я писал в одном из предыдущих постов про атрибуцию, я сгенерировал около ~13k клиентских цепочек.
(2) Важно отметить, что если сделать агрегацию цепочек, то уникальных цепочек окажется намного меньше - всего 273(!) цепочки.
Такой размер выборки уже может наводить на мысль, что вполне могут найтись 2-3 ключевые цепочки, которые, если выбросить, могут существенно изменить перевзвешивание каналов.
(3) Чтобы оценить вариативность модели я использовал подход кросс-валидации:
-- Как отличаются результаты кросс-валидации и полной модели Шепли?
Из чарта выше мы видим, что, в целом, кросс-валидация повторяет форму распределения полной модели Шепли. В тоже время кросс-валидация сделала веса большинства каналов более консервативным по сравнению с полной моделью. Это ожидаемо.
-- Какая вариативность модели Шепли?
Легенда для чарта:
РЕЗЮМЕ:
Зачем мне это нужно?
- Канал, с которого приходит клиент - случайная величина.
- Конверсия из канала Х может иметь (и как правило имеет) сильную вариативность от недели к неделе:
- запускаются новые компании,
- часть старых компаний оптимизируется,
- часть компаний просто выключается из-за отсутствия окупаемости.
Давайте это проверим.
(1) Итак, как я писал в одном из предыдущих постов про атрибуцию, я сгенерировал около ~13k клиентских цепочек.
Customers-channel chains. |
(2) Важно отметить, что если сделать агрегацию цепочек, то уникальных цепочек окажется намного меньше - всего 273(!) цепочки.
Unique channel chains. |
Такой размер выборки уже может наводить на мысль, что вполне могут найтись 2-3 ключевые цепочки, которые, если выбросить, могут существенно изменить перевзвешивание каналов.
(3) Чтобы оценить вариативность модели я использовал подход кросс-валидации:
- удалял одну уникальную цепочку из данных и пересчитывал без нее модель Шепли,
- сохранил 273 модели в массив,
- для каждого канала усреднил результат по вектору из 273 моделей.
-- Как отличаются результаты кросс-валидации и полной модели Шепли?
Cross-validation vs Full data model. |
Из чарта выше мы видим, что, в целом, кросс-валидация повторяет форму распределения полной модели Шепли. В тоже время кросс-валидация сделала веса большинства каналов более консервативным по сравнению с полной моделью. Это ожидаемо.
-- Какая вариативность модели Шепли?
Shapley model variability (cross-validation). |
Легенда для чарта:
- boxplot - показывает распределение моделей кросс-валидации в массиве,
- красная точка - значение вектора Шепли для полной модели,
- зеленая точка - усредненное значение моделей кросс-валидации в массиве.
- Есть каналы, где значение кросс-валидации Шепли равно значению полной модели: это каналы email и direct. Для этих каналов вариативность цепочек не сыграла.
- Есть каналы, где значение кросс-валидации модели Шепли меньше (5% - 12%), чем значение кросс-валидации: это каналы google_cpc, yandex_cpc, GDN, referral. Здесь вариативность имела ограниченное влияние.
- Есть канал, где значение кросс-валидации модели Шепли больше (284%), чем значение полной модели: это канал affiliate. Здесь вариативность цепочек оказала существенное влияние на результат.
РЕЗЮМЕ:
- При прочих равным я доверял бы результатам модели кросс-валидации больше, т.к. она будет значительно более устойчива к вариативности цепочек.
- Модель вектор Шепли оказалось чувствительна к вариативности данных, поэтому принимать ее результаты надо осторожно.
P.S. Возможно, позже, я обновлю этот пост добавив также сравнение кросс-валидации цепи Маркова с полной моделью цепи Маркова.
Comments
Post a Comment