Original size 832x1248

Анализ ателье

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

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

Меня мотивирует желание превратить данные из сухих отчетов в четкую стратегию. Я верю, что за каждым столбцом в таблице экспорта скрывается история: какие виды одежды оказываются самыми прибыльными и самыми популярными, как развивается экспорт товаров в творческой сфере, связанной с повседневной модой. Мне интересен процесс производства и какие параметры могут повлиять на выручку и другие критерии. Гипотеза: Анализ данных экспорта ателье позволит выявить ключевые драйверы прибыльности и популярности, что даст основу для формирования и понимания работы современного рынка.

Для визуализации данных я подобрала цветовую палитру с помощью Adobe Color и шрифт GreatVibes-Regular, утонченный, наклонный, рукописный, свойственный текстильным мастерам.

big
Original size 2125x206
big
Original size 1376x768

Работа началась с загрузки в Google Colab CSV-файла с данными и необходимого шрифта. После этого были импортированы библиотеки: Pandas для обработки данных, а также matplotlib.pyplot и seaborn для графиков matplotlib.font_manager для подключения шрифта.

Изучающие

Линейный график

В этом коде я выполнила анализ количества заказов по датам. Первым шагом я преобразовала столбец 'Date' в формат даты и времени (datetime), чтобы обеспечить правильную обработку данных. Для этого использовала функцию pd.to_datetime () с указанием формата даты 'день-месяц-год'. Затем сгруппировала данные по дате (игнорируя время), подсчитав количество заказов за каждую дату — с помощью метода groupby (), примененного к столбцу 'Date' с использованием .dt.date для получения только даты, и .size (), чтобы посчитать число заказов за каждую дату. Далее создала график, выбрав размер фигуры 10 на 6 дюймов и построили линию, отображающую динамику количества заказов во времени. Задала заголовок графика — «Количество заказов по датам», а также подписи для осей: «Дата» и «Количество заказов». В конце вызвала plt.show (), чтобы вывести финальный график с трендом

df['Date'] = pd.to_datetime (df['Date'], format='%d-%m-%Y')

orders_over_time = df.groupby (df['Date'].dt.date).size ()

plt.figure (figsize=(10,6)) orders_over_time.plot () plt.title ('Количество заказов по датам') plt.xlabel ('Дата') plt.ylabel ('Количество заказов') plt.show ()

Original size 848x545

Круговая диаграмма

Сначала я сгруппировала данные по типам изделий. Чтобы узнать, сколько заказов приходится на каждый тип, я использовала метод value_counts () для столбца 'GarmentType'. Затем я построила круговую диаграмму с помощью plot.pie (). В ней я указала названия типов в качестве меток, отобразила процентные доли каждого сегмента прямо на нём, а для наглядности повернула диаграмму так, чтобы она начиналась сверху (под углом 90 градусов). Чтобы сегменты выглядели чётко и аккуратно, я подобрала цветовую палитру и добавила к ним чёрные границы. После этого я добавила заголовок, который поясняет, что диаграмма показывает распределение заказов. Для более чистого вида я убрала стандартную подпись оси Y. В конце я вывела готовую диаграмму на экран командой plt.show ().

category_counts = df['GarmentType'].value_counts ()

plt.figure (figsize=(10,10)) category_counts.plot.pie ( labels=category_counts.index, autopct='%1.1f%%', startangle=90, cmap='tab20', wedgeprops={'edgecolor': 'black'} )

plt.title ('Распределение заказов по типам изделий') plt.ylabel ('') plt.show ()

Original size 790x811

Я подсчитала количество заказов для каждого типа изделия, сгруппировав данные по колонке 'GarmentType' с помощью метода value_counts (). Затем создала круговую диаграмму с помощью метода plot.pie ().

Столбчатый график

