利用python对优衣库销售数据进行分析!

本文主要利用python对优衣库的销售数据进行可视化分析,数据来源于和鲸社区,有一个表,包含22293条数据,数据字段的含义为:

  • store_id 门店随机编号id,无实际意义
  • city 门店所在城市
  • channel 门店所产生的销售渠道,线上表示网上购买到门店自提,线下表-示门店直接购买
  • gender_group 客户性别 男女
  • age_group 客户年龄段
  • wkd_ind 购买发生的时间(周末,周中)
  • product 产品类别
  • customer 客户数量
  • revenue 销售金额
  • order 订单数量
  • quant 购买的产品数量

对以下三个业务问题进行分析:1.整体销售情况是如何随时间变化的?2.不同产品和销售情况是怎样的?顾客偏爱哪种购买方式?3.销售额和产品成本之间的关系是怎样的?

业务问题一:1.导入相应模块

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
pd.set_option('display.max_columns',None)#显示所有的列
pd.set_option('display.unicode.ambiguous_as_wide', True)#解决输出列对不齐的问题
plt.rcParams['font.sans-serif']=['SimHei']#设置中文字体
plt.rcParams['axes.unicode_minus']=False

2.导入数据

#导入数据
data=pd.read_csv('优衣库数据.csv')
print(data.head())

数据显示结果为:

3.画图可视化整体销售情况随时间变化的关系

3.1 销售额随时间变化的关系

sns.barplot(x='wkd_ind',y='revenue',data=data,palette="ocean")#调色板
plt.tick_params(labelsize=15)
plt.xlabel("wkd_ind",fontsize=15)
plt.ylabel("revenue",fontsize=15)
plt.savefig('销售额与时间的柱状图.png')
plt.show()

将工作日和非工作日的销售额汇总:

grouped=data.groupby('wkd_ind')['revenue'].sum()#将工作日和非工作日的销售额汇总
print(grouped)

可以看出工作日整体的销售额比非工作日多。

3.2销售数量随时间变化的关系

sns.barplot(x='wkd_ind',y='quant',data=data,palette="Oranges")#调色板
plt.tick_params(labelsize=15)
plt.xlabel("wkd_ind",fontsize=15)
plt.ylabel("quant",fontsize=15)
plt.savefig('销售数量与时间的柱状图.png')
plt.show()

将工作日和非工作日的销售数量进行汇总:

grouped2=data.groupby('wkd_ind')['quant'].sum()#将工作日和非工作日的销售额汇总
print(grouped2)

可以看出工作日整体的销售数量比非工作日多。

3.3顾客数量随时间变化的关系

sns.barplot(x='wkd_ind',y='customer',data=data,palette="Greens")#调色板
plt.tick_params(labelsize=15)
plt.xlabel("wkd_ind",fontsize=15)
plt.ylabel("customer",fontsize=15)
plt.savefig('顾客与时间的柱状图.png')
plt.show()

将工作日和非工作日的顾客数量进行汇总:

grouped3=data.groupby('wkd_ind')['customer'].sum()#将工作日和非工作日的销售额汇总
print(grouped3)

可以看出工作日的整体顾客数量多于非工作日。业务一问题总结: 从销售额、销售数量、顾客数量这几个维度看,优衣库在工作日的整体销售情况比非工作日好。

业务问题二:不同产品和销售情况是怎样的?顾客偏爱哪种购买方式?从产品分类、购买渠道(线上还是线下)、性别、年龄段这几个维度来分析销售量与这些特征的关系。1.不同产品的销售情况

sns.countplot(x='product',data=data,palette="twilight")
plt.tick_params(labelsize=12)
plt.xlabel('product',fontsize=15)
plt.ylabel('count',fontsize=15)
plt.savefig('不同产品的销售情况.png')
plt.show()

统计不同产品的销售情况:

print(data['product'].value_counts()) #统计不同产品的销售情况

可以看出T恤卖得最好。

2.从购买渠道分析顾客更喜欢哪种购买方式

plt.figure(figsize=(8,4))
ax=sns.countplot(y='product',hue='channel',data=data,order=data['product'].value_counts().index,palette="mako_r")
plt.tick_params(labelsize=12)
plt.xlabel('customer',fontsize=15)
plt.ylabel('product',fontsize=15)
plt.setp(ax.get_legend().get_texts(),fontsize=12)
plt.setp(ax.get_legend().get_title(),fontsize=12)
plt.savefig('顾客购物方式的统计.png')
plt.show()

可以看出无论是哪种产品,线下的购买方式比线上更受欢迎。

3.看不同渠道不同性别的顾客购买情况查看性别的统计情况,发现存在未知值,因此要去除未知值。

print(data['gender_group'].value_counts())

去除异常值再输出:

data2=data[data['gender_group'].isin(['Female','Male'])]#去除异常值
print(data2['gender_group'].value_counts())

画图

plt.figure(figsize=(10,6))
ax=sns.countplot(y='gender_group',hue='channel',data=data2,palette="twilight")
plt.tick_params(labelsize=12)
plt.xlabel('顾客数量',fontsize=15)
plt.ylabel('性别',fontsize=15)
plt.setp(ax.get_legend().get_texts(),fontsize=12)
plt.setp(ax.get_legend().get_title(),fontsize=12)
plt.savefig('不同性别购买渠道情况.png')
plt.show()

