Машинное обучение в рекомендации по промокоду

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Как многорукие бандиты могут помочь Starbucks отправлять персонализированные предложения своим клиентам.

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

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

Чтобы преодолеть эту проблему, можно использовать методы машинного обучения для создания профилей клиентов на основе данных и разработки более эффективных рекомендаций по промокодам. Если уж на то пошло, в этой статье показано, как кластеризация K-Means в сочетании с многорукими бандитами может быть использована в приложении Starbucks Mobile Rewards для создания системы рекомендаций по промокодам.

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

Итак, без лишних слов, давайте приступим к делу!

 


https://www.tatpressa.ru/news/357888.html


 

Мобильное приложение Starbucks Reward для мобильных устройств

Через день Starbucks рассылает пользователям предложения с истекающим сроком действия, которые имеют свою сложность и срок годности. Каждое предложение может быть отправлено по нескольким маркетинговым каналам (электронная почта, мобильные устройства, социальные сети и веб-страницы), и как только задача с предложением выполнена, они получают вознаграждение в размере, соответствующем уровню сложности.

Когда пользователи просматривают предложение, они могут либо решить:

завершите его задачу :)

проигнорируйте вызов, но все равно совершите покупку без промокода:|

игнорируйте все :(

Вот краткий обзор объема продаж в маркетинговой воронке за несколько недель работы приложения:

Диаграмма потока клиентов Sankey в приложении Starbucks Rewards (изображение автора).

После отправки предложения мы заинтересованы в анализе по каждому маркетинговому каналу:

какое предложение не было конвертировано;

который превратился в покупку;

что привело к будущим покупкам и

которые были проигнорированы, но пользователь все равно купил из приложения.

В выборочном наборе данных было просмотрено 100% предложений — скорее всего, потому, что предложения рассылаются по нескольким каналам. Наличие высокого соотношения просмотренных предложений дает положительную характеристику информирования клиентов о бренде и предлагаемых ими предложениях. Когда эти предложения приводят к акту покупки, можно сделать вывод, что клиенты не только осведомлены об услугах бренда, но и привлечены ими.

Однако значительное количество покупок было совершено без использования промокодов. Это указывает на то, что, несмотря на использование надлежащего маркетингового канала, предложение вознаграждения не было привлекательным для пользователя, что касается скорее характеристик продукта, чем самой маркетинговой стратегии. Возможно, изменив отправленное предложение с использованием того же канала (что будет задачей нашей рекомендательной системы), клиент принял бы предложение и получил бы за это вознаграждение.

В конце воронки одна из самых важных задач, которую может решить коммерческое предложение, - это убедить клиентов совершать будущие покупки. Это может быть средством привлечения клиентов к тому, чтобы они стали защитниками бренда [2].

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

Обратите внимание, что это существенный недостаток приложения mobile rewards, учитывая, что только 22,9 тыс. из 111 тыс. предложений привели к будущим покупкам.

Имейте в виду, что после отправки предложения время, необходимое пользователям для участия в различных этапах воронки, сильно зависит от статуса клиента. Лид - это потенциальный покупатель, статус которого может быть либо холодным, либо теплым, либо квалифицированным [3]. Как только пользователь просматривает предложение, он может рассматриваться как потенциальный клиент, учитывая, что он в нем заинтересован.

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

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

Распределение по времени от (а) отправки и предложения до его просмотра и (б) просмотра и предложения и его завершения (изображение автора).

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

где чем ниже параметр α, тем длиннее хвост. Для нашего набора данных мы имеем α = 10,57 в первом временном интервале и α = 7,01 во втором. Естественно, на это прошедшее время сильно влияют свойства предложений, такие как сложность и продолжительность, которые влияют на timelapse только после того, как пользователи просматривают предложение — таким образом, объясняется, почему у нас более длинный хвост в timelapse (b).

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

 

 

Многорукие бандиты (MAB)

Алгоритмы MAB уже довольно давно широко изучаются в статистике для решения проблемы игровых автоматов. Представьте, что у вас есть агент (бандит), который может неоднократно вытаскивать руку из k доступных машин, возможно, получая за это вознаграждение.

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

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

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

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

В своей простейшей математической формулировке MAB состоит из k машин с их собственным распределением вероятностей p, ожидаемыми вознаграждениями μ и отклонениями σ — все из которых изначально неизвестны агенту. В каждую эпоху t ∈ [1, T] вытаскивается arma_i и принимается награда. Затем бандит следует политике, чтобы выбрать, какую руку вытащить следующей: ту, которая до сих пор давала наибольший выигрыш, или другую руку, которая, возможно, приведет к большему выигрышу. Наибольший выигрыш в раунде T дает где μ* - ожидаемая награда от лучшей руки. Другими словами, ему необходимо принимать решения о компромиссе между эксплуатацией и разведкой.

Для решения этой проблемы было использовано несколько методов, одним из которых является ϵ-жадный подход [1]. В этом классическом подходе в каждом раунде бандит выбирает руку с наибольшим эмпирическим средним значением с вероятностью 1 — ϵ или выбирает случайную руку с вероятностью ϵ.

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

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

Алгоритмы MAB использовались во многих приложениях, где необходимо принимать последовательные решения, например, в рекомендательных системах. В этом случае MAB используется для моделирования профиля потребления, учитывая, что пользователям (агентам) предоставляется несколько предметов (игровых автоматов), и они могут потреблять их в соответствии с функцией распределения вероятности вознаграждения.

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

Применение MAB в приложении Starbucks Rewards

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

где все переменные являются двоичными, кроме offerReward. Уравнение ограничено снизу 0, что происходит, когда предложение не просматривается (makingofferCompleted = 0 и futurePurchase = 0). Лучшая награда приходит, когда дается высокое вознаграждение за предложение и все двоичные переменные равны 1, включая будущие покупки, что является святым граалем маркетинговой стратегии.

Как только мы установим эту функцию, мы сможем создавать профили клиентов, основанные на данных, с учетом следующих переменных:

возраст, доход

лет с момента подписки

средний мабРевард для каждого продукта

После кластеризации пользователей каждая группа была смоделирована как MAB, имеющая предложения в качестве рычагов для вытягивания. На следующем рисунке показана средняя эволюция вознаграждения за 20 реализаций тренинга MAB (все решения по параметрам обсуждаются в отчете о проекте здесь):

ϵ-жадный распад означает среднюю награду за 20 реализаций (изображение автора).

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

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

Количество выборов оружия по кластерам (изображение автора).

Как можно видеть, 3 из 10 предложений хорошо подобраны для большинства кластеров, что означает, что в целом рекомендуется 30% портфолио. На это число сильно влияет скорость разведки после того, как MAB сходится. Когда разведка невелика, модель, как правило, рекомендует только те предложения, которые, как было показано, обеспечивают наивысшее вознаграждение. Более тщательное исследование может привести к лучшему разнообразию для этого рекомендателя, однако это может повлиять на производительность модели с точки зрения прогнозирования использования.

Подведение итогов

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

В рамках множества алгоритмов рекомендаций многорукие бандиты были широко изучены благодаря их гибкости в использовании функций вознаграждения ручной работы, таких как та, которую мы использовали для анализа маркетинговых аспектов. Если вы хотите погрузиться в более мощный подход MAB, я бы настоятельно рекомендовал прочитать статью о BaRT (Bandits for Recsplanations as Treatments) [4], разработанную исследователями Spotify.


Источник: towardsdatascience.com

Комментарии: