前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >支付风控模型

支付风控模型

作者头像
全栈程序员站长
发布于 2022-08-11 13:31:35
发布于 2022-08-11 13:31:35
2.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

支付风控涉及到多方面的内容,包括反洗钱、反欺诈、客户风险等级分类管理等。 其中最核心的功能在于对实时交易进行风险评估,或者说是欺诈检测。如果这个交易的风险太高,则会执行拦截。由于反欺诈检测是在交易时实时进行的,在要求不能误拦截的同时,还有用户体验上的要求,即不能占用太多时间,一般要求风控操作必须控制在100ms以内,对于交易量大的业务,10ms甚至更低的性能要求都是必须的。 这就需要对风控模型进行合理的设计。一般来说,要提升风控的拦截效率,就需要考虑更多的维度,但这也会带来计算性能的下降。在效率和性能之间需要进行平衡。

本文重在介绍建立风控模型的方法,每个公司应该根据自己的实际业务情况和开发能力来选择合适的模型。这里列出来的模型仅为了说明问题,提供参考。

一、风险等级

做风控拦截,首先要回答的问题是风险等级怎么划分? 目前主流的风险等级划分有三种方式, 三等级、四等级、五等级。

  • 三等级的风险分为 低风险、中风险和高风险。 大部分交易是低风险的,不需要拦截直接放行。 中风险的交易是需要进行增强验证,确认是本人操作后放行。 高风险的交易则直接拦截。
  • 四风险等级,会增加一个中高风险等级。此类交易在用户完成增强验证后,还需要管理人员人工核实,核实没问题后,交易才能放行。
  • 五风险等级,会增加一个中低风险等级。此类交易是先放行,但是管理人员需要进行事后核实。 如果核实有问题,通过人工方式执行退款,或者提升该用户的风险等级。

大部分支付系统是使用三等级的风险。

二、基于规则的风控

规则是最常用的,也是相对来说比较容易上手的风控模型。从现实情况中总结出一些经验,结合名单数据,制定风控规则,简单,有效。 常见的规则有:

1. 名单规则

使用白名单或者黑名单来设置规则。具体名单如上文所述,包括用户ID、IP地址、设备ID、地区、公检法协查等。 比如:

  1. 用户ID是在风控黑名单中。
  2. 用户身份证号在反洗钱黑名单中。
  3. 用户身份证号在公检法协查名单中。
  4. 用户所使用的手机号在羊毛号名单列表中。
  5. 转账用户所在地区是联合国反洗钱风险警示地区。

2. 操作规则

对支付、提现、充值的频率按照用户账号、IP、设备等进行限制,一旦超出阈值,则提升风控等级。

  1. 频率需综合考虑(五)分钟、(一)小时、(一)天、(一)周等维度的数据。由于一般计算频率是按照自然时间段来进行的,所以如果用户的操作是跨时间段的,则会出现频率限制失效的情况。 当然,比较复杂的可以用滑窗来做。
  2. 对不同的风险等级设置不同的阈值。 比如:
  3. 用户提现频次5分钟不能超过2次, 一小时不能超过5次,一天不能超过10次。
  4. 用户提现额度一天不能超过1万。
  5. 用户支付频次5分钟不能超过2次,一小时不能超过10次,一天不能超过100次。

3. 业务规则

和特定各业务相关的一些规则,比如:

  1. 同一个人绑定银行卡张数超过10张。
  2. 同一张银行卡被超过5个人绑定。
  3. 同一个手机号被5个人绑定。
  4. 一个周内手机号变更超过4次。
  5. 同一个对私银行卡接受转账次数一分钟超过5次。

4. 行为异常

用户行为和以前的表现不一致,比如:

  1. 用户支付地点与常用登录地点不一致
  2. 用户支付使用个IP与常用IP地址不一致
  3. 用户在短时间内,上一次支付的地址和本次支付的地址距离非常远。 比如2分钟前在中国支付的,2分钟后跑到美国去支付了。

5. 风控拦截历史规则

用户在某个业务上的消费行为被风控网关多次拦截。

规则引擎优点:

  1. 性能高: 对订单按照规则进行匹配,输出结果。一般不会涉及到复杂的计算。
  2. 易于理解和分析: 交易被拦截到底是触犯了那条规则,很容易输出。
  3. 开发相对简单。

规则引擎存在的问题:

  1. 一刀切,容易被薅羊毛的人嗅探到。比如规则规定超过5000元就进行拦截,那羊毛号会把订单拆分成4999元来做。 一天限制10笔,那就薅到9笔就停手了。
  2. 规则冲突问题。当一笔交易命中IP白名单和额度黑名单的时候应该如何处理?

规则引擎看起来简单,但也是最实用的一类模型。 它是其它风控模型的基础。实践中,首先使用已知的规则来发现存在问题的交易,人工识别交易的风险等级后,把这些交易作为其它有监督学习的训练数据集。

