数据分析实战——EXCEL实现复购率计算

简介: 复购率指消费者对该品牌产品或者服务的重复购买次数,重复购买率越多,则反应出消费者对品牌的忠诚度就越高,反之则越低。

这是数据分析实战的第三篇(复购率计算篇),本文提供真实数据(脱敏),并梳理复购率计算思路和技巧,通过15分钟的阅读和实践,读者即可根据自己的订单数据灵活计算业务涉及到的复购率了。(实战数据在文末)


相关核心技巧:辅助列,数据透视表


ONE:什么是复购率?


对于销售尤其是快消品销售来说,不论线上还是线下,复购率这个指标都是重头戏,你说你的产品粘性很强,他说他的会员营销做的OJBK,我说我的内容营销对客户维系作用非常棒。


谁说了算?


复购率说了算!


我们先明确一下复购率的定义,官方说法(百科介绍):指消费者对该品牌产品或者服务的重复购买次数,重复购买率越多,则反应出消费者对品牌的忠诚度就越高,反之则越低。


粗读概念总是模糊的,提炼一下,复购率就是一段时间内,购买2次及以上客户人数占总人数的比重。这一步提炼揭示了我们计算复购率需要确定的3个点——一是一段时间(这里就是一个月),二是统计购买2次和2次以上对客户数,三是复购人数占总客户数(去重)比重。


TWO:怎么计算复购率?


第一步:数据概览


做数据分析,拿到数据后先撸(粗略看一下)一遍数据是一个极好的习惯,

我们从三个角度(订单数量、是否存在脏数据、数据逻辑)来看,不难发现:


1、实战数据一共有61072笔订单,时间涵盖了2018年7月1日-2018年7月31日,为期一月。


2、复购率计算是针对交易成功的客户,筛选交易状态,发现存在6088笔订单是用户退款,交易关闭了的,因此需要删除。


3、每一行数据只记录一个产品的交易信息,如单个客户一次性购买3个产品,系统会生成3笔(3行数据)订单信息。


第二步:数据清洗


我们先对刚才的脏数据(退款订单)进行清洗,这一列主要是和“交易状态”列相关的,选中该列,点击“排序和筛选”,


40.png


然后勾选中“付款以后用户退款成功,交易自动关闭的订单”:


51.png


样筛选出了所有脏数据,选中他们,


52.jpg


按一下“DELETE”键,和脏数据说拜拜,但是,刚才脏数据占据了很多行,现在这些行空了出来,将数据分的七零八落,为了规整数据,我们必须删除所有空行。


思路:通过定位某一列所有空单元格,再删除空单元格所在行即可:


选中A列,按住"CTRL+G",点击“定位条件”,选中“空值”:


53.jpg


这时我们已经选中了A列所有单元格,把鼠标移动到其中选中的一个,右键删除,然后选择“整行”,


54.png


至此,简单的数据清洗已经完成。(部分同学反映这次数据有点给力,有些操作可能会耗些时间,大家耐心等待)。


第三步:计算复购率


再次重申一下,从系统导出的订单,绝大多数情况,同一个客户购买了多个产品,会生成多笔订单(下单、付款时间几乎一致),更进一步,一个客户在一天内购买多次,比如上午9:00下了一单,下午15:00又下了一单,时间存在不一致,但从消费行为上看,算复购并不合理,我们在此定义,单个客户1天内下的多笔订单,不能算复购。


因此,要计算复购,需要对同一天的多笔订单进行去重,思考30秒。


有思路了吗?


辅助列是个好东西,重要的话说三遍:辅助列好,辅助列秒,辅助列它棒的呱呱叫。

一个用户在同一天下单时间一般是这样的“2018/6/1 00:12:12”,年月日时分秒的格式,如果我们用年月日来进行识别,是不是同一天内下单对多笔订单就能够去除呢?

Let's do it,先插入一列:输入YEAR()&MONTH()&DAY(),


55.png


公式的意思就是获取年份,月份,一个月第几天并合并成一个数据),接着就是去重,我们为了让“同一天内多次下单的客户算作一次购买”,把“买家会员名”和辅助列(标志用户哪一天购买)两个字段作为判断标准,进行去重。


操作:所有列,找到”数据“模块下的”删除重复项“选项卡,


56.jpg


记住,买家ID和辅助时间列两列都勾选,就是买家ID和时间辅助列都一样的情况下才会删除


57.jpg


58.png


至此,我们已经把同一天内重复购买的客户订单完全剔除掉了。


(注:这里单纯计算复购率,因此采用了比较粗暴的删除方式,以后将会介绍更好的方法。)


下面一步的关键是要统计所有用户的购买次数,数据透视表蠢蠢欲动了。


选中所有数据,插入数据透视表,我们想要得到每个客户的复购次数,所以把“买家ID”放在透视表的”行“里面,再把”买家ID“放在值里面,用计数的格式显示,就得到了每个客户的复购次数。


