数据分析案例-基于服饰行业中消费者行为和购物习惯的可视化分析

本文主要是介绍数据分析案例-基于服饰行业中消费者行为和购物习惯的可视化分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 3f6a7ab0347a4af1a75e6ebadee63fc1.gif

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

5.数据可视化

6.总结

文末推荐与福利


1.项目背景

        随着电子商务的快速发展,消费者的购物行为和购物习惯已经发生了显著的变化,特别是在服饰行业。传统的实体店购物方式已逐渐演变成在线购物的方式,这为消费者提供了更多的选择和便利。同时,社交媒体和在线评论等因素也开始在购物过程中扮演越来越重要的角色。这一变革背后涵盖了众多的因素和关键驱动力,包括但不限于:

  1. 社交媒体影响: 消费者通过社交媒体平台分享他们的购物经验、产品评价和时尚趋势。这些分享可以对其他消费者的购物决策产生重大影响,因此成为了一个重要的市场推动因素。

  2. 在线评论的重要性: 消费者越来越依赖在线评论来了解产品质量、时尚趋势和品牌声誉。这些评论可以在一定程度上决定他们是否购买某个服饰产品。

  3. 移动应用的普及: 移动应用的广泛使用使得消费者能够轻松地浏览商品、比较价格、查找折扣和下订单。这为购物提供了极大的便利。

  4. 个性化推荐: 基于消费者的历史购物记录和喜好,电子商务平台可以提供个性化的商品推荐,以提高销售和用户满意度。

  5. 快速时尚和可持续时尚: 消费者对时尚的需求不断演变,他们更加关注可持续性和环保因素,这对服饰行业的供应链和产品设计提出了新的挑战。

        综上所述,服饰行业中的消费者行为和购物习惯已经经历了巨大的变革。为了更好地理解这些变化,需要进行可视化分析,以深入研究消费者在购物决策中的行为和趋势。这种分析可以帮助品牌和零售商更好地满足消费者需求,提高他们的市场竞争力。因此,本实验旨在借助可视化分析工具,深入探讨服饰行业中的消费者行为和购物习惯,以便制定更精准的市场策略和决策。

2.数据集介绍

        本次实验数据集来源于kaggle,原始数据集共有3900条,18个变量,各变量含义解释如下:

Customer ID:分配给每个客户的唯一标识符,有助于跟踪和分析他们随时间的购物行为。

Age:客户的年龄,为细分和有针对性的营销策略提供人口统计信息。

Gender:客户的性别认同,是影响产品偏好和购买模式的关键人口变量。

Item Purchased:客户在交易过程中选择的特定产品或商品。

Category:所购买商品所属的大致分类或组(例如服装、电子产品、杂货)。

Purchase Amount (USD):交易的货币价值,以美元 (USD) 表示,表示所购买商品的成本。

Location:购买的地理位置,提供对区域偏好和市场趋势的洞察。

Size:所购商品的尺码规格(如果适用),与服装、鞋类和某些消费品相关。

Color:与购买的商品相关的颜色变体或选择,影响客户偏好和产品可用性。

Season:购买商品的季节相关性(例如春季、夏季、秋季、冬季),影响库存管理和营销策略。

Review Rating:客户对所购商品的满意度提供的数字或定性评估。

Subscription Status:指示客户是否选择了订阅服务,从而深入了解他们的忠诚度水平和经常性收入的潜力。

Shipping Type:指定用于交付所购商品的方法(例如,标准运输、快递),影响交付时间和成本。

Discount Applied:表示购买时是否应用了任何促销折扣,揭示了价格敏感性和促销效果。

Promo Code Used:记录交易过程中是否使用了促销代码或优惠券,有助于评估营销活动的成功。

Previous Purchases:提供有关客户先前购买的数量或频率的信息,有助于客户细分和保留策略。

Payment Method:指定客户采用的付款方式(例如信用卡、现金),提供对首选付款选项的深入了解。