Сначала я посчитала количество заказов для каждого статуса с помощью метода value_counts () в столбце 'Status' нашего датафрейма df. Это дало мне полную картину того, сколько заказов сейчас в каком состоянии. Затем я создала новую фигуру для графика размером 8 на 6 дюймов и построила на ней столбчатую диаграмму. Чтобы каждый статус был хорошо различим, я раскрасила столбцы в разные цвета: голубой, светло-красный, светло-зелёный, оранжевый и фиолетовый. Я добавила заголовок, поясняющий, что мы видим распределение заказов по статусам, и подписала оси: «Статус заказа» по горизонтали и «Количество заказов» по вертикали. Для удобства чтения я повернула подписи статусов под углом 45 градусов. Чтобы визуально было проще оценивать высоту столбцов, я добавила на фон лёгкую пунктирную сетку по вертикальной оси. В конце, чтобы все элементы графика аккуратно разместились, я использовала tight_layout () и вывела готовый график на экран командой plt.show ().

import matplotlib.pyplot as plt

status_counts = df['Status'].value_counts ()

plt.figure (figsize=(8, 6)) status_counts.plot (kind='bar', color=['skyblue', 'lightcoral', 'lightgreen', 'orange', 'purple']) plt.title ('Распределение статусов заказов') plt.xlabel ('Статус заказа') plt.ylabel ('Количество заказов') plt.xticks (rotation=45, ha='right') plt.grid (axis='y', linestyle='--', alpha=0.7) plt.tight_layout () plt.show ()

Original size 790x590

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

Обучающий

График рассеивания

В этом коде я создала график для анализа взаимосвязи между длиной рукава (Arm Length) и ценой (Cost). Сначала я подготовила фигуру размером 8 на 6 дюймов. Затем построила диаграмму рассеяния (scatter plot), где по оси X отложила длину рукава, а по оси Y — цену. Я изменила прозрачность точек на 70% и добавила белые границы для лучшей видимости. После этого я добавила заголовок, который объясняет, что график показывает связь между длиной рукава и ценой, а также подписала оси. Затем я рассчитала линию тренда — линейную регрессию — с помощью функции np.polyfit, которая подбирает наилучшую прямую для данных. Я построила эту тенденционную линию на графике красным пунктиром и добавила легенду для её обозначения. Также я включила сетку по всему графику для удобства чтения и, наконец, отобразила построенный график командой plt.show ().

import matplotlib.pyplot as plt

plt.figure (figsize=(8, 6)) plt.scatter (df['Arm Length'], df['Cost'], alpha=0.7, edgecolors='w')

plt.title ('Взаимосвязь длины рукава и цены') plt.xlabel ('Длина рукава (Arm Length)') plt.ylabel ('Цена (Cost)')

import numpy as np z = np.polyfit (df['Arm Length'], df['Cost'], 1) p = np.poly1d (z) plt.plot (df['Arm Length'], p (df['Arm Length']), «r--», label='Трендовая линия') plt.legend ()

plt.grid (True) plt.show ()

Original size 691x547

Этот график помогает наглядно показать, существует ли какая-либо корреляция между длиной рукава и стоимостью заказа. Красная пунктирная линия представляет собой линию тренда, которая дает общее представление о том, как «стоимость» может меняться в зависимости от «длины руки».

Корреляция

В этом коде я выполняла анализ связки между типами изделий (GarmentType), ценами (Cost) и количеством покупок.

Сначала с помощью метода groupby () я сгруппировала данные по двум колонкам — 'GarmentType' и 'Cost' — и посчитала размер каждой группы (.size ()), получив количество покупок для каждой уникальной комбинации типа изделия и цены. Для удобства результаты я сохранила в датафрейм grouped, добавив колонку 'Count' с числом покупок.

После этого я подготовила данные для визуализации: выделила уникальные типы изделий (product_types), цены (prices), а также количество покупок (counts).

На графике я создала диаграмму рассеяния (scatter plot) так, чтобы по оси X откладывалась цена, по оси Y — виды изделий. Размер точек (s) пропорционален количеству покупок, умноженному на коэффициент для лучшей видимости. Цвет точек (c) — также зависит от количества покупок, и я применила цветовую карту 'viridis'.

