致力于航空、生产制造、零售等多行业产品方案与服务
- 🎓 文科背景、法学学士|教育学硕士
- 📊 业务数据分析「专家」· 敏捷 BI 布道师
- 📚 《数据可视化分析》《业务可视化分析》图书作者
- 🎓 中国地质大学(武汉)经管学院 MBA 校外导师
- 🤝 以 Tableau 会友,致力于构建业务分析通识框架
📚 本文配套课程 · 数据可视化分析系列
🎬 B 站课程:数据可视化分析:Tableau/SQL 原理与实践 — https://www.bilibili.com/cheese/play/ss8093
客户迁徙分析:问题的扩展
不管是传统线下零售、新兴的电子商务,还是时髦的短视频、视频带货,面向 C端的行业都高度重视客户主题的分析,因为客户是最终的利润来源。随着移动互联网和数据库技术的快速发展,几乎每家企业都在将其业务快速在线化,这就为大数据分析提供了基础,而 Tableau为代表的敏捷分析工具则为业务用户的深度、持续探索提供了工具。
事实上,工具掌握的熟练程度,和方法论的认知水平一样,成为了业务分析师和业务经理能力变现的天花板。
本章从简单的树形图开始说起,循序渐进地延伸到颇有难度的”日期快照表“和复杂客户迁徙指标,帮助读者了解这个过程。
客户迁徙,指客户随着时间的变化,和”不同地区的客户数量“等分析不同,客户迁徙关注微观的客户个体,但又努力不陷入细节数据洪流之中。常见的客户迁徙类型问题有:
- 去年的”大客户“,有多少在今年流失了?(流失分析)
- 今年的”大客户“,有多少是去年的”大客户“留存,又有多少是”小客户“成长起来的?(结构分析)
当然,这只是最简单的迁徙问题,后续会有出现更复杂的场景,以至于必须创造一些现实中本不存在的指标来简化问题,比如消费金融中的 M1-M2%@MOB0-6、或者 LOSS%皆属此类。
关联文章:
- Tableau创建桑基图、径向图等复杂可视化 2023/05
- 【Tableau复杂图表】可视化扩展之桑基图 Sankey Chart 2024/05
1、以交互方式直观感受客户迁徙:高亮和树型图
接下来,我们先从一个最简单的图形开始,感受客户迁徙分析的起点和必要性。
如下图所示,Tableau Desktop只需要拖曳即可快速生成一个树型图, 这里将“客户名称”设置为高亮字段,选择2024年的头部客户群,即可看到它们的历史变化!

从图中可见,只有极少量的“大客户”是从往年的“大客户”群体中留存下来的,更多来自于中小微客户的“成长”。如果从2021年选择“大客户”群体也是一样,我们能看到早年的大客户是如何“降级”的,极端情况下,甚至会发现早年的客户在后期几年都流失殆尽了。

流失并非总是不好,每个行业都有特定的客户生命周期,从客户新生到客户成熟,最终客户流失。比如笔者当年所在的母婴零售行业,婴儿总会长大、孕妇也要上班,一个完整的客户生命周期常从购买孕前、孕中用品,到婴儿奶粉、纸尿裤、玩具,抵达婴儿消耗高峰(通常是3岁左右)之后一路下降,最终,我们用心陪伴的客户“毕业”(婴儿长大了)。此类具有明显客户成长周期的行业更需要缜密的客户分析和精准营销策略。
不过,从从经营角度、从公司考核的月度或季度区间来看,客户流失总是令人失望。比如婴儿政治穿纸尿裤的年龄,但是妈妈几个月竟然没有来过,通常是被竞争对手吸引去了。此时分析就需要和营销活动关联,通过电话营销、推送优惠券等方式努力触达并确保客户的活跃度。
每次笔者给客户展示这个可视化的易用性和交互特征,总会引起客户的一阵感慨:这个思路真好,给我们打开了一扇窗户。
不过,上述树型图足够直观,但不够精确,它可以提供宏观的印象,但无法量化精确的变化。
如何从模糊走向精确?比如精确量化今年的“大客户”的迁徙结构,30%的客户来自于上年的小微客户,60%来自上年的中型客户,而只有10%来自于上年的“大客户”。这就需要为客户做进一步的“标签化”处理。
2、从模糊到精确:为年度客户增加“价值标签”和桑基图
从上面的图形开始,我们可以先把每年的客户粗略的划分为三个区间,如果一年中销售额贡献超过30000,那么标记为“黄金客户”;大于1万为“银卡客户”,否则则为“普通客户”。
由于客户判断是基于年度区间的,在不改变数据表详细级别的前提下,可以用如下的 LOD 计算获得这个指定详细级别的预先聚合:
{ Fixed YEAR(Order_date), Customer_id : SUM(Sales) } 之后,借助于 IF 判断即可轻松获得客户每年的贡献分类标签,这里分为大、中、小三类。
if { FIXED [客户名称],YEAR([订单日期]) : SUM([销售额])} >20000 then 'high'
ELSEIF { FIXED [客户名称],YEAR([订单日期]) : SUM([销售额])} >5000 then 'middle'
else 'small' end
之后把这个字段放在此前的树型图中,之前“销售额总和”的渐变颜色就变成了“客户年度分类”的渐变颜色。新字段并没有改变问题的详细级别(年度*客户)。
大数据分析侧重样本特征而非个体差异,因此接下来可以抛弃”客户名称“本身,从更宏观的视角观察。