Frequency of Purchases:表示客户参与购买活动的频率,是评估客户忠诚度和终身价值的关键指标。

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

import numpy as np 
import pandas as pd 
import seaborn as sns
import plotly.express as px
import matplotlib.pyplot as plt
from matplotlib import style
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')df = pd.read_csv('shopping_behavior_updated.csv')
df.head(5)

6381cebda98b470490e1142f9ed8c248.png

df.shape

f982628636124510a3d7ed43c0dd3168.png

df.info()

03bf4a30faaf44a08a45a27671f5c85d.png

location_counts = df["Location"].value_counts()
print("Location Counts:\n", location_counts)

c64746ef5b1343d19fee108a7f1f5894.png

df.describe()

2a3e94567d26470bb8e045647901769c.png

df.describe(include='O')

ada9cc72220841bc874dbd4f4c580d75.png

location_groups = df.groupby("Location")# 分析区域趋势
for location, location_data in location_groups:print(f"Regional Trends for {location}:")# 计算该地区的平均购买量avg_purchase_amount = location_data["Purchase Amount (USD)"].mean()print(f"Average Purchase Amount: ${avg_purchase_amount:.2f}")# 统计一下该地区最受欢迎的产品类别popular_categories = location_data["Category"].value_counts().idxmax()print(f"Most Popular Category: {popular_categories}")# 分析网上购物偏好online_shopping = location_data["Shipping Type"].apply(lambda x: "Online" if "Express" in x or "Standard" in x else "Offline")online_percentage = (online_shopping.value_counts() / len(online_shopping)) * 100print(f"Online Shopping Preference:")print(online_percentage)print("\n")

f199b3c5b5374e2b99a6567d03745a26.png

在阿拉斯加,购物者对服装表现出强烈的偏好,平均支出为67美元,在服装类别中是最高的。这表明了对质量和风格的独特偏好,反映了阿拉斯加独特的消费者行为和市场趋势。

5.数据可视化

seasons = df['Season'].unique()
average_purchase_by_season = df.groupby('Season')['Purchase Amount (USD)'].mean()plt.figure(figsize=(6, 4))
plt.bar(seasons, average_purchase_by_season, color=['skyblue', 'lightcoral', 'lightgreen', 'lightpink'])
plt.title("Impact of Season on Purchase")
plt.xlabel("Season")
plt.ylabel("Average Purchase (USD)")
plt.show()

dfd8a5edccd348caa237222b6acdd7cb.png

从视觉上我们可以看出,消费者在冬季和秋季的购买量比春季和夏季的购买量要多。

plt.figure(figsize=(6, 4))
sns.barplot(x='Category', y='Purchase Amount (USD)', data=df, ci=None, palette='viridis')
plt.title("Impact of Category on Purchase")
plt.xticks(rotation=45)
plt.show()

7c687eebe98845f898acd88c5e5ed510.png

图表显示,外套类别比其他类别略低。

gender_purchase = df.groupby('Gender')['Purchase Amount (USD)'].sum()
fig, ax = plt.subplots(figsize=(8, 4))
ax.pie(gender_purchase, labels=gender_purchase.index, autopct='%1.1f%%', startangle=140, colors=['skyblue', 'yellow'], wedgeprops=dict(width=0.4))
ax.set_title("Impact of Gender on Purchase")
plt.axis('equal')  
center_circle = plt.Circle((0,0),0.70,fc='white')
fig.gca().add_artist(center_circle)
plt.show()

89e2ee1b7c894b03b5385904229de8f3.png

男性更愿意花钱(67%),而女性更不愿意花钱(32%)。

plt.figure(figsize=(6, 4))
sns.swarmplot(x='Size', y='Purchase Amount (USD)', data=df, palette='Set2')
plt.title("Impact of Size on Purchase")
plt.xlabel('Size')
plt.ylabel('Purchase Amount (USD)')
plt.xticks(rotation=45)
plt.show()