59.png


数据透视表显示区域是这样的:


60.png


后,我们只要统计出购买次数大于等于2次的人数,再用他们除以总人数,复购率就出来了。


用COUNTIF(区域,条件),选中数据透视表“买家ID”这一列,统计条件是“>=2",


61.jpg


结果是4628,再用COUNT统计总人数


62.jpg


可以发现,这段时间(7月份)的复购率就是16.93%(4628/27343),抛开产品和用户谈评价复购率高低就是耍流氓,这里主要讲述一种基于订单数据的通用计算法则, 暂不对指标本身做评判和讨论,后续会更新关于具体分析思维的案例。


喏,我们知道了这个月的复购率是16.93%,也就是说,在这个月,100个客户中会有近17个客户重复购买。


等等,让我们再重新念一遍:“在这个月,100个客户中会有17个重复购买”,基于这个假设,也就是说1000个客户中平均会有170个客户,10000个里面平均有1700个会重复购买。那他们重复购买的行为是怎么分布呢?(购买2次的有多少,购买3次、4次等等各有多少呢?)


SO EASY~


刚才的数据透视表“计数项:买家会员名”这一列已经统计出客户在本月的购买次数,我们可以用COUNTIF公式稍加汇总即可:


63.png


看来,复购用户占比会随着复购次数的增加而减少,有复购行为的客户中,大部分(67.39%)是购买了2次的,购买3次的用户占比16.81%,4、5、6次如上表。


敲黑板,思路和逻辑比会使用工具本身更加重要。


我们拿到订单(最重要的是买家昵称,付款时间两个字段)数据,先明确分析的目的(复购率),然后进行清洗(去掉脏数据),再为了得到结果创造条件(为了避免一天内同一客户多次下单的干扰,我们插入辅助列并去重),最终利用数据透视表进行数据汇总,基于汇总的结果,轻而易举(借助COUNT和COUNTIF)算出了复购率和复购分布。


文末附上实战数据:


链接:pan.baidu.com/s/1mtYxKt 密码:ifyn




相关文章
|
19天前
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
53 11
|
20天前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
98 3
|
23天前
|
JSON 数据挖掘 API
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
22 2
|
2月前
|
SQL 数据采集 存储
Hive实战 —— 电商数据分析(全流程详解 真实数据)
关于基于小型数据的Hive数仓构建实战,目的是通过分析某零售企业的门店数据来进行业务洞察。内容涵盖了数据清洗、数据分析和Hive表的创建。项目需求包括客户画像、消费统计、资源利用率、特征人群定位和数据可视化。数据源包括Customer、Transaction、Store和Review四张表,涉及多个维度的聚合和分析,如按性别、国家统计客户、按时间段计算总收入等。项目执行需先下载数据和配置Zeppelin环境,然后通过Hive进行数据清洗、建表和分析。在建表过程中,涉及ODS、DWD、DWT、DWS和DM五层,每层都有其特定的任务和粒度。最后,通过Hive SQL进行各种业务指标的计算和分析。
375 1
Hive实战 —— 电商数据分析(全流程详解 真实数据)
|
2月前
|
数据采集 数据挖掘 API
Ownips+Coze海外社媒数据分析实战指南
本文介绍了在社交媒体数据采集和分析中的实践方法,特别强调了使用IPS代理的重要性。社交媒体如Twitter、Facebook等提供了丰富的数据资源。文章推荐了Ownips,这是一家提供高质量静态ISP代理服务的公司,用户可以选择需要的地区IP,并通过API或账号定向访问配置使用。 文章通过一个Twitter趋势数据采集的案例,展示了如何利用Ownips代理IP和Python的requests库以及BeautifulSoup解析HTML来获取和解析数据。此外,文章还提到了如何在Coze平台上创建数据采集插件和Twitter Bot,以实现自动化和智能化的数据分析。
Ownips+Coze海外社媒数据分析实战指南
|
17天前
|
人工智能 自然语言处理 安全
ChatGPT高效搞定Excel数据分析
ChatGPT高效搞定Excel数据分析
38 0
|
2月前
|
数据采集 数据可视化 数据挖掘
利用 DataFrame 进行数据分析:实战案例解析
【5月更文挑战第19天】DataFrame是数据分析利器,本文通过一个销售数据案例展示其使用:读取数据创建DataFrame,计算产品总销量,分析月销售趋势,找出最畅销产品,并进行数据可视化。此外,还提及数据清洗和异常处理。DataFrame为数据处理、分组计算和可视化提供便利,助力高效数据分析。
57 3
|
2月前
|
安全
Excel 如何根据某一列最后一个非空值进行计算
Excel 如何根据某一列最后一个非空值进行计算
|
2月前
|
算法 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
103 1
|
2月前
|
机器学习/深度学习 数据采集 算法
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
117 1