О кластеризации. Для маркетологов и категорийщиков. Объясняем на пальцах (огурцах)

В своей публикации на vc.ru я подробно рассказывал об интересном кейсе сегментации покупательских корзин на основе чеков.
Для сегментации был использован математический алгоритм, который называется кластеризация. В результате применения этого алгоритма было выявлено 5 групп покупателей с разным поведением и предпочтениями.

Я получили большое количество вопросов и просьб рассказать подробнее о самом алгоритме и разъяснить, как он работает.

Меня зовут Гашпар Юрий, я CEO SkyDigital, и сейчас я вам на пальцах попробую объяснить, что такое кластеризация.

Не буду лезть в глубокую математику, а расскажу все на простом примере абстрактного магазина, где продаются всего два наименования товара - молоко и соленые огурцы 😊

Пример

Молоко всегда смешней, если после огурцов.

Отто фон Бисмарк.

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

Т.е. если в чеке всего одна пачка молока, то мы ставим на графике точку с координатами (0,1) - «ноль банок огурцов и одна упаковка молока».

В итоге получаем некое облако точек.

<i>Каждая точка отображает один чек. На осях отложено количество товаров в каждом чеке.</i>
Каждая точка отображает один чек. На осях отложено количество товаров в каждом чеке.

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

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

Поскольку у нас всего два товара, нам не нужно никакой математики, чтобы увидеть на графике, что наши точки (чеки/корзины) сгруппировались в три кластера:

Кластер 1. Люди, которые покупают только молоко, от одной до трех пачек за раз.
Кластер 2. Люди, которые покупают соленые огурцы в количестве от трех до семи за раз.
Кластер 3. Отчаянные экстремалы, любители острых ощущений, у которых в корзине может быть одновременно и молоко и соленые огурцы.

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

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

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

<p><i>Набор данных без обработки.</i></p>

Набор данных без обработки.

<p><i>Алгоритм смог выделить три кластера из первоначальных данных.</i></p>

Алгоритм смог выделить три кластера из первоначальных данных.

<p><i>Более детализированный анализ тех же данных.</i><i>Алгоритм смог выделить целых 5 различных кластеров!</i></p>

Более детализированный анализ тех же данных.Алгоритм смог выделить целых 5 различных кластеров!

Конечно, в реальной жизни все намного сложнее. Товаров не два, а тысячи. И точка (корзина) у нас не в двумерном пространстве «молоко-огурцы», а в многомерном – «молоко-огурцы-помидоры-хлеб-…семена гладиолусов». И визуально выделить кластеры у нас не получится. Человеческий мозг даже не может себе представить пространство, где измерений больше трех.

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

А вот что дальше делать с полученными результатами кластеризации, как их визуализировать и анализировать, какие можно делать выводы - читайте в моей статье на vc.ru:

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

6
2 комментария

Так бы и сказали - с помощью математического метода "уменьшение размерности" мы посмотрим наглядно на взаимосвязи между объектами. Учите Python , изучайте UMAP и Bokeh пакеты , и получите такие же картинки. Развели тут кашу...

Ответить

Спасибо за критику. Эта статья была задумана, чтобы просто разъяснить тему для людей, которые по роду своей деятельности редко сталкиваются с чем-то сложнее Excel.

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

1
Ответить