跳至正文

【航空业务】用系数化逻辑构建旅客评分卡

在做航司数据分析的这些年里,我经常被问到一个问题:“怎么才能准确地把商旅客户找出来?”

以前,我们的做法很直接:看他是不是坐公务舱,或者看他是不是企业协议客户。但这种“非黑即白”的标签化逻辑在现在越来越行不通了。很多大公司的基层员工出差只能坐经济舱,而很多学生党也会趁着大促买一张公务舱体验生活。

如果你只用“是/否”来定义商旅,你会漏掉那群虽然坐着折扣经济舱,但每周都在城市间高频往返的“硬核职场人”。

所以,我最近在思考,能不能把旅客的每一个特征都变成一把“刻度尺”?

一、 为什么我们要引入“0-1系数”的概念?

在进入复杂的公式前,我想先聊聊为什么要费劲把数据“系数化”。

想象一下,如果你手里有两个旅客:

  • 旅客A: 临行前 2 小时买票,买的是全价 Y 舱。
  • 旅客B: 提前 3 天买票,买的是 8 折经济舱。

如果用文本标签,他们可能都被标为“商务”。但显然,旅客A的商务属性更“纯”,更紧迫。

我把“完全符合商务特征”的行为定义为 1,把“完全没有商务特征(纯旅游)”的行为定义为 0

  • 旅客A的提前期系数可能是 1.0
  • 旅客B的提前期系数可能是 0.7

这样做的好处是:不同的要素可以相加了。 我们可以把提前期、舱位、出行日期像调鸡尾酒一样,按比例混合在一起,最终得到一个 0 到 10 分的“商务偏好分”。这种“精细化”的表达,比冷冰冰的标签要精确得多。

二、 数学工具箱:如何选择合适的“刻度曲线”?

在把原始数据(比如天数、折扣)转化成 0-1 系数时,我尝试过几种不同的数学逻辑。每一种背后其实都代表了一种业务主张:

1. 线性逻辑 (Linear)

  • 公式示例:
y=1xxmax y = 1 – \frac{x}{x_{max}}
  • 优缺点: 简单直观,但它认为“提前 1 天和 2 天的区别”与“提前 10 天和 11 天的区别”是一样的。
  • 业务评价: 往往不符合实际。在商务场景下,前几天的边际变化远比后几天重要。

2. 反比例急速衰减 (Hyperbolic)

  • 公式示例:
y=1x+1y = \frac{1}{x+1}
  • 优缺点: 下降极快。
  • 业务评价: 这太“刻薄”了。它认为提前 1 天买票的人,价值就只有当天买票的一半。这会导致模型过于敏感,误伤很多正常的商务客。

3. 平滑平移函数 (Smooth Decay) —— 我最推荐的方案

  • 公式示例:(k 为调节常数)
y=kx+ky = \frac{k}{x+k}
  • 优缺点: 它在头部比较平缓,给商务客留出了一定的“容错区间”,然后在中间阶段快速下降。
  • 业务评价: 这种曲线最像真实的人类行为。比如我们取 $k=5$,提前 0-2 天的分数都很高,能有效识别出那一群“紧急出差”的群体。

为了帮你更好地理解不同“平滑逻辑”在业务上的区别,构建一个笛卡尔坐标系图表。

图表说明:

  • X轴 (横轴):购票提前期 (Lead Days)。 范围从 0 天到 20 天。特别标注了 14天 这个截断点。
  • Y轴 (纵轴):得分系数 (Score Coefficient)。 范围从 0.0 到 1.0(满分)。

核心逻辑: 所有的线条都应用了“14天截断(Cap)”规则。也就是说,当 X > 14 时,所有公式里的 X 都强制等于 14,因此所有线条在 14 天后都会变成水平直线。

AI为我生成了四条具有代表性的曲线进行对比:

  • 红色线(急速衰减): 你提出的原始方案 $y = \frac{1}{x+1}$。
  • 蓝色线(平滑衰减): 我之前建议的改良方案 A $y = \frac{5}{x+5}$。
  • 绿色线(线性递减): 最简单的直线逻辑 $y = 1 – \frac{x}{15}$ (用15做分母是为了避免14天时系数为0)。
  • 紫色线(指数衰减): 模拟S型曲线后半段的逻辑 $y = e^{-0.15x}$,常用于模拟行为快速流失。