8bb2e8a1f0c04c048528becb1db5cced.png

如图所示,小号的购买量低于大号、小号和中号的购买量。

promo_counts = df['Promo Code Used'].value_counts()
plt.figure(figsize=(6, 4))
plt.pie(promo_counts, labels=promo_counts.index, autopct='%1.1f%%', startangle=140, colors=['lightgreen', 'lightcoral'])
plt.title("Impact of Promo Code Used on Purchase")
plt.axis('equal') 
plt.show()

7110ce23ecd041908c2fda956ffa2f25.png

正如我们所看到的,在购买时使用Promocode没有这样的影响。

让我们来分析一下顾客的位置(年龄和性别)和他们的购买行为之间的关系。

location_counts.plot(kind="bar", figsize=(12, 4))
plt.title("Customer Distribution by Location")
plt.xlabel("Location")
plt.ylabel("Number of Customers")
plt.show()

99aa2d00227a45998221f8c85515f9b4.png

蒙大拿州以其惊人的客户数量脱颖而出,在这方面超过了所有其他州。该州蓬勃发展的商业环境和充满活力的消费市场为其令人印象深刻的客户群做出了贡献。

category_counts = df['Category'].value_counts()
colors = ['skyblue', 'lightcoral', 'lightseagreen', 'lightsalmon', 'lightpink']
plt.figure(figsize=(10, 6))
ax = plt.gca()
bars = plt.bar(category_counts.index, category_counts.values, color=colors)
plt.xlabel('Product Categories')
plt.ylabel('Count')
plt.title('Distribution of Product Categories')
plt.xticks(rotation=90)
plt.tight_layout()
legend_labels = category_counts.index[:len(colors)]  
legend = plt.legend(bars[:len(colors)], legend_labels, title='Categories', loc='upper right')
plt.setp(legend.get_title(), fontsize=12)
plt.show()

4b30878c0d1c4ce99f6f76c2a7c4e1da.png

正如我们所看到的,服装类是最受消费者欢迎的。让我们来看看在排名前五的状态中,谁在这一类别中花费最多。