相比之前,这里问题的详细级别没有发生变化,而是增加了更高阶的分类。
大数据分析侧重样本特征而非个体差异,因此接下来可以抛弃”客户名称“本身,从更宏观的视角观察。稍作调整,就有了如下的堆叠条形图。
稍作调整,就有了如下的堆叠条形图,这个图形的详细级别明显提高了,不在于客户的细节,只有客户的特征(各年度、不同客户分类的客户数量和销售额总和)。借助于参考线,书中还出现了一个更高的详细级别:各年度的客户数量和销售额总和。

这个图形的高级之处在于,它没有采用客户户籍地、客户性别这种静态的客户属性分类,而是采用了基于聚合的动态贡献值为标签。所以就需要使用 FIXED LOD 预先聚合,而后完成判断。
如果想要侧重每年一年都中的客户结构关系,可以使用“合计百分比”增加判断,如下所示。

高级之外也有缺点,更高的抽象必然对应细节和关系的丢失。
如果想知道2024年“大客户”萎缩背后的原因:比如是去年大客户流失了,还是降级了,就需要在“客户年度”级别和“客户标签年度”级别之间找到中间的级别。而这正是堆叠条形图无法展示的:堆叠比例条形图聚焦于每年内部的结构比例,而非跨年的关系变化。
如何表达多年的关系呢?不考虑客户流失的情况下,四年、三个结构,就有了444即64种可能性(排列组合题)。传统的交叉表、树型图在表达“关系结构”上都不甚理想,往往需要定制化的高级图形。
3、使用桑基图表达多年之间的结构性关系
随着Tableau官方推出桑基图 扩展,上述个问题上有了根本性改善。
这里写了三个字段,分别表示2022年客户分类、2023年客户分类、2024年客户分类,每个字段都按照此前“年度客户分类”的逻辑返回当年的标签。
如下图所示,这里用三列表示客户过去三年的结构,而用彼此的连线表示关系,大概也是“多年关系”比较完美地展示方式了。

图:桑基图表示多年的客户结构变迁
看桑基图要注意几个要点:堆叠要素的业务意义、多个堆叠要素之间的关系、理解空值的业务背景。
1)理解堆叠要素的业务意义
首要的问题是,此前客户标签只有三类,为什这里出现一个新的要素“Null”呢?
这是因为此前的客户分类字段仅仅是对活跃客户的销售额判断,没有考虑更大的业务背景:客户是可以阶段性流失的。比如2022年的新客户,在次年并没有任何消费。
随着而来的第二个问题就是,为什么每一年的柱状图高度相同,“等高”的高度代表当年的客户吗?
鉴于桑基图的“Link”字段是“CNTD(客户名称)”,因此柱状图的高度代表客户数量,但每年的客户数量其实不一样,为什么高度相同。这就涉及到“客户规模”的界定问题。这里有多个常用的标准:
- 活跃客户:即在特定时间段内有消费的客户数量
- 累计客户:即到特定时间节点历史所有客户的数量,不考虑当前时间点的消费情况
也就是说,“活跃客户”侧重的是时间区间,而“累计客户”强调的是时间节点。对于上述的示例数据而言,可以说“2022年超市有577位活跃客户”,也可以说“截止2024年年末,超市累计登记了771名客户”(历史上至少有一次购买,这里不考虑预先登记)。
从这个角度看,上述桑基图的柱状图高度,其实是截止当前的“累计客户”,也就是771人。
2)堆叠要素之间的关系
理解了每个柱状的要素及其堆叠高度代表的业务意义,接下来就要看它们彼此之间的关系了。 关系(relation)一定存在于不同视角的多个要素之间。
在桑基图中,点击一个堆叠色块或者线就能高亮它前后的关系。如下图所示,点击2022年的”high“大客户(前面可知有32位),就能看到后续的变化。只有极少数在次年依然是大客户,可惜他们在2024年年则流失或者降级(其中流失2个人,更多是降级了)。“客户流失”是一个复杂的话题,后续单独展开。

3)用桑基图中的Null来简要理解客户流失
在客户迁徙分析中,“流失”和“新客”其实是难点,在业务实践中,赢得新客和避免流失也是提高销售额的关键措施。
在业务实践中,流失又可以进一步区分,比如90到180天没有复购称之为“睡眠客户”,而把180天没有购买称之为“流失客户”。这是独立于上述的“客户价值标签”的新体系,彼此之间的关系就会出现一个全新的话题:客户流失分析。
比如,有多少大客户睡眠或者流失了,如何有效激活这些客户?
比如,有多少当年的新客户流失了,如何据此调整新客户的营销活动?
在上述的桑基图中,2023年标记为Null 的部分,属于当年没有任何消费记录的“非活跃客户”。其中又包含往年客户流失、未来的新客户两种情形。
而2024年由于是期末年度,这一年的 null 标签对应的客户,就是历史客户但当年流失的客户。考虑到历史包含两个年度,因此又包含多种情况:
- 2022年已经“流失“并在之后再没有来过的客户
- 2023的新客户,并在2024年”流失“的客户

每个图形都各有优缺点。桑基图很难表达精确性的关系,比如有多少去年的新客户今年流失、有多少小客户今年升级到大客户。 桑基图的线条太多,有助于发现异常之处,难以进一步表达精确的数值。因此,可以在上述桑基图之上,构建关键的客户迁徙指标。
同时,桑基图的观察周期通常很久,时间段分类相对较短。业务实践中常常选择季度或者月份为观察周期,比如银行的账户逾期分析等。
这些更细致的计算本身逻辑复杂,因此通常借助于中间表方才更好地实现——中间表相当于把一部分指标逻辑的复杂性转移到数据仓库阶段,从而简化了指标逻辑体系。
如有兴趣,静候下期吧。
喜乐君 2024/10/20