三年半大数据风控工作复盘
admin
2023-06-23 20:42:11
0

因为年初换了工作,从金科公司跳到了互联网大厂,也算是职业历程上的一个节点了,所以想对过去三年半的工作来个复盘,好好总结过去才能更好地展望未来嘛。

看我的笔名就不难猜我的工作领域,之前是信贷风控,以后会继续深耕风控这块,但更侧重支付业务的风控。在这里把过去接触过的场景和跟过的项目都记录下来,也欢迎感兴趣的同行或有意入行的朋友找我交流~

本文较长,近 9k 字,这里先放个文章架构导航:

  • 我的转行之路:我是如何从飞控自动化专业转到计算机专业,又转到数据科学的?
  • 阶段一 - 创新型数据挖掘:工作前一年半我接触了哪些大数据项目?参与过哪些创新产品的孵化?
  • 阶段二 - 大数据风控分析与建模:我是如何从多场景的数据挖掘转型,专攻风控分析与建模的?
  • 阶段三 - 风控解决方案:Amazing!我后来居然还做过解决方案与售前工作?

0. 我的转行之路

熟悉我的朋友也许知道,我的本科专业是自动化,具体方向是飞行器控制,当时学的东西和后来从事的工作差距还是挺大的,唯一关联可能是都带“控制”俩字。不同的是,之前的“控制”是为飞行器设计控制系统,后来工作中的“控制”针对与金融相关的风险。



在飞控自动化中,我们通过对飞行器进行力和力矩的分析,得到小扰动线性化方程,再基于 PID 控制算法,设计其飞行控制系统控制结构,包括分为内环和外环两个控制回路。再针对飞行器不同的飞行模态(纵向姿态保持、空速保持和气压高度),设计不同的控制率,再基于仿真数据做验证,迭代优化得到最佳参数,使得飞行器在每个模态下都能正常飞行。

现在看这些属于是“最熟悉的陌生人”了~ 如果你同时了解飞行器相关的自控(自动化控制)和金融相关的信贷风控,一定可以把上一段描述和信贷风控的过程关联起来。

对应来看,在信贷风控中,我们通过对贷款产品进行要素分析,设计其风控策略及模型雏形,得到大致的风控体系。再基于合适的算法(逻辑回归 or 决策树),针对不同贷款阶段(贷前、贷中、贷后),设计不同的模型,再基于积累的实际样本数据建模,通过调优得到最佳参数,进而得到不同阶段的风控策略和模型,保证信贷风险在不同阶段得到控制。

所以你看,很多事都是可以关联起来的。从本质上来讲,“控制”这个动作是为了“避免”一些可预见的“灾难”,对飞行器来说,“飞得不稳”是“灾难”;对信贷产品来说,“出现坏账”是“灾难”。这些“灾难”都可以利用先验经验来归纳总结,再通过相应的技术来控制,从而避免。

网上总有这样的言论:对于风控岗啊,产品做好了跟你没关系,产品出问题了就要你来背锅。我觉得这个言论未免太功利,万物运行稳当,都需要一个 balance。天秤总有两端,那种顾头不顾尾的模式,大概率也长久不了。所以作为风控人,我们就是产品 or 企业的防火墙,应该自豪呀。

专业背景介绍的有点多,话题往回拉一拉,说下当时为啥转行。主要还是兴趣使然,我对飞控没有特别浓的兴趣,熟悉这行的盆友也许感同身受,能坚持从事航空航天事业,不仅需要专业技能,更不可或缺的是对行业的热爱。我从小就更感兴趣于计算机软件,也爱琢磨新兴的东西,航空研究工作确实无法带动我的热情,于是我申请研究生时选择了 Computer Engineering,课程从面向对象编程到 Web 软件开发,从数据结构与算法到数据科学与机器学习,中间还穿插了加密货币与 iOS 开发。研究生两年的学习是我转行的关键一步,我从面向硬件的软件编程师,彻底转为面向 Web 开发和数据挖掘的 coder。

研一和研二中间的暑假还有个插曲,我做了三个月的前端开发实习。让我后来决定放弃前端/后端开发这个方向,专注于数据挖掘,国外更习惯叫 data science。

毕业后我进入一家金融科技独角兽公司工作,当年发展势头比较猛,也算赶上了大数据浪潮的尾巴。按先后顺序,我分别做过如下三方面的工作:

  • 创新型数据挖掘(一年半)
  • 大数据风控分析与建模(一年半)
  • 风控解决方案(半年)

终于进入了正体,接下来,我对三方面的工作分别做个大复盘。


