Решение проблемы холодного старта для индивидуальных рекомендаций

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

Обзор

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

· Формирование представления о личном стиле новых пользователей

· Группировка продавцов в сообщества

· Подбор покупателей к потенциальным продавцам

· Измерение успеха

В следующем посте мы обсудим связанный проект, предназначенный для постоянного вывода на рынок соответствующих продуктов с использованием GraphX, сетевой библиотеки графов Spark.

Детка, на улице холодно! Давай разогреемся!

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

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

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

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

Создание сообществ

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

Чтобы построить соответствующий вектор «продавца», мы анализируем последние объявления о каждом магазине. Это позволяет нам не только определить, какие виды товаров представлены в списке (например, специализируется ли магазин на обуви?), Но также и стиль перечисленных товаров (например, могу ли я получить здесь последние выпуски Supreme?), В основном глядя на марка и описание. Нормализуя результаты, мы получаем относительную разбивку по каждому магазину, приравнивая новых и старых продавцов.

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

Как найти новых лучших друзей

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

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

Достигли ли мы своей цели? (Дело не только в деньгах!)

Используя A / B-тестирование, мы можем легко измерить влияние Мастера стилей на значительную долю новых пользователей, сообщая о нашем решении развернуть его для каждого нового пользователя. Менее чем за несколько недель мы смогли окончательно определить, что в среднем пользователи Style Wizard в два раза чаще посещают хотя бы один магазин в первые 48 часов после присоединения, ›30% из которых поступают по рекомендации генерируется новой функцией. Фактически, среднее количество магазинов, за которыми следили в первые 2 дня, увеличилось на 105%, а сэкономленные товары выросли примерно на 120%.

Кроме того, активация покупателей на ~ 25% выше среди пользователей Style Wizard, что приводит к увеличению прибыльности пользователей на ~ 30%, если учесть увеличение среднего количества покупок для новых пользователей. Однако быстрый рост продаж может быть быстро сведен на нет долгосрочным снижением опыта использования и уровня оттока. К счастью, мы наблюдали устойчивое взаимодействие (т. Е. Больше магазинов, количество сохраненных и приобретенных товаров) среди пользователей Style Wizard через несколько недель после присоединения. Мы связываем это с возможностью находить соответствующие магазины и товары в первые несколько дней после присоединения, что приводит к лучшему пользовательскому опыту, когда вы остаетесь постоянным пользователем.

Дальнейшие действия

Улучшение первоначального опыта новых пользователей - это только начало наших планов сделать Depop более персонализированным и актуальным для каждого пользователя. В следующем посте мы обсудим еще один проект, направленный на повышение релевантности товаров для существующих пользователей. Это захватывающий проект, в котором используется GraphX, сетевая библиотека графов Spark, чтобы создать картину недавнего взаимодействия пользователей со всем инвентарем и вернуть элементы, которые потенциально идеально подходят для них, но каким-то образом ускользнули от их просмотра.

Мы нанимаем!

Вы можете ознакомиться с нашими открытыми ролями здесь и подписаться на нашу страницу в LinkedIn. Если у вас есть опыт в области машинного обучения, но вы не видите идеальную роль для вас или просто хотите зайти в наши офисы, чтобы поболтать и устроить экскурсию, свяжитесь с нами: [email protected]