最近社群里有同学询问客户回流分析,如何在 Tableau 中完成。抛出了下面这张表。

啥是客户回流简单说——之前买过,然后“消失”了(这里按“连续90天没下单”算),结果当月又跑来买了,这类客户就是“回流客户”。
核心逻辑就两个:“曾经流失”+“当月复购”。作用如下:
● 看运营效果:搞了老客召回活动,回流客户变多,说明活动没白搞;
● 估用户粘性:回流多,证明客户对品牌有念想,不是买一次就跑;
● 算投入产出:回流客户的获客成本比新客低,盯着这个指标能省不少钱。
这里的计算并不是很难,我提供2种方案——基础版适合临时查单月,进阶版本可以一次性计算出全年指标。
方案1:基础版——单表+参数,快速查某一个月
(适合刚上手、就想知道“这个月回流多少人”的同学)
思路很简单:使用Tableau 自带的订单表,先指定要查的月份,再给客户打标签、计算最后两次下单,算两次下单的间隔判断回流客户。
首先,建个“目标月份”的参数,选日期类型、年月格式。

然后,写几个计算字段(以下均为Tableau计算字段语法,直接复制替换字段名即可用):
● 0.订单日期筛选:
DATETRUNC("month",[订单日期])<=[订单日期 (月) 参数]
● 1.本月购买客户打标签:
{ FIXED [客户名称]:max(
IF DATETRUNC("month",[订单日期])=DATETRUNC("month",[订单日期 (月) 参数])
then "本月购买客户" END
)}
● 2.本月客户最近一次购买:
{ FIXED [客户名称]:MAX([订单日期])}
找出客户最后一次下单的日子,当月买的客户,这个日期肯定在目标月里。
● 3.本月客户倒数第二次购买:
{ FIXED [客户名称]:MAX(
IF [订单日期]<>[2.本月客户的最近一次购买] then [订单日期] END
)}
技巧就在这——去掉最后一次,剩下的订单里挑最大的日期,就是上上次下单。
● 4.流失客户标签:
IF DATEDIFF("day",[3.本月客户的倒数第二次购买],[2.本月客户的最近一次购买])>=90 then "流失客户回归"
ELSE "非流失客户"
END
满足“当月买+间隔超90天”,就是回流客户。
最后,按照下图的操作,就可以计算出单月的回流客户。

方案2:迭代版——加个表,一键出全年趋势
基础版查单月还行,要是想看今年每个月的回流数据,就比较麻烦了。BI软件都没有循环功能,所以要实现循环迭代的效果,需要增加一张日期辅助表,和订单表关联起来。
● 日期辅助表:就一列“统计月份”,把要分析的年月都列上。

● 原始订单表与日期表做关联:

关联条件DATE(DATETRUNC(“month”,[订单日期]))<=日期月份(辅助表)的核心作用,就是给每个 “统计月份” 绑定它及之前所有月份的订单数据,模拟编程里的“迭代计算”:举个例子:
当辅助表取 “2024-10-01” 这个统计月时,关联条件会筛选出所有订单月份≤2024-10 的订单(也就是 2024 年 1-10 月的所有订单,如果有更早的订单也可以包含进来);
当辅助表取 “2024-11-01” 时,又会筛选出2024年 1-11 月的所有订单;
以此类推,每个统计月都会 “带上自己之前所有的历史订单”。
为什么要这么做?BI 软件一般来说都没有 “按月份循环迭代计算” 的功能,咱们没法直接让系统 “逐个月份算回流客户”。而通过这个关联逻辑,相当于给每个统计月都打造了一份 “专属数据池”—— 每个月份都能基于自己的 “全量历史数据” 算回流,不用手动切换参数,最终就能一次性算出所有月份的回流客户数据,实现 “批量迭代” 的效果。
● 1.当月客户打标签:
{ FIXED [日期月份 (辅助表)],[客户名称]:max(
IF DATETRUNC("month",[订单日期])=[日期月份 (辅助表)] then "当月购买客户" END
)}
这里需要 按照FIXED“客户+统计月”分组,标记当月购买的人。
● 2.当月最后一次购买日期:
{ FIXED [日期月份 (辅助表)],[客户名称]:MAX([订单日期])}
● 3.当月倒数第二次购买日期:
{ FIXED [日期月份 (辅助表)],[客户名称]:MAX(
IF [订单日期]<[2.当月最后一次购买日期] then [订单日期] END
)}
● 4.流失客户标签:
IF DATEDIFF("day",[3.当月倒数第二次购买日期],[2.当月最后一次购买日期]) >=90 then "流失客户回归"
ELSE "非流失客户"
END
最后直接出全年数据:

完整版下载地址:https://public.tableau.com/app/profile/jiangbin/viz/_17509836412800/1
四、两种方案对比
| 对比维度 | 基础版(单订单表 + 参数) | 迭代版(辅助表 + 重关联) |
| 适用场景 | 单月临时查询、快速分析 | 全月批量计算、趋势分析 |
| 数据依赖 | 仅需原始订单表 | 订单表 + 日期辅助表 |
| 操作复杂度 | 低(无表关联) | 中(需构建辅助表) |
| 灵活性 | 差(手动切换参数) | 高(一次性生成全量数据) |