三、决策树模型

风险评估从本质上来说是一个数据分类问题。 和传统的金融行业风险评估不一样的地方,在于数据规模大、业务变化快、实时要求高。一旦有漏洞被发现,会对公司造成巨大损失。 而机器学习是解决这些问题的利器。 互联网金融风控离不开机器学习,特别是支付风控。 在各种支付风控模型中,决策树模式是相对比较简单易用的模型。 如下的决策树模型,我们根据已有的数据,分析数据特征,构建出一颗决策树。当有一笔交易发生时,我们使用决策树来判断这笔交易是否是高风险交易。

这种模型的优点是非常容易理解,检测速度快。 因而也是现有机构中常用的模型之一。 风控模型存在的主要问题是其产生的结果比较粗略。同样的两个交易被判定为高风险,究竟哪种交易风险更高,决策树模型无法给出答案。

四、评分模型

比决策树模型更进一步,现在也有不少公司在使用评分(卡)模型。 银行在处理信用风险评级、反洗钱风险等级时,往往也是使用这种方法。

每个公司的模型都不一样,一个参考模型如下:

该模型为参考《金融机构洗钱和恐怖融资风险评估及客户分类管理指引》编制,仅具参考意义。虽然银行间的评分模型有很好的参考价值,但互联网公司由于业务和数据的不同,评分模型参考价值不大。

每个公司需根据自己的业务情况来制定评分模型,之后为各个指标指定权重比例。 权重评分结果为0~100分的区间,之后按照区间划分,指定风险等级。比如:

当然,评分区间也需要根据企业的实际情况来制定。 评分模型的优势在于:

  1. 性能比较高,针对交易进行指标计算,按照区间来确定风险。
  2. 相对于规则,如果指标设置合理,其覆盖度高, 不容易被嗅探到漏洞。
  3. 理解和分析也比较容易。 如果交易被拦截了,可以根据其各项打分评估其被拦截的原因。

存在的问题:

  1. 模型真的很难建立。指标的选择是一个挑战。
  2. 各个参数的调优是一个长期的过程。

我们知道从一条交易记录中可以挖掘的关联数据有上百个,衍生数据就更多了。比如从支付地址,可以聚类出常用地址,衍生出当前地址和常用地址、上一次支付地址之间的距离,而这些指标在构建模型时都可能使用到。 所以第一个问题是,如何从这些指标中建立一个合适的模型?这就涉及到机器学习的问题了。 模型不能凭空建立,我们可以通过规则来对现有数据进行筛选和标注,确定这些记录集的风险等级。 这些数据作为样本来训练模型。可用的算法包括Apriori、FP-growth等。算法实现请参考相关文档。

在确认相关参数后,模型在使用过程中还需要不断对相关参数进行调整。这是一个拟合或者回归的算法,Logistic算法、CART算法,可以用来对参数做调优。

总之,模型的建立是一个不断学习、优化的过程。 而每一个模型的发布,还需要进行试运行,AB测试和上线。 这个过程,将在下一篇的风控架构中介绍。

五、模型评估

风控本质上是对交易记录的一个分类,所以对风控模型的评估,除了性能外,还需要评估“查全率”和“查准率”。 如下图所示:

以评估高风险人群的效果为例,

  • Precision, 准确率,也叫查准率,指模型发现的真实的高风险人数占模型发现的所有高风险人数的比例。
  • Recall,召回率,也叫查全率,指模型发现的真实的高风险人数占全部真实的高风险人数的比例。

理想情况下,我们希望这两个指标都要高。实际上,往往是互斥的,准确率高、召回率就低,召回率低、准确率高。如果两者都低,那就是模型不靠谱了。 对于风控来说,需要在保证准确率的情况下,尽量提高召回率。 那怎么发现实际的高风险人数呢? 这就需要借助规则模型,先过滤一遍,再从中人工遴选。

从实际应用情况来看,目前国内大部分团队使用Logistic回归+评分模型来做风控,少数人使用决策树。国外的PayPal是支付平台风控的标杆,国内前海征信、蚂蚁金服等会使用到更高级的神经网络和机器学习,但实际效果未见到实证材料。

  1. 支付风控场景分析 ;
  2. 支付风控数据仓库建设 ;
  3. 支付风控模型和流程分析(本文);
  4. 支付风控系统架构

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131420.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
0[生信技能树]生信服务器配置全攻略
1查看cpu信息 yinli@pc-System-Product-Name:~$ cat /proc/cpuinfo |grep pro processor : 0 processor : 1 processor : 2 processor : 3 processor : 4 processor : 5 processor : 6 processor : 7 processor : 8 proces
Y大宽
2019/05/29
1.3K0
docker - 占满根目录空间的解决方案
Docker 默认会占用根目录的空间,时间久了就会吧根目录占满,本文记录解决方案。 问题复现 不知不觉根目录已经没有空间,ls 的补全都会报错。 cannot create temp file for here-document: No space left on devic 可以看到 /已经没有空间了 $ df -h Filesystem Size Used Avail Use% Mounted on udev
为为为什么
2022/08/05
1.6K0
Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解「建议收藏」
  假如你有个大木桶要装东西,如果木桶没有划分层,所有东西全部放入里面,虽然可以装,但是对大木桶的使用就合不合理,造成杂乱无章,寻找东西时候也耗时,甚至还有不同物品之间不能存放在一起而导致危险,那更好的做法自然是给大木桶画一下不同的区域,分成不同的层,每个层放不同的东西,即安全,寻找起来也方便;