top_locations = df['Location'].value_counts().head(5).index
colors = ['#98FB98', '#FFE5CC', '#FFCCFF', '#CCE5FF', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']
fig, axes = plt.subplots(5, 1, figsize=(10, 15))
for i, location in enumerate(top_locations):location_data = df[df['Location'] == location]category_counts = location_data['Category'].value_counts().head(10)ax = axes[i]category_counts.plot(kind='bar', ax=ax, color=colors)ax.set_title(f"Categories in {location}")ax.set_xlabel("Category")ax.set_ylabel("Count")ax.set_xticklabels(category_counts.index, rotation=45)ax.grid(axis='y', linestyle='--', alpha=0.7)plt.tight_layout()
plt.show()

cf443f25d7fc4bd4bfebe99ad764f172.png

正如我们所看到的,蒙大拿州、加利福尼亚州、爱达荷州、伊利诺伊州和阿拉巴马州是服装支出最高的五个州。

age_groups = [15, 25, 35, 45, 55, 65]
fig, ax = plt.subplots(figsize=(14, 6))
colors = plt.cm.viridis(np.linspace(0, 1, len(age_groups)))
category_counts_by_age = {age: [] for age in age_groups}
for age in age_groups:age_group_data = df[(df['Age'] >= age) & (df['Age'] < age + 10)]category_counts = age_group_data['Category'].value_counts()category_counts_by_age[age] = category_countswidth = 0.15
x = np.arange(len(category_counts_by_age[age_groups[0]].index))
for i, age in enumerate(age_groups):category_counts = category_counts_by_age[age]ax.bar(x + i * width, category_counts, width=width, label=f'{age}-{age+10}', color=colors[i])ax.set_xlabel('Product Categories')
ax.set_ylabel('Count')
ax.set_title('Category Distribution by Age Groups')
ax.set_xticks(x + width * (len(age_groups) - 1) / 2)
ax.set_xticklabels(category_counts_by_age[age_groups[0]].index, rotation=45)
ax.legend(title='Age Group')
plt.tight_layout()
plt.show()

b8b3e9926aee4a2bac84cd1be07c7cee.png

正如我们所看到的,服装是所有年龄组中最受欢迎的类别。除了15-25岁和65-75岁年龄段外,所有年龄段的配饰都同样出名。然而,我们已经看到,在鞋类类别中,45-55岁年龄组的人最出名。外套在所有年龄组中几乎同样出名。

6.总结

通过前面的数据可视化,我们可以得出以下结论:

  • 与春夏相比,消费者往往在冬季和秋季购买更多的东西。
  • 与其他品类相比,外衣品类的购买量略低,这表明有可能改进的领域。
  • 男性占总消费的67%,而女性占32%。
  • 与大号、小号和中号等其他尺码相比,超大号的购买量更低。
  • 促销码的使用似乎对购买行为没有显著影响。
  • 蒙大拿州的顾客数量惊人,表明消费市场蓬勃发展。
  • 服装是所有消费者中最受欢迎的产品类别。
  • 除了15-25岁和65-75岁的人群外,配饰在各个年龄段都同样受欢迎。
  • 鞋类在45-55岁年龄组中特别受欢迎。
  • 外套在所有年龄组中都很受欢迎。

        对顾客行为和购买数据的分析揭示了一些有价值的见解。季节变化、产品类别、性别、尺寸和促销码的使用都会影响消费者的购买决策。数据还表明,蒙大拿州拥有强大的消费市场,服装是各个年龄段的首选产品类别。这些发现可以为营销策略、产品供应和促销提供信息,以更好地瞄准和服务不同的客户群。

文末推荐与福利

《AI时代系列》4选1免费包邮送出3本!

fd06f41f838c40ecbf3310e9252e0674.png

内容简介:   

        在AI时代,程序员面临着新的机遇和挑战。为了适应这个快速发展的时代,掌握新技能并采取相应的应对策略是至关重要的。

        对于办公人员或程序员来说,利用AI可以提高工作效率。例如,使用AI助手可以帮助自动化日常的重复性工作,如邮件筛选、日程安排等。此外,AI还可以用于数据分析和预测,帮助办公人员更好地做出决策和规划。

        AI时代系列书籍:《AI时代程序员开发之道:ChatGPT让程序员插上翅膀》《AI时代项目经理成长之道:ChatGPT让项目经理插上翅膀》《AI时代产品经理升级之道:ChatGPT让产品经理插上翅膀》《AI时代架构师修炼之道:ChatGPT让架构师插上翅膀》由北京大学出版社出版,一套专注于帮助程序员在AI时代实现晋级、提高效率的图书。

  • 抽奖方式:评论区随机抽取3位小伙伴免费送出!
  • 参与方式:关注博主、点赞、收藏、评论区评论“人生苦短,拒绝内卷!”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!
  • 活动截止时间:2023-11-8 20:00:00
  • 《AI时代程序员开发之道:ChatGPT让程序员插上翅膀》

    京东购买链接:https://item.jd.com/13816183.html

    《AI时代项目经理成长之道:ChatGPT让项目经理插上翅膀》

    京东购买链接:https://item.jd.com/14129232.html

    《AI时代产品经理升级之道:ChatGPT让产品经理插上翅膀》

    京东购买链接:https://item.jd.com/14194202.html

    《AI时代架构师修炼之道:ChatGPT让架构师插上翅膀》

    京东购买链接:https://item.jd.com/13897131.html

 名单公布时间:2023-11-8 21:00:00 

2705d91a52184d0fb83dbf74f7f11e86.png

 

这篇关于数据分析案例-基于服饰行业中消费者行为和购物习惯的可视化分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717412

相关文章

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