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

В этом блоге я расскажу об исследовательском подходе к созданию сегментов продуктов, основанном на данных, с использованием набора данных Kaggle Amazon Toy Product. Полный код Python можно найти на Kaggle.

Схема

Это упражнение, основанное на данных, включает следующие шаги:

1. Разработка функций для извлечения информации о продукте и KPI

2. Исследовательский анализ данных для выявления лежащих в основе взаимосвязей между ключевыми показателями эффективности.

3. Кластерный анализ K-средних для создания нового сегмента продукта.

4. Контролируемый подход машинного обучения к интерпретации кластеров.

Разработка функций

Набор данных состоит из 10 000 точек данных и 16 переменных, однако большинство переменных представлены в виде текстовых описаний и сведений о продуктах. Чтобы улучшить анализ, я решил добавить новые переменные. Новые функции, которые я извлек, включают информацию, связанную с продуктом (например, количество продавцов, размеры веса и объема, а также рекомендуемый возраст) и приблизительные показатели эффективности продукта (соотношение продуктов). strong>, родство товаров и рейтинг продавца). Полную информацию о функциях можно найти в таблице ниже. В рамках этапов предварительной обработки также вменили недостающие значения с использованием среднего и медианного значений.

-----------------------------------------------------------------------
Variable           Description
-----------------------------------------------------------------------
Price_Euro:        Listed product price (Euro)
Review_rating:     Average customer review rating (1-5)
Total_Rank:        Seller ranking of product
Weight_gram:       Product weight (grams)
Volume_cm3:        Product volume (cm3)
Recommend_Age:     Recommended age (Base) 
Product_vintage:   Product vintage measured in years 
Product_affinity:  Count of other transactions associated with the item.
Product_relation:  Count of other transactions after viewing this item.
3rdPartySeller:    Count of 3rd party sellers
Seller_count:      Total count of sellers (including Amazon)
CV_price:          Coefficient of variation of seller prices
-----------------------------------------------------------------------

Исследовательский анализ данных

На тепловой карте ниже показана корреляция между переменными. Большая часть связи между переменными находится в диапазоне от умеренной до слабой, за исключением корреляции между 3rdPartySeller и Seller_count, которая имеет сильную положительную корреляцию. Примечательно, что результаты также показывают, что Total_Rank имеет умеренную положительную связь с Product_affinity и Product_relation. Это означает, что товары, пользующиеся спросом, имеют несколько высокое сходство с другими товарами.

Кластерный анализ K-средних

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

На рисунке ниже показаны результаты кластерного анализа. Ясно, что кластеры 4 и 5 являются соответственно наибольшим и наименьшим сегментами. Примечательно, что кластеры 0, 6 и 7 имеют сопоставимый размер.

Интерпретации контролируемого кластера

Чтобы изучить различия между сегментами продуктов, я решил использовать подход машинного обучения с учителем вместо традиционного подхода с использованием сводной статистики и графиков для получения информации о кластерах. Контролируемый подход к интерпретации кластеров включает в себя подгонку вновь определенных сегментов (в качестве цели) и функций в модели классификатора. За этим следует вычисление значения SHAP (SHapley Additive exPlanations) выходных данных модели классификатора для интерпретации дисперсии по сегментам [1]. Преимущество этого подхода SHAP (т. е. контролируемая кластеризация) заключается в элегантном масштабировании признаков по общему критерию и усилении важности признаков в объяснении дисперсии между кластерами[2].

Для этого шага я подогнал точки данных на модели Light Gradient Boost Model (LightGBM). На рисунке ниже показаны глобальные значения SHAP для вкладов функций от самого высокого до самого низкого. Разложение важности функции для каждого сегмента продукта рассчитывается с использованием перестановок функций, чтобы определить наиболее влиятельную функцию для каждого прогноза класса. Очевидно, что отношение к продукту и объем продукта являются наиболее и наименее влиятельными характеристиками соответственно.

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

Сравнение локальных значений SHAP детализирует разницу между обоими сегментами по влиятельным характеристикам и направлениям воздействия. Например, из этих графиков можно сделать вывод, что сегмент 0 имеет низкое отношение к продукту, высокое сходство с продуктом и высокий рейтинг отзывов. Точно так же сегмент 4 имеет высокий рейтинг отзывов, но отличается от сегмента 0 наличием высоких отношений с продуктом и количеством сторонних продавцов. Разбивка местных значений SHAP по существу определяет важные характеристики каждого сегмента продукта. Используя локальные значения SHAP, сегмент можно охарактеризовать следующим образом:

Сегмент 0: низкое отношение к продукту, высокое сходство с продуктом и высокие рейтинги в обзорах
Сегмент 1: высокие колебания цен продавца, высокая винтажность продукта и средний уровень сторонних поставщиков Количество продавцов.
Сегмент 2: Вес продукта от высокого до среднего, высокая степень родства и высокая степень сходства с продуктом.
Сегмент 3: Низкая степень сходства с продуктом, низкая Рекомендуемый возраст и низкий рейтинг продавца.
Сегмент 4: высокое отношение к продукту, высокий рейтинг отзывов и низкое количество сторонних продавцов.
Сегмент 5: высокий Рекомендуемый возраст, низкий общий рейтинг продавца и низкое сходство с продуктом.
Сегмент 6: большое количество доступных товаров, большое количество сторонних продавцов и низкая вариация цен продавца.

Заключительные замечания

Информация, полученная в результате этого упражнения, основанного на данных, может быть использована для разработки стратегий, связанных с производительностью продукта и требованиями к запасам в онлайн-пространстве розничной торговли. Например, высокий рейтинг в отношениях с продуктом, связанный с сегментом 4, указывает на то, что продукты в этом сегменте можно использовать в качестве якоря для привлечения и увеличения продаж других продуктов. Высокая доступность и вес на складе, связанные с сегментом 6 и сегментом 2, можно использовать в качестве сигнала для информирования стратегий о требованиях цепочки поставок. Сегмент 1 можно использовать для стратегий ценообразования, направленных на увеличение продаж или прибыли. Кроме того, низкое сходство продуктов и отношения, связанные с сегментами 0 и 3, указывают на то, что эти сегменты продуктов могут быть идеальными кандидатами для перекрестного таргетинга и маркетинга для создания новой ценности.

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

Справочник и дополнительная литература:

[1] https://www.aidancooper.co.uk/supervised-clustering-shap-values/

[2] http://blog.datadive.net/interpreting-random-forests/

[3] https://medium.com/bricklane-tech/a-new-approach-to-clustering-interpretation-7729cb665ee8