复购分析实战 | Pandas遇到了大难题..(附40000+数据源和代码)(下)

简介: 在电商等消费场景下,复购率是最耳熟能详的指标之一了。上到平台、下到品牌、店铺,各种复盘分析一定绕不开复购率,今天我们就从实战的角度聊聊复购率。 本文是Pandas实战系列的番外篇,是小z特意总结的案例,对于pandas操作是一个很大的考验。

Pandas实战


读取我们的案例源数据:


image.png


时间范围是2020年5月-6月两个月的数据,一共40270条,目标是计算两月期的复购率。


先对客户ID和付款时间做升序排列,方便后续计算:


image.png


复购计算是建立在按客户ID分组的基础之上,下面的重点工作是搞定apply里面的函数。


image.png


首先,用一个空列 lst 来记录客户的复购间隔时间。当客户在时间范围内购买次数大于1时,再对客户的购买时间进行循环遍历,否则返回空列表:


image.png


接着,重点研究购买次数大于1的客户,为了有一个锚定的日期,我们引入变量anchor,当客户第二次购买时间间隔在2天以内,则用第三次购买时间和anchor做计算,依次遍历,直到找到购买时间间隔大于2的消费行为或者循环匹配完客户所有订单信息:


image.png

为了避免索引超出范围,在while循环内部,当 i 等于len(x) - 2时,跳出内部循环,否则index + 1


一旦客户两次购买行为间隔超过2天,则判定为复购行为,并且把复购时间间隔记录在lst列表


image.png


一遍复购间隔计算完之后,进行下次的循环(这里判断index同样是为了避免超出索引),最终得到的是每个客户符合定义的间隔时间列表。


把定义好的函数应用到我们的数据集上,结果如丝般顺滑:


image.png


大功已经告成。计算复购率已然是信手拈来,只需要统计复购次数大于等于1的:


image.png


以2天作为我们的复购时间间隔,最终复购率是17.76%。


apply强大不止于此,我们对count函数略加修改,加入一个变量作为间隔,就可以自定义复购时间间隔,想大于3天就大于3天,想大于7天就大于7天,完全实现复购率的灵活计算。


image.png


整个复购计算到此为止,问题的关键在于count函数,如何把规则用函数复现,以及索引怎样递进,需要花一些时间来思考。

相关文章
|
29天前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
59 1
|
29天前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
26 2
|
29天前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
77 1
|
29天前
|
数据挖掘 Python
Pandas实战(2):电商购物用户行为数据分析
Pandas实战(2):电商购物用户行为数据分析
45 1
|
14天前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
53 0
|
29天前
|
数据挖掘 Python
Pandas数据分析实战(2):2023美国财富1000强公司情况
Pandas数据分析实战(2):2023美国财富1000强公司情况
34 0
|
29天前
|
数据采集 数据挖掘 Python
Pandas数据分析实战(1):2023美国财富1000强公司情况
Pandas数据分析实战(1):2023美国财富1000强公司情况
37 0
|
29天前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
40 0
|
29天前
|
数据处理 Python
Pandas实践(续):2023年南京地铁客运量分析
Pandas实践(续):2023年南京地铁客运量分析
36 0
|
2月前
|
存储 数据挖掘 API
多快好省地使用pandas分析大型数据集
多快好省地使用pandas分析大型数据集