3. 数据基础准备:数据源类型、清洗与质量评估

人群切片复盘的质量,90% 取决于底层数据的准确性与完整性。本章聚焦风控场景下三类核心数据源的特征、清洗方法及质量评估标准,为后续切片分析打下坚实基础。

3.1 数据源类型与特征

风控人群切片通常依赖以下三类数据源,每类数据在切片维度、时效性和覆盖度上各有差异:

数据源类型 典型字段 切片适用场景 常见问题
申请数据 身份信息、收入、职业、联系人、设备指纹 首贷人群分层、欺诈团伙识别 缺失率高、填写错误、设备篡改
行为数据 登录频次、浏览路径、交易金额、还款习惯 存量客户流失预警、额度调整 埋点缺失、时间窗口不统一、异常值
外部征信 多头借贷、逾期记录、法院执行、社保公积金 跨平台风险传导、黑名单匹配 更新延迟、数据格式不统一、授权过期
实战建议: 切片复盘初期优先使用申请数据 + 行为数据组合,外部征信作为交叉验证层。避免一开始就引入过多外部源导致数据对齐成本过高。

3.2 数据清洗与预处理

原始数据无法直接用于切片分析,必须经过以下标准化清洗流程:

  1. 缺失值处理:对关键字段(如收入、年龄)采用均值/中位数填充;对非关键字段(如备用联系人)可标记为“未知”。
  2. 异常值检测:使用 IQR 或 Z-score 方法识别极端值(如申请金额超过 100 万),结合业务规则判断是否剔除或截尾。
  3. 格式统一:日期统一为 YYYY-MM-DD,金额统一为分(整数),手机号、身份证号做脱敏处理。
  4. 重复记录去重:按用户 ID + 时间戳排序,保留最新一条有效记录。
  5. 衍生变量构造:如“近 30 天登录天数”、“多头借贷平台数”等聚合指标,提升切片区分度。
# 示例:Python 数据清洗片段
import pandas as pd
import numpy as np

# 读取原始申请数据
df = pd.read_csv('apply_data.csv')

# 缺失值处理:收入字段用中位数填充
df['income'].fillna(df['income'].median(), inplace=True)

# 异常值截尾:申请金额上限设为 99 分位数
cap = df['loan_amount'].quantile(0.99)
df['loan_amount'] = df['loan_amount'].clip(upper=cap)

# 日期格式统一
df['apply_date'] = pd.to_datetime(df['apply_date'], format='%Y%m%d')

# 衍生变量:近 7 天申请次数
df['apply_7d_count'] = df.groupby('user_id')['apply_date'].transform(
    lambda x: x.diff().dt.days.le(7).cumsum()
)
常见陷阱: 清洗时不要对切片关键字段(如“是否逾期”)做全局填充,否则会引入偏差。建议按切片分组后分别处理缺失值。

3.3 数据质量评估

在进入切片分析前,必须对数据质量做量化评估。以下为风控场景的核心评估维度:

维度 指标 合格阈值 影响
完整性 字段缺失率 < 5% 缺失过高导致切片样本量不足
准确性 字段值合法率(如手机号 11 位) > 95% 错误数据扭曲切片分布
一致性 跨表字段逻辑校验(如年龄 > 0) 100% 逻辑矛盾导致切片定义失效
时效性 数据延迟天数 < 1 天 延迟数据使切片复盘滞后
唯一性 主键重复率 0% 重复记录导致切片计数翻倍
质量评估报告模板: 每次数据准备完成后,输出一张质量评分卡(0-100 分),低于 80 分需退回数据源方修复。评分公式 = 完整性×30% + 准确性×30% + 一致性×20% + 时效性×10% + 唯一性×10%。

3.4 数据源融合与切片对齐

三类数据源融合时,需注意以下对齐规则:

  • 用户级主键:统一使用 user_id + 时间戳作为关联键,避免因手机号、身份证号变更导致匹配失败。
  • 时间窗口对齐:行为数据与外部征信数据需对齐到申请时间点(T 日),避免引入未来信息。
  • 切片粒度统一:所有数据源在融合后,必须按切片维度(如“近 3 个月逾期次数”)做聚合,确保每行代表一个用户的一个切片标签。
数据源融合与切片对齐流程 申请数据 身份/收入/设备 行为数据 登录/交易/还款 外部征信 多头/逾期/法院 数据清洗与预处理 缺失填充 → 异常截尾 → 格式统一 → 去重 → 衍生变量 数据质量评估 完整性 ≥95% | 准确性 ≥95% | 一致性 100% | 时效性 <1天 | 唯一性 0% 切片分析就绪数据集
关键原则: 数据融合后必须做一次“切片一致性校验”——随机抽取 3 个切片(如“高收入-无逾期”、“低收入-有逾期”),人工核对原始数据与融合后数据是否一致。这是避免“垃圾进,垃圾出”的最后防线。