历史版本2 :用户消费周期 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 背景
每月一次、每两月一次、每三月一次(依次类推)消费一次的用户数各有多少?
统计用户消费周期的分布,可以帮助我们了解用户的粘性状况。
1.2 预期效果
从下图中可以看出,间隔 6 个月消费一次的用户最多。
在线预览:用户消费周期
用户可点击「另存为主题」,自己操作一遍或查看内部编辑步骤。
2. 操作步骤编辑
2.1 添加步骤
下载示例数据:用户消费时间表.xlsx
创建一个分析主题,将下载下来的示例数据上传至主题。如下图所示:
2.2 制作组件
我们想要计算消费周期,整理下思路:消费周期=消费时间跨度/消费次数
2.2.1 计算消费时间跨度
消费时间跨度=最近一次消费时间-首次消费时间
1)计算首次消费时间,新建计算字段,如下图所示:
公式分解 | 描述 | 函数帮助文档 |
---|---|---|
DATETONUMBER(购买日期) | 将日期字段「购买日期」转化为数值类型的时间戳形式,因为 MIN_AGG 无法直接处理日期字段 | DATETONUMBER-日期转化为13位时间戳 |
MIN_AGG(DATETONUMBER(购买日期)) | 求最小的购买日期,即首次购买日期 | MIN_AGG-最小值 |
DEF(MIN_AGG(DATETONUMBER(购买日期)),[用户ID]) | 求每个用户的首次购买日期 | DEF-定义静态指标 |
TODATE(DEF(MIN_AGG(DATETONUMBER(购买日期)),[用户ID])) | 由于之前获得的日期是数值格式的时间戳,使用 TODATE 函数将日期转化为「日期格式」 | TODATE-转换为日期类型 |
公式分解 | 描述 | 函数帮助文档 |
---|---|---|
DATETONUMBER(购买日期) | 将日期字段「购买日期」转化为数值类型的时间戳形式,因为 MAX_AGG 无法直接处理日期字段 | DATETONUMBER-日期转化为13位时间戳 |
MAX_AGG(DATETONUMBER(购买日期)) | 求最大的购买日期,即最近一次购买日期 | MAX_AGG-最大值 |
DEF(MAX_AGG(DATETONUMBER(购买日期)),[用户ID]) | 求每个用户的最近一次购买日期 | DEF-定义静态指标 |
TODATE(DEF(MAX_AGG(DATETONUMBER(购买日期)),[用户ID])) | 由于之前获得的日期是数值格式的时间戳,使用 TODATE 函数将日期转化为「日期格式」 | TODATE-转换为日期类型 |
求「首次消费时间」与「最近一次消费时间」之间的月数差,函数可参见:DATEDIF-日期差
2.2.2 求每个用户消费次数
添加计算字段,计算每个用户的消费次数,如下图所示:
公式分解 | 描述 | 函数帮助文档 |
---|---|---|
COUNTD_AGG(购买日期) | 数一数购买日期的个数(去重) | COUNTD_AGG-去重计数 |
DEF(COUNTD_AGG(购买日期),[用户ID]) | 求每个用户下的购买日期的个数,即用户的消费次数。 (一天消费多次只算作一次) | DEF-定义静态指标 |
2.2.3 求消费周期
消费周期=消费时间跨度/消费次数
由于相除下来肯定会出现小数,不方便我们统计,我们使用 ROUND-保留几位小数 四舍五入一下,取整。如下图所示:
由于我们要求不同消费周期下有多少客户,所以将得到的计算字段转化为维度。如下图所示:
2.2.4 计算用户数量
添加计算字段,对用户去重计数。如下图所示:
2.2.5 制作图表组件
选择图表类型为「柱形图」,将「每个用户的登录周期」分组改为「相同值为一组」。如下图所示:
以上我们就完成了组件的制作。
2.3 效果查看
请参见本文 1.2 节。