
Анализ продаж и пользовательского поведения в e-commerce (на примере данных Amazon)
Загрузка и подготовка данных
На начальном этапе был загружен табличный датасет в формате CSV с использованием библиотеки Pandas. В процессе подготовки данных были выполнены преобразования дат заказов и извлечение временных признаков (год и месяц), что позволило анализировать динамику продаж во времени.
import pandas as pd df = pd.read_csv («Amazon.csv») df. head () df[«OrderDate»] = pd. to_datetime (df[«OrderDate»], errors="coerce») df[«OrderYear»] = df[«OrderDate»] .dt.year df[«OrderMonth»] = df[«OrderDate»].dt.month
Стилизация визуализации
Для визуального оформления графиков была настроена единая стилистика библиотеки Matplotlib, включая фон, шрифты и параметры отображения. Это позволило добиться визуальной консистентности и отойти от стандартного внешнего вида графиков, характерного для базовых визуализаций Python.
import matplotlib.pyplot as plt plt.rcParams[«font.family»] = «DejaVu Sans» plt.rcParams [«axes.facecolor»] = «#f6f6f6» plt.rcParams [«figure.facecolor»] = «#f6f6f6» plt.rcParams[«axes.titleweight»] = «bold»
График 1. Общий объём продаж по категориям товаров (столбчатая диаграмма)
category_sales = C df.groupby («Category»)[«TotalAnount»] .sum () .sort_values (ascending=False) ) plt. figured () category_sales.plot (kind="bar») plt.title («Обций объём продаж по категориям товаров») plt. xlabel («Категория») plt.ylabel («Сумна продаж») plt.xticks (rotation=45, ha="right*) plt. show ()
Для анализа структуры продаж был использован метод агрегации данных по категориям с последующим суммированием общей стоимости заказов. Столбчатая диаграмма позволяет наглядно сравнить вклад различных товарных категорий в общий объём продаж и выявить наиболее прибыльные сегменты.
График 2 — Динамика продаж по месяцам (line chart)
monthly_sales = df.groupby («OrderMonth») [«TotalAmount»]. sum) plt. figure) plt.plot (monthly_sales.index, monthly_sales.values) plt. title («Динамика продаж по месяцам») plt.xlabel («Месяц») plt.ylabel («Суима продаж») plt. show ()
Для изучения сезонных и временных изменений продаж данные были сгруппированы по Линейный график используется для отображения динамики показателей во времени и позволяет выявить колебания спроса и возможные пики активности покупателей.
График 3. Распределение стоимости заказов (гистограмма)
plt. figure () plt.hist (df[«TotalAmount»], bins=30) plt. title («Распределение стоимости заказов») plt. xlabel («Сумма заказа») plt. ylabel («Количество заказов») plt.show ()
Для анализа ценовой структуры заказов была построена гистограмма распределения общей стоимости покупок. Данный метод позволяет оценить характер распределения значений, выявить асимметрию и определить, какие диапазоны сумм заказов встречаются наиболее часто.
График 4. Распределение способов оплаты (круговая диаграмма)
payment_counts = df[«PaymentMethod»] .value_counts () plt. figure () payment_counts.plot (kind="pie», autopct="%1.1f88») plt. title («Распределение способов оплаты») plt.ylabel (»») plt. show ()
Для анализа пользовательских предпочтений был применён частотный анализ категориальных данных, отражающих способы оплаты. Круговая диаграмма используется для визуального сравнения долей различных платёжных методов и позволяет оценить их относительную популярность.