Введение
В последние годы инструментарий современного интернет-маркетолога расширяется все более и более быстрыми темпами. Сегодня помимо поисковой оптимизации (
По оценке Calltouch cложность эта связана в первую очередь с тем, что пользователь со своей стороны обладает по сути тем же самым инструментарием, что и маркетолог: он может прийти на сайт как по прямой ссылке, так и по переходу из соцсетей, из рекламной выдачи Яндекса и. т. д. Более того, прежде чем совершить на сайте целевое действие (конверсию) пользователь может неоднократно посещать сайт из разных «точек входа»: первый раз он перешел на сайт, кликнув по рекламному объявлению (
Таким образом, при оценке эффективности рекламных каналов маркетологу прежде всего необходимо ответить на вопрос: как оценить вклад того или иного источника на формирование конверсии на сайте? По-другому этот вопрос можно сформировать так: что случится с конверсией на сайте, если исключить тот или иной маркетинговый канал? Для ответа на данный вопрос существует ряд методологий, которые называются моделями атрибуции. Рассмотрим эти модели более подробно.
Модели атрибуции
Модель атрибуции – это способ распределения «веса» конверсии между каналами. В зависимости от выбора модели атрибуции будет рассчитан вес канала (источника), который условно можно считать тем вкладом, который данный источник внес в формирование конверсии. С данными моделями сталкивался практически каждый пользователь Яндекс Метрики или Google Analytics (раздел «многоканальные последовательности»). В настоящее время выделяют следующие основные модели атрибуции:
- По последнему взаимодействию (последнее непрямое взаимодействие, последний клик в AdWords, последний значимый переход) –
- Первое взаимодействие –
- Линейная модель –
- Временной спад –
- На основе позиции –
Как уже было отмечено, основное отличие моделей атрибуции между собой – это способ расчета веса канала в последовательности. Рассмотрим каждую модель более подробно. Для наглядности предположим, что мы имеем следующую многоканальную последовательность:
Last Click Model
Данная модель ввиду своей простоты и интуитивной «корректности» получила наибольшее распространение на практике. В самом общем случае в рамках
На практике встречаются различные разновидности

First Click Model
В данной модели
Linear Model
Линейную модель (
Time Decay
Модель атрибуции
Position Type Model
Модель атрибуции
Как выбрать модель атрибуции?
Выбор модели атрибуции – важнейший этап в оценке эффективности рекламы. В зависимости от модели аналитик может получать абсолютно противоположные выводы о рентабельности того или иного канала. Особенно явно это наблюдается в тематиках, где процесс принятия решения занимает достаточно много времени (например, в сфере недвижимости или в автомобильной тематике). Возникает естественный вопрос: какую модель атрибуции следует принимать за эталон? К сожалению, однозначного ответа на этот вопрос не существует. Только глубокий анализ поведения пользователей на сайте (пользовательских сессий) позволит принять взвешенное решение о выборе той или иной методике привязки конверсий к источнику трафика.
Как правило выбор останавливается на модели
Отдельно стоит отметить, что модель атрибуции является важнейшим фактором, который стоит учитывать при оптимизации контекстной рекламы. Выбор модели напрямую влияет на статистику, которая используется для расчета ставок. Если же считать, что каждая ключевая фраза – это отдельный рекламный канал, то можно существенно обогатить статистику, которая поступает на вход оптимизатора, кроме того, анализ последовательных переходов пользователя между ключевыми словами позволит увеличить эффективность оптимизации. Обсуждению этой темы будет посвящена отдельная глава данной работы.
Прежде чем перейти к описанию подхода, используемого нами для анализа многоканальных последовательностей, приведем «шуточный» пример, который с одной стороны покажет ограниченность классических моделей атрибуции, а с другой стороны позволит сформировать те основные вопросы, на которые следует найти ответ.
Допустим, целью является C=«увезти девушку к себе домой, чтобы посмотреть кино» .
Предположим, что мы имеем следующую цепочку действий (по сути каналов), которые привели к желаемой цели:
Познакомиться с девушкой → Пригласить в кино → Подарить цветы → Гулять вместе в парке → Проводить до дома → Пригласить на свидание в ресторан → Подарить цветы → Угостить ужином → Угостить коктейлем → Угостить еще одним коктейлем →… и еще одним → рассказать анекдот → C
Если мы имеем дело с моделью
Как мы видим, ни одна из классических моделей не может адекватно описать рассмотренную выше ситуацию и тем более не позволит правильно ответить на вопрос, какой же канал (действие) оказалось наиболее важным на самом деле.
Теперь сформулируем основные вопросы, на которые бы хотелось получить ответы от модели атрибуции:
- Достаточно ли просто рассказать анекдот? И если да, то как часто?
- Насколько в принципе типична практика рассказывания анекдотов для достижения цели?
- Что будет если не рассказывать анекдот?
- Можно ли заменить анекдот на какое-либо другое действие? Если да, то на какое следует заменить?
Для правильного ответа на большинство поставленных вопросов нам недостаточно рассмотреть только одну последовательность. Требуется собрать некоторую статистику, которая бы с одной стороны позволяла прогнозировать поведение пользователей, а с другой – позволяла бы оценить вероятность конверсии на сайте для каждой из точек взаимодействия.
Рассматриваемая нами модель изначально разрабатывалась для совокупной оценки многоканальных последовательностей, предполагая, что каналы являются взаимо-зависимыми. Она позволяет ответить на большинство из сформулированных выше вопросов. Кроме того, мы покажем, как описанные нами методы позволят прогнозировать коэффициент конверсии по каждой ключевой фразе, что является необходимым элементом в оптимизации ставок в контекстной рекламе.
Прежде всего опишем тот формат данных, с которым работает наша модель.
Пользовательские сессии
Предположим, что за некоторый анализируемый нами промежуток времени
где:
– канал, по которому был совершен переход на сайт
– время начала сессии
— время окончания сессии
— адрес страницы, на которую попал пользователь при переходе на сайт
– уникальный идентификатор пользователя
– была ли совершена конверсия в результате сессии (
– да,
– нет)
Далее для простоты мы будем полагать, что промежуток времени
- Yandex CPC
- Google CPC
- Vkontakte
- Direct
- Referal
- и т. д.
Для простоты изложения будем кодировать рекламные каналы следующим образом:
Теперь предположим, что
где
где
Введем два дополнительных «псевдоканала»
- Если во время сессии
пользователя с источником
произошла конверсия, то после
добавим
, получив
- Если в результате последней текущей сессии
с источником
конверсии не произошло, то после
добавим
, получив
Кроме того, дополнительно обратим внимание на ситуацию, когда мы имеем дело с цепочками вида:
Последовательности с такой структурой не могут возникнуть согласно сформулированным выше правилам, но тем не менее могут иметь место в ряде случаев, например в звонящих тематиках, когда помимо указанных выше параметров сессии мы имеем уникальную связку:
В этом случае первый звонок в указанной выше цепочки будет уникальным звонком, а все последующие – повторными звонками абонента с заданным
Отметим ключевую особенность рассмотренной выше методики формирования цепочек взаимодействия пользователя с сайтом. Она заключается в том, что любая цепочка взаимодействия (многоканальная последовательность) всегда оканчивается одним из двух «событий»:
Приведем типичные примеры последовательностей, сформированных по описанным правилам. Для простоты ограничимся 3 различными каналами
Cледующий шаг, необходимый для построения мультиканальной модели атрибуции заключается в том, чтобы преобразовать последовательности таким образом, чтобы событие
Продемонстрируем эту методику на примере типичных последовательностей:
- цепочки 1-4 уже приведены к «элементарному» виду
- цепочку 5 «расщепим» на:
и
- цепочку 6 «расщепим» на:
и
- цепочку 7 «расщепим» на:
и
- цепочку 8 «расщепим» на:
,
и
В результате расщепления все цепочки стали «элементарными», и теперь мы можем приступить к описанию модели. Однако прежде чем перейти к этому шагу, мы уже на данном этапе можем ответить на вопрос: как оценить влияние канала на конверсию на сайте.
Расчет влияния каналов на конверсию
Рассмотрим множество из
Очевидно, что для любого
Рассчитаем влияния каналов
Легко заменить, что сумма влияний каналов не равна единице. Для удобства можно ввести нормировку и считать нормализованное влияние
В этом случае, очевидно
Формула для расчета влияния канала на конверсию может быть легко модифицирована на случай, когда требуется оценить влияние одного канала на другой. В частности, если стоит задача выяснить, как влияет канал
В общем случае функция
Оценка изменения базовых метрик при отключении канала
Ответив на вопрос, как изменится количество конверсий при удалении из всех цепочек того или иного канала
- расход
- стоимость конверсии (CPA)
Ответить на данные вопросы, не привлекая дополнительные допущения, достаточно сложно. Наша базовая аксиома состоит в том, что при удалении канала
Данное допущение означает, что если убрать канал, который был использован пользователем для взаимодействия с сайтом, то дальнейшего взаимодействия пользователя с данным сайтом не будет.
Для оценки базовых метрик нам также необходимо добавить в параметры сессий пользователей такой показатель как «стоимость перехода». Eго можно интерпретировать как стоимость, которую платит рекламодатель, за клик пользователя по данному каналу, если канал бесплатен (как например прямой переход), то будем считать, что стоимость перехода равна
При этом общие расходы на канал
Oбщие расходы на привлечение пользователей на сайт при использовании каналов
Двойственность формулы объясняется разными способами вычисления общих расходов: в первом случае мы суммируем расходы на каждую из цепочек по всем
Для оценки новых расходов после удаления из всех цепочек канала
Очевидно, что
а значит
Последнее неравенство означает, что удаление любого канала
Теперь, после того, как мы научились оценивать изменение расходов после удаления канала
Если положить, что до удаления канала мы имели прежнюю стоимость конверсии:
То есть если удаление канала приводит к снижению стоимости конверсии (при разумном снижении их количества), то его можно исключить из цепочек и перестать тратить на него бюджет.
Кроме того, можно оценить стоимость «недополученных конверсий» при удалении канала:
Теперь приступим к описанию основной модели, требуемой для расчета вероятности конверсии канала.
Описание модели
Прежде чем мы приступим к описанию многоканальной модели атрибуции, нам бы хотелось сослаться на замечательные статьи Сергея Брыля, и вторую статью, в которых автор использовал красоту и функциональность марковских цепей для описания многоканальной атрибуции. В рамках данной статьи мы более подробно описали основные моменты, связанные с расчетом вероятности конверсии в рамках марковских процессов, а также предложили эффективный метод вычисления вероятности конверсии – на основании стохастических матриц.
Мы предложим две альтернативных интерпретации многоканальной модели атрибуции: графовую и матричную. Первая позволит наглядно описать модель, в то время как вторая позволяет эффективно вычислять требуемые характеристики. Мы покажем, что оба описания на самом деле представляют один и тот же случайный процесс, который называется марковским, а соответствующая процессу модель – марковской цепью.
Графовая модель
Граф — абстрактный математический объект, представляющий собой множество вершин графа и набор рёбер, то есть соединений между парами вершин. Например, за множество вершин можно взять множество аэропортов, обслуживаемых некоторой авиакомпанией, а за множество рёбер взять регулярные рейсы этой авиакомпании между городами.
Граф называется ориентированным, если каждое из его ребер имеет направление, т. е. по сути представляет из себя вектор: для ребра точно указано, из какой вершины оно исходит, и в какой заканчивается.
Граф называется взвешенным, если каждому его ребру приписано некоторое числовое значение, называемое весом. Типичным примером взвешенного ориентированного графа является сеть автомобильных дорог между городами (вершинами графа), где под весом ребра (дороги) мы понимаем ее протяженность.
Для того, чтобы представить множество цепочек в виде графа, нам необходимо зафиксировать два множества: множество вершин
В качестве
Ввиду того, что во множестве

Как видно, даже для небольшого числа сессий такое графическое представление является достаточно громоздким, что затрудняет анализ. Некоторого упрощения можно добиться, если заменить дублированные ребра одним ребром, взяв за вес количество дублей. Тогда исходный граф преобразуется в ориентированный взвешенный граф:

Данный граф уже более пригоден для анализа. Наша следующая цель – это преобразование веса ребра к вероятностной нотации. Заменим вес ребра, соединяющий две вершины, вероятностью перехода из одной вершины в другую.
В частности, рассмотрим вершину
Легко заменить, что

На основании данной модели можно рассчитать полную вероятность конверсии для определенного канала. Для расчета используется следующая рекурсивная формула:
Смысл этой формулы в том, что для того, чтобы рассчитать полную вероятность конверсии некоторой вершины, требуется выбрать все вершины, достижимые из данной, затем рассчитать вероятности перехода в эти вершины из исходной, а затем для каждой достижимой вершины снова рассчитать полную вероятность конверсии. Данная формула тут же дает полную вероятность конверсии, если граф является однонаправленным, т. е. если есть ребро, соединяющее вершины
Например, рассчитаем полную вероятность конверсии
Так как
В свою очередь из
тогда
Для удобства обозначим
Теперь рассчитаем
Окончательно имеем следующее уравнение:
Откуда
Основным достоинством указанной выше модели является ее наглядность, в то время к очевидным недостаткам (что видно даже на простом примере) следует отнести высокую вычислительную сложность для случая большого числа источников трафика. Более того, если в качестве источников использовать различные ключевые слова, то объем вычислений увеличивается на порядки, что сделает все последующие расчеты нереализуемыми. Помимо этого, если допустить возможность переходов в графе вида:
Матричная модель
В предыдущей главе мы рассмотрели графовую модель мультиканальной атрибуции. Для того, чтобы преобразовать ее к более удобному для вычислений виду, вновь рассмотрим набор из
По наблюдаемым последовательностям, составленным для каждого из пользователей, мы можем без труда рассчитать вероятности перехода (иначе говоря, условные вероятности)
и
В частности, для рассматриваемого выше примера мы получим:
Легко заметить, что для любой
Матрица, для которой выполнено данное условие, называется стохастической. Известно, что произвольная стохастическая матрица определяет некоторый случайный процесс, называемый марковским. Дадим такому процессу более формальное (хотя и не строгое с математической точки зрения) определение.
Марковским процессом называется такой случайный процесс с некоторым числом состояний, что вероятность перехода в следующее состояние зависит только от того текущего состояния, в котором находится система.
Таким образом, рассматриваемый нами процесс переходов между различными маркетинговыми каналами можно считать марковским процессом, определяемым матрицей переходных вероятностей
- Какова вероятность перейти из состояния
в состояние
за
шагов?
- Как будет выглядеть распределение вероятности нахождения в каждом из каналов через
шагов?
В нашей прикладной задаче оценки вероятности конверсии каждого из каналов, нам требуется ответить на частный случай первого вопроса:
Какова полная вероятность перейти из состояния (канала)
Марковская теория случайных процессов позволяет дать очень простой ответ на этот вопрос (в случае, если из состояний
Можно строго доказать, что для случая, когда из состояний
В самом деле, пусть, например,
Покажем на нашем примере скорость «сходимости» предела к нужной нам вероятности:

Как видно из таблицы, уже для
От оценки каналов к оптимизации
Построенная аналитическая модель позволяет решить 3 основные задачи:
- Оценить влияние канала на конверсию на сайте
- Оценить взаимное влияние каналов друг на друга
- Оценить вероятность того, что использование канала приведет к конверсии на сайте
При проектировании оптимизатора конверсий, который позволяет управлять ставками в контекстной рекламе на основе их эффективности так, чтобы достигать требуемых
Представленная модель атрибуции конверсий избавлена от этих недостатков, хотя для вычисления вероятностей требует значительно больше вычислительных ресурсов. Гибкость описанного подхода заключается еще и в том, что в качестве «канала» мы можем использовать любой неотъемлемый атрибут сессии.
В частности, рассмотрим параметр
site.ru/?utm_source=YD&utm_medium=cpc&utm_content=kvartiry_ceny&utm_campaign=YD_KVARTIRY_POISK_MSK&calltouch_tm=yd_c:{campaign_id}_gb:{gbid}_ad:{ad_id}_ph:{phrase_id}_st:{source_type}_pt:{position_type}_p:{position}_s:{source}_dt:{device_type}_reg:{region_id}_ret:{retargeting_id}_apt:{addphrasestext}
На основе динамических параметров, которые содержатся в фигурных скобках, мы можем, в частности, отследить «путь» клика на рекламное объявление с точностью до ключевой фразы, которая инициировала показ рекламного объявления, на которое кликнул пользователь. Мы можем выбрать любой «разумный» динамический параметр (или их связку) в качестве канала. В частности, если выбрать в качестве канала параметр
Полученный таким образом массив коэффициентов конверсии можно использовать в качестве входных данных для оптимизатора конверсий.
Заключение
В работе дан обзор используемых в настоящий момент классических моделей атрибуции конверсий. Кроме того описана модель мультиканальной атрибуции, основанная на марковских процессах (цепях), которая позволяет комплексно оценить как вероятность конверсии для каждого рекламного канала, так и рассчитать влияние канала на конверсию на сайте. Продемонстированы подходы, позволяющие адаптировать построенную модель для оптимизации ставок в контекстной рекламе.