Files
cunkebao_v3/Server/RFM客户价值评分体系技术实施文档.md
2025-11-07 15:25:50 +08:00

11 KiB
Raw Blame History

RFM 客户价值评分体系技术实施文档

1. 文档目的

本文档旨在明确 RFMRecency-Frequency-Monetary客户价值评分体系的技术实现标准包括维度定义、评分规则、数据处理流程、参数配置及异常处理方案为系统开发、数据分析及业务应用提供统一依据。

2. 核心术语定义

术语 英文缩写 定义 数据来源 统计周期说明
最近消费时间 RecencyR 客户最后一次有效消费行为距统计截止日的时间间隔(单位:天) 订单系统、交易日志 支持自定义配置(默认 3-12 个月,按业务场景调整)
消费频率 FrequencyF 统计周期内客户发生有效消费行为的总次数 订单系统、交易日志 与 R 维度统计周期一致,剔除重复下单、取消订单等无效记录
消费金额 MonetaryM 统计周期内客户有效消费行为的总金额(单位:元,支持多币种换算) 订单系统、支付日志 仅统计已支付完成的订单金额,剔除退款、优惠抵扣部分
RFM 总分 RFM Score 基于 R、F、M 三个维度的分项得分,按预设权重计算的综合得分 系统计算生成 得分范围 1-15 分5 分制单项)或 1-100 分(标准化后)

3. 评分规则技术规范

3.1 分项评分规则(默认 5 分制)

3.1.1 RecencyR评分规则

  • 核心逻辑:时间间隔越短,得分越高(反向映射)

  • 分段标准:采用五分位法(按数据分布自动划分区间,避免均分失真)

得分 时间间隔区间(天) 划分逻辑
5 分 [0, T1] 统计周期内最近消费的 20% 客户
4 分 (T1, T2] 统计周期内次近消费的 20% 客户
3 分 (T2, T3] 统计周期内中间消费的 20% 客户
2 分 (T3, T4] 统计周期内较久消费的 20% 客户
1 分 (T4, Tmax] 统计周期内最久消费的 20% 客户
  • 区间计算方式T1=PERCENTILE_CONT (0.2)、T2=PERCENTILE_CONT (0.4)、T3=PERCENTILE_CONT (0.6)、T4=PERCENTILE_CONT (0.8),其中 Tmax 为统计周期总天数

3.1.2 FrequencyF评分规则

  • 核心逻辑:消费次数越多,得分越高(正向映射)

  • 分段标准:采用五分位法(支持最小消费次数阈值配置)

得分 消费次数区间 划分逻辑
5 分 [F4, +∞) 统计周期内消费次数最多的 20% 客户
4 分 [F3, F4) 统计周期内消费次数次多的 20% 客户
3 分 [F2, F3) 统计周期内消费次数中间的 20% 客户
2 分 [F1, F2) 统计周期内消费次数较少的 20% 客户
1 分 [Fmin, F1) 统计周期内消费次数最少的 20% 客户
  • 区间计算方式F1=PERCENTILE_CONT (0.2)、F2=PERCENTILE_CONT (0.4)、F3=PERCENTILE_CONT (0.6)、F4=PERCENTILE_CONT (0.8),其中 Fmin 为 1仅统计有效消费次数≥1 的客户)

3.1.3 MonetaryM评分规则

  • 核心逻辑:消费金额越高,得分越高(正向映射)

  • 分段标准:采用五分位法(支持剔除大额异常值后划分)

得分 消费金额区间(元) 划分逻辑
5 分 [M4, +∞) 统计周期内消费金额最高的 20% 客户
4 分 [M3, M4) 统计周期内消费金额次高的 20% 客户
3 分 [M2, M3) 统计周期内消费金额中间的 20% 客户
2 分 [M1, M2) 统计周期内消费金额较低的 20% 客户
1 分 [Mmin, M1) 统计周期内消费金额最低的 20% 客户
  • 区间计算方式M1=PERCENTILE_CONT (0.2)、M2=PERCENTILE_CONT (0.4)、M3=PERCENTILE_CONT (0.6)、M4=PERCENTILE_CONT (0.8),其中 Mmin 为统计周期内最小有效订单金额

3.2 总分计算规则

3.2.1 加权求和公式