1. 阶段一:创新型数据挖掘(一年半)

当各方面的金融业务面临业务量井喷,只依赖人工无法满足投产,以及市场上越来越多的行业和公司向数字化转型,加上所在集团的业务广泛且规模巨大,所以刚工作时就有幸接触各种各样的数据,来自集团内和集团外的不同金融业务,包括银行、保险、证券等等。所以说,第一份工作尽量选择大公司,可以在短时间内接触到很多不同业务,当时做的一些事到现在对我还很有帮助。

前一年半我在一个大数据应用相关的研究部门,参与了很多场景的数据挖掘项目,有的侧重实际场景,也有的重创新,期间还参与过数据可视化、数据新闻等方面的国内大型比赛,也面向 KPI 写过几篇专利。总的来说,虽然身在其中时会偶尔迷茫,但现在回头看,每段经历都值得写下千万字。

优先列几个印象比较深的项目,我会从背景、目的和我的项目经历来描述~

1.1 反洗钱大数据分析

背景

近些年国家对洗钱风险的防范越来越重视,也将越来越多金融业务纳入反洗钱监管范围内。但传统的反洗钱主要依赖人工经验筛查,随着业务量越来越大,监管范围越来越广,各省市人行开始寻求针对反洗钱的大数据解决方案。

目的

通过大数据技术,从大规模可疑流水数据中提取洗钱网络,尽可能减少人工介入。

经历

当时有幸跟着前辈们参与到与人行合作的项目中,也接触到了一手流水数据,通过 hive 对各行报送的可疑流水数据进行清洗、加工、合并,再结合人工经验对 100 余个银行账户做关联和层级划分,用了一个月左右时间从百万流水中提取出了洗钱网络,并给出了针对可疑流水数据提取洗钱网络的解决方案。

1.2 车险反欺诈研究

背景

随着车辆越来越普及,随之而来的是日新月异的车险欺诈手段,仅依靠保险勘察员去现场逐个检查,已经远远不能满足保险公司的投产要求。于是开始推行数字化,将多个维度的数据关联,通过大数据技术探索高效的解决方案。

目的

在海量车险数据中,由于许多存在欺诈的历史案件当时未被发现,如今被打上的是“非欺诈案件”,导致正负样本比例严重失衡。我们需要使用大数据分析及挖掘技术,训练出应对此问题的模型。

经历

当时我们拿到的数据主要覆盖四个维度:人、车、事故、汽修厂,大致情况如下:

  • 人:驾驶员个人信息,包括性别、年龄、常驻地等基本信息,也就是给车辆投保时需要提交的一系列信息;
  • 车:车辆信息,包括品牌、型号、车牌号、使用年限等信息,同样也是车辆投保时需提交的信息;
  • 事故:事故发生细节,包括时间、地点(所在区/街道、经纬度)、事故描述等信息;
  • 汽修厂:汽修厂位置(所在区/街道、经纬度)、法人等信息。

虽然由先验经验已经知道样本正负比例失衡,但面对带标签的分类问题,我们还是首先使用了有监督模型,包括还尝试对欺诈样本进行过采样,结果都是肉眼可见的差。但后来我们发现,面对这种情况,其实对有限的欺诈样本进行逐个分析,收益可能更大。

当时还花了些时间研究异常点检测技术,理出来如下框架:



后面大部分时间就转向了无监督算法,因为已知的“非欺诈案例”中混入太多“欺诈案例”,我们只能通过无监督手段来识别出这些异于“正常案例”的“异常案例”。将常见的无监督算法在现有样本上试用过一遍后,发现孤立森林模型最适用于这个场景,但有一个使用的前提,根据孤立森林的原理,不能将全部案例样本打包用一个模型检测,需依据事故发生地点的坐标进行网格切分,针对每个网格进行特征衍生,使用孤立森林模型进行一对一检测。在做特征工程时,也要与业务人员沟通流程细节,结合业务经验补充相关特征。

那会儿我对经典异常检测算法做了梳理研究:

也对孤立森林算法的论文做过调研和分享:

1.3 P2P 平台暴雷分析

背景

2018、19 那几年,P2P 平台集中暴雷,还有 20 天内雷掉 100 多家平台的记录。有很多民众的钱被暴掉,平台跑路,然后很多银行背了锅,那央行也不能坐视不管,于是开始对一些已经暴掉的、即将要暴的、以及高危的 P2P 公司的银行流水进行检查。

目的

