客户标签分析:小概率与小样本的平衡计算

作者:喜乐君 · 品牌:XILEJUN · 2026年6月

作者:喜乐君 · 品牌:XILEJUN · 2026年6月

*本文以约瑟夫·坎贝尔《千面英雄》的叙事结构,记录一次客户标签计算中"比率陷阱"的发现、挣扎与突破。故事的起点,是一个看似简单的需求——为航司旅客打上"辅营消费倾向"的标签。*

一、问题:被单次飞行绑架的标签

1.1 召唤

那是一个寻常的需求会议。业务方希望在旅客标签体系中增加一个"辅营消费倾向"字段——判断旅客是否愿意为升舱、行李、餐食等附加服务付费。逻辑看起来简单:

辅营消费倾向 = 辅营消费总次数 ÷ 实际飞行次数(近2年)

按照直觉,我们设了三档:

  • 比率 ≥ 0.5 → 高频辅营
  • 比率 0.2 ~ 0.49 → 中频辅营
  • 比率 > 0 且 < 0.2 → 偶发辅营
  • 比率 = 0 → 无辅营消费

会议室里没有人觉得这有问题。比率——消除分母影响、跨群体可比——不正是数据分析中衡量"倾向"的标准做法吗?

1.2 裂隙

上线后一周,一位业务同事发来一条消息。

"为什么飞了一次、买了一次行李的旅客,被标记为'高频辅营'?"

那是一个瞬间的沉默。

1次飞行 ÷ 1次飞行 × 1次辅营 = 1.0 → 高频。

而一个真实的"高频辅营"旅客——飞行200次、消费120次辅营——比率是 0.6。

前者比后者"更高频"?

标签体系在这一刻开裂了。比率的数学正确,掩盖了业务语义的荒谬。

1.3 诊断

问题不在公式,而在前提。比率作为衡量指标,隐含一个假设:分母足够大,比率才稳定

统计学中这叫做"大数定律下的比率收敛"。一个只掷过3次硬币的人,"正面率"66%不代表什么;一个掷过1000次的人,正面率52%就足以说明微小的偏向。

但在客户标签分析中,这个前提被悄无声息地违反了:

旅客类型

飞行次数

辅营次数

比率

标签

合理吗?

一次性旅客

1

1

1.00

高频辅营

❌ 极其荒谬

低频旅客

3

2

0.67

高频辅营

❌ 样本太小

中频旅客

10

6

0.60

高频辅营

⚠️ 勉强可接受

高频旅客

200

120

0.60

高频辅营

✅ 真正的高频

标签在前三行失效了。不是因为数学错了,而是因为我们忘记了比率需要最小样本量的支撑

二、错误之路:在两个极端之间摇摆

2.1 第一个深渊:纯比率

你可能会说——把阈值调高不就行了?比率 ≥ 0.8 才是高频?

不。一个飞行1次、消费1次的旅客,比率依然是 1.0,无论阈值是多少都拦不住。比率型指标的悖论在于:分母越小,极端值越容易出现。小样本天然放大了偶然性。

而且真实的高频旅客(飞行200次、消费120次)比率只有 0.6——提高阈值会把他们错误地排除在外。扩大一类错误的同时,缩小了另一类。

纯比率之路走不通。这不是阈值的问题,是指标维度的问题。

2.2 第二个深渊:纯次数

"那就只看绝对次数。"有人提议。

飞行100次的旅客辅营10次,飞行1次的旅客辅营1次——前者是后者价值的10倍,逻辑上似乎更合理。

但新的问题立刻浮现:

旅客

飞行次数

辅营次数

纯次数标签(阈值 ≥ 5)

高频低倾向

200

5

高频辅营 ✅

低频高倾向

5

5

高频辅营 ❓

一个飞行200次、只在5次行程中购买辅营的旅客,与一个飞行5次、次次购买辅营的旅客——被归为同一类?前者显然对辅营不感兴趣(2.5%的转化),后者却是忠实消费者(100%转化)。

纯次数只衡量"量",丢掉了"率"——它无法区分"大量飞行中的偶尔消费"和"少量飞行中的密集消费"。这就是为什么 RFM 模型必须有 Frequency(频率),而不仅仅是 Monetary(金额)。

