现有用户重复购买的订单数据,数据库导出的数据(海量数据,下为截图一部分)格式如下,列标签为订单号、用户ID、下单日期,现要根据这些数据,计算重复购买用户两次购买间的平均间隔时间。
此问题据说用SAS做比较简单,因本人没用过SAS,手边只有EXCEL,思考了以后找到用EXCEL方法,也不复杂,而且锻炼了思考能力。
本题的解决逻辑是比较清楚的(找到每个用户最早一次和最近一次的下单日期,计算出时间间隔,再除以下单次数,即得到下单的平均时间间隔,即BT=(MaxTime-MinTime)/FreQ),费思量的是如何用excel简单实现,下面详细陈述。

前期准备工作(包括相关工具或所使用的原料等)
数据库导数
excel
详细的具体步骤或操作方法
算出每个用户的重复购买次数FreQ,利用Frequency函数。首先,对ID删除重复项,得出不重复ID。对此列,根据Frequency函数计算各个ID重复购买次数,注意此函数需以数组公式形式输入(ctrl+shift+enter)。

算出每个用户第一次购买和最近一次购买的时间,利用vlookup函数。首先排序,在用户ID升序的基础上,对下单日期降序排序。再用vlookup函数找出最近一次购买时间(MaxTime),公式如下,vlookup到第一个值,即最大值(最近购买时间)。

同2,作出第一次购买时间,如下。即对下单日期降序排列,从而vlookup到第一个值为最小值(第一次购买时间)。

容易了,AverTime=(MaxTime-MinTime)/FreQ,如下:
即可!

注意事项
FREQUENCY(data_array,bins_array)
Bins_array 是一个区间数组或对区间的引用,该区间用于对 data_array 中的数值进行分组。如果 bins_array 中不包含任何数值,函数 FREQUENCY 返回的值与 data_array 中的元素个数相等。
——此公式需以数组公式形式输入
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
