Original size 832x1248

Анализ рынка блеска для губ на Ozon

PROTECT STATUS: not protected
The project is taking part in the competition

Вступление

Для темы исследования хотелось взять что-то интересное и актуальное. В России достаточно много данных по e-commerce, в частности по Wildberries и Ozon, на которых я и мои знакомые регулярно что-то заказываем.

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

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

Что у меня в данных

Датасет содержит информацию о 4550 товарах (блесках для губ) с Ozon и включает данные:

 — Общие данные: название товара, бренд, артикул, магазин.  — Финансовые метрики: цена, цена со скидкой, выручка за месяц, продажи за месяц (в шт.).  — Характеристики товара: объем (мл), вес (г), цвет, страна производства.  — Метрики популярности: рейтинг, количество отзывов, отзывы за месяц.  — Логистика: наличие на складе, модели работы (FBO, FBS, Retail).

Типы графиков, использованные в анализе

В ходе исследования я использовала следующие типы визуализации:

1. Scatter plot (диаграмма рассеяния) — для анализа зависимости между двумя переменными (цена и продажи). Дополнительно использовала линию регрессии для визуализации общего тренда. 2. Bar chart (столбчатая диаграмма) — для сравнения значений между категориями (выручка по ценовым сегментам). 3. Heatmap (тепловая карта) — для визуализации двумерной матрицы данных (комбинации объема и цены). 4. Horizontal bar chart (горизонтальная столбчатая диаграмма) — для сравнения категорий с длинными названиями (топ-10 брендов, популярность цветов).

Как я анализировала данные

Я начала с базового исследования данных. Использовала df.info () для оценки структуры данных, типов переменных и заполненности полей. Затем df.describe () для получения статистических характеристик числовых переменных для понимания целостности данных.

Получилось, что датасет содержит 4550 записей, 25 столбцов. Обнаружены пропуски в некоторых полях (например, в поле «Бренд» — 278 пропусков из 4550), но в целом данные пригодны для анализа.

Original size 1086x334

Основные показатели:

Всего товаров: 4550 Средняя цена: 691.64 руб. Медианная цена: 380.00 руб. Средние продажи за месяц: 79 шт. Общая выручка за месяц: 150.21 млн руб.

Зависимость продаж от цены

Первый вопрос, который меня заинтересовал: есть ли связь между ценой товара и объемом продаж? Чем дороже блеск, тем больше его покупают, или наоборот?

Я построила scatter plot (диаграмму рассеяния), где по оси X — цена, по Y — продажи. Первоначальный график получился не очень информативным из-за выбросов — был товар с экстремально высокой ценой. Я отфильтровала данные по 99-му перцентилю, чтобы убрать эти выбросы и увидеть общую картину.

Затем добавила линию регрессии для визуализации общего тренда.

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

Original size 1424x874
Original size 1485x884

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

Распределение выручки по ценовым сегментам

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

Я разделила все товары на ценовые категории: до 350 рублей, 350-700, 700-1050 и так далее. Затем посчитала суммарную выручку в каждой категории и визуализировала результаты в виде столбчатой диаграммы.

Почему bar chart? Столбчатая диаграмма идеально подходит для сравнения значений между категориями. Она позволяет легко сравнить выручку в разных ценовых сегментах и выявить наиболее прибыльные диапазоны. Это интуитивно понятный способ визуализации.

Original size 1236x1454
Original size 1484x884

Результаты показали, что не всегда самые дорогие товары приносят больше всего денег. Наибольшая выручка сосредоточена в сегментах до 350 рублей (51.39 млн руб.) и 350-700 рублей (48.88 млн руб.). Также появилась интересная гипотеза, почему в диапазоне 1400-2100 руб. выручка меньше чем в более дорогих, я думаю, что люди покупают либо дешевое, либо уже что-то более премиальное и дорого.

Матрица выручки по объему и цене

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

Я создала группы по объему (0-3 мл, 3-5 мл и так далее) и построила матрицу, где по одной оси — объем, по другой — ценовой сегмент. В каждой ячейке — суммарная выручка. Визуализировала это в виде тепловой карты.

Почему heatmap? Тепловая карта позволяет эффективно визуализировать двумерную матрицу данных, где интенсивность цвета соответствует значению выручки. Это помогает быстро выявить «горячие» и «холодные» зоны — комбинации параметров, которые работают лучше всего. Это намного нагляднее, чем таблица с цифрами.

Original size 1268x1480
Original size 1380x732