面对海量的 P2P 流水数据,央行和各商行希望能快速 get 平台的当前资金概况、投资方/平台方/借款方往来现状、各地区交易概况、备付金现状、待偿/待还的个人/企业 TopN 列表等信息。银行方希望能基于这些信息,快速了解到一家 P2P 平台近期的交易趋势,以及了解其资金现状,预判是否存在缺口,从而做好发生暴雷的应对措施。



经历

因为同样是银行项目,有数据不能出行的保密要求,我们只能去行方驻场分析。首先要解决的是各商行上报的流水数据格式不一致的问题,我们从不同格式的流水中统一抽取:流水号、交易日期、交易时间、流入账户、支出账户、交易金额等关键变量。当时目标平台的账户共涉及 21 个省份,40 多家银行,所以数据清洗花费了大量人力。完成流水数据格式统一后,我们反复和行方沟通业务需求,对齐关键指标和生成逻辑,同步给出报表和仪表板设计方案。

1.4 AutoML

背景

2019 年年初,AutoML 被炒得很火,KDD Cup 2019 的主题就是 AutoML,第四范式还拿到了主办权,当时组内有小伙伴参赛,赛后老板想基于比赛的代码,优化 pipeline,加入更多算法选择,并对代码进行重构,于是我加入了这个项目。

目的

把「AutoML」拆开看,分别是「Auto」和「Machine Learning」,后者是主语,前者是形容词,所以我们先从主语出发来讲。从「Machine Learning」的角度来讲,在给定数据集和任务的情况下,AutoML 是一个拥有学习和泛化能力的强大系统,且非常容易使用,因为它产生的初衷就是让不懂机器学习的人也能轻松使用机器学习来完成任务。再看「Auto」,从自动化角度来讲,AutoML 则是根据人工机器学习的流程步骤,通过预先造好一系列 pipeline 去操作机器学习模型,使这个复杂的模型系统能够自动选择最佳模型,并学习到合适的参数和配置,无需人工干预。

经历

首先熟悉 AutoML 产品的设计特点及技术要点,包括机器学习组件和 pipeline 的设计,pipeline 覆盖的环节包括:数据导入、数据预处理、特征转化、特征构造、特征选择、模型选择、超参数调优、模型验证、模型融合等。其中每个环节还要引入多种方法,例如特征转化模块需要覆盖:类别特征、数值特征、时序特征、多值分类等。

也就是说,整个流程开发完成后,相当于一个 M*N 的巨大空间,那么如何在尽量短的时间内,消耗尽可能少的资源,寻找到最佳 pipeline,是最难解决的问题,涉及到“搜索空间优化”的实践。这也是我们没有解决好的问题,最终的程序更适合先手动选择模型,再在其他环节进行搜索优化。

优化重构后的 AutoML 程序,实现了 10+种数据预处理方法,20+种特征工程方法,3 种特征选择,以及 10+种算法模型的自动化建模,还可支持多类型机器学习问题。后来小伙伴也有持续用 kaggle 的数据集做测试,大多数 competition 的数据集运行结果都能超过 80%参赛者。

1.5 增强分析

背景

同样是 2018、19 那几年很火的技术,增强分析技术通常用在类似“智能洞察”的功能模块上。我们自研的智能报表平台也考虑新增这个模块,主要功能是通过对关键数据定期检测,自动生成“有价值”的 insights 并推送。

目的

针对智能报表平台,产品经理想增加智能洞察模块,给产品增加亮点。根据数据库中关键表的情况及其关联关系,生成数据画像和自动分析结果,包括异常检测、关联度分析、时序预测等,基于用户创建的特定场景(如存贷款、销售、财务等),生成更具针对性的 insights,以及使用更具有场景特点的自然语言描述。



也就是说,通过机器学习算法对数据进行分析和自学习,自动为用户选择最优算法,从异常检测、关联度分析、时序预测三个方面提供预警,帮助用户发现那些藏在海量数据中的信息,利用这些预警信息来指导自身业务。

经历

我主要负责智能洞察模块的算法设计与开发,包括异常检测、关联度分析及时序预测三大类数据洞察结果,及 12 个相关的细分洞察种类。

在动手 coding 前,先是做了很多调研分析,包括产品和算法两方面。在产品方面,对 Microsoft Excel、网易有数、ThoughtSpot、PowerBI 都做了深入调研,以下是 2020 年初几个产品的对比情况(现在可能会有变化):



在算法方面,我浏览了很多 project,也看了很多paper,其中,微软亚研院的研究成果提供了很多帮助:

下面详细介绍一下三大类 insights 的思路:

异常检测

可提供单维异常检测和多维异常检测。

