数据分析报告01--母婴电商销售数据分析
时间:2023-03-26 06:38:02 | 来源:电子商务
时间:2023-03-26 06:38:02 来源:电子商务
数据来源
这是来源于阿里天池的母婴产品电商销售数据。
数据说明
共有两个表。
表1为trade.csv:29971条记录,7个字段;
- user_id-用户ID
- audition_id-物品编号
- cat_id-商品种类ID(二级分类)
- cat1-商品种类ID(一级分类)
- property-商品属性
- buy_mount-购买数量
- day-购买时间
表2为baby.csv:有956条记录,3个字段,具体信息如下:
- user_id-用户ID
- birthday-生日
- gender-性别(0女性;1男性;2未知)
分析思路
数据处理
第一步,导入相关第三方包import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["font.sans-serif"]=["SimHei"] #正常显示中文标签
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
import warnings
warnings.filterwarnings('ignore') # 去除部分warning
第二步,读取数据dfpart1 = pd.read_csv("C:/Users/Lin/Desktop/muying/trade.csv",header=0)
dfpart2 = pd.read_csv("C:/Users/Lin/Desktop/muying/baby.csv",header=0)
df1 = pd.merge(dfpart1, dfpart2,on=”user_id”,how=”outer”)
#将两个表格合并读入
http://df1.info() ##查看数据基本情况
第三步,数据前处理1、数据清洗、前处理复制一个副本data=df1.copy()
查看重复值:data.duplicated().sum()
##这个案例中无需去重,因为不能排除一天内某一客户对相同的商品下了两单
##若要去重,data=data.drop_duplicates()
缺失值: data.isna().mean()
##查看各字段缺失记录占比
##发现生日和性别字段缺失值比例过大(96.8%),因此与性别、年龄有关的信息需要单独分析。
可以把包含性别及年龄信息有关的记录拿出来剪切为data1作为分析对象。转换数据类型:data['day']=pd.to_datetime(data['day'],format='%Y%m%d')
data['birthday']=pd.to_datetime(data['birthday'],format='%Y%m%d')
删除无关字段:auction_id、property 这两列信息不需要,删除;
data=data.drop(["auction_id","property"],axis=1,inplace=False)
创建表data1,用于探究用户性别及年龄等相关信息:##创建表data1data1=data[~data["birthday"].isna()]
#在data1中,将gender列中0、1、2分别替换为女性、男性、未知def gender_convert(gender):
if gender==0:
return "female"
elif gender==1:
return "male"
else:
return "unknown"
data1["gender"]=data1["gender"].apply(gender_convert)
#在data1中,新增字段购买年龄purchase_age1;data1["purchase_age1"]=(pd.to_datetime(data1['day'],format='%Y%m%d')-pd.to_datetime(data1['birthday'],format='%Y%m%d'))/pd.Timedelta("365 days")
http://data.info()##data表格是用来探索与购买时间有关的信息http://data1.info()##data1表格是用来探索与性别、年龄有关的信息异常值data.describe()
data1.describe()
查看所有加工后字段的分布,分辨异常值并剔除异常值
对于字段purchase_age1
#购买年龄28岁,即在婴儿出生28年后才下单,属于异常数据,予以剔除。
data1=data1.drop([8413],axis=0)
#相应剔除data中的数据
data=data.drop([8413],axis=0)
2、分析(1)整体看:交易人数、商品品类数、订单量、人均订单量、销量、人均销量;日均订单数、日均销量;复购率重复购买的用户仅4人,复购率很低,猜测可能原因:①产品为耐用型;②产品不受认可;③产品库存不足。需结合具体业务情况排查原因。(排除法找原因)
复购次数分析(复购次数分布):
这里因为只有四人进行复购,分析复购次数分布没有意义.
(2)用户情况A分男性女性:交易人数、订单量、人均订单量、销量、人均销量交易用户中男女比例均衡,女婴交易人数偏多,购买力强于男婴用户(女婴1.91件/人,男婴1.27件/人)
B分不同购买年龄:交易人数、销量、人均销量##将年龄划分为13组
一岁以内婴儿交易人数及销量最多,此后随着婴儿年龄增大,交易用户数和销量有递减趋势。
(3)商品情况A不同品目商品的总销量、总交易人数 从各类别商品交易人数和销量看,28、50014815、50008168最受欢迎。从人均销量,28、38、50014815表现优异。50014815虽然销量不高,但是人均销量很高,可以尝试提升其交易人数。
B不同品目商品销量分布商品28销量表现比其他品类较好。
28、50008168、50014815这三类商品均有销量达2000+的大客户订单。C各类别商品男性女性客户在交易人数、销量方面的表现:购买各品类商品的用户中,男女人数占比差不多,其中女性略多,销量有所差别还是因为女性人均购买商品数更多,与整体情况一致。
D各类别商品不同年龄段婴儿在交易人数、销量方面的表现:0~1岁阶段的婴儿对商品品类50014815需求会大幅增加,婴儿3岁后将购入更多500225520。婴儿不同阶段对商品有不同的需求,
建议结合商品定位和各年龄商品销售情况定向向相应年龄段用户推送相关商品页面。(4)时间维度分析——用户在哪些时间、时段活跃时间数据从2012年6月至2015年2月,为保证分析区间的完备性,这里只取2013年、2014年的销售数据进行分析。
A年度交易人数及销量相比2013年,2014年交易人数增长倍数:1.54,销量增长倍数:1.85。
不同种类商品用户量及销量比起2013年均有增长.
B季度交易人数及销量对比各类商品的交易人数及销量季度变化,可以看出以下几个现象:①50008168交易人数季度变化较为波折,尤其2014年第一季度和2014年第三季度交易人数都有下降,其他类别交易人数均随季度平缓上升②28销量在2014年第一季度下降明显③50008168在2014年第四季度交易人数有所增加,但销量下降显著④50014815在2014年第四季度销量陡增试着多维度拆分找到以上四点现象可能的原因.
C按月交易人数及销量各月份总交易人数及总销量变化纵观全年各月份交易人数及销量变化,交易人数及销量在每年5月、11月会到达一个峰值,猜测可能与5月母亲节、11月双11促销有关。可以在逐日变化曲线中验证。
另外2014年11月销量激增,对照季度变化曲线,现象4很可能源于50014815在11月的销量激增所致。
全年各月份不同品目商品交易人数及销量变化全年各月份不同品目商品交易人数及销量变化根据不同品目商品销量逐月变化,将季度变化的4个现象拆解原因到具体月。现象1:交易人数变化较大的月份应当是2013年6月明显下降,2014年2月明显下降,2014年6月明显下降。
猜测可能一是由于5月五一及母亲节节日促销,购买力已提前释放,1月2月正值春节是消费低谷。现象2:28在2014年第一季度销量下降明显,具体可以看到是因为2013年12月销量到达了两年以来的峰值,2014年1月销量仅是略低于平日值。这里的原因应当要看12月销量是如何增加的。
现象3,50008168在2014年第四季度交易人数有所增加,但销量下降显著。定位时间区间到2014年10月、11月,此两个月份交易人数处于高值,但销量下降。
现象4,2014年第四季度销量陡增应当来自50014815在11月销量的增加,同时印证2014年11月总销量激增也应当是50014815的原因。
根据商品销量逐日变化,将现象拆解到具体每天探究原因。现象12013-3-15至2013-7-15的50008168交易人数逐日变化2013-3-15至2013-7-15的50008168销量逐日变化根据2013-3-15至2013-7-15的逐日变化,明显可以看到2013年5月份整体交易人数比其他月份高,另外节日后一天销量均有大幅增长。
2013-3-15至2013-7-15的50008168交易人数逐日变化2013-3-15至2013-7-15的50008168销量逐日变化根据2014年3-15至7-15的逐日变化,明显可以看到5月份整体交易人数比6月高,另外节日后一天销量大幅增长。
2013年及2014年在五月下旬交易人数均处于高值,6月初交易人数均有大幅下降,
猜测6月1日儿童节是否有在5月下旬进行促销预热。具体需要沟通业务方信息再判断。现象2: 2013-11-1至2014-2-28的28销量逐日变化拆解到具体每天,根据销量逐日变化曲线,我们可以得出结论,28品类的商品在2013年12月的销量增加,主要是由于2013年12月20日当日的销量达到了2500+。
大订单客户很大程度上影响了28品类商品的销量。现象3 2013-11-1至2014-2-28的28交易人数逐日变化2013-11-1至2014-2-28的28销量逐日变化由2014-8-1至12-30的交易人数变化,可以看到双十一、双十二交易人数大幅增长,其余时候变化不大,因此第四季度交易人数有所增加。
由2014-8-1至12-30的销量变化,可以看到10月销量骤降是因为9月销量突增,
9月20日单日销量达到2500+。而双十一双十二虽然销量也有增加,但是与九月份的大订单相比太少,因此第四季度虽然交易人数增加,但是销量反而减少。
现象4,
2014-10-1至2014-12-30的50014815销量逐日变化根据逐日变化,
50014815在2014年11月13日单日销量达到10000+,导致2014年第四季度该品类销量陡增。
小结:少数客户购买销量巨大,对各品类商品总销量有明显影响。建议对此部分客户特别管理,以期达成长期合作。(5)用户分层分析----RFM模型由于用户复购率很低,因此舍弃购买频率F指标;这里没有购买金额信息,用累计购买销量来代替M进行客户分层分析。
根据RFM模型对用户分类后发现重要发展客户及重要挽留客户比例最高,重要价值用户比例最低,对于重要挽留客户,建议推送超大型活动如双十一等活动信息,重要发展客户,可以加大推送频率,如新品信息,定期文案推送等;而对于重要保持客户,可以推送折扣或促销信息或赠送优惠券等。应进行针对性的客户管理,留住重要挽留客户,将重要保持客户和重要发展客户转变为重要价值客户。
(6)商品分析——用户对哪些产品、类目感兴趣热门商品top10各品类热门商品top5由此可见,28、50008168类目商品各自各子类别商品销量均衡且较高,而38、50014815类目中有一子类销量尤为突出。
二八法则分析前80%销量有12%左右的商品提供,后20%的销量由88%左右的商品提供,接近二八定律所表示的由
少数商品掌控了大部分的销量。
数据分析结论
1、少数客户下单量巨大对销量有明显影响,
建议做好对较大订单客户进行特别管理,保持长期合作关系。2.、女婴消费人数及购买力均略高于男婴.婴儿不同阶段对商品有不同的需求,
建议结合商品定位和各年龄商品销售情况定向向相应年龄段用户推送相关商品页面。3、
商品复购率极低,需要结合商品本身情况找到原因。
4、销量贡献主要集中在一级品类商品28、50008168、38,根据商品的过往销量情况,商品28销量表现较好,
建议做好品类28商品库存管理。对于曾出现大订单的商品28、50008168、50014815,
建议做好客户管理,为大订单提前备货。5、节日性活动对销量提升有明显促进作用,
重点关注五一、母亲节、双十一和双十二。6、根据客户分层信息,应
针对性进行客户管理,按照不同频率推送优惠信息。
反思(待续)