1. 为什么传统RFM模型在航空业失效?
我第一次接触航空公司客户分析时,发现直接用RFM模型会踩坑。传统RFM模型通过最近消费时间(Recency)、消费频率(Frequency)、消费金额(Monetary)三个指标评估客户价值,但在航空业至少存在两个致命缺陷:
缺陷一:消费金额指标失真
假设乘客A花2000元飞北京-广州经济舱,乘客B花2000元飞上海-成都头等舱。虽然消费金额相同,但B乘客的舱位等级更高、利润空间更大。这说明单纯用票价总额无法反映真实价值。
缺陷二:分箱方法效率低下
传统方法会将每个指标分为5档(如1-5分),组合后产生5×5×5=125个细分群体。我曾按这个思路跑过数据,结果市场部同事直接崩溃——根本不可能为125类客户制定差异化策略。
2. LRFMC模型的五大黄金指标
经过多次实战验证,我总结出航空业专属的LRFMC模型。这个模型新增了两个关键维度:
L(Length):会员入会月数 = 观测窗口结束时间 - 入会时间
老会员往往有更高忠诚度,我经手的案例中,入会3年以上的客户留存率比新会员高47%C(Coefficient):平均折扣率 = Σ(舱位折扣×航段距离)/总里程
这个指标暗藏玄机:头等舱折扣0.8可能比经济舱全价更赚钱
完整指标构建公式:
# Python计算示例 df['L'] = (pd.to_datetime(df['LOAD_TIME']) - pd.to_datetime(df['FFP_DATE'])).dt.days/30 df['R'] = df['LAST_TO_END']/30 # 最近乘机月数 df['F'] = df['FLIGHT_COUNT'] # 飞行次数 df['M'] = df['SEG_KM_SUM']/1000 # 飞行里程(千公里) df['C'] = df['avg_discount'] # 平均折扣率3. 数据清洗的三大陷阱
去年帮某航司做分析时,原始数据62,988条记录中有689条异常数据。以下是容易踩坑的点:
陷阱一:积分兑换航班
票价0元但折扣率非0、飞行里程>0的记录要保留。这些通常是会员用积分兑换的航班,属于高价值客户行为。
陷阱二:数据标准化误区
不同指标量纲差异巨大:
- L范围:0-120个月
- M范围:368-580,717公里 必须进行Z-score标准化:
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaled_data = scaler.fit_transform(df[['L','R','F','M','C']])4. K-Means聚类的实战技巧
4.1 如何确定最佳K值
我常用肘部法则+业务解读双验证:
# 肘部法则代码示例 sse = [] for k in range(2,10): kmeans = KMeans(n_clusters=k).fit(scaled_data) sse.append(kmeans.inertia_) # 当K=5时曲线拐点最明显4.2 聚类中心解读
某次分析得到的5类中心点:
| 类别 | ZL | ZR | ZF | ZM | ZC |
|---|---|---|---|---|---|
| 1 | 1.16 | -0.38 | -0.09 | -0.09 | -0.16 |
| 2 | -0.31 | 1.69 | -0.57 | -0.54 | -0.17 |
| 3 | 0.48 | -0.80 | 2.48 | 2.42 | 0.31 |
| 4 | -0.70 | -0.42 | -0.16 | -0.16 | -0.26 |
| 5 | 0.05 | -0.00 | -0.23 | -0.24 | 2.18 |
5. 五类客户的特征雷达图
用Python绘制雷达图能直观展示差异:
import matplotlib.pyplot as plt angles = np.linspace(0, 2*np.pi, 5, endpoint=False) fig = plt.figure(figsize=(10,6)) ax = fig.add_subplot(111, polar=True) for i in range(5): values = np.concatenate((centers[i],[centers[i][0]])) ax.plot(angles, values, label=f'群体{i+1}') plt.legend(loc='upper right')分析结论:
- 群体3(重要保持客户):F/M指标爆表,最近刚飞过(R低)
- 群体5(重要发展客户):C值极高,常坐头等舱但飞行频次低
- 群体2(重要挽留客户):R值极大,超过1年未乘机
6. 精准营销策略落地
根据我们的分析报告,某航空公司实施了以下措施:
针对重要保持客户:
- 推出"白金卡快速通道"服务
- 每季度赠送1次免费升舱机会
针对重要发展客户:
- 定向发送国际航线优惠包
- 推出"飞满5次送1次"活动
避坑指南:
- 避免直接调用sklearn的KMeans就完事,要先观察数据分布
- 雷达图记得要闭合曲线(首尾数据点重复)
- 业务部门最关心的是"怎么做",一定要给出具体Action Plan