在单维(包括连续变量和离散变量)异常检测中,根据拉依达准则找出每列数据中的可疑数据,通过图表及自然语言为用户展示异常信息。

在多维异常检测中,系统会根据不同表的数据具体分布情况选择最优的异常检测算法,如孤立森林、KMeans、DBSCAN、AutoEncoder 等机器学习和深度学习算法。同时,系统会根据检测结果给出可视化展示和自然语言描述。

关联度分析

针对每一组数据,系统会基于 ChiMerge 算法将连续变量离散化,并计算变量两两之间的 Pearson 系数或 Cramer's V 系数,对数据集进行关联挖掘。针对相关性高的变量关系,系统会给出提示信息并将其可视化。

同时,用户也可以创建自定义关联分析任务,指定要检测分析的指标,探索指标间的潜在关联。

时序预测

除了对历史数据的分析挖掘,平台所提供的时序预测功能还能提前感知指标的未来走势,用户可参考预测结果来看是否满足预期或触及预警线,用户可以根据趋势对现有决策进行调整,防患于未然。

用户可以通过指标的选择和预测时长的设置来创建预测任务,预测结果会给出所选指标的预测值范围,包括置信上限、置信下限和期望值,并用可视化的方式予以展示。若提前为指标设置阈值(预警线),当预测值触及阈值时,系统会发出预警提示。


2. 阶段二:大数据风控分析与建模(一年半)

2.1 工薪贷风控策略优化

背景

我们的客户是一家以对公业务起家的银行,所在地区的小微企业居多,在推广对公业务方面有天然优势。但对比小微业务,这家银行对工薪群体的零售业务开展较晚,资源投入上也相对滞后,当开始向零售群体发力时,零售贷款的市场已经被很多银行占领了。

目的

在此背景下,行方业务部和风险部有各自的痛点和需求:一方面,由于零售信贷风控经验不足,风险部把策略卡得较紧,导致大部分申请无法自动处理,都转到人工审批,造成了业务无法起量的局面,对业务部来说就无法大力开展营销,从而很难完成 KPI。业务部的诉求是,希望适度放松风控策略,提升自动审批通过率,减少客户经理介入,尽快让业务起量。另一方面,对风险部来说,部门同时负责小微和零售的风控,由于在零售风控上经验不足,发力晚,所以人力投入也不多,面临来自业务部的压力,所以就产生了该项目的需求,引入第三方咨询团队,助其提升零售信贷风控能力。

经历

简单来说,我们的咨询服务主要包括三项工作:

  1. 业务访谈:针对行方的目标信贷产品,对总行、分行的相关部门和人员进行访谈,对齐业务背景和项目需求,从产品和政策层面给出意见;
  2. 数据诊断:由于后续风控策略优化需结合业务历史数据,所以要先对行方的相关数据进行摸排和诊断,同步给出数据诊断报告留底,包括确认相关数据库的时间段、主键唯一性、统计量分析、表关联逻辑等。基于数据诊断情况,确定可用的样本范围,准备用于策略优化的数据。
  3. 风控策略优化:针对数据分析得出的指标异常原因,给出全面策略调优方案。针对准入策略,对全部规则使用权重制,有效提升自动审批通过率,并控制了逾期率,减轻对人工审批的依赖;针对额度策略,优化当前的风险等级划分方案,增加颗粒度,用于定额策略,通过策略试算调整不同等级对应的额度系数,使整体预估额度分布达到期望。

其中,我主要参与的是后两项工作。说起来,我对这个项目感情还是很深的,从最初的售前需求对接,到编写 SOW、项目排期,再到参与商务谈判,以及最终驻场银行做项目,整个流程都有参与其中,从夏天的尾巴一直到了圣诞节,累是真的累,但银行的食堂也很好吃。



2.2 白领贷业务诊断及分析

背景

该项目的甲方是一家西部商业银行,零售业务的发展也比较滞后,面对日益加剧的市场竞争压力,银行内部迫切需要零售转型,提高零售信贷服务效率。同时,银行现有的数据维度不足,经验、能力上的缺乏限制了线上贷款业务的进一步发展。

目的

在此项目中,我们需要帮助行方打造线上+线下相结合的信贷产品,提升其数字化零售能力。同时,提供联合建模和风控冷启动咨询,帮其解决自有数据不足的难题。

经历

在项目初期,通过联合建模的方式引入贷前评分卡,应用于贷前审批规则和定额、定价策略,并增加可用于差异化定价定额的划分维度,在各环节给出了风控冷启动方案。同时,根据客户来源和外部数据情况,将目标的白领客群细分为六大客群,对不同客群的画像特点,采取差异化的审批、定额、定价策略。