2.3 困境的本质

走完这两条断头路,问题的本质逐渐清晰:

  • 比率(Rate)衡量的是倾向强度,但在小样本下不稳定。
  • 次数(Count)衡量的是绝对规模,但丢失了倾向信息。
  • 两者不是替代关系,而是互补关系。关键不是选哪一个,而是如何让它们协作

这不是一个技术问题。这是一个概念问题:我们到底想衡量什么?

我们想说的是:"这个旅客有充分的证据表明他偏好辅营消费"。这句话本身同时包含两个要求——证据充分(次数够多),偏好明确(比率够高)。

三、修正:双重门槛的诞生

3.1 核心方案

修正后的逻辑如下:

IF [辅营消费总次数] = 0 THEN
    '无辅营消费'
ELSEIF [辅营消费总次数]/[实际飞行次数(近2年)] >= 0.5 
       AND [辅营消费总次数] >= 3 THEN
    '高频辅营'
ELSEIF [辅营消费总次数]/[实际飞行次数(近2年)] >= 0.2 
       AND [辅营消费总次数] >= 2 THEN
    '中频辅营'
ELSE
    '偶发辅营'
END

每个等级需要同时满足两个条件——比率达标(倾向明确)次数达标(证据充分)。

3.2 设计原则

门槛的取值并非随意,背后有三条原则:

原则一:0次优先短路。 绝大多数旅客(约70-80%)的辅营消费为0。将 [辅营消费总次数]=0 放在最前面判断,不仅是逻辑清晰,更是性能优化——绝大多数记录在第一个条件就被分流,后续计算不做。

原则二:门槛由业务含义决定,而非数据分布。 高频 ≥ 3次、中频 ≥ 2次——这个数字的依据是:

  • 1次可能是偶然(随手买了一次行李),不足以证明"习惯"。
  • 2次开始有重复性,可以谨慎归类为中频。
  • 3次及以上形成消费模式,配合高比率才可判定为高频。

如果数据分布中辅营消费次数普遍更高,阈值可以上调。但原则始终是:门槛必须区分"偶然"和"习惯"

原则三:比率与次数同向判断。 高频要求比率高(≥0.5)次数多(≥3),两者都是"高"要求。不存在"比率高但次数低就降级"或"次数高但比率低就升级"的交叉补偿——这恰恰是双重门槛优于加权评分的地方:清晰、可解释。

3.3 效果验证

修正后的逻辑,重新审视那些曾被错误标记的旅客:

场景

飞行

辅营

比率

原逻辑

新逻辑

变更原因

1飞1辅营

1

1

1.00

高频 ❌

偶发 ✅

辅营次数<2,证据不足

3飞2辅营

3

2

0.67

高频 ❌

中频 ✅

辅营次数<3,不满足高频门槛

5飞1辅营

5

1

0.20

中频 ❌

偶发 ✅

辅营次数<2,且比率刚触线

10飞6辅营

10

6

0.60

高频 ✅

高频 ✅

比率和次数双达标

10飞3辅营

10

3

0.30

中频 ✅

中频 ✅

比率和次数双达标

200飞120辅营

200

120

0.60

高频 ✅

高频 ✅

大样本下的真正高频

200飞5辅营

200

5

0.03

偶发 ✅

偶发 ✅

比率本身就很低

修正后,无辅营消费的"0次优先短路"也带来巨大性能收益:绝大多数记录仅经过一次 IF 判断即完成计算。

3.4 Tableau 实现

// 辅营消费倾向:比率 + 绝对次数双重门槛
IF [auxiliary_purchase_cnt_24m] = 0 THEN 
    '无辅营消费'
ELSEIF [auxiliary_purchase_cnt_24m] / ([domestic_flight_cnt_12m] + [international_flight_cnt_12m]) >= 0.5 
       AND [auxiliary_purchase_cnt_24m] >= 3 THEN 
    '高频辅营'
ELSEIF [auxiliary_purchase_cnt_24m] / ([domestic_flight_cnt_12m] + [international_flight_cnt_12m]) >= 0.2 
       AND [auxiliary_purchase_cnt_24m] >= 2 THEN 
    '中频辅营'
