Python项目:分析优衣库产品销售数据

一、数据分析目的

优衣库(英文名称:UNIQLO,日文假名发音:ユニクロ),为日本迅销公司的核心品牌,建立于1984年,当年是一家销售西服的小服装店,现已成为国际知名服装品牌。优衣库现任董事长兼总经理柳井正在日本首次引进了大卖场式的服装销售方式,通过独特的商品策划、开发和销售体系来实现店铺运作的低成本化,由此引发了优衣库的热卖潮。
优衣库(Uniqlo)的内在涵义是指通过摒弃了不必要装潢装饰的仓储型店铺,采用超市型的自助购物方式,以合理可信的价格提供顾客希望的商品价廉物美的休闲装“UNIQLO”是UniqueClothing Warehouse的缩写,意为消费者提供“低价良品、品质保证”的经营理念,在日本经济低迷时期取得了惊人的业绩。

数据来源:数据集来自往网上公开的数据,是一份有关优衣库销售数据(链接:https://pan.baidu.com/s/1VsGtuGm2hyVBmuIQ4CMh8g 提取码:apvl ) 共有22294条记录,13个字段

本文,将根据优衣库的销售数据,利用Python进行可视化,了解优衣库门店的销售情况,并回答如下问题:

1.整体销售情况随着时间的变化是怎样的?

2.不同产品的销售情况是怎样的?

3.顾客偏爱哪一种购买方式?

4.销售额和产品成本之间的关系怎么样?

二、数据分析基本过程

1、理解数据

在这里插入图片描述

2、数据获取与数据概况查看


# 导入相关包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

#数据读取
uniqlo = pd.read_csv(r'C:\Users\25466\Desktop\uniqlo.csv')

#查看数值信息
uniqlo .describe()

在这里插入图片描述

# 数据预览
uniqlo.sample(5)

# 数据结构查看
uniqlo.info()

在这里插入图片描述在这里插入图片描述

3. 数据分析

问题一:整体销售情况随着时间的变化是怎么样的?

对销售按照时间维度来分析

数据:
时间维度:购买发生的时间(周末or周中)wkd_ind
销售数据:顾客人数customer、销售金额revenue、订单数量order、销售数量quant,
通常情况下分析的是销售额

方法:生成柱状图进行可视化

关键操作&核心代码:
柱状图:sns.barplot(),谁是x,谁是y,bar是什么含义?

# 销售额随时间的变化
plt.figure(figsize=(6,5))
sns.barplot(x='wkd_ind',y='revenue',data=uniqlo)

在这里插入图片描述

# uniqlo.groupby('wkd_ind')['revenue'].describe()
uniqlo.groupby('wkd_ind').revenue.describe()

在这里插入图片描述
业务解读: 工作日的销售额均值高于周末的销售额度均值。

问题二:不同产品的销售情况是怎样的?顾客偏爱哪一种购买方式?

对销售情况按照产品维度、顾客维度来分析

数据:
顾客维度:不同城市city,性别gender_group、年龄段age_group、渠道购买方式channel(线上or线下)
产品维度:产品类别product,产品成本unit_cost
销售数据:销售金额revenue

方法:生成柱状图进行可视化

关键操作&核心代码:
柱状图:sns.barplot()

注意点:
1.如何排序:order = uniqlo.groupby(‘product’).revenue.mean().sort_values(ascending = False).index
2.顾客偏爱哪一购买方式,比较的是购买方式,作为hue分类别;而不同的顾客有不同的购买方式,作为x,分组展示;偏爱可以用销售额还体现

uniqlo.groupby(['product']).revenue.describe()

在这里插入图片描述

plt.figure(figsize=(6,5))
from pylab import mpl  
mpl.rcParams['font.sans-serif'] = ['SimHei'] 
sns.barplot(x='product',y='revenue',data=uniqlo)

在这里插入图片描述

# 按照revenue给分类排序

uniqlo.groupby(['product']).revenue.mean().sort_values(ascending = False).index

#order=app['prime_genre'].value_counts().index)

在这里插入图片描述


plt.figure(figsize=(6,5))
sns.barplot(x='product',y='revenue',data =uniqlo,
           order = uniqlo.groupby(['product']).revenue.mean().sort_values(ascending = False).index)
           

在这里插入图片描述
业务解读: 毛衣、配件的平均销售额最高,短裤和袜子的平均销售最低。

# 不同城市的顾客,线上、线下方式的对比

plt.figure(figsize=(8,6))
sns.barplot(x='city',y= 'revenue',hue ='channel',data = uniqlo,
           estimator = sum,
           order =uniqlo.groupby('city').revenue.sum().sort_values(ascending=False).index)
           

在这里插入图片描述
业务解读: 没有深圳、杭州、成都、南京、北京的线上数据,需要确认数据来源是否可靠,找出缺失的原因及对策。

从销售额总额角度看,除广州外,武汉、上海、重庆、西安的顾客更偏好线下购物。
同样,也可以看销售总量,以及平均情况,在此不做赘述。

# 1.不同性别的顾客,线上、线下方式的对比
plt.figure(figsize=(8,6))
sns.barplot(x='gender_group',y= 'revenue',hue ='channel',data = uniqlo,
           estimator =sum,
           order =uniqlo.groupby('gender_group').revenue.sum().sort_values(ascending=False).index
           )           
#报错:SyntaxError: unexpected EOF while parsing,括号没打

在这里插入图片描述

# 2.不同年龄段的顾客,线上、线下方式的对比
plt.figure(figsize=(8,6))
sns.barplot(x='age_group',y= 'revenue',hue ='channel',data = uniqlo,
           estimator =sum,
           order =uniqlo.groupby('age_group').revenue.sum().sort_values(ascending=False).index
           )      

在这里插入图片描述
业务解读:购买行为更多发生在20-40岁的顾客之间。与线上相比,各个年龄段组的顾客更喜欢在线下购买。

问题三:销售额和产品成本之间的关系是什么样的?

数据:
总销售额为revenue,销售数量quant,单价成本unit_cost,
单价销售额 = revenue/quant,
比较单件销售额和单价成本

思路一:
单件产品销售额 - 成本 为利润margin,margin是如何分布的?是否存在亏本销售的产品

关键操作:以产品类型x,margin为y,生成箱型图进行可视化可以看到分布情况

思路二:
探究实际销售额和产品成本之间的关系,即为求它们之间的相关,
若成正相关,则产品成本越高,销售额越高,或许为高端产品;若为负相关,销售额越高,
为薄利多销的模式。

关键操作:
计算单件销售额和单件产品成本之间的相关性,corr(),sns.heatmap()热力图可视化


# 新增'利润'字段
uniqlo['margin']= uniqlo.unit_price - uniqlo.unit_cost
uniqlo.head()

# 注意:新增一列的写法,不能写成uniqlo.margin

在这里插入图片描述


plt.figure(figsize=(8,6))
sns.barplot(x='product',y= 'margin',data = uniqlo,
           order =uniqlo.groupby('product').margin.mean().sort_values(ascending=False).index
           )      

在这里插入图片描述


# 不同产品的利润分布
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False # 纵轴无法显示负号问题


plt.figure(figsize=(8,10))
sns.boxplot(x='product',y='margin',data=uniqlo,
           order =uniqlo.groupby('product').margin.mean().sort_values(ascending=False).index
           )
           

在这里插入图片描述
**业务解读:**毛衣、裙子和配件的平均利润高;

毛衣在箱型图的异常集中在尾部,说明优衣库经常进行毛衣促销活动。


# 计算单价销售额和单件产品成本之间的相关性
q = ['margin','unit_price','unit_cost'] #列选择
uniqlo[q].corr()

在这里插入图片描述

# 热力图
plt.figure(figsize=(8,6))
sns.heatmap(uniqlo[q].corr())

在这里插入图片描述

  • 14
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优衣库销售数据分析可视化项目可能面临以下一些限制: 1. 数据质量:项目分析和可视化结果受到数据质量的限制。如果数据集中存在缺失值、错误数据或不准确的数据,可能会影响到分析的准确性和可靠性。因此,在进行分析前,需要对数据进行清洗和验证,以确保数据的可信度。 2. 数据局限性:项目所使用的数据集可能只涵盖了特定时间段或特定店铺的销售数据,这可能导致分析结果的泛化能力受限。为了更全面地了解销售情况,可能需要更大范围和更全面的数据集。 3. 数据隐私保护:在进行销售数据分析时,需要谨慎处理客户敏感信息,如个人身份信息和支付信息。必须遵守相关的数据隐私保护法规和政策,并确保数据的安全性。 4. 分析工具和方法选择:项目所使用的分析工具和方法可能对结果产生影响。不同的工具和方法可能会得出不同的结论或洞察。因此,在选择工具和方法时,需要综合考虑项目目标、数据类型和分析需求,以确保分析结果的准确性和有效性。 5. 业务理解和解读:分析和可视化结果提供了数据洞察,但对结果的解读需要结合业务背景和专业知识。理解数据背后的业务含义,并将结果转化为实际决策和行动,是项目的关键挑战之一。 综上所述,优衣库销售数据分析可视化项目可能受到数据质量、数据局限性、数据隐私保护、分析工具和方法选择以及业务理解等方面的限制。需要在项目中认识到这些限制,并在分析和解释结果时谨慎处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值