Умный таргетинг «Столото»

Рассказываем о визуализации аудиторных данных с помощью метода t-SNE и особенностях моделирования Machine Learning сегментов на примере совместного кейса Weborama с агентством People & Screens, входящего в рекламную группу dentsu Russia.

Бэкграунд проекта

«Столото» — бренд крупнейшего распространителя государственных лотерей — в преддверии новогодних праздников проводил одну из самых масштабных для бренда рекламных кампаний «Новогодний миллиард».

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

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

Выбор аудитории для анализа

В рамках анализа команда сосредоточилась на анализе трех аудиторий:

  • Пользователи, проявляющие интерес к лотереям в интернете;
  • Посетители сайта рекламодателя;
  • Постоянные покупатели из CRM базы рекламодателя.
Умный таргетинг «Столото»

3 уровня данных

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

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

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

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

Третий уровень — это данные из CRM системы заказчика, которые позволили выделить сегмент постоянных покупателей.

Признаковое пространство

В качестве основного источника данных для описания перечисленных аудиторий использовалась база аудиторных профилей Weborama BigSea, которая на основе данных о поведении интернет-пользователей описывает каждую куку набором из нескольких сотен интересов и соцдем характеристик (среди них, например, «путешествия», «машины», «косметика» и прочее). Степень интереса представляется значением на шкале от 1 до 20, которое характеризует частоту встречаемости данного интереса в анализируемом customer journey пользователя.

АНАЛИЗ АУДИТОРИЙ

Визуализация методом t-SNE

Далее решили посмотреть, как выглядят наши аудитории друг относительно друга и построить визуализацию.

T-SNE — один из популярных методов визуализации многомерных данных. Идея метода довольно стандартна для подобного класса алгоритмов — нужно найти проекцию выборки в пространство меньшей размерности, которая по-максимуму сохраняет расстояния между точками. Метод часто используется для визуализации многомерных данных, поэтому размерность целевого пространства обычно ставят равным 2 или 3 (для 3D визуализации).

В отличие от другого классического метода PCA, t-SNE более гибок и эффективнее разносит выборки в пространстве. Так как мы «схлопываем» пространство довольно высокой размерности, облака точек оказались не очень информативными из-за большого пересечения и невооруженным взглядом там сложно выделить какие-либо паттерны. Однако, если выводить только центры аудиторий, картина меняется :

Визуализация аудиторий бренда
Визуализация аудиторий бренда

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

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

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

Механика метода

Схема расчета довольно типична для подобного класса алгоритмов и состоит из 3 шагов:

  1. Мы описываем точки выборки в исходном пространстве;
  2. Мы описываем их же, но уже в новом (целевом) пространстве;
  3. Решаем оптимизационную задачу — подбираем положение точек в целевом пространстве так, чтобы расхождение между исходным и целевым описаниями было минимально возможным.

Начнем с исходного пространства. Для каждой куки Сi нам нужно описать ее пространственное положение относительно других точек выборки. Для этого просто считаем близость до всех остальных точек. В качестве меры близости используем Гауссиану:

Умный таргетинг «Столото»

Выбор Гауссианы объясняется ее быстро убывающим хвостом — нам важнее описать локальную структуру выборки, а то, что происходит на другом ее конце, не так важно. В итоге, ближайшие соседи получат значение близости в районе 1.0, а у остальных точек близость будет быстро убывать. В результате, для каждой куки получается примерно такая гистограмма:

Пример распределения для небольшой выборки из 25 кук
Пример распределения для небольшой выборки из 25 кук

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

Умный таргетинг «Столото»

В итоге получается полноценное вероятностное распределение, сумма которого равна единице:

Нормированное распределение
Нормированное распределение

Есть правда небольшая проблема — при таком способе задания метрики близости получаются несимметричными: для точки Xi точка Xj может быть ближайшей, а для точки Xj точка Xi, наоборот, быть очень далекой.

Умный таргетинг «Столото»

Чтобы это исправить, просто складываем парные расстояния и усредняем их.

Умный таргетинг «Столото»

Здесь можно обратить внимание, что нормировочный коэффициент, на который мы перед этим делили P (i,j) и P(j,i) никуда не делся, соответственно, новая мера все так же остается полноценным вероятностным распределением.

Далее аналогичные меры близости Q (i,j) задаются для проекций кук в новом пространстве. Единственное отличие - вместо Гауссианы там используется распределение Стьюдента. Функционально это не обязательное условие, просто практика показывает, что имеющее более толстые хвосты распределение Стъюдента дает на выходе чуть лучшие результаты.

Умный таргетинг «Столото»

Таким образом, задача сводится к поиску такого расположения точек-проекций, при котором расстояние между распределениями P и Q будет минимальным. В статистике когда нужно оценить расстояние между двумя распределениями используют меру Кульбака-Лейблера. Метод t-SNE не исключение и оптимизируемая функция в нем записывается как сумма KL-расстояний по всей выборке:

Далее оптимизационная задача решается стандартными инструментами.

Параметризация метода

Если в методе PCA всего один параметр — размерность выходного пространства, то в t-SNE добавляется еще второй параметр — «перплексия».

Выше упоминалось, что близость между двумя куками оценивается гауссианой, но:

  1. Как выбрать правильное стандартное отклонение для этой гауссианы?
  2. Плотность выборки везде разная и использовать одну и то же гауссиану для всех точек плохо — какие-то наблюдения могут просто остаться без соседей.