可以看出,线下顾客明显多于线上,且女性顾客多于男性顾客。

4.分析不同渠道不同年龄段顾客购买情况查看年龄段的统计情况,发现存在未知值,因此要去掉未知值。

print(data['age_group'].value_counts())

data3=data[~data['age_group'].isin(['Unkown'])] #去除异常值

画图

plt.figure(figsize=(10,6))
ax=sns.countplot(y='age_group',hue='channel',data=data3,order=data3.age_group.value_counts().index,palette="autumn_r")
plt.tick_params(labelsize=12)
plt.xlabel('顾客数量',fontsize=15)
plt.ylabel('年龄段',fontsize=15)
plt.setp(ax.get_legend().get_texts(),fontsize=12)
plt.setp(ax.get_legend().get_title(),fontsize=12)
plt.savefig('不同年龄段顾客购买渠道情况.png')
plt.show()

可以看出,线下顾客明显多于线上,且线下渠道是30-34岁年龄段顾客购买最多,线上渠道是20-24岁年龄段顾客购买最多。

5.分析不同城市顾客不同渠道的购买情况首先查看不同城市的统计情况,不存在异常值

print(data['city'].value_counts())#查看城市的统计情况,不存在异常值

画图

plt.figure(figsize=(10,6))
ax=sns.countplot(y='city',hue='channel',data=data,order=data.city.value_counts().index,palette="Accent_r")
plt.tick_params(labelsize=12)
plt.xlabel('顾客数量',fontsize=15)
plt.ylabel('城市',fontsize=15)
plt.setp(ax.get_legend().get_texts(),fontsize=12)
plt.setp(ax.get_legend().get_title(),fontsize=12)
plt.savefig('不同城市顾客购买渠道情况.png')
plt.show()

可以看出,还是线下的销售情况好于线上,并且销售情况排名前三的城市为:深圳、杭州、武汉业务二问题总结: 优衣库T恤销售情况最好,线下购买方式更受欢迎,而在深圳,30-34岁的女性购买最多。

业务问题三:销售额和产品成本之间的关系是怎样的?每单顾客的销售额为revenue,根据数量quant可以计算单件产品销售金额,单件产品的成本为unit_cost,则可以求出单件的利润为margin。

data['margin']=data['revenue']/data['quant']-data['unit_cost']

画出不同产品利润的柱状图:

sns.barplot(x='product',y='margin',data=data,palette="Greens")
plt.tick_params(labelsize=15)
plt.xlabel("product",fontsize=15)
plt.ylabel("margin",fontsize=15)
plt.savefig('产品与利润的柱状图.png')
plt.show()

可以看出毛衣、配件、裙子是高利润商品,运动商品和短裤是低利润商品。进一步分析不同商品在不同利润区间的数量情况:先将利润进行分区并输出

bins=[-100,-50,0,50,100,150,200,250]
data['margin_level']=pd.cut(data.margin,bins,right=False)
print(data.groupby(['margin_level'])['margin'].value_counts())

画图

plt.figure(figsize=(10,6))
ax=sns.countplot(x='product',hue='margin_level',data=data,palette="CMRmap")
plt.tick_params(labelsize=12)
plt.xlabel('产品',fontsize=15)
plt.ylabel('数量',fontsize=15)
plt.setp(ax.get_legend().get_texts(),fontsize=12)
plt.setp(ax.get_legend().get_title(),fontsize=12)
plt.savefig('不同产品利润分布情况.png')
plt.show()

可以看出,虽然毛衣、配件、裙子的销售利润高,但是其销售数量少,而T恤销售数量最好,大部分产品的销售利润在(0,50)之间,属于薄利多销的产品,因此可以将T恤作为优衣库的主打产品。

你学会了吗?没学会,别慌,我还有视频教程  源码  视频 获取加群:1136192749

 

  • 2
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优衣库销售数据分析可以从多个方面进行,以下是一些常见的分析方向: 1. 销售趋势分析:通过对时间序列数据分析,可以了解销售额、销售量等指标的变化趋势,包括季节性变动、年度变化等,从而帮助预测未来销售趋势。 2. 区域销售分析:将销售数据按照地理位置进行分析,可以了解不同地区的销售情况,包括销售额、销售量、客户数量等指标,在不同区域之间进行比较,找出销售热点和潜力区域。 3. 产品销售分析:对不同产品的销售数据进行分析,可以了解各个产品的销售情况,包括最畅销的产品、最不畅销的产品,产品销售额和销售量的排名等,从而帮助优化产品组合和库存管理。 4. 顾客行为分析:通过分析顾客购买行为数据,可以了解顾客的购买偏好、购买习惯等,例如不同顾客群体的购买时间、购买频率、购买渠道等,从而帮助制定精准的营销策略和个性化推荐。 5. 促销活动效果分析:对促销活动期间的销售数据进行分析,可以评估促销活动的效果,包括销售额的增长、顾客的参与度等指标,从而帮助优化促销活动策略和资源配置。 6. 客户流失分析:通过分析顾客的购买行为和历史数据,可以识别潜在的流失客户,了解流失的原因和模式,从而采取针对性的措施,留住重要客户和提高客户忠诚度。 以上只是一些常见的分析方向,具体的分析内容还可以根据实际情况进行调整和扩展。通过深入分析销售数据,可以为优衣库提供有价值的洞察和决策支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值