做了多年信贷风控,我越来越觉得“用户画像”这个词已经被用滥了。很多人拿一堆标签就开始搭画像平台、做数据看板,最后业务方问一句“然后呢”,项目就卡住了。信贷领域的用户画像,本质上不是用来“看”的,而是用来“算”和“决策”的。它的核心任务只有一条:把一个人有没有能力还钱、愿不愿意还钱、当前风险有多大,翻译成机器能读取、策略能落地的结构化标签。
这篇文章不打算讲那种虚的“画像平台”,而是想结合我自己的落地经验,把画像从数据设计、标签加工、模型使用到业务联动的完整链路拆开。正在做信贷风控、数据产品、策略运营的朋友,可以参考里面很多实操细节和踩坑教训,能少走点弯路。
1. 信贷用户画像:先搞清楚它到底在画什么
1.1 画像的本质是风险翻译,不是用户写真
很多刚入行的同学会把用户画像理解成“给用户做人物侧写”,比如兴趣爱好、消费偏好、活跃时段这些。这种东西在电商广告里很常见,但在信贷场景里,逻辑完全不一样。
信贷用户画像不是写真,而是风险翻译。你画的每个人,最终都要落回一个核心问题:这笔钱借出去,对方按时还款的概率有多大?所以同一个行为,在不同场景下解读完全相反。比如“经常换手机”在消费画像里可能代表时尚敏感、购买力强,但在信贷画像里往往需要警觉,频繁更换设备可能意味着多头借贷、账号异常,甚至是欺诈风险。
信贷画像的每个标签,都必须能对应到还款能力、还款意愿、稳定性、欺诈风险这四个维度之一。如果某个标签很好看,但解释不了任何风险现象,那它在信贷场景里就没有决策价值。这是和那些“用户生命周期画像”“兴趣偏好画像”最大的区别。
1.2 画像服务的三类决策:准入、额价、催收
信贷业务里,用户画像最终要服务三件事:贷前准入、贷中监控、贷后催收。这三件事对画像的粒度和实时性要求差别很大。
贷前准入,核心是这个人能不能借、最多借多少、利率定多少。这个时候需要强变量,比如人行征信、收入负债、历史逾期、多头借贷情况。画像要做的是“录取评估”,一次申请进来,快速给出风险结论。
贷中监控,核心是这笔借出去的钱还安不安全。画像要从“一次性评估”变成“持续观察”,重点看用户借款后的行为变化:还款渠道有没有切换、近期有没有更频繁地申请借款、担保关系有没有异常。这一层需要更实时、更动态的标签。
贷后催收,核心是这笔钱如果逾期了,怎么用最小成本收回来。画像要回答:这个人是不是真没钱,还是在装作没钱?他失联的概率有多大?用短信、人工电话还是委外催收更合适?同一个逾期客户,画像不同,处置方式完全不同。
所以不要只把画像当成一个静态的标签库。画像面向的是决策流,不同决策节点对画像的字段、时效、可解释性要求都不一样。
1.3 画像和报表的本质区别
我经常遇到产品经理把画像需求写成“我要一张用户全景视图页面”,最后做出来就是一堆报表图表。报表回答的是“发生了什么”,画像回答的是“这个人现在能不能借、值多少、下一步该怎么办”。
报表是给人看的,画像本质上是给策略和模型消费的。画像标签要能直接进入规则引擎、评分卡、机器学习模型,变成审批、定价、预警动作的输入变量。如果画像标签不能进决策,那它再丰富也只是一个展示用的“巨型Excel”。
这也是为什么我一直强调,画像字段设计必须和下游策略打通。画像不是数据团队自嗨的作品,而是要能被策略同学拿去写规则、能被模型同学拿去当特征、能被催收系统拿去分案。
2. 标签体系设计:画像从0到1的骨架怎么搭
2.1 四象限标签:身份、资产、信用、行为
信贷画像的标签体系,我习惯按四个大类来组织:身份特征、资产能力、信用历史、行为动态。这四个象限基本覆盖了还款能力和还款意愿的全部信息。
身份特征解决“你是谁”。包括年龄区间、学历、婚姻状况、职业类型、工作稳定度、居住稳定性等。这些标签大多来自用户申请表和内部审核信息,适合做基础准入规则。比如年龄在22岁以下或55岁以上的,风险一般偏高,很多产品会做限制。
资产能力解决“你拿什么还”。包括税后月收入、公积金基数、社保缴纳情况、名下房产、车辆、理财资产等。这类标签直接决定授信额度,是定价环节最核心的变量。
信用历史解决“你过去怎么还”。包括征信查询次数、历史贷款笔数、当前负债余额、逾期天数和次数、信用卡使用率、内部历史还款表现等。这是预测未来违约最有力的证据。
行为动态解决“你现在在干什么”。包括近30天申请次数、近期设备变动、登录时段、还款渠道变化、借款用途等。这类标签很多来自内部埋点和外部合作数据,特别适合贷中监控和欺诈识别。
下面是一个常见的标签示意表,方便新同学理解:
| 标签大类 | 常见标签示例 | 主要数据源 | 典型决策用途 |
|---|---|---|---|
| 身份特征 | 年龄区间、职业稳定度、居住时长 | 申请表、内部审核 | 基础准入 |
| 资产能力 | 月收入、公积金基数、房产情况 | 税务、公积金、自填 | 额度定价 |
| 信用历史 | 征信查询次数、最大逾期天数、负债比 | 征信、内部还款记录 | 风险定级 |
| 行为动态 | 近30天申请次数、还款渠道变化 | 埋点、借贷行为数据 | 贷中预警、反欺诈 |
2.2 口径统一:给了钱交代不了的标签等于零
标签体系里最容易翻车的地方,不是算法不行,而是口径打架。同一个“收入”,税务系统拉出来的收入和用户自填收入可能差两倍;同一个“查询次数”,征信报告里的硬查询和贷款审批查询也有细微差别。如果口径不统一,你用收入标签做额度,策略同学用另一个口径做准入,最后就是审批结果莫名其妙。
一个标签要想真正可用,至少要把四个“确定”写清楚:
- 确定数据源:数据从哪里来,是主表、子表还是外部接口;
- 确定时间窗口:是近3个月、近6个月还是自开户以来累计;
- 确定统计逻辑:是取最大值、均值、最近一次,还是区间计数;
- 确定缺失处理:空值、0值和极端值分别怎么处理,是不能为空,还是补默认值。
我建议每个标签都有一份口径文档,字段至少包括:标签名、业务含义、数据源表、取数逻辑、输出类型、更新频率、负责人、口径变更记录。不要嫌麻烦,等上线三个月后,前人离职、口径失传,新来的同学只能靠猜,那才叫灾难。
2.3 分层与时效:画像不是一天算一次就完事
画像标签的时效设计,直接影响系统成本和业务效果。身份、学历这类标签几个月不变,根本不需要每天更新;而申请次数、负债变化这种动态标签,如果T+1更新,贷中预警就慢半拍。
我习惯把标签分为三层:
基础层,也称为静态标签,主要存身份、职业、学历这类低频信息,T+1批量更新即可。指标层,也叫衍生标签,通过基础数据计算近N天行为指标,比如近30天申请次数、近90天最大逾期天数,T+1计算基本够用。实时层,用于欺诈识别和贷中阻断,比如设备是否命中黑名单、同一手机号当日申请次数,这类标签要分钟级甚至秒级计算。
很多团队为了追求“全实时”,把所有标签都丢进流式计算框架,成本高不说,还经常因为延迟问题把简单事情搞复杂。我的建议是,冷标签走批量,热标签走实时,别搞一刀切。
3. 数据来源与合规边界:食材好坏决定画像生死
3.1 四路数据源怎么搭配最合理
信贷画像能用的数据,大致分四类。内部数据是最基础的一层,包括申请填写信息、审批记录、还款记录、APP埋点行为。这类数据准确性高、成本低,但覆盖范围有限,很多新客户没有历史。
人行征信是信贷专属的核心数据,包含借贷记录、逾期情况、查询记录等。它的权威性和区分度都很高,但缺点是维度相对单一,覆盖不到没有信贷记录的客群。
第三方替代数据,包括运营商数据、税务数据、公积金数据、社保数据。这类数据能补足征信白户的画像空白,但在稳定性和合规性上参差不齐,需要仔细评估。
用户授权数据,包括用户主动提供的社保密码授权、电商账单授权等。这类数据准确性高,但授权流程重,获取成本高,适合用于大额产品的补充核验。
现实情况下几乎没有哪个产品能把四类数据全部吃满。小额短周期产品可能更依赖行为数据和风险名单;大额长期产品则必须抓好征信和收入资产类数据。数据源搭配没有标准答案,关键是搞清楚你的目标客群长什么样,哪些数据能最大限度区分好坏客户。
3.2 合规红线:画像做得越深越要管住手
信贷画像越精细,涉及的敏感信息就越多,数据合规问题越躲不开。这部分不是法务一个部门的事,做画像的数据同学和策略同学都必须有意识。
核心原则,我认为是合法授权、最小必要、目的限定。用户授权你采集某类数据用于信贷风险评估,那就只能用于这个目的,不能顺手挪去做别的产品营销。画像字段设计时,能不碰的就不碰。与信贷决策没有直接关系的数据,比如聊天内容、通讯录联系人关系、相册信息、健康记录、宗教信仰等,都应当排除在画像体系之外。
另外,基于某些敏感属性做画像会有歧视风险。比如按性别、地域、民族直接做风险分档,不仅监管不允许,在商业上也是自找麻烦。做特征筛选时,要反复审查标签是否符合公平性原则。
合规自查要嵌入上线流程,而不是最后补流程。新增一个数据源,先做来源审核;新增一个敏感标签,先做必要性评估;对外输出画像结果,先做去标识化处理。这个环节省不掉,一旦出事,画像项目再漂亮也没用。
3.3 数据质量校验的土办法
很多团队在画像开发阶段最重视算法和模型,反而忽视了上游数据质量。实际上,数据质量不过关,后面所有标签和模型都是在垃圾上盖楼。
我常用的土办法是每天跑一张数据质量校验表。不搞复杂平台,一段SQL就能发现大部分问题:
select data_date, count(*) as total_cnt, count(distinct user_id) as user_cnt, sum(case when income_amount is null then 1 else 0 end) as income_null_cnt, sum(case when credit_score = 0 then 1 else 0 end) as score_zero_cnt, sum(case when apply_cnt < 0 then 1 else 0 end) as apply_cnt_negative_cnt from dwd_user_profile_label_d where data_date = '${bizdate}' group by data_date;这张表的输出,重点看三个指标:空值率有没有突然跳高,0值占比是否异常,负值或不合理区间是否出现。比如收入字段为空值率从2%涨到20%,大概率上游数据源断了字段映射。再比如某一天查询次数的分布明显变化,可能不是业务波动,而是口径被蹭改。
这类质量校验不需要复杂的规则引擎,列几十条核心规则,每天早上自动跑一遍,结果发到群里,谁的问题谁认领,解决速度反而最快。
4. 从标签到决策:画像特征与模型的落地全流程
4.1 特征工程:别把标签一股脑丢进模型
有些同学拿到几百个画像标签后,直接拼一个大宽表丢给机器学习模型,期望模型自己学习。这在信贷场景里风险很大,一是可解释性差,二是很容易过拟合,三是变量之间高度相关导致模型不稳定。
正确的做法是先做特征工程。每个连续型标签先分箱,比如把“月收入”分成5000以下、5000-10000、10000-20000、20000以上几个档位,然后计算每个档位的好坏客户占比差值,也就是WOE值。通过WOE和IV值筛选变量。
| 变量 | 分箱 | 样本占比 | 坏样本率 | WOE | IV |
|---|---|---|---|---|---|
| 月收入 | 0-5000 | 18% | 6.2% | -0.88 | 0.092 |
| 月收入 | 5000-10000 | 34% | 4.1% | -0.35 | 0.030 |
| 月收入 | 10000-20000 | 32% | 2.3% | 0.28 | 0.021 |
| 月收入 | 20000以上 | 16% | 1.1% | 0.95 | 0.041 |
IV值在0.1以上,这个变量就有一定区分能力;0.3以上算强变量。但不要只看IV,还要看业务逻辑是否通顺。有些变量IV很高,但是未来不可解释,或者缺失率太高,用起来也很危险。
筛选完变量后,再做相关性分析和共线性检查。两个高度相关的标签保留一个即可,否则模型不仅冗余,线上推理也浪费资源。
4.2 三种打法:规则、评分卡、机器学习怎么选
信贷画像落地决策,不只一条技术路线。我见过三种主流打法,各有各的适用场景。
第一种是规则引擎,适合冷启动阶段和小额高频场景。画像标签直接写成规则,比如“近7天申请次数超过5次直接拒绝”“收入负债比超过50%降额50%”。优点是透明、上线快、易解释,缺点是规则多了之后人工维护成本高,容易变成失控的“规则森林”。
第二种是评分卡模型,这是信贷行业最经典的方案。把画像标签做WOE分箱转换成标准化的分数,再用逻辑回归把分数汇总成一个信用评分。好处是稳定、可解释、方便监管审计,也容易设置分数阈值。缺点是特征表达能力有限,做不了太复杂的交互特征。
第三种是机器学习模型,比如GBDT、XGBoost这类。适合数据量大、特征维度高的场景,能自动捕捉复杂模式,区分度通常比逻辑回归好。缺点是解释性弱,部署和监控成本高,需要额外的模型解释工具和拒因生成机制。
我个人的建议是,新业务冷启动时先用规则+评分卡把底线守住,等数据积累到一定量级再考虑机器学习模型做增量优化。千万别一上来就追求最炫的模型,信贷业务最怕的不是效果差,而是出了问题说不清楚。
4.3 画像更新的调度与监控
画像不是一次性项目,上线之后要每天稳定运转。整个更新流程一般是:数据接入 → 质量校验 → 标签计算 → 特征拼接 → 模型评分 → 结果分发到策略引擎和数据服务。
调度上最常遇到的问题就是延迟。比如凌晨的数据2点还没到,标签任务一直重试,导致早上审批系统用的还是昨天甚至前天的画像数据。解决思路是给调度设置优先级和依赖检查。核心标签任务要有独立告警,超过容忍时间没跑完,立刻通知数据负责人,而不是让任务躺在调度平台里“自动重试到天荒地老”。
监控指标里,PSI是最关键的稳定性指标。它衡量线上画像分的分布和建模时训练集分布有没有偏移。PSI小于0.1代表稳定,0.1到0.25需要关注,大于0.25基本可以判定模型或人群出了问题。每月定期输出PSI报表,一旦指标异常,要尽快回溯是数据源变化、标签口径变化还是客群结构变化。
5. 贷前贷中贷后:用户画像在信贷业务里的三个主战场
5.1 贷前:用画像把“能不能借、借多少”一次说清
贷前是整个信贷链条里画像价值最集中的环节。客户一提交申请,系统会立刻拉取画像标签,基于准入规则和评分模型给出决策结果。
画像在贷前要同时回答两个问题:能不能通过,以及额度和价格给多少。还是以某消费信贷产品举例。一个用户收入挺好,月薪2万,公积金基数1万8,按常识判断还款能力没问题。但画像里“近30天申请贷款平台数”这个标签显示是8,多头借贷特征非常明显。这时如果再给他放款,他很可能是在拆东墙补西墙,风险并不低。最终策略是拒绝,哪怕他的收入负债比看起来还不错。
额度定价也依赖画像分层。下表是一个简化示意:
| 风险等级 | 画像特征示意 | 审批建议 | 初始额度范围 |
|---|---|---|---|
| A | 收入稳定、负债低、无逾期 | 秒批 | 5万-20万 |
| B | 收入中等、负债可接受 | 通过 | 1万-5万 |
| C | 收入一般、查询次数偏高 | 人工复核或降额 | 5000-1万 |
| D | 多头借贷严重、有逾期 | 拒绝 | 0 |
贷前画像设计最怕的是用一个总分打天下。实际业务中,风险和欺诈要分开看,额度定价和利率定价也要分开看。画像标签既要给到总分,也要保留关键子维度,策略才能灵活拆分。
5.2 贷中:别等逾期,画像变化本身就是信号
很多风控团队在贷中环节投入不足,总觉得人批下来就完事,等到逾期才去催收。其实很多风险信号在逾期之前就已经通过画像标签表现出来了。
比如一个长期在APP上正常还款的用户,突然连续几天在凌晨异常登录,同时“近7天跨平台借贷申请次数”快速上升,这类组合标签往往意味着用户现金流开始紧张。再比如用户绑定的还款银行卡从工资卡换成了第三方支付代扣,或者频繁更换绑定设备,都可能是资金链出现问题的信号。
贷中监控不能只看单个标签,更要看组合。我常用的方式是把几个动态标签组合成预警规则,比如:
- 近7天申请次数大于3次,同时近30天内部还款次数小于2次,触发贷中预警;
- 本月工资入账金额比过往6个月均值下降50%以上,同时有过一次非正常还款,触发降额评估;
- 设备安装包列表中信贷类APP数量超过10个,触发人工排查。
预警之后要能接住。系统给策略团队发名单,策略团队决定是发送短信提示、降额还是直接冻结额度。如果预警只发邮件不处理,那监控机制就只是摆设。
5.3 贷后:把催收当成“千人千面”运营
贷后催收是画像应用里最容易被人误解的环节。很多人以为催收就是电话轰炸,其实好的催收运营同样是分客群、分策略的。
画像在贷后要提供几个关键标签:失联风险、还款意愿、还款能力、催收敏感度。这几个标签组合起来,基本能决定一个逾期客户的处置方式。
拿一个逾期15天的客户来说,如果画像显示他有稳定工作和还款能力,仅是因为忘记还款或短期手头紧,那系统只需要推一条温和的提醒短信,或者安排一次标准外呼就能解决。但如果画像显示客户近期工作频繁变动、负债极高、多个平台逾期,同时失联风险标签为高,那就要优先安排资深催收员提前介入,甚至同步启动紧急联系人策略。
催收话术也要跟着画像走。还款能力弱但还款意愿强的客户,适合协商分期;还款能力强但恶意逃废债的客户,适合强硬施压;对催收非常敏感的客户,则要注意频次和方式,避免投诉。这些精细化运营的背后,靠的都是画像标签支撑。
6. 踩过那么多坑,画像落地前先看看这些排查经验
6.1 第一个坑:标签“好看”但策略不买单
我见过最典型的失败案例是:画像团队花了三个月,建了几百个标签,页面展示得非常漂亮,但策略团队一个都不用。原因很简单,这些标签没有对应到任何决策动作。
后来我们立了一个规矩:新增标签必须填写“标签审批表”,说明这个标签用于支持哪个策略的哪个分支。比如“用户是否连续3个月工资入账下降”这个标签,对应策略是“贷中降额名单”;如果填写不出决策场景,这个标签就不许上线。这个规矩直接让标签数量从几百个砍到几十个,但每个都管用。
6.2 第二个坑:人群偏移导致模型失效
很多模型刚上线效果不错,跑两三个月就开始烂,最常见的原因是线上实际申请人群和建模样本不是一批人。比如建模时用的是某渠道的历史存量客户,线上却通过新渠道大量拉新,新客群的画像分布完全不同,模型自然失效。
应对方法有两个。一是冷启动阶段不要硬上机器学习模型,先用规则和评分卡过渡,等积累到和新客群匹配的样本再训练。二是上线后持续监控PSI,并且定期检查线上客群在关键标签上的分布,比如收入、年龄段、申请来源渠道。出现明显偏移时,要么调整模型阈值,要么重新训练,不要硬扛。
6.3 第三个坑:口径变更导致标签“断层”
标签口径最怕频繁变化。比如将“近30天申请次数”从只计算主产品改为计算所有产品,数字一下变大,用这个标签写的规则全部要重新验证,历史报表也不能直接对比。
处理口径变更,我的经验是变更前先双跑。新旧口径并行跑至少一个完整观察期,确认新口径不会带来指标突变,再正式切换。切换后旧口径字段至少再保留一个月,方便排查问题。另外,所有变更都要写进口径文档,记录变更时间、原因和影响范围,这些细节在事后回溯时救命。
6.4 第四个坑:把画像做成技术部门的自嗨
最后一个坑,也是最要命的,就是画像团队沉浸在自己的技术世界里,忘了业务方是决策者。画像分数不能只给一个总分,还要能翻译成人话:为什么这个用户被拒绝?为什么额度只有这么低?如果策略同学拿到一个画像标签还要猜含义,画像就没有真正落地。
要让画像“会说话”,每个标签都要有清晰的业务解释,评分输出也要附带拒绝原因代码。比如模型拒绝用户,系统要能自动生成“收入稳定但近期多头借贷次数过高”这样的原因描述,而不是只给一个冷冰冰的分数。这样做既能帮助策略调优,也能应对客户咨询和监管解释。
我个人在这么多年的实际操作里最大的体会是:信贷用户画像的天花板从来不在技术,而在业务闭环。标签再多、模型再强,如果每个标签没有回答“这个决策动作该怎么下”,那画像做得再漂亮也是浪费。现在每次新项目启动,我都会先问一句:画像做出来,到底要改变哪个策略、服务哪个决策?想清楚这一句,后面基本上就不会跑偏。