В данном проекте решается настоящая бизнес-задача в области маркетинга. Необходимо произвести сегментацию клиентов на основе их покупательской способности, частоты совершения заказов и срока давности последнего заказа.
Машинное обучение помогает поисковой системе анализировать огромное количество данных о посетителях платформы, узнавать модели поведения профессиональных покупателей, определять категорию клиентов (например, лояльные/перспективные/новички/«спящие»/ушедшие) и выбирать правильную стратегию взаимодействия с ними.
Стоит также отметить, что компании, использующие машинное обучение на своих платформах электронной коммерции, могут постоянно повышать эффективность бизнес-процессов: настраивать товарную выборку персонально для каждого покупателя и предлагать выгодную цену в соответствии с бюджетом клиента и т. д. Эта задача относится к категории построения рекомендательных систем.
Бизнес-задача: произвести сегментацию существующих клиентов, проинтерпретировать эти сегменты и определить стратегию взаимодействия с ними.
Техническая задача: построить модель кластеризации клиентов на основе их покупательской способности, частоты заказов и срока давности последней покупки, определить профиль каждого из кластеров.
Машинное обучение – процесс использования математических представлений данных с целью обучения компьютера без особых инструкций.
Предсказание - использование существующего набора данных для построения модели (машинного обучения), которая предсказывает значение переменной отклика нового наблюдения.
Основные этапы проекта:
- Произвести первичную обработку набора данных.
- Провести разведывательный анализ данных и выявить основные закономерности.
- Сформировать категории клиентов.
- Построить несколько моделей машинного обучения, решающих задачу кластеризации клиентов, определить количество кластеров и проинтерпретировать их.
- Спроектировать процесс предсказания категории интересов клиента и протестировать вашу модель на новых клиентах.
1 Первичная обработка данных: сформировать набор данных на основе предложенных источников информации, а также обработать пропуски и выбросы в данных.
2 Разведывательный анализ данных (EDA): исследовать данные, нащупать закономерности и выдвинуть гипотезы.
3 Формирование категорий клиентов: использование метода сегментации клиентов под названием RFM (Recency, Frequency, Monetary). Формирование из исходного датасета о транзакциях таблицы с RFM-характеристиками клиентов и их первичная сегментация.
4 Задача кластеризации клиентов, определение количества кластеров: расширение клиентских сегментов и создание промежуточных категорий с помощью нелинейных преобразований размерности. Цель - более качественная кластеризация и улучшение стратегии взаимодействия с клиентами.
5 Проектирование процесса предсказания категории интересов клиента: построение модели классификации, которая позволит автоматически определять сегмент клиента на основе нескольких транзакций.
О структуре проекта:
- plots - папка с изображениями, необходимыми для проекта
- Project_6_notebook.ipynb - jupyter-ноутбук, содержащий код проекта.
Как правило, наборы данных для электронной коммерции являются частной собственностью и, следовательно, их трудно найти среди общедоступных данных. Однако в The UCI Machine Learning Repository создали набор данных, содержащий фактические транзакции интернет-магазина за 2010 и 2011 годы.
Датасет содержит все транзакции, произошедшие за период с 01.12.2010 по 09.12.2011, для базирующейся в Великобритании компании, занимающейся розничной онлайн-торговлей. Компания в основном продаёт уникальные подарки на все случаи жизни. Многие клиенты являются оптовиками.
Метрикой качества предсказания категории клиента является accuracy. Непосредственно задача кластеризации оценивается исходя из заранее заданного требуемого количества кластеров: до 8, с использованием коэффициента силуэта и нескольких методов кластеризации с преобразованием (линейным и нелинейным) пространства признаков.
- numpy 1.23.5
- pandas 2.1.0
- matplotlib 3.7.1
- seaborn 0.12.2
- plotly 5.14.1
- ipython 8.14.0
- scikit-learn 1.3.0
Нажать зеленую кнопку: <> Code, далее выбрать нужное (клонировать репозиторий, открыть на ПК или скачать его архив), при запуске кода в jupyter-ноутбуке необходимо учесть существующие зависимости.
Все данные необходимо скачать отдельно по указанным ссылкам и установить в подпапку data папки проекта на локальном диске.
Вся информация о работе представлена в jupyter-ноутбуке Project_6_notebook.ipynb.
Решена задача сегментации клиентов на основе RFM-анализа. Предобработаны данные, произведен разведывательный анализ, а также кластеризация клиентов и на основе полученных кластеров построена модель, определяющая сегмент клиента. При этом точность отнесения новых клиентов к выделенным сегментам вполне высокая: 0.99.
Дополнительно: Помимо RFM-анализа возможно:
- выделить оптовиков в отдельный сегмент. В таком случае идея метода RFM расширяется путём добавления в датасет информации о среднем количестве покупаемого товара за один заказ. То есть аббревиатура RFM превращается в RFMQ, где Q — среднее количество товаров в одном заказе.
- произвести кластерный анализ товаров на основе их описания и сформировать категории, по которым совершаются покупки.
- рассчитать частоту покупки каждой категории товаров для каждого клиента. Эта информация может стать основой для построения модели кластеризации и сегментирования клиентов по их интересам.
- воспользоваться информацией о сезонности покупок и добавить в модель информацию о частоте покупок клиентов в каждый из месяцев. Так можно определить, какие клиенты являются постоянными, то есть их покупки не зависят от сезона, а какие покупают товары только в преддверии праздников. Эта информация позволит экспериментировать с маркетинговой кампанией и повышать лояльность клиентов.