全栈程序员站长
2022/09/01
8.2K0
Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解「建议收藏」
搞它!!!Linux系统LVM原理及磁盘配额(PV、VG、LV、PE的关系,手把手教你,嘴对嘴的传达)
当你在使用linux系统时,为了满足当时的工作需要你装了一个100G的磁盘,但是你发现随着公司的发展,和需要储存数据的空间的增大,你会不会重新买些磁盘给装到机器上去呢?每装一次重新分配一次磁盘,就复制一次数据,那这样对于工作的你,是不是非常的麻烦?如果我们用LVM就能解决这类的磁盘管理问题。
不吃小白菜
2020/09/03
6.5K0
搞它!!!Linux系统LVM原理及磁盘配额(PV、VG、LV、PE的关系,手把手教你,嘴对嘴的传达)
MongoDB使用iscsi
Linux平台:尝试部署MogoDB,并使用iscsi作为其data目录 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 # 连接iscsi root in awCqlxb in
summerking
2022/09/16
2.6K0
MongoDB使用iscsi
sudo rm-rf引发的惨案——Linux硬盘的分区和挂载
前不久,刚使用组里的一台服务器,这台服务器平时用的人不多, 没有严格的管理机制,大家都使用同一个用户名进行远程连接,人人都有sudo权限。我因为对Linux不是非常熟悉,使用管理员权限下执行了一个删除文件的操作(sudo rm-rf),直接把系统搞崩,差点给全组造成难以估量的损失,从删库到跑路差点在我身上上演。。
zstar
2022/10/31
3K0
sudo rm-rf引发的惨案——Linux硬盘的分区和挂载
Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)
当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间。如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建、检查、调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录: ----------------------------------------------------------------------
洗尽了浮华
2018/01/22
4.1K0
Linux命令补充
使用wget -O下载并以不同的文件名保存(-O:下载文件到对应目录,并且修改文件名称)
GH
2020/03/19
9660
0基础带你入门Linux之简介
而Linux则很简单,只有一个根目录,也可以说只有一个盘,整个系统所有的东西都是在根目录下的
凯子坚持C
2024/09/23
1070
0基础带你入门Linux之简介
磁盘管理 之 parted命令添加swap,文件系统
本文介绍了Linux系统中,如何与Windows互相传输文件。包括使用lrzsz工具进行上传和下载,以及使用tar进行打包压缩。同时,还介绍了如何长传文件,以及下载文件。
惨绿少年
2017/12/27
1.8K0
十大最有用的Linux命令
在这篇文章中,我列出了一些针对Linux新手的最基本但最有用的Linux命令。 您可以键入以下命令来管理服务器。 对于初学者来说,这些命令是最简单的学习VPS或Linux服务器管理的方法。
用户8710806
2021/06/08
3860
Linux (RHEL 5.4)下安装 Oracle 10g R2
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2010/03/30/5431428.aspx      虽然 Oracle 10g Database Release 2 已经推出几年了,但这个版本仍然为很多初学者学习的版本,下面详细讲述了安装 Oracle 10g 的步骤。 一、 linux 的版本选用     目前 linux(RHEL) 使用的主要版本为 5.4 版,可以到下面的地址下载其安装文件。        RHEL5.4 下载   http://download.chinaunix.net/download/0013000/12623.shtml 二、关于 linux 的安装     很多初学者使用的是 XP 系统上的虚拟机来安装 Linux ,因此本文也是在虚拟机上安装 Linux 然后再安装 Oracle 10g. 至于虚拟机可以使用 VMware 6.5 Workstation 版,这个可以到百度 ,Google 找一下,比较多。安装了 linux 时,我们需要特殊的配置一下 Oracle 的安装环境,关于这个配置 Oracle 安装环境,请参考: VmWare6.5.2下安装 RHEL 5.4(配置 Oracle安装环境) 三、安装 Oracle 前的环境检查     1. 下载 Oracle 10g R2        Oracle 10g for Linux   http://www.oracle.com/technology/software/products/database/index.html     2. 查看 Linux 内核参数,有点多余,作为初学者,还是可以练习一下。请确保高于 2.6.9 -5.0.5.EL 以上内核              强烈建议大家安装 SecureCRT 或 VNC 工具,这样不必来回在 XP 和 Linux 下切换。        uname –r [root@localhost ~]# uname -r        2.6.18 -164.el5xen     3. 查看 CPU 、内存、 Swap 及磁盘可用空间        内存:至少 1GB ,下图中我的内存仅 900MB        Swap :一般为可用物理内存的 2 倍,比如设定为 2GB        /Temp 分区:至少 400MB        Oracle 安装目录所在的分区:至少 4GB [root@localhost ~]# free -m                     total       used       free     shared    buffers     cached        Mem:           900        568        331          0         56        356        -/+ buffers/cache:        154        745        Swap:         2251          0       2251 [root@localhost ~]# df -h        Filesystem            Size  Used Avail Use% Mounted on        /dev/sda2             6.4G  3.8G  2.3G  63% /        /dev/sdd1             6.8G  144M  6.3G   3% /u01        /dev/sdc2             1.2G   34M  1.1G   3% /home        /dev/sdc1             760M   17M  704M   3% /tmp        /dev/sda1             456M   18M  415M   5% /boot        tmpfs                    450M     0  450M   0% /dev/shm        none                     450M   104K  450M   1% /var/lib/xenstored        /dev/hdc               2.8G  2.8G     0 100% /media/RHEL_5.4 i386 DVD 四、配置安装环境     1. 安装补丁包        关于确认补丁包的是否已安装,可以使用下述方式来查看        rpm -q gcc make
Leshami
2018/08/07
1.2K0
[Linux]常用命令、组合命令以及输入输出重定向
删除非空目录,还有一种更为简单的方法:把-R(或recursive)和-f(或--force)选项结合起来使用。-r选项告诉rm命令进入到它发现的每个子目录中去删除文件,而-f选项只是告诉rm命令完成任务但不要因为些细节问题(比如文件夹非空)而烦扰用户。
祥知道
2020/03/10
1.7K0
DELL存储SCv2000/2020基础配置与使用
描述: 最近业务需要需要将原本装有VMware vSphere的机器直接安装Ubuntu 20.04 TLS,并通过SAS线缆从DELL Storage SCv 2020链接我们的UBUNTU 物理主机上进行SCSI磁盘的挂载共享使用,以下是一些简单的说明;
全栈工程师修炼指南
2020/10/26
8.1K0
DELL存储SCv2000/2020基础配置与使用
ubuntu18的宽带连接问题
我的ubuntu18现在 Adsl连接出现问题,在网络哪里找不到宽带连接,做一个问题解决方案。 这是参考文献: ubuntu下pppoe拨号 ubuntu的ADSL拨号上网主要是无线网情况下 ADSL(PPPOE)接入指南 ubuntu 16.04 上不了网?DSL消失?更新网卡驱动? Ubuntu16.04怎么设置宽带连接 ubuntu16.04拨号上网及无线驱动安装 Ubuntu更换网卡驱动 升级Ubuntu 16.04 LTS后 DSL拨号上网(ppp)连接自动断开解决办法 ubun
热心的社会主义接班人
2018/04/27
3.4K0
ubuntu18的宽带连接问题
使用rclone挂载onedrive扩容服务器空间
在 rclone 官网https://rclone.org/downloads/下载适用于 Windows 的最新版客户端,解压到磁盘当中,将文件夹重命名为rc(方便以下操作。。)。按住键盘上win+R输入powershell打开命令行,执行以下命令。
用户1316967
2022/01/18
9.8K0
使用aspera加速从中国的GSA数据库下载测序文件
值得注意的是人类的数据跟其它物种在的GSA(国家基因组科学数据中心)数据库的存储有不一样的规则:
生信技能树
2024/11/25
3470
使用aspera加速从中国的GSA数据库下载测序文件
Linux下IP SAN共享存储操作记录
一、简单介绍 SAN,即存储区域网络(storage area network and SAN protocols),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列,主要厂商EMC、日立等。 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在
洗尽了浮华
2018/03/28
6.6K0
Linux下IP SAN共享存储操作记录
linux基础命令介绍十二:磁盘与文件系统
本篇讲述磁盘管理相关的命令。计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中。硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(可简单理解为将分区关联至linux目录树中某个已知目录)之后才能使用。
用户5030870
2019/04/11
4.9K0
linux基础命令介绍十二:磁盘与文件系统
Linux之/dev目录介绍
Linux中的dev文件目录的全称是device设备的英文,这个目录包含了所有linux中使用的外部设备,但是不包含外部设备的驱动信息。我们先来看看这个目录中包含哪些文件吧:
AsiaYe
2019/11/06
8.4K0
推荐阅读
相关推荐
0[生信技能树]生信服务器配置全攻略
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档