Любой специалист, подвизавшийся в области цифровой аналитики или интернет-маркетинга, знает о важности принятия обоснованных решений. Станьте участником любой отраслевой конференции или встречи, загляните в тематический блог, просто почитайте массовую прессу — и вы повсюду услышите и увидите такие предметы обсуждения, как машинное обучение (Machine Learning), искусственный интеллект (Artificial Intelligence, AI) и предиктивный анализ (Predictive Analytics).
Поскольку не все из нас имеют техническую или аналитическую специальность, подобные темы могут показаться немного сложными и пугающими.
Не переживайте. В данной статье мы расскажем о простом, но очень сильном понятии — интеллектуальный агент (the Intelligent Agent). Он поможет связать указанные темы со знакомыми инструментами и концептами, такими как сплит-тестирование и оптимизация.
Человек + Искусственный интеллект = Будущее интернет-маркетинга
Что значит «интеллектуальный агент»?
Может показаться, что это какой-то независимый актер или некая ответственная за принятие решений персона, перед которой стоит определенная задача. Изначально наш агент, возможно, будет не настолько хорош, как вы ожидали. Но со временем он будет пытаться развить свою производительность в зависимости от своего особого предназначения или цели (их может быть несколько).
Пример: робот-пылесос Roomba
Основная задача этой машины — чистить ваши полы, делая это за как можно меньшее количество времени.
Оптимизацию вашего сайта, мобильного приложения, колл-центра либо любого другого маркетингового инструмента, связанного с взаимодействием, можно воспринимать так же, как робота, пытающегося очистить полы за наименьший промежуток времени.
Создавая связь между веб-оптимизацией и интеллектуальными агентами (особенно программными агентами, или Software Agents), мы можем приобщиться к методам и идеям из мира искусственного интеллекта и машинного обучения, а затем применить их к проблемам маркетинговой оптимизации.
Основы понятия «интеллектуальный агент»
Рассмотрим основные компоненты данного концепта и его среды, после чего перейдем к более объемным элементам.
Агент, достигая цели, получает статус/награду (State/Reward). Исходы тех или иных возможных действий (Possible Actions) прогнозируются с помощью моделей (Models). Среда (Environment) представляет собой поле деятельности для агента: она подвергается наблюдениям (Observations), над ней производятся действия (Actions)
Во-первых, у нас есть агент (Agent, слева на рисунке) и его среда (Environment, справа). Под средой понимается пространство, в котором агент «живет» и занимается своим делом в попытке достичь поставленных целей.
Комната будет средой для Roomba. Ваше веб-приложение живет в среде, состоящей из пользователей. Данное пространство намного сложнее и динамичнее комнаты, но главный принцип остается тем же.
Что такое «цели» и «награды»?
Цели (Goals)— это то, что агент хочет достичь, к достижению чего он прилагает усилия. Достигая цели, агент получает награду (Reward) в зависимости от того, какова ценность этой цели. Это та же идея, что лежит в основе позитивного подкрепления в обучающем процессе. Если, к примеру, цель агента лежит в увеличении онлайн-продаж, наградой может стать объем продаж или процент конверсионных сессий, приведших к покупке.
Исходя из того, что агент имеет ряд целей и разрешенных действий (Actions), его задачей будет изучить, какие действия принимать в каждой ситуации, в которой он окажется — то есть в тех условиях, когда он что-то «видит», «слышит», «чувствует» и т.д.
Предположим, что агент пытается максимизировать общую ценность своих целей с течением времени, тогда для каждого конкретного наблюдения (Observation) ему нужно выбирать действия, приводящие к максимизации этой ценности. Чтобы понять, как наилучшим образом выполнить задачу, агент предпринимает 2 базовых шага.
1. Сначала действует:
- Наблюдает за средой для определения существующей ситуации (можете считать это сбором данных, то есть тем, чем мы обычно занимаемся при веб-аналитике);
- Дает прогноз, какое из всех возможных действий окажется лучшим;
- Совершает действие.
2. Затем учится на эффекте, произведенном от этого действия:
- Снова наблюдает за средой, чтобы увидеть влияние произведенного действия;
- Оценивает, насколько хорошим или плохим оказалось данное влияние и привело ли оно к цели;
- Если нет, определяет, приблизило оно к цели или, наоборот, отдалило по сравнению с той ситуацией, что была до совершения действия;
- Обновляет модель прогнозирования согласно тому, насколько действие продвинуло агента ближе к цели либо отдалило его от нее.
Повторяя данный процесс, агент учится принимать наиболее оптимальные действия в каждой ситуации.
Машинное обучение как программный агент, способный обучаться
Если вы хотите понять принцип машинного обучения, подумайте об интеллектуальных агентах. Процесс, проходимый агентом на пути от незнания ничего вначале до способности хорошо выполнять свою задачу, соответствует процессу машинного обучения.
Если выражаться более формально, то можно привести цитату из книги первопроходца в данной области Тома Митчелла (Tom Mitchell, Machine Learning, 1997): «Считается, что компьютерная программа может обучаться на основе опыта в отношении определенного класса задач и критериев качества, если ее производительность при выполнении этих задач, измеренная данными критериями качества, улучшается с ростом опыта».
В данном понимании машинное обучении — это не «просто математика», но фактически процесс обучения с опорой на опыт и среду для улучшения, адаптации и оптимизации действий.
Алгоритмы машинного обучения в интернет-маркетинге
Две задачи интеллектуального агента
Интеллектуальный агент имеет две взаимосвязанные задачи — обучаться и контролировать.
По сути, все инструменты онлайн-тестирования и отслеживания поведения содержат эти два первостепенных компонента:
- компонент ученика/прогнозиста;
- компонент контролера.
Работа контролера заключается в совершении действий, за ним находится финальное решение о том, какое действие предпринимать в каждой отдельной ситуации.
Задача ученика — создание прогнозов реакций среды на действия контролера.
Ученик является своего рода советником контролера: он дает ему рекомендации относительно каждого возможного действия.
Существует при этом небольшая проблема: главная цель агента — получить как можно больше наград. Но для того, чтобы это сделать, ему необходимо распознать, какое действие имеет смысл в каждой средовой ситуации.
Дилемма «Исследование vs. Эксплуатация»
Для каждого задания нам нужно испробовать все возможные действия и таким образом определить, что работает лучше. Конечно, для получения самого топового успеха действия с наименьшим положительным эффектом должны приниматься как можно реже.
Это рождает внутреннее противоречие между желанием выбирать действия с предсказуемо высокой ценностью и необходимостью пробовать кажущиеся оптимальными, но недостаточно исследованные действия. Данное противоречие, присущее также и работе маркетолога в незнакомой среде, часто имеет отношение к альтернативе «Исследование vs. Эксплуатация» (Explore vs. Exploit). Другими словами, данное противоречие сводится к стоимости отдельной возможности по отношению к ценности обучения (Opportunity Costs to Learn, OCL).
Давая контекст для такой альтернативы, приведем пример со знакомым всем А/Б-подходом к оптимизации.
Сначала обучение. На этапе сбора данных и создания образцов происходит исследование/обучение (Explore/Learn). Далее следует применение изученного: эксплуатация/прибыль (Explore/Earn)
Приложение проводит А/Б-тест, первым делом показывая разным пользователям различные варианты. Этот первоначальный период, во время которого оно собирает информацию о каждом варианте, может считаться периодом исследования (Exploration Period). Затем, после достижения некоторой предопределенной статистической черты, один вариант провозглашается «победителем» и становится встроенной частью пользовательского опыта. Это уже период эксплуатации, так как приложение эксплуатирует полученные знания, чтобы добиться оптимального UX.
Как А/Б- либо мультивариантный тестирующий агент выполняет эти задания?
Аналитик оценивает результаты отчета по сплит-тестированию и сам выбирает действия, приводящие к конверсии
В случае с А/Б-тестированием оба компонента — и обучения, и контроля — одинаково просты. Способ селекции действий контролером заключается в выборе случайных опций (обычно из равномерного распределения, то есть все действия имеют равные шансы попасть в выборку). Компонент обучения — это отчет по результатам А/Б-тестирования (p-значения или апостериорные вероятности для байесовского критерия).
Чтобы получить пользу от обучения, необходим человек, аналитик, выступающий посредником: опираясь на результаты тестов, он вносит корректировки в политику отбора действий, применяемую контролером. Обычно это означает, что аналитик сам назначает один из протестированных вариантов «победителем» и удаляет все остальные.
Следующим шагом развития будет автоматизация этого процесса с целью устранения необходимости в прямом участии человека (естественно, все еще будет требоваться изучение прогресса аналитиком). Такой метод называется адаптивным динамическим программированием или обучением с подкреплением, для него специфическим типом проблемы будет алгоритм многорукого бандита (Multi-Armed Bandit).
Таргетинговые агенты
Вы можете называть это таргетингом, сегментацией или персонализацией, но в любом случае суть будет в том, что разные люди получают разный опыт. Если таргетинг использует систему интеллектуального агента, то его точность будет зависеть только от того, насколько тщательно мы определили среду, в которой живет агент.
Вновь обратимся к А/Б-тестирующему агенту, добавив к нему пользовательские сегменты.
В случае с таргетинговыми агентами среда будет усложняться сегментацией пользователей
Сегментированный агент будет отличаться, поскольку его среда несколько более сложная. Вопреки предыдущему примеру, где агент А/Б-тестирования просто должен был знать о конверсиях (наградах) после принятия решения, теперь ему также необходимо «видеть» и отслеживать пользовательские сегменты.
Таргетинг или тестирование? Неверно поставленный вопрос!
Обратите внимание, что при добавлении таргетинга на основе сегментации нам все еще нужен метод определения того, какое действие требуется совершить. Поэтому таргетинг не является альтернативой тестированию, или наоборот. Таргетинг просто предполагает использование более сложной среды для вашей оптимизационной проблемы. Вам все еще приходится оценивать и выбирать правильное действие. Таргетинг и тестирование не следует воспринимать как противоборствующие подходы — они представляют собой разные части одной более общей проблемы.
Вы можете сказать: «Да это же просто А/Б-тестирование с сегментами, а не предиктивный таргетинг. Настоящий таргетинг использует высшую математику, это совершенно иное».
Это не совсем так.
Взглянем на еще одного таргетингового агента, но в этот раз вместо нескольких пользовательских сегментов имеется группа пользовательских характеристик.
Таргетинг основан на сегментации согласно множеству пользовательских характеристик (User Features), таких как геолокация, логин, ключевые слова, время, день, месяц, продолжительность сессии. Чтобы установить ценность возможных действий при таком количестве микросегментов необходимо использование математических моделей (Models)
Теперь среда состоит из множества отдельных единиц информации, могущих образовать миллионы или даже миллиарды уникальных комбинаций.
В таких условиях проведение стандартного сплит-тестирования окажется затруднительным. Это слишком большое количество возможных микросегментов для подсчета в огромной таблице, состоящей из миллиардов ячеек. Даже если вы этого захотите, у вас не будет достаточно данных для исследования, поскольку количество микросегментов будет в разы превышать число существующих юзеров, потому большинство сегментов будут иметь нулевую пользовательскую историю.
На самом деле это не такая уж большая проблема, потому что вместо того, чтобы настраивать наш таргетинг как одну большую таблицу поиска, можно использовать математические функции (модели) для аппроксимирования отношения между исследуемыми таргетинговыми характеристиками и спрогнозированной ценностью каждого действия. Здесь мы уже вступаем в зону предиктивного анализа.
Оптимизация конверсии: «Бандитский метод» или сплит-тестирование?
Предиктивный анализ: отбор исследованных пользовательских характеристик для совершения действия
Предиктивные модели помогают получить обобщенный итог, на основе которого делается вывод о необходимых действиях
Использование предиктивных моделей позволяет обобщать или распределять знания между полученными наблюдениями, не вполне одинаковыми, но имеющими схожие черты. Такое распределение информации дает нам возможность делать более точные прогнозы относительно новой клиентской аудитории, даже той, с которой мы ранее не сталкивались. Кроме этого, предиктивный анализ может еще больше упростить процесс, заранее определяя, какие пользовательские характеристики вообще стоит рассматривать при принятии решений.
Поэтому тестирование равнозначно процессу обучения тому, насколько хорошо данные маркетинговые усилия/опыт будут показывать себя в дальнейшем. Предиктивный анализ выдает предиктивную модель, используемую далее для таргетинга пользователей, получивших опыт с наибольшей предсказанной ценностью, созданный специально для них. Продолжающееся применение этих шагов представляет собой форму машинного обучения и оптимизации.
Предиктивный анализ, или Как оптимизировать ваш маркетинговый бюджет?
Заключение
Попытка уследить за всем, происходящим в индустрии, и разобраться, как эти новые (и не совсем) аналитические методы сочетаются друг с другом, представляется довольно непростым занятием. К счастью, мы можем заимствовать из сферы AI понятие «интеллектуальный агент», которое помогает структуризации и пониманию того, как все эти методы соотносятся друг с другом.
Особенное свойство восприятия темы с точки зрения введенного концепта заключается в том, что оно устраняет понятие «данные». Взгляд на вещи с перспективой «сначала данные» не предполагает естественного способа осмыслить решение проблем, а также не дает инструкций, как следует собирать или оценивать данные. Представленный же способ анализа дает формализованную систему решения проблемы, заставляющую в первую очередь обозначать цели и возможные действия для их достижения. Только после того, как это будет сделано, мы можем приступить к эффективному сбору информации, способствующей обнаружению оптимального пути вперед.
Высоких вам конверсий!
По материалам: conversionxl.com, image source Justien's Photography