上面的几种逻辑,放大了0天和3天的差异,我希望模型能更强烈地保护“紧急商务客”的得分,提前 0-3 天购票的行为在价值上几乎是等同的,不应该有明显的衰减。

于是就有了全新的“抛物线衰减”模型,并将其与之前的两个关键方案进行对比。

4. 抛物线/S型曲线 (Sigmoid/Parabolic)

  • 优缺点: 两头平缓,中间陡峭。
  • 业务评价: 适合处理那些有明显分水岭的数据,但在处理提前期这种长尾数据时,不如平滑衰减函数好用。

**这是一个开口向下的抛物线。在 $x$ 较小时,$x^2$ 的增长非常缓慢,导致 $y$ 值在初期几乎保持在 1.0 附近。随着 $x$ 的增加,下降速度会逐渐加快。之所以用 15 作为分母,是为了让曲线在 14 天截断时恰好落在一个合理且较低的位置(约 0.13),而不是直接掉到 0。

三、 特征量化实战:我的三个核心维度

有了数学工具,我选取了三个最能代表“职场人”特征的维度进行建模。

2.1 购票提前期 (Clead) —— 识别“紧迫性”

我坚持认为,“时间”是比“金钱”更重要的商旅指标。

  • 逻辑: 商务客是“不得不飞”,休闲客是“想飞才飞”。
  • 量化:
Clead=5min(d,14)+5C_{lead} = \frac{5}{\min(d, 14) + 5}
  • 思考: 为什么要 14 天截断?因为提前 15 天还是 150 天买票,在判断是否为商旅上已经没有区别了。

2.2 舱位价值 ($C_{cabin}$) —— 识别“付费意愿”

虽然大家都在砍成本,但舱位依然反映了公司的底气或员工的职级。

  • 逻辑: 同样是经济舱,Y/B/M 舱(高折扣)的退改更灵活,是商务首选。
  • 量化:(根据舱位序列映射,全价公务为1.0,特价经济约为0.3)。
Ccabin=10seq_no+9 C_{cabin} = \frac{10}{seq\_no + 9}

2.3 出行时段 ($C_{dow}$) —— 识别“节奏感”

职场人是按“周”活着的。

  • 映射逻辑:
    • 周一/周五 = 1.0(出发与返程的巅峰)
    • 周二/三/四 = 0.8(差旅进行中)
    • 周日 = 0.5(为了周一开会提前出发)
    • 周六 = 0.2(除非极个别加班,否则多为旅游)

四、 权重的演进:从“看口袋”到“看行为”

这是我模型中最有趣的一次转变。最开始,我设定的权重是 舱位(0.5) > 提前期(0.3) > 星期(0.2)

结果发现: 模型打出的高分全是老板。那些真正为公司奔波、拿着打折经济舱机票的销售和工程师,分数竟然只有 4-5 分。

后来我把权重反了过来:

  • 提前期 (0.45) + 星期 (0.35) + 舱位 (0.2)

为什么这么改?因为在现代差旅环境下,行为比舱位更诚实。一个周一早晨坐着折价经济舱、拎着公文包单人出行的乘客,他即便没买公务舱,他展现出的商务特征也远比一个提前一个月买好度假公务舱的旅客更强。

五、 后续的想象空间:还能加点什么?

现在的模型已经很稳了,但我觉得还有几个“进阶版”的系数可以加进去:

  1. “孤独系数”: 1人出行系数为1.0,每增加1个同行人,系数呈指数级下降。商务客通常是孤独的。
  2. “折腾系数”: 改签次数越多,系数越高。只有行程不确定的人才会频繁改签。
  3. “渠道系数”: 从 TMC(差旅平台)进来的直接给 1.0。

结语

把旅客标签化,本质上是把活生生的人简化成一张表。而把旅客“系数化”,是试图还原这个人在旅途中的真实状态。

通过这套方法,我们不仅能给出一个 0-10 的分值,还能通过不同系数的组合,看到每位旅客背后的故事:他是“多金但有计划的老板”,还是“行色匆匆的基层销售”?这种洞察力,才是数据给业务带来的最大诚意。

by 喜乐君、Gemini 3