Я добавила цветовую шкалу (colorbar), которая показывает соответствие между цветом и количеством покупок. Подписала оси — «Цена» по оси X и «Вид изделия» по оси Y. Назвала график так, чтобы было понятно, что он показывает анализ связки между ценой, видом изделия и количеством покупок.

Также я включила сетку для удобства восприятия и отобразила итоговый график командой plt.show ().

import matplotlib.pyplot as plt import numpy as np

grouped = df.groupby (['GarmentType', 'Cost']).size ().reset_index (name='Count')

product_types = grouped['GarmentType'].unique () prices = grouped['Cost'] counts = grouped['Count']

plt.figure (figsize=(12,8)) scatter = plt.scatter ( grouped['Cost'], grouped['GarmentType'], s=grouped['Count']*20, c=grouped['Count'], cmap='viridis', alpha=0.75, edgecolors='w' )

plt.colorbar (scatter, label='Количество покупок') plt.xlabel ('Цена') plt.ylabel ('Вид изделия') plt.title ('Анализ количества покупок в связке с ценой и видом изделия') plt.grid (True) plt.show ()

Original size 959x702

Этот график визуализирует взаимосвязь между тремя ключевыми переменными: стоимостью товара, его типом и количеством покупок. Ось X (cost): Эта ось представляет цену товара. Это непрерывная числовая шкала, позволяющая увидеть диапазон цен. Ось Y (Garment type): Эта ось перечисляет различные типы одежды (например, платье, пиджак, рубашка, костюм, брюки). Это категориальная ось, то есть каждая строка соответствует отдельному типу одежды. Отдельные точки: Каждая точка (или кружок) на графике представляет собой уникальную комбинацию типа одежды и стоимости, для которой была совершена хотя бы одна покупка. Более крупные точки указывают на большее количество покупок. Цвет точек: Параметр c управляет цветом каждой точки и также связан с количеством покупок (Count). Цветовая карта означает, что разные оттенки цвета (от желто-зеленого до фиолетово-синего) представляют разное количество покупок. Цветовая шкала справа помогает вам понять, какие цвета соответствуют какому количеству покупок. Вы можете получить следующую информацию: Популярные ценовые диапазоны: Можно определить какие ценовые диапазоны наиболее популярны для определенных типов одежды, по скоплениям больших, ярко окрашенных точек. Спрос на определенный тип одежды: Для данного типа одежды можно увидеть, продаются ли определенные ценовые диапазоны лучше, чем другие. Ценовая эластичность (качественная): по ней можно сделать вывод о том, значительно ли снижается или увеличивается спрос на определенный тип одежды при изменении цены.

Original size 1376x768

Распределение заказов по типам изделий свидетельствует о том, какие виды продукции пользуются наибольшим спросом. Такие данные полезны для планирования производства и маркетинговых стратегий. Взаимосвязь между длиной рукава и ценой позволяет выявить тенденции и возможные корреляции: например, возможно, что более длинные рукава или определенные модели стоят дороже, что важно учитывать при ценообразовании. Анализ количества покупок в связке с ценой и видом изделия дает представление о том, какие ценовые диапазоны и виды изделий более популярны. Это помогает адаптировать ассортимент и ценообразование под предпочтения клиентов. Динамика заказов во времени показывает, в какие периоды наблюдается пик активности или спад. Эти данные полезны для оптимизации ресурсов и планирования маркетинговых мероприятий. В целом, проведенный анализ позволяет глубже понять поведение клиентов, оценки заказов и сезонные тенденции, что способствует более обоснованному принятию бизнес-решений и улучшению процессов.

Для консультации и выявления ошибок я использовала внутреннюю нейросеть Genmi (Google collab): https://colab.research.google.com Для помощи в написании кодов Chat GPT: https://trychatgpt.ru/chat/694a864a0591826b5f33e3d7 Для генерации изображений использовалась нейросеть krea.ai: https://www.krea.ai/app

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