当前位置: 首页 > news >正文

Python 数据分析实战:LRFMC 模型与 K-Means 聚类识别 5 类航空客户价值

Python 数据分析实战:LRFMC 模型与 K-Means 聚类识别 5 类航空客户价值

在航空业高度竞争的今天,如何精准识别不同价值的客户群体并制定差异化服务策略,成为提升企业盈利能力的关键。传统RFM模型在航空客户价值分析中存在明显局限——消费金额并不能真实反映客户价值,因为长途经济舱与短途商务舱的价值差异显著。本文将完整呈现基于改进LRFMC模型和K-Means聚类的航空客户价值分析实战流程,从数据清洗到业务落地,提供可直接复用的Python代码方案。

1. 模型构建与数据准备

LRFMC模型是针对航空业特性对传统RFM模型的优化升级,五个核心指标分别为:

  • L(Length):会员入会时长(月数)
  • R(Recency):最近一次乘机间隔(月数)
  • F(Frequency):观测窗口内飞行次数
  • M(Mileage):总飞行里程(公里)
  • C(Coefficient):平均折扣率
import pandas as pd import numpy as np from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler # 原始数据加载与预处理 def load_data(filepath): raw_data = pd.read_csv(filepath, encoding='utf-8') # 数据清洗规则 condition = (raw_data['SUM_YR_1'].notnull()) & (raw_data['SUM_YR_2'].notnull()) index1 = raw_data['SUM_YR_1'] != 0 index2 = raw_data['SUM_YR_2'] != 0 index3 = (raw_data['SEG_KM_SUM'] == 0) & (raw_data['avg_discount'] == 0) return raw_data[condition & (index1 | index2 | index3)] # LRFMC指标计算 def calculate_lrfmc(df): 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'] df['C'] = df['avg_discount'] return df[['L','R','F','M','C']]

2. 数据标准化与聚类分析

由于各指标量纲差异显著(如里程数可达数十万,而折扣率在0-1之间),必须进行标准化处理。我们采用Z-score标准化方法:

# 标准差标准化 def standardize_data(df): scaler = StandardScaler() scaled_data = scaler.fit_transform(df) return pd.DataFrame(scaled_data, columns=['ZL','ZR','ZF','ZM','ZC']) # K-Means聚类实现 def kmeans_clustering(data, n_clusters=5): kmodel = KMeans(n_clusters=n_clusters, random_state=42) clusters = kmodel.fit_predict(data) return kmodel.cluster_centers_, clusters

聚类中心点结果示例:

类别ZL (L)ZR (R)ZF (F)ZM (M)ZC (C)
01.21-0.882.432.370.31
1-0.311.72-0.58-0.54-0.17
2-0.70-0.42-0.16-0.16-0.26
30.05-0.00-0.23-0.242.18
41.16-0.38-0.09-0.09-0.16

3. 客户群体特征解析

通过雷达图可视化可清晰识别五类客户特征差异:

import matplotlib.pyplot as plt def plot_radar(centers): labels = ['L','R','F','M','C'] angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False) angles = np.concatenate((angles,[angles[0]])) fig = plt.figure(figsize=(8,8)) ax = fig.add_subplot(111, polar=True) for i in range(len(centers)): values = np.concatenate((centers[i],[centers[i][0]])) ax.plot(angles, values, 'o-', label=f'Cluster {i}') ax.fill(angles, values, alpha=0.25) ax.set_thetagrids(angles*180/np.pi, labels) ax.set_rgrids([-1,0,1,2,3]) plt.legend(loc='upper right') plt.show()

五类客户业务解读:

  1. 重要保持客户(Cluster 0):

    • 特征:F/M极高,R极低,C中等
    • 策略:提供专属客服、升舱机会等VIP服务
  2. 重要发展客户(Cluster 3):

    • 特征:C极高,其他指标中等
    • 策略:推送高价值航线优惠,积分加速计划
  3. 重要挽留客户(Cluster 1):

    • 特征:R极高,F/M极低
    • 策略:发送召回优惠券,进行流失预警干预
  4. 一般客户(Cluster 2):

    • 特征:各项指标接近平均值
    • 策略:常规营销活动推送
  5. 低价值客户(Cluster 4):

    • 特征:L极高,其他指标低
    • 策略:减少营销资源投入

4. 业务落地与策略优化

基于聚类结果的精细化运营方案:

会员升级体系优化

# 生成客户价值标签映射 def generate_labels(cluster_ids): label_map = { 0: '重要保持客户', 1: '重要挽留客户', 2: '一般客户', 3: '重要发展客户', 4: '低价值客户' } return [label_map[i] for i in cluster_ids]

动态定价策略建议

  • 对Cluster 0客户减少折扣力度,提供非价格增值服务
  • 对Cluster 3客户提供阶梯式折扣,刺激消费频次提升
  • 对Cluster 1客户提供限时复购优惠

实战中发现三个关键洞察

  1. 长期会员(高L值)不一定高价值,需结合消费行为分析
  2. 高折扣率客户(高C值)的飞行频次提升空间达40%
  3. 通过聚类结果优化营销预算分配,可使ROI提升2-3倍
http://www.gsyq.cn/news/1646189.html

相关文章:

  • 微信公众号网页授权全流程实战:从OAuth2.0原理到本地调试与线上部署
  • 800–1000元家用打印机怎么选?激光vs喷墨真实成本与体验对比
  • Plone站点自动化创建:用collective.recipe.plonesite实现确定性部署
  • Plone可执行教程系统:面向内容治理的沙盒化教学范式
  • Python in Excel:让Excel原生支持Python数据分析
  • 基于ICM-42605与PIC18F2685的6DOF运动追踪系统设计
  • KARL协作模型:从ZODB状态机到现代AI-native知识流
  • Python in Excel实战指南:原生集成、性能优化与业务落地
  • Playwright自动化测试入门:1小时掌握环境搭建与首个脚本编写
  • BeautifulSoup网页解析入门:HTML结构化提取实战指南
  • 静电容键盘如何缓解腱鞘炎?四年键盘康复实录
  • 5分钟快速上手XUnity.AutoTranslator:打破语言障碍的Unity游戏翻译终极方案
  • Plone为何天生SEO友好?10个实测技术优势解析
  • AI大模型新手入门:从零到一部署本地模型与搭建应用原型
  • MongoDB向量搜索实战:从原理到混合查询优化
  • Cloud Run核心原理与实战:无服务器容器部署指南
  • Python换行符三大层级:语法、字符串与I/O全解析
  • Git删除分支:本地与远程分支清理全指南
  • 阿里云百炼Coding Plan与Token Plan本质区别解析
  • Excel中PI()函数:工业级精度锚点的底层逻辑与实战应用
  • Git Alias实战指南:提升开发效率的命令行杠杆
  • Git merge 实操指南:从 fast-forward 到 three-way merge 的工程真相
  • FedEx Day:24小时内在创新交付方法论
  • Excel SEQUENCE函数:告别手动编号的动态数组核心
  • PySpark读CSV防崩指南:参数原理、性能陷阱与工业级实践
  • R语言PCA实战:从数据标准化到业务归因的完整分析闭环
  • Plone 3主题开发:分层介入、模板安全与工程化交付
  • Plone 4延寿实战:稳定、安全、低运维的遗留系统可持续运营指南
  • LP5812与PIC32MX795F512L实现RGB LED动态灯光控制
  • 血缘驱动的多站点数据治理:从被动追踪到主动决策