3. 业务层特征(一):客户基本信息特征
业务层特征是反洗钱监测体系中承上启下的关键维度。它既承接了原始交易数据,又为后续的规则引擎与模型训练提供了可解释的业务语义。客户基本信息是业务层特征的起点,也是最稳定、最易获取的一类特征。本章聚焦于年龄、职业、地域、国籍、开户时长五个核心字段,讲解其风险映射逻辑与特征工程方法。
3.1 特征总览与风险逻辑
客户基本信息特征之所以重要,是因为它们直接关联到客户的身份真实性、交易合理性与地域风险暴露。下表总结了五个基础特征的风险驱动逻辑:
| 特征名称 | 风险驱动逻辑 | 典型异常模式 |
|---|---|---|
| 年龄 | 不同年龄段的收入能力、金融需求与风险偏好差异显著 | 高龄账户突然活跃、低龄账户大额交易 |
| 职业 | 职业决定收入来源的合法性与现金密集度 | 无业/学生高频大额、职业与交易模式不匹配 |
| 地域 | 地区经济水平、监管环境与洗钱犯罪分布不均 | 户籍地与交易地长期分离、频繁跨高风险区 |
| 国籍 | 涉及跨境资金流动、制裁名单与FATF高风险国家 | 高风险国籍客户短期内资金快进快出 |
| 开户时长 | 账户生命周期阶段决定行为基线 | 新开户即大额交易、长期休眠账户突然激活 |
实战要点: 客户基本信息特征属于“静态特征”,在建模时通常作为分组维度或交叉特征使用,很少单独作为强规则触发条件。例如,“年龄+职业”交叉后,可以更精准地定义“异常交易阈值”。
3.2 年龄特征工程
年龄特征的处理核心在于分段离散化与异常年龄清洗。直接使用原始年龄数值在反洗钱场景中意义有限,因为风险更多体现在年龄区间而非具体岁数。
3.2.1 年龄分段映射
推荐的分段方式需结合金融业务场景,而非简单按人口学划分:
- [0-17] 未成年组: 无独立收入来源,大额交易需关注监护人代持风险。
- [18-25] 青年组: 学生或初入职场,收入有限,高频大额需警惕。
- [26-45] 成年主力组: 收入稳定,交易类型复杂,是洗钱行为的高发伪装区间。
- [46-60] 中年组: 资产积累期,大额交易需结合职业合理性判断。
- [61+] 老年组: 退休收入为主,异常活跃或大额转出需关注诈骗/洗钱风险。
- [异常值]: 年龄 < 0 或 > 120,直接标记为数据质量告警。
3.2.2 衍生特征构造
基于年龄分段,可以构造以下衍生特征:
-- 示例:年龄与交易金额的交叉特征(SQL伪代码)
SELECT
customer_id,
CASE
WHEN age < 18 THEN '未成年'
WHEN age BETWEEN 18 AND 25 THEN '青年'
WHEN age BETWEEN 26 AND 45 THEN '成年主力'
WHEN age BETWEEN 46 AND 60 THEN '中年'
ELSE '老年'
END AS age_group,
AVG(txn_amount) AS avg_txn_amount,
-- 年龄组内偏离度:该客户平均交易金额偏离同年龄组均值的程度
(AVG(txn_amount) - age_group_avg) / age_group_std AS age_group_deviation
FROM customer_txn
GROUP BY customer_id, age_group;
3.3 职业特征工程
职业是判断收入来源合法性的核心字段。职业特征的处理难点在于:原始职业字段通常为自由文本,需要标准化映射。
3.3.1 职业风险分级
将职业按洗钱风险分为三个等级:
| 风险等级 | 典型职业 | 特征处理方式 |
|---|---|---|
| 低风险 | 公务员、教师、医生、大型企业职员 | 保留为基准组,用于计算偏离度 |
| 中风险 | 个体商户、自由职业、小微企业主 | 标记为“现金密集职业”,需结合交易现金比例 |
| 高风险 | 无业、学生、待业、退休(异常活跃时) | 直接触发尽职调查规则,或作为模型强特征 |
3.3.2 职业-交易一致性校验
构造“职业-交易模式一致性”特征,是识别账户借用或代持的关键:
-- 职业与交易模式一致性评分(伪代码)
def occupation_txn_consistency(occupation, txn_features):
# 定义各职业的合理交易画像
profile = {
'学生': {'max_single_txn': 5000, 'monthly_volume': 20000, 'cash_ratio': 0.3},
'个体商户': {'max_single_txn': 500000, 'monthly_volume': 2000000, 'cash_ratio': 0.7},
'公务员': {'max_single_txn': 100000, 'monthly_volume': 500000, 'cash_ratio': 0.1},
}
# 计算偏离得分
score = 0
for key, threshold in profile.get(occupation, {}).items():
if txn_features[key] > threshold * 3: # 超过阈值3倍
score += 1
return score # 得分越高,一致性越差
3.4 地域与国籍特征
地域和国籍特征主要解决空间维度的风险暴露问题。这两个特征需要与外部风险数据联动。
3.4.1 地域风险分层
将地域(省/市/县)按以下维度进行风险评分:
- 经济活跃度: 沿海经济发达地区交易量大,但洗钱案件也高发。
- 监管处罚记录: 近一年内被央行/银保监会处罚过的地区,风险权重上调。
- 边境/口岸属性: 边境地区涉及跨境资金流动,需额外关注。
- 户籍地与交易地偏离: 客户户籍在A地,但90%交易发生在B地,且两地距离超过500公里,标记为“地域偏离”。
3.4.2 国籍特征处理
国籍特征的处理核心是制裁名单匹配与FATF高风险国家映射:
| 国籍分类 | 处理方式 | 特征示例 |
|---|---|---|
| 本国(中国) | 作为基准组,不额外加权 | is_domestic = 1 |
| FATF白名单国家 | 低风险,正常监测 | fatf_risk_level = 'low' |
| FATF灰名单/黑名单国家 | 高风险,直接触发强化尽调 | fatf_risk_level = 'high', trigger_edd = 1 |
| 制裁名单国家 | 最高风险,系统自动冻结并上报 | sanction_flag = 1, auto_freeze = 1 |
数据质量警告: 国籍字段在实际业务中常出现“缺失”、“填写为‘地球’”、“填写为‘联合国’”等无效值。在特征工程阶段,必须对国籍字段进行有效性校验,无效值应归入“未知国籍”类别并标记为中等风险,而非直接丢弃。
3.5 开户时长特征
开户时长是账户生命周期的直接体现。新开户与老账户的行为基线完全不同。
3.5.1 账户生命周期分段
- [0-30天] 新开户期: 行为基线尚未建立,任何大额交易都应触发预警。
- [31-180天] 观察期: 逐步建立行为模式,可开始计算偏离度。
- [181-365天] 稳定期: 行为模式趋于稳定,适合作为模型训练样本。
- [1-3年] 成熟期: 历史数据丰富,可计算长期趋势特征。
- [3年以上] 老账户期: 突然改变交易习惯(如从低频变高频)是重要风险信号。
3.5.2 关键衍生特征
-- 开户时长衍生特征(SQL示例)
SELECT
customer_id,
DATEDIFF(day, open_date, GETDATE()) AS account_age_days,
-- 账户活跃度:开户以来月均交易次数
total_txn_count * 1.0 / NULLIF(DATEDIFF(month, open_date, GETDATE()), 0) AS monthly_txn_freq,
-- 近期活跃度变化:最近30天交易次数 / 历史月均交易次数
recent_30d_txn_count * 1.0 / NULLIF(monthly_txn_freq, 0) AS recent_activity_ratio,
-- 休眠标记:连续90天无交易
CASE WHEN days_since_last_txn >= 90 THEN 1 ELSE 0 END AS dormant_flag
FROM customer_profile;
3.6 特征体系结构图
下图展示了客户基本信息特征在反洗钱监测体系中的位置与内部关联:
3.7 实战案例:客户基本信息特征组合
以下是一个完整的特征工程案例,展示如何将上述五个特征组合成一个客户风险评分:
案例场景: 某银行在反洗钱监测中发现一个账户,开户仅15天,年龄22岁,职业为“学生”,但单日交易金额达到50万元,交易对手涉及3个不同省份。请基于客户基本信息特征进行风险评分。
特征评分过程:
| 特征维度 | 原始值 | 特征映射 | 风险得分 |
|---|---|---|---|
| 年龄 | 22岁 | 青年组(18-25) | 2/5 |
| 职业 | 学生 | 高风险职业(无稳定收入) | 4/5 |
| 地域 | 户籍A省,交易在B、C、D省 | 地域偏离(跨3省) | 4/5 |
| 国籍 | 中国 | 本国,低风险 | 1/5 |
| 开户时长 | 15天 | 新开户期(0-30天) | 5/5 |
| 综合风险评分 | 加权平均(权重:年龄0.1, 职业0.3, 地域0.2, 国籍0.1, 开户时长0.3) | 3.6/5(高风险) | |
结论: 该账户综合风险评分3.6分(满分5分),属于高风险账户。系统应自动触发强化尽职调查(EDD),要求客户提供收入证明、交易目的说明及资金来源文件。
3.8 特征工程避坑指南
- 避免过度离散化: 年龄分段不宜过细(如每5岁一段),否则会导致样本稀疏,模型泛化能力下降。
- 职业字段标准化: 自由文本职业字段必须做同义词合并(如“个体户”与“个体工商户”应归为一类),否则特征维度会爆炸。
- 地域特征时效性: 地域风险评分应每月更新一次,因为监管处罚记录和地区风险等级会动态变化。
- 国籍字段缺失处理: 缺失国籍不应简单填充为“中国”,而应标记为“未知国籍”,并按照中等风险处理,同时触发数据质量修复流程。
- 开户时长与交易行为联动: 新开户账户的交易阈值应动态调整,避免用老账户的基线去衡量新账户,导致大量误报。