Поэтому сигма при подсчете расстояния выбирается индивидуально для каждой точки, так чтобы сохранялась так называемая «перплексия» распределения. Перплексией авторы называют величину p=2 в степени H, где H — энтропия распределения.

Энтропия — мера случайности. Чем ближе распределение к равномерному, тем энтропия выше и наоборот — чем больше в распределении пиков, тем она ниже. Соответственно, если мы ставим перплексию повыше, мы получаем более «хвостатое» распределение и тем самым подключаем большее количество соседей.

МОДЕЛИРОВАНИЕ ML СЕГМЕНТОВ

Постановка задачи

Основная цель проекта — подготовить сегмент для запуска РК.

Традиционно принятый подход — экспертное описание целевой аудитории и тиражирование этого описания на доступные. Современные стандарты предполагают активное использование искусственного интеллекта при подготовке таких сегментов. Они позволяют исключить из процесса субъективность и сделать решение максимально data-driven.

Look-alike — маркетинговый термин, описывающий задачу поиска аудитории максимально похожей на целевую. Решение этой задачи можно сформулировать двумя шагами:

  1. Описание аудитории;
  2. Применение этого описания для отбора новых проспектов. Применяется на более высоком уровне воронки, например, в сегменте «посетители» выбираем куки максимально похожие на сегмент «постоянные покупатели».

Алгоритмически существуют разные реализации этого метода, но пожалуй самый распространенный среди data-driven методов — это описание аудитории с помощью модели классификации.

Бинарная классификация — алгоритм отнесения наблюдения в один из двух классов, часто обозначаемых как «позитивный» и «негативный».

Умный таргетинг «Столото»

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

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

Умный таргетинг «Столото»

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

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

Разработка моделей

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

В центре процесса обучения находится сеточный перебор оптимальных гиперпараметров (GridSearch), где одним из измерений является тип алгоритма. Алгоритмы прописываются в конфигурационных файлах. По умолчанию, мы задействуем всю классику машинного обучения: logistic regression, random forest, gradient boosting и прочее. Полный перебор всех моделей не является обязательным, но он позволяет минимизировать риск пропуска потенциально лучшей модели.

Стандартный пайплайн подготовки AutoML-модели
Стандартный пайплайн подготовки AutoML-модели

В качестве основной среды разработки использовался Python и хорошо известная в среде дата-аналитиков библиотека scikit-learn, а также обертки для некоторых классических инструментов типа lightgbm или catboost.

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

Регуляризация моделей

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

Такая зацикленность на положительных примерах противоречит самой цели Look-alike моделирования — ведь нам важно, как модель ведет себя на новых пользователях (то бишь на «хвостах» распределения), а не то, как хорошо она «ловит» уже известные ей примеры. Например, модель может научиться с точностью близкой 100% описывать позитивный класс (особенно если это сложная нелинейная модель типа градиентного бустинга), но при этом она будет очень плохо оценивать все остальные точки, не делая между ними различий при оценке. Картинка ниже иллюстрирует данный кейс:

Сравнение результатов применения двух разных моделей
Сравнение результатов применения двух разных моделей

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

Таким образом, при выборе финальной модели в топ будут чаще попадать более гладкие и простые модели типа логистической регрессии.

Выбор размера сегмента

Другой традиционный челлендж — это выбор оптимального размера сегмента. С одной стороны слишком большой объем снижает эффективность (lift) сегмента — сегмент "размывается" и становится мало отличимым от случайной выборки.

С другой стороны слишком малый сегмент сокращает охват и уменьшает количество целевых действий, а целевые действия — как раз то что нам нужно.

Использующаяся для балансировки точности и охвата F1 мера здесь не слишком информативна, поскольку магнитуда метрики precision у нас фактически случайна - ведь чтобы получить негативный класс мы просто сэмплировали базу и могли выбрать объем любым.

Относительные косты классов задать также сложно, ведь «релевантность» — понятие субъективное и, в отличие например от модели отклика (Response Model), напрямую не переводится в действие.

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

Результаты

Эффективность медийного размещения полученных сегментов сравнивались со средними результатами по всей кампании. В итоге используемый подход по формирования сегментов позволил увеличить средний чек до 2 раз, а стоимости целевого действия (CPA) снизить до 4 раз. Подробнее о результатах данного кейса вы можете узнать здесь.

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

Материал готовили: Константин Коточигов, Алексей Шиховец, Борисова Ирина, Юлия Лезговка.

55
4 комментария

Смотрел сам на себя значения в weborama. Там какая-то дичь в данных. Мне присвоены интересы, которых у меня нет. По их мнению с высоким уровнем доверия.
Как они на основе этих данных сделали выводы? И тем более look alike? Я хз.
Усманов очередной псевдокейс (РК) в копилку кладет. Который в реальности займет у них 0.00001% в обороте и умрет после пилота.

Добрый день! Если вы являетесь клиентом Weborama, будем рады пояснить все нюансы и разобраться вместе в работе платформы. Напишите нам на sales@weborama.com.ru.

Интересы, закрепляемые за профилями, формируются в нашей базе аудиторных данных на основе поведения пользователей в сети, а уровень соответствия тому или иному интересу (affinity index) зависит от частоты посещения URL-ов определенной тематики.

1

Одним и единственным кейсом является то, что все это пиздешь
рассказывать про заслуги в дате и космических кораблях в продвижении монополиста бренда - это признаться что больше нечем похвастаться и в отсутствии вообще продукта
Ещё кейсы есть ?

Комментарий недоступен