项目中后期,在行方业务运营期间,我们提供定期的业务现状分析服务,这部分是我重点参与的工作。基于线上的进件、审批、借款及还款记录等数据,对业务现状、逾期情况、进件客群等方面进行全面分析,当某些指标出现问题时,及时反馈给甲方,共同商量解决方案,即时调整线上策略。同时,定期做业务分析也可以为该产品后续的准入客群、贷款额度、规则策略等方面提供优化的方向和建议。

2.3 房抵贷贷前风控建模

背景

该项目的客户是一家南部商业银行,之前行内房抵贷强依赖于线下模式,甚至有很多环节的信息还未实现线上留存,由于前期的数字化程度和全流程系统衔接问题,存在征信查询、进件申请等模块的断档,导致无法实现单一产品的全流程自动化。

目的

行方希望能将房抵贷各环节都实现从线下到线上,包括房价评估、抵押物调查、进件申请、贷前审批等环节,以及将现有模块进行连接调通,尽量减少线下的人工操作。同时,希望引入房抵贷线上风控和营销方面的咨询服务。

经历

我是作为风控模型工程师的角色加入此项目中的,重点工作包括三块:

  1. 数据诊断:针对行方不同业务和功能的数据库进行统计梳理,生成数据诊断报告,对多个贷款产品的经营情况进行深度分析挖掘,利用迁移学习的技术,将其他贷款的样本数据用于当前场景的建模;
  2. 贷前模型建设:基于房抵贷场景,结合行方实际需求和业务现状,设计零售风险数据集市,结合机器学习算法和专家经验,开发贷前评分卡模型。
  3. 业务报表设计:设计了贷款产品销售报表的底层数据结构,包括总行/分行/支行/客户经理四个维度,覆盖营销人员/触达情况/贷款信息/月度表现等数据模块,监控进件量/放款量/逾期率/不良率等指标,旨在提升贷款产品的数字化营销能力。

之前我记录过项目中的建模过程,写得比较简单,感兴趣的可以看看:


3. 阶段三:风控解决方案(半年)

考虑到解决方案的保密性,这部分就不详细写了,大致介绍一下主要内容,如果有业内朋友或公司感兴趣,我可以帮忙牵线~

3.1 风控大数据分析方案

这个方案算是当时团队最大最全的风控咨询方案,针对信贷场景的启动阶段、运营阶段、提升阶段,分别提供不同的子服务。

对于启动阶段,提供联合建模和风控策略规则的冷启动方案,包括相似客群匹配、评分卡建模、反欺诈策略、准入策略、贷中策略等。

对于运营阶段,提供二次风控服务,主要针对那些还在沿用传统助贷模式的银行,该模式存在诸多隐患,作为资金方的金融机构过度依赖助贷机构,但监管不再允许资金方完全依赖助贷机构或将核心风控环节外包。该二次风控方案可协助行方构建自身的实质风控能力,关于中小银行二次风控能力建设,我当时也有写过一篇文章:

对于提升阶段,提供模型和策略的优化服务。当业务方发现产品坏账率太高,或业务起量困难等问题,都可以选择这项子服务。

除了针对这三个阶段的咨询服务,同时还有风险监控体系设计和数据支持服务。从业务、模型、策略、渠道、三方数据质量等方面设计监控报表方案。

3.2 二次风控方案

该方案可以算作「风控大数据分析方案」的子方案,可为银行提供渠道画像、数据诊断、策略加固、模型构建/优化四个方面的咨询服务。

3.3 创业贷方案

就在去年,财政部、人社部、人民银行联合发文,进一步加大创业担保贷款贴息力度。该方案针对创业服务中心、客户经理、风控引擎、审批人员、借款人五个节点,将客户信息录入、预授信、进件、风险评估、审批、签约、提款等环节串联起来。同时,对担保、抵押、信用三种模式,在实现系统平台建设的同时,定制线上化风控策略和贷前准入模型。


以上就是我最近三半年做过的工作啦~ 从头梳理了一遍,有点温故知新的感觉了。

想特别提一下,最后做风控解决方案这半年,可以说是逼自己走出了舒适圈,身兼数据挖掘、解决方案、售前三个角色。因为参与到售前的需求沟通、投产测算、商务谈判等环节,某种程度上理解公司赚钱也不容易了,有时候甚至想为资本家说说话了(危险发言)。

总之,感恩每一段经历,生命不息,折腾不止~ Live Long and Prosper.

相关内容