Python实现电商订单的数据分析
⼀、数据信息:
数据来源:
说明:本数据集共有104557条数据,共计11个字段
腊八祝福精美动态图片字段:
id : 序号
orderID :订单id
userID :⽤户id
goodsID :商品id
orderAmount :订单总额
payment :买家实际⽀付⾦额
chanelID :渠道id
platfromType :购买渠道
orderTime :订单产⽣时间
payTime :订单⽀付时间,为2019-01-01⾄2020-05-28这个时间段的数据(主要以订单⽀付时间作为分析基础)
chargeback :是否退款
⼆、结论先⾏
1. 销量分析:⽤户的整体转换率⾼,双⼗⼀双⼗⼆活动效果明显
继续保持⽤户转化率,后续可以利⽤更多节假⽇所在⽉,复制双⼗⼀双⼗⼆的促销活动,增加销售额
针对性的对⽹页版和阿⾥平台进⾏店铺优化设计和渠道推⼴,同时借鉴WechatMP平台和APP这两个购买渠道之所以受到⽤户欢迎的要点——可针对性的对这⼏个购买渠道做埋点以及⽤户⾏为路径分析、页⾯评估
2.⽤户购买次数分析:复购率和⼈均购买次数极低,平台主要为“⼀次性买卖”
提⾼品牌影响⼒,培养⽤户忠实度,同时进⼀步挖掘已有客户的购买⼒
3. 使⽤RFM模型进⾏⽤户价值分类:针对不同客户体,分别针对性的采取运营措施
重要价值⽤户:对其投⼊耕作资源,提供vip服务、个性化服务,保持其黏性的同时⼜继续引导其消费
潜⼒客户:这类客户需要对其深⼊挖掘,对其销售⼀些价值更⾼的产品,并要求其评论,根据评论内容出其诉求和痛点,吸引他们重要深耕⽤户:给其不定时发送促销活动提醒和优惠券活动等
新⽤户:组织社活动,在内不定时提供⼩样免费试⽤或抽奖活动,以及拉新进达到⼀定数量即可获取⼤额优惠券等,提⾼⽤户兴趣,创建品牌知名度
重要换回⽤户:精准营销,根据⽤户画像等为⽤户提供其可能会关注或感兴趣的商品,通过续关店铺或出产更新更吸引⼈的产品赢回他们
⼀般⽤户:可以采⽤每⽇店铺打卡获取积分,积分可兑换热门产品⼩样或店铺内抽奖,让其持续不断关注到店铺
重要挽回⽤户:重点回访,针对性提问⽤户不再购买的可能性原因,并在此基础上重新向客户营销,如回答服务态度⽅⾯,安抚;如回答产品质量⽅⾯,则回答已改进,请重新试⽤并寄去⼩样等
流失客户:尝试恢复其兴趣,如⽆果,则不再浪费时间
三、分析框架
1. 销量分析:购买时间,商品类别,购买渠道,转化率
转化率 :转化流程为订单创建 -> 订单付款 -> 订单成交(未被退款)
2.⽤户购买次数分析:⽤户购买次数分布(频次图)、⼈均购买次数(⽀付并未退款)、复购率(复购率=购买次数在2次及以上的⼈数/有购买⾏为的⼈数)
3. 使⽤RFM模型进⾏⽤户价值分类
四、数据清洗
深一点妈妈今天是你的import pandas as pd
import matplotlib.pyplot as plt
# 对数据进⾏初步了解
data = pd.read_excel('/home/kesci/input/dssj9032/order2019.xlsx')
data.info()
data.sample(10)
观察可知,仅chanelID列存在缺失值,说明有⼈是未经过渠道推荐直接进到平台上下单的。该缺失值不影响分析结果,故暂不作处理
购买渠道存在⽆意义空格,对其进⾏去除:
data['platfromType'] = [i.replace(' ','') for i in data['platfromType']]
从订单付款时间⾥提取出⽇期,⽅便后续对销售额进⾏计算:
data['payDate'] = data['payTime'].dt.date
data['payDate'] = pd.to_datetime(data['payDate'])
# 同时增加“天数”列,⽤于后续辅助计算“R”指标
data['days'] = (pd.to_datetime('today') - data['payDate']).dt.days
五、数据分析
五一放假通知格式范文1. 销量分析
所有交易都是以最终获利来进⾏计算的,因此考虑到退款情况的前提下,对⽬前已有的订单按照订单⽀付时间为分组条件,对买家实际⽀付⾦额进⾏求和。由于数据时间跨度较⼤,故以⽉为单位进⾏统计
data_not_chargeback = data[data.chargeback=='否']
df = data_upby(pd.Grouper(key='payDate',freq='M'))['payment'].sum()
x =[f'{y}年{m}⽉' for y,m in zip(ar, h)]
plt.figure(figsize=(16,9),dpi=160)
plt.plot(range(len(x)), df)
<(0,df.max(),f'总销售额情况为{round(df.sum(),2)}元',fontsize=20)
江苏限电令最新消息for x,y in zip(range(len(x)),df.values):
<(x, y+7000,int(y),ha='center') #给数据点添加标签
plt.ylabel('销售额')
plt.xlabel('时间')
plt.title('销售额每⽉⾛势',fontsize=25)
plt.show()
从“销售额每⽉⾛势”图可得出以下⼏个信息:
1. 在2019-01-01⾄2020-05-28这段时间,销售最⾼额出现在“双⼗⼀”活动所在⽉——11⽉,销售额达1064万,占2019年度销
售总额的10.08%
2. 19年1⽉⾄2⽉出现⼤幅度下降,到了3⽉开始迅速上升,5⽉冲上⼩⾼峰,随后⼀直处于⾼峰时期,到10⽉份有⼀定回落,随后双
11双12所在⽉迎来全年⾼峰时刻,进⼊2020年后则由于疫情影响,迅速跌⼊⾕底并持续低迷,直⾄5⽉份仅434元销售额
# 根据商品类别进⾏销量统计,出实际交易卖的最好的前⼗种商品
hot_10 = pd.DataFrame({
'销量':data['payment'].value_counts(),
'实际成交销量':data_not_chargeback['payment'].value_counts()
}).sort_values(by='销量', ascending=False)
hot_10['总销量占⽐(%)'] = hot_10['销量'].apply(lambda x : round((x/hot_10['销量'].sum())*100,2))
hot_10['实际销售额'] = data_upby(by='orderAmount')['payment'].sum()
hot_10['销售额占⽐(%)']=hot_10['实际销售额'].apply(lambda x : round((x/hot_10['实际销售额'].sum())*100,2))
print(f'{"-"*20}热卖前10{"-"*20}')
print(hot_10.head(10))
# 根据购买渠道进⾏销量统计
saleChannel = data_upby(pd.Grouper(key='platfromType'))['payment'].sum()
x_ = list(saleChannel.index)
plt.figure(figsize=(16,9),dpi=160)
plt.bar(range(len(x_)), height=saleChannel, width=0.5)
for x,y in zip(range(len(x_)),saleChannel.values):
see you again歌词<(x, y+8000,int(y),ha='center') #给数据点添加标签
plt.ylabel('销售额')耸的拼音和组词
plt.xlabel('购买渠道')
plt.title('各购买渠道销售情况',fontsize=25)
plt.show()
从上图可以看出:⽤户主要是通过WechatMP平台和APP进⾏购买的,其次是⽹页版,再
次是阿⾥平台,商店和wap是最低
现查看chargeback字段值的分布数量:
import seaborn as sns
print(data['chargeback'].value_counts())
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论