Этот график получился очень информативным и наглядным. Он показывает, что оптимальные комбинации — это средние объемы (3-12 мл) в среднем ценовом сегменте (до 700 руб.).

Ключевые находки из матрицы: Наибольшая выручка (21.36 млн руб.) приходится на комбинацию: объем 8-12 мл и ценовой сегмент 350-700 руб. Второе место (14.64 млн руб.) — объем 8-12 мл в сегменте до 350 руб. Третье место (14.32 млн руб.) — объем 3-5 мл в сегменте 350-700 руб.

Топ-10 брендов по выручке

Ну и конечно же интересно: а какие бренды лидируют по выручке?

Я посчитала суммарную выручку по каждому бренду, отсортировала по убыванию и выбрала топ-10. Затем построила горизонтальную столбчатую диаграмму.

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

Original size 1382x1234
Original size 1485x883

Результаты показали, что лидером является бренд MIXIT с выручкой почти 16 млн рублей за месяц. Топ-3 бренда (MIXIT, Eveline Cosmetics, tellmi) генерируют более 38 млн руб., что составляет около 25% от общей выручки рынка.

Получились следующие данные: Топ-10 брендов по выручке: 1. MIXIT: 15.98 млн руб. 2. Eveline Cosmetics: 13.05 млн руб. 3. tellmi: 9.35 млн руб. 4. JEANMISHEL: 9.23 млн руб. 5. B.COLOUR PROFESSIONAL: 9.14 млн руб. 6. Clarins: 8.65 млн руб. 7. LUXVISAGE: 8.02 млн руб. 8. DIVAGE: 7.74 млн руб. 9. Vivienne Sabo: 5.06 млн руб. 10. Belor Design: 2.81 млн руб.

Результат подтверждают мои собственные наблюдения — бренд MIXIT рекламируют во всех запрещенных соцсетях в невероятном кол-ве. Оказывается это приносит должный результат.

Популярность цветов у топ-10 брендов

Помимо объема, можно было попробовать проанализировать цвет блесков: какие наиболее популярны среди лидирующих брендов?

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

Я написала функцию классификации цветов, которая определяет группу по названию: нюдовые, розовые, красные, прозрачные или другие. Затем применила эту функцию ко всем товарам из топ-10 брендов и посчитала выручку по каждой группе цветов.

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

Original size 1485x735

Популярность цветов у топ-10 брендов (в выручке): Другие (числовые оттенки): 36.48 млн руб. Розовые: 27.32 млн руб. Нюдовые: 18.48 млн руб. Красные: 6.75 млн руб. Прозрачные: 0.001 млн руб.

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

Технические детали реализации

Используемые библиотеки

pandas: для работы с данными, группировки, фильтрации и агрегации matplotlib: для базовой визуализации и настройки графиков seaborn: для построения статистических графиков с улучшенным дизайном numpy: для численных операций

Статистические методы

В ходе анализа использовались следующие статистические методы:

Регрессионный анализ: для выявления тренда и зависимости между ценой и объемом продаж. Линейная регрессия использовалась через функцию sns.regplot (), которая автоматически подбирает линию наилучшего приближения. Перцентили: для обработки выбросов применялся 99-й перцентиль. Данные, превышающие этот порог по цене или продажам, были отфильтрованы для более корректной визуализации. Группировка и агрегация: использовались методы groupby () для группировки данных по категориям (бренды, ценовые сегменты, цветовые группы) и агрегации метрик (сумма выручки, средние значения). Категоризация данных (binning): непрерывные переменные (цена, объем) были разбиты на категориальные группы с помощью pd.cut () для более удобного анализа и визуализации. Сводные таблицы (pivot tables): для анализа взаимосвязи между двумя категориальными переменными (объем и цена) использовались сводные таблицы, которые затем визуализировались в виде тепловых карт.

Настройка визуализации

Я создала кастомную цветовую палитру в стиле блесков для губ — розовые, красные, нюдовые оттенки. Считаю, что такая стилизация отлично подходит для этого исследования.

Основные выводы исследования

В результате исследования удалось обнаружить интересные факты и понятно их визуализировать.

Рынок сегментирован — есть четкие ценовые ниши. Рынок не однороден, а имеет структуру с различными сегментами.

Не всегда дороже = больше денег — средний ценовой сегмент иногда приносит больше выручки, чем премиум.

Есть оптимальные комбинации — определенные сочетания объема и цены работают лучше других.

Цвета имеют значение — нюдовые и розовые оттенки действительно самые популярные, что соответствует общим трендам в косметике.

We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more