18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 电子商务 > 电商数据分析报告

电商数据分析报告

时间:2023-03-15 20:34:01 | 来源:电子商务

时间:2023-03-15 20:34:01 来源:电子商务

无论在线下还是线上电商的交易中,复购率绝对是能够衡量一个产品的重要指标。复购率的高低反应了用户对产品的认可度,接受度。一个复购率高的产品也可以为公司带来一大批的忠诚客户。产品吸引客户,客户回购产品,良性循环是公司稳健发展的标准。

如何用python计算复购率?

数据集信息

该数据集是某电商网站一个月的销售数据。以下是这个数据集中重要的数据指标:

maijiaID:是每一位在该店铺购买产品的人的id号;

xiadantime:是用户购买产品提交订单的时间;

jiayizhuangtai:是该用户已经付款还是退款,或其他状态;

chanpinID:是该产品的编号;

num:是用户的购买数量;

sale:是用户一次购物所花费的金额。

数据导入

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom datetime import datetimedata=pd.DataFrame(pd.read_csv(r'C:/Users/hlyu/Desktop/fugou.csv',encoding='utf-8'))导入csv格式的文件,用head()方法查看导入数据是否正确。

数据清洗

1、查看数据是否存在缺失值、空值。

查看各字段数据的行数,类型,可以看到这次导出的数据很整齐,没有缺失值,也没有空值。

2.异常值

用describe()显示出数据基本无异常。

虽然整个数据集很完整,也没有异常值,但这并不代表我们就可以跳过数据清洗这一步,直接做分析了。

复购率要求的是客户在不同的时间购买产品的次数,但是很显然,可能存在客户会在同一天中进行多笔交易,所以我们要把在同一天中进行多次购买去重。

在去重之前我们还要看一下交易状态,因为我们只计算购买成功的客户。所以要把其他的状态的客户筛选掉。

在交易状态中,只有两种“交易成功”,“付款以后用户退款成功,交易自动关闭”,所以现在只需要删掉“付款以后用户退款成功,交易自动关闭”这种状态下的所有订单。

删掉以后,就只剩下交易成功的订单了。现在再来对剩下的数据进行去重处理。

在数据集中,同一天同一个ID的订单只保留一个,但是这里下单时间显示到了小时和分钟,而此处只需要年月日就可以了。所以这里需要用到split('')对时间进行分割(我操作中这一步做在了上一步的前面,顺序没有影响)。

这里需要定义一个函数

def splitSaletime(timeColSer): timeList=[] for value in timeColSer: dateStr=value.split(' ')[0] timeList.append(dateStr) timeSer=pd.Series(timeList) return timeSertimeSer=data.loc[:,'xiadantime'] dateSer=splitSaletime(timeSer) data.loc[:,'xiadantime']=dateSer data.head()然后时间就被分割出来了,只保留需要的年月日。

由于info()中时间的类型是object,所以这里还需要对时间修改类型。

data.loc[:,'xiadantime']=pd.to_datetime(data.loc[:,'xiadantime'], format='%Y-%m-%d', errors='coerce')显示结果,在进行重新排序。

现在各字段类型已基本修改好。

接下来就正式开始删除重复项的数据,我们就要把'maijiaID','xiadantime'两个字段结合,相同的就去掉。

Df.duplicated(['jiaoyizhuangtai'])去重之后得到数据

截至到这一步,我们前期的数据清洗工作已基本完成,可以对这一部分数据进行分析处理了。

数据分析

由于计算的是复购率,所以需要知道在同一个ID出现的次数。统计出出现2次,3次,多次的用户数量。在比上所以不同用户ID的总数就可以求出复购率了。

data0=pd.pivot_table(Df,index=["maijiaID"],values=["num"],aggfunc=[len],fill_value=0).reset_index()用poivt_table()取出用户ID出现的次数,结果如下:

然后我们再取出出现2次的用户数:

这里也可以看到,不同的用户ID有27343个。

购买两次的用户数为3119人。复购率占比:

同样的购买三次的复购率占比:

购买在4次的客户占比在

购买在5次以上的客户占比在

可见购买次数在2次的客户是最多的,购买在3次以上的客户比2次少了近四分之三,而购买次数在5次以上的用户就更加少了。

针对这种情况:

首先,需要了解该产品的类型,确定该产品是属于快消品还是购买一次可以用一段时间的产品。要充分了解产品的特性以及市场该类产品的正常复购率,确保我们的产品是在一个健康的状态。

如果确定该产品是快速消耗的产品,那就要产品的消耗时间及人群特性,采用同期群分析,通过对购买2次人群构建用户画像,分析出用户有什么共同的特点。找出这些"好"用户共有的,与你所希望改变的kpi高度相关的属性。进而针对客户精准营销。增大复购率的人群数量。

二:每天平均消费金额=总消费金额/天数

Df=Df.sort_values(by='xiadantime', ascending=True)Df=Df.reset_index(drop=True) #最小时间值startTime=Df.loc[0,'xiadantime'] #最大时间值 endTime=Df.loc[total-1,'xiadantime'] daysI=(endTime-startTime).days print('天数:',daysI)这里我们可以知道该店铺平均每天的销售产品金额高达261461元。

这里进一步求出平均每次购买金额为145元。这里可以粗略估算出,平均每天在店铺购买的客户数量。

通过漏斗模型也可以分析出一套客户分层分布情况,可与该漏斗模型分析的购买数量做对比,并提升每一层客户留量。

整体分析:

该店铺的复购率中购买2次产品的用户最多。可通过精准营销多发展购买2次的人群。

关键词:报告,分析,数据

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