ELSE 
    '偶发辅营'
END

注意:分母使用的是近12个月飞行次数,而非24个月的辅营消费窗口。如果辅营消费窗口是24个月,分母也应使用24个月的飞行次数保持窗口一致。此处留予实现时确认。

四、反思:从一把尺子到一个工具箱

4.1 普适模式

辅营消费倾向的修正,揭示了一个在客户标签分析中反复出现的模式:

场景

比率指标

绝对量指标

统一解法

辅营消费倾向

辅营次数/飞行次数

辅营消费总次数

比率 + 次数双重门槛

退票倾向

退票次数/飞行次数

退票总次数

同理

投诉倾向

投诉次数/飞行次数

投诉总次数

同理

升舱转化率

升舱次数/飞行次数

升舱总次数

同理

溢价偏好

溢价行程/总行程

溢价总金额

同理

凡是"倾向/偏好/习惯"类标签,都会面临小样本下的比率陷阱。解法统一:比率反映倾向,次数验证证据。

4.2 三条启发

第一,比率不是万能的。 比率解决的是"跨群体可比"的问题,但它假设分母足够大。在客户分析中,大量旅客的飞行次数在个位数,比率在这个区间几乎失去统计意义。数据分析师的第一课,恰恰是学会质疑比率的局限性。

第二,标签的可解释性比数学精确性更重要。 一个标签如果业务人员看不懂、解释不了,再精确的公式也是无效的。双重门槛的优雅之处在于:任何一个读过规则的人,都能立刻理解为什么一个旅客被归为某一类——"因为他飞得多,而且买得多。"不需要统计学术语。

第三,性能是标签设计的一等公民。 将0次放在第一个判断条件,不是代码技巧,而是对数据分布的尊重。当70%以上的记录在第一个条件就被分流时,你为整个Dashboard节省了大量不必要的计算。在Tableau这样的内存计算引擎中,这意味着更快的加载、更流畅的交互。好的设计不只在逻辑上正确,也在工程上正确。

4.3 未竟之路

双重门槛仍然不是终点。下一步值得探索的方向:

  • 贝叶斯平滑(Bayesian Smoothing): 对小样本的比率进行"向全局均值收缩",使极端值收敛到更合理的估计。这是统计学上对小样本比率的标准解法,但业务可解释性较低。
  • 置信区间下限排序: 用 Wilson 分数区间下限替代原始比率,天然惩罚小样本。Reddit 的评论排序便是基于此原理。适用于"非此即彼"的排行场景。
  • 动态门槛: 根据数据分布(如分位数)自动设定次数门槛,而非硬编码。但代价是更新时标签可能漂移,破坏可比性。

这些是觉醒之路的下一程。但双重门槛已经解决了当下最紧迫的问题——标签不再被一次飞行绑架。

尾声

故事的结尾并不惊天动地。一段 IF-ELSEIF-END,几十行代码。但每一步都曾经走错过,每一步的错误都教了一些东西。

这就是客户标签分析的真相:没有一把尺子丈量一切,只有一组工具,在具体的场景中不断校准。

当你在自己的分析中再次遇到比率陷阱——一个飞行次数为个位数的客户,被极端的转化率推上"高频"的宝座——希望这篇文章能提醒你:

比率告诉你方向,绝对量告诉你这个方向有多少底气。两者缺一不可。

这也是《千面英雄》的核心启示:英雄出发时只带着一件武器(比率),在旅途中发现自己需要另一件(次数),归来时两手都握着力量。而真正的战利品,不是那个 IF 语句——是知道下一次遇到类似问题时,该如何思考。

*"唯有知识让我们免于平庸。"* —— XILEJUN

标签:客户标签分析 · 比率陷阱 · 小样本 · 双重门槛 · 辅营消费 · 数据思维

相关文档

  • 3_旅客衍生标签Tableau计算逻辑.md —— Tableau 实现
  • 2.1_旅客衍生标签字段清单.md —— 标签定义

作者:喜乐君 · v1.0 · 2026-06-04

No comments yet