RFM_{Score} = R_{Score} \times W_R + F_{Score} \times W_F + M_{Score} \times W_M

  • 权重配置:支持自定义(默认配置:$W_R=0.4$$W_F=0.3$$W_M=0.3$

  • 权重约束:$W_R + W_F + W_M = 1.0$,且单个权重取值范围为 [0.1, 0.8]

3.2.2 得分标准化(可选)

  • 若需将总分映射为 1-100 分,采用线性标准化公式:

    RFM_{StandardScore} = \frac{RFM_{Score} - RFM_{Min}}{RFM_{Max} - RFM_{Min}} \times 99 + 1

  • 其中:$RFM_{Min}=W_R \times 1 + W_F \times 1 + W_M \times 1$RFM_{Max}=W_R \times 5 + W_F \times 5 + W_M \times 5

4. 数据处理流程

4.1 数据输入要求

数据项 数据类型 格式要求 校验规则
客户唯一标识 String/Int 全局唯一(如用户 ID、会员 ID 非空、去重
订单唯一标识 String/Int 全局唯一(如订单号) 非空、去重
消费时间 DateTime yyyy-MM-dd HH:mm:ss 需在统计周期内
消费金额 Decimal(18,2) 大于 0 剔除负数、0 值
订单状态 String 枚举值(已支付、已取消、已退款等) 仅保留 “已支付” 状态

4.2 数据预处理步骤

  1. 数据过滤
  • 剔除统计周期外的订单数据

  • 剔除订单状态为 “已取消”“已退款”“无效” 的记录

  • 剔除员工内部订单、测试订单(按订单标签或用户标签过滤)

  • 剔除单笔金额超过$M_{99分位值} \times 3$的异常大额订单(可配置开关)

  1. 数据聚合
  • 按客户唯一标识分组,计算 R、F、M 原始指标:

    • RMAX (消费时间) 到统计截止日的时间间隔(天)

    • FCOUNT (DISTINCT 订单唯一标识)

    • MSUM (消费金额)

  1. 缺失值处理
  • 统计周期内无消费记录的客户R = 统计周期总天数F=0M=0分项得分均为 1 分

  • 单个指标缺失(如仅缺失 M按 1 分计分项得分

4.3 评分计算流程

graph TD
    A[数据输入] --> B[数据过滤]
    B --> C[数据聚合计算R/F/M原始值]
    C --> D[缺失值处理]
    D --> E[按五分位法划分各维度区间]
    E --> F[计算R/F/M分项得分]
    F --> G[按权重计算RFM总分]
    G --> H[可选标准化为1-100分]
    H --> I[输出客户RFM评分结果]

5. 参数配置说明

参数名称 配置项 取值范围 默认值 配置方式
统计周期 cycle_days 30-365 180 系统配置页手动输入
R 维度权重 weight_R 0.1-0.8 0.4 系统配置页滑动条调整
F 维度权重 weight_F 0.1-0.8 0.3 系统配置页滑动条调整
M 维度权重 weight_M 0.1-0.8 0.3 系统配置页滑动条调整
异常金额阈值 abnormal_money_ratio 1.5-5.0 3.0 系统配置页手动输入(倍数关系)
评分分制 score_scale 5 分制 / 100 分制 5 分制 系统配置页单选
缺失值处理策略 missing_strategy 按 1 分计 / 剔除客户 按 1 分计 系统配置页单选

6. 异常处理方案

6.1 数据异常

异常类型 表现形式 处理逻辑 影响范围
重复订单 同一客户同一时间相同订单号 去重保留 1 条有效记录 不影响 F、M 计算
大额异常订单 单笔金额 > M_{99分位值} \times 异常阈值 自动标记,可选择剔除或保留 仅影响 M 维度区间划分
消费时间异常 消费时间晚于统计截止日 视为无效数据,剔除 不影响最终结果
客户标识重复 同一客户多个唯一标识 按客户合并规则(如手机号、身份证号关联)聚合 需提前完成客户统一 ID 映射

6.2 计算异常

异常类型 触发条件 处理逻辑 输出结果
维度区间为空 某维度所有客户数据相同(如 F 均为 1 强制均分 5 个区间 分项得分按 1-5 分依次分配
权重总和不为 1 配置权重时计算错误 系统自动归一化处理($W'_X = W_X / (W_R+W_F+W_M)$ 不影响总分有效性
统计周期过短 小于 30 天导致数据量不足 系统给出警告,允许强制执行 区间划分可能失真,建议延长周期

7. 输出结果格式

7.1 单客户评分结果

字段名 数据类型 示例
客户 ID String CUST2023001
R 原始值(天) Int 15
R 得分 Int 5
F 原始值(次) Int 8
F 得分 Int 4
M 原始值(元) Decimal(18,2) 2560.00
M 得分 Int 5
RFM 总分 Decimal(5,2) 4.70
标准化得分(可选) Int 94
统计周期 String 2023-01-01 至 2023-06-30
计算时间 DateTime 2023-07-01 00:30:25

7.2 批量输出文件格式

  • 支持 CSV、Parquet、JSON 格式导出

  • 编码格式UTF-8

  • 压缩方式:默认 GZIP可配置关闭

8. 业务适配建议

业务场景 统计周期建议 权重调整建议 特殊配置
快消零售 3-6 个月 W_R=0.5, W_F=0.3, W_M=0.2 提高 R 维度权重,关注复购及时性
高客单价行业(如奢侈品、家居) 12 个月 W_R=0.3, W_F=0.2, W_M=0.5 提高 M 维度权重,关注消费能力
新品推广期 1-3 个月 W_R=0.6, W_F=0.2, W_M=0.2 重点关注近期新客户
会员体系运营 6-12 个月 W_R=0.4, W_F=0.4, W_M=0.2 提高 F 维度权重,鼓励高频消费

(注:文档部分内容可能由 AI 生成)