Исходный размер 2280x3200

Рынок кроссовок: цена, скидки и рейтинг

PROTECT STATUS: not protected

Концепция

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

Данные взяты с Kaggle из набора «Sneakers Dataset for Shoes Market Analysis». Внутри — таблица с информацией о разных моделях кроссовок: бренд, цены и скидки, а также оценки пользователей. Этот набор подходит для анализа ценовых уровней, сравнения брендов и поиска закономерностей между ценой, скидками и пользовательскими оценками.

Исходный размер 1820x1024

Для визуализации данных я планирую использовать следующие типы графиков:

• гистограмма • столбчатая диаграмма • точечная диаграмма • тепловая карта корреляций

Почему именно эти графики?

• Гистограмма поможет быстро понять, в каком ценовом диапазоне находится основная часть моделей • Столбчатая диаграмма нужна, чтобы наглядно сопоставить бренды по скидкам (например, по медианной скидке) и увидеть, кто чаще использует дисконт как инструмент • Точечную диаграмму я использую для проверки связи между ценой и пользовательским рейтингом: видно, влияет ли стоимость на оценку и образуются ли группы моделей • Тепловая карта корреляций даст общий обзор числовых зависимостей между ценой, скидкой, рейтингом и количеством отзывов

Исходный размер 1820x1024

Визуальное оформление

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

Исходный размер 5134x1604

Обработка данных

Инструменты проекта:

• Python — среда выполнения анализа • Pandas — загрузка и обработка таблицы (чтение CSV, очистка, приведение типов, расчет новых столбцов) • NumPy — вычисления (логарифмирование цены) • Matplotlib — визуализация и стилизация графиков • matplotlib.colors — кастомная цветовая карта для тепловой карты корреляций

Colab не имеет доступа к файлам на моем компьютере напрямую, поэтому я загружаю CSV в среду выполнения. Это первый обязательный шаг, чтобы дальше работать с данными через Panda.

Исходный размер 1959x378

Код

После загрузки я проверяю рабочую папку Colab (/content), чтобы убедиться, что файл действительно находится там и доступен для чтения.

Исходный размер 1674x252

Код

Я нахожу загруженный CSV в /content, читаю его в DataFrame и вывожу первые строки, чтобы убедиться, что данные открылись корректно и колонки распознаны.

Исходный размер 1182x486

Код

Чтобы визуализации выглядели как единая серия инфографики, я задаю палитру и глобальные настройки Matplotlib: фон, сетку, цвета текста, размеры подписей и заголовков.

Исходный размер 978x1476

Код

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

Исходный размер 1227x246

Код

В датасетах часто встречается технический столбец Unnamed: 0 (индекс из предыдущего сохранения). Я удаляю его.

Также привожу ключевые числовые колонки к числам (Price, Discount, Rating, Count_of_Rating), чтобы корректно считать новые признаки и строить визуализации.

Исходный размер 1626x522

Код

Чтобы анализ был более содержательным, я создаю новые показатели:

• discount_rate — скидка в долях (0…1) • final_price — цена после скидки • log_final_price — логарифм цены (нужен, чтобы точечный график был читаемым при большом разбросе цен)

Исходный размер 1962x258

Код

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

Исходный размер 1614x90

Код

Графики

Для начала я построила гистрограмму.

Исходный размер 1368x534

Код

Исходный размер 845x476

Гистограмма цен после скидки

Этот график показывает в каком ценовом диапазоне чаще всего встречаются кроссовки в выборке, если учитывать скидки (по final_price). Вертикальная линия — медиана, то есть типичная цена в данных.

Вывод на основе этого графика: Основная масса моделей сосредоточена в нижнем ценовом диапазоне (примерно до ~2000), а дальше распределение быстро редеет. При этом есть дорогие модели (единичные значения до ~12 000), который делают выборку асимметричной.

Далее я строю столбчатую диаграмму.

Исходный размер 1410x711

Код

Исходный размер 904x576

Столбчатая диаграмма: медианная скидка

Я сравниваю медианную скидку по брендам среди топ-8 (по количеству моделей в датасете). Медиана удобна тем, что меньше реагирует на единичные экстремальные скидки.

Вывод на основе этого графика: У большинства брендов медианные скидки довольно высокие — примерно в диапазоне 40–60%. Разброс между лидерами и брендами с минимальной медианной скидкой заметен, что может отражать различия в стратегии распродаж или составе моделей в выборке.

Затем приступаю к посторению точечной диаграммы.

Исходный размер 1572x345

Код

Исходный размер 850x553

Точечная диаграмма: рейтинг vs цена

Эта диаграмма показывает, есть ли связь между ценой после скидки и рейтингом. По оси X — логарифм цены (log10(final_price)), чтобы модели разных ценовых сегментов читались в одном масштабе.

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

Перехожу к тепловой карте.

Исходный размер 1875x2247

Код

Исходный размер 593x470

Тепловая карта корреляций Spearman

Тепловая карта показывает корреляции Spearman между числовыми параметрами: final_price, Discount, Rating, Count_of_Rating. Spearman оценивает ранговую связь и хорошо подходит, когда зависимость может быть не строго линейной.

Вывод на основе тепловой карты: Самая сильная связь в данных — отрицательная корреляция цены и скидки (примерно -0.77): чем выше скидка, тем ниже итоговая цена после скидки (что логично). Связи цены с рейтингом слабые (~0.14), а количество оценок почти не связано с рейтингом (около 0), то есть популярность и оценка в этой выборке не взаимосвязаны.

В проекте использованы:

• Описательная статистика (describe) — средние, медианы, квартили, минимумы и максимумы. • Медиана как устойчивая метрика (для сравнения скидок и цен). • Группировка по брендам (groupby) — сравнение брендов по скидкам. • Корреляция Spearman — устойчива к выбросам и нелинейным зависимостям. • Логарифмирование цены (log10) — делает scatter-график (точечный) читаемым при большом разбросе цен.

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

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

Применение генеративных моделей

В проекте использовались генеративные модели:

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

ChatGPT (модель GPT-5.2 Thinking) — для помощи с исправлением кода в Google Colab, конкретно с кодом для составления общего стиля графиков и с кодом для того чтобы загрузить датасет в Colab.

Рынок кроссовок: цена, скидки и рейтинг
Проект создан 16.01.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше