Сегментация торговых площадок на основе покупательского опыта

Введение

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

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

Сегментация клиентов - это широко используемый широкий термин для применения концепции «Знай свою аудиторию» к электронному бизнесу. Есть десятки различных способов сделать это, и в этой статье мы хотели бы поделиться с вами нашим способом сегментации клиентов для торговых площадок в eCG (eBay Classified Group) на основе анализа пути клиента.

Остальная часть статьи будет следовать схеме ниже:

Определение проблемы

  • Чего мы пытаемся достичь?
  • Какая главная цель?
  • Для какой группы пользователей проводится этот анализ?
  • Для какого бренда торговой площадки eCG разработана модель?

Исследование данных

  • Обзор Customer Journey
  • Краткое описание функций зрителей
  • Краткое описание возможностей респондентов
  • Определение периода времени для анализа

Методология

  • Предположения кластеризации K-средних
  • Шаг 1: Удаление выбросов
  • Шаг 2. Изменение масштаба данных
  • Шаг 3. Приведение веса к размерам
  • Шаг 4: Кластеризация K-средних

Результаты

  • Краткие описания и индикаторы кластеров зрителей
  • Краткие описания и индикаторы кластеров респондентов
  • Кластеры в деталях и переходы между кластерами

Заключение

Определение проблемы

Чего мы пытаемся достичь?

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

Какая главная цель?

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

Для какой группы пользователей проводится этот анализ?

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

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

Для какого бренда торговой площадки eCG разработана модель?

Ebay Classified Group (eCG) - это зонтичная компания, которая в настоящее время использует 14 различных секретных платформ со всего мира. Под брендом eCG существует 2 различных типа платформ: горизонтальные и вертикальные торговые площадки. Горизонтальная торговая площадка означает платформу, состоящую из множества различных категорий, как в случае с нашим голландским арендатором Marktplaats. Принимая во внимание, что вертикаль в eCG относится к платформе, используемой для определенной категории продуктов: автомобилей.

Этот проект разработан для одной из вертикальных платформ eCG: Kijiji Autos, ведущей торговой марки в Канаде, где люди могут покупать или продавать автомобили.

ИССЛЕДОВАНИЕ ДАННЫХ

Обзор Customer Journey

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

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

Зрители: пользователи, которые недавно не ответили на листинг, но просто просматривают нашу платформу.

Ответчики: пользователи, которые недавно ответили хотя бы на одно объявление.

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

Вот список функций, извлеченных отдельно для зрителей и респондентов:

Краткое описание функций зрителей

Дней с момента последнего просмотра рекламы: количество дней с момента последнего просмотра пользователем объявления на платформе.

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

Количество отдельных просмотров рекламы: количество различных списков объявлений, просмотренных пользователем.

Количество объявлений в избранном: количество объявлений, сохраненных пользователем.

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

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

Краткое описание возможностей респондентов

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

Количество разговоров: количество разговоров с разными продавцами.

Количество дней ответа: количество дней, в течение которых пользователь отвечает продавцам на платформе.

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

Количество объявлений в избранном: количество объявлений, сохраненных пользователем.

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

Количество ответов в самой длинной беседе: количество сообщений, отправленных продавцу в самой длинной беседе.

Определение периода времени для анализа

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

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

МЕТОДОЛОГИЯ

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

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

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

  • Предыдущий шаг: Извлечение функций → SparkSQL и API DataFrame Spark.
  • Следующие шаги → Различные алгоритмы H2O, работающие в Spark через пакет Sparkling Water.

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

Предположения кластеризации K-средних

  • Кластеры сгруппированы в пространстве или имеют "сферическую форму".
  • Кластеры примерно одинакового размера

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

Шаг 1: Удаление выбросов

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

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

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

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

Шаг 2. Изменение масштаба данных

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

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

Шаг 3. Приведение веса к размерам

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

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

Для зрителей мы удвоили вес для размеров, перечисленных ниже:

  • Дней с момента последнего просмотра рекламы
  • Количество дней посещения
  • Количество различных просмотров рекламы

Для репликаторов мы удвоили вес для размеров, перечисленных ниже:

  • Дней с последнего ответа
  • Количество разговоров
  • Количество ответов в самом длинном разговоре

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

Шаг 4: Кластеризация K-средних

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

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

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

РЕЗУЛЬТАТЫ

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

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

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

Краткие описания и индикаторы кластеров зрителей

1- Отток: они давно перестали посещать нашу платформу.

  • Максимальное количество дней с момента последнего просмотра рекламы среди зрителей

2- Браузер: они все еще посещают нашу платформу, но не так активно.

  • В общем, никаких экстремальных значений для любых размеров

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

  • Минимум «дней с момента последнего просмотра рекламы» среди зрителей
  • Максимальное «количество отдельных просмотров рекламы» среди зрителей
  • Максимальное «количество объявлений, пользующихся успехом» среди зрителей

Краткие описания и индикаторы кластеров респондентов

1- Снижение интереса: они перестали отвечать на предложения некоторое время назад. Скорее всего, они уже отказались от поиска машины на платформе.

  • Максимальное количество дней с момента последнего ответа среди ответчиков

2- Обычный покупатель: в настоящее время они все еще ведут переговоры с продавцами, но не так активно.

  • В общем, никаких экстремальных значений для любых размеров

3- Предполагаемый покупатель: в настоящее время они активно обсуждают разные продавцы. Эта группа пользователей с наибольшей вероятностью купит автомобиль.

  • Минимальное количество дней с момента последнего ответа среди респондентов
  • Максимальное «количество разговоров» между ответчиками
  • Максимальное «количество дней, на которые дан ответ» среди респондентов
  • Максимальное «количество объявлений в избранном» среди респондентов

4- Купили: недавно они уже купили машину и покинули нашу платформу.

  • Максимальная «средняя продолжительность разговора» между респондентами
  • Максимальное «максимальное количество дней, потраченных на конкретное объявление» среди респондентов.
  • Максимальная "самая длинная длина разговора" среди ответчиков

На графике ниже вы можете увидеть распределение количества пользователей по разным кластерам.

Кластеры в деталях и переходы между кластерами

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

Кластеры зрителей

Отток

  • 36% от всей группы пользователей
  • Нет ответа за последние 60 дней (просмотрщик)
  • Некоторое время назад они даже перестали посещать наши площадки. (Последний визит: ~ 40 дней назад)
  • По сравнению с другими этапами путешествия, они имеют более высокую тенденцию оставаться на одном этапе (~ 90%)

Браузер

  • 45% от всей группы пользователей
  • Нет ответа за последние 60 дней (просмотрщик)
  • Они по-прежнему посещают нашу площадку, но не так активно. (Последний визит: ~ 10 дней)
  • Эти пользователи с наибольшей вероятностью уйдут (процент ухода за 7 дней: 14%)
  • Через 7 дней только 1,5% этих пользователей становятся «потенциальными ответчиками» (следующий этап).

Предполагаемый ответчик

  • 6,7% от всей группы пользователей
  • Нет ответа за последние 60 дней (просмотрщик)
  • В настоящее время они агрессивно посещают нашу платформу.
  • Эта группа пользователей, скорее всего, начнет общение с продавцами.

Кластеры респондентов

Потеря интереса

  • 5,4% от всей группы пользователей
  • Они получили как минимум 1 ответ за последние 60 дней (Replier)
  • Они перестали отвечать на рекламу некоторое время назад. (Последний ответ: ~ 45 дней назад)
  • Они склонны к оттоку. (Уровень оттока за неделю: ~ 5,6%)
  • 6,8% этих пользователей снова становятся «браузерами» (предыдущий этап) через 7 дней.
  • Только 5,4% этих пользователей продолжают свой путь к покупке (следующий этап: Vanilla Buyer)

Покупатель ванили

  • 6,4% от всей группы пользователей
  • С продавцами все еще ведутся разговоры, но не так активно.
  • Одна из самых динамичных групп пользователей на пути к покупке (25% пользователей, как правило, меняют этап за 7 дней)
  • 18,2% этих пользователей переходят на «потерю интереса» (предыдущий этап) через 7 дней.
  • Только 5% этих пользователей продолжают свой путь к покупке (следующие этапы: потенциальный покупатель или купленный)

Предполагаемый покупатель

  • 0,6% от всей группы пользователей
  • В настоящее время они агрессивно ведут много разговоров с продавцами.
  • Один из самых стабильных пользовательских кластеров (оставаться в том же соотношении стадий через 7 дней: 90%)
  • Эта группа пользователей с наибольшей вероятностью купит автомобиль. (Коэффициент перехода на стадию «Куплено» за 7 дней: 2,4%)

Куплено

  • 1% от всей группы пользователей
  • Они уже купили машину
  • Недавно покинул нашу платформу (Последний ответ: ~ 20 дней назад)
  • У этих пользователей были самые долгие разговоры с продавцами перед тем, как они ушли.
  • Эти пользователи могут быть исключены из наших кампаний на некоторое время.

ВЫВОД

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

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