用户评分系统设计与实现(风控方向)

用户评分设计与实现(风控方向)

维度 == 标签,泛指描述恶意行为的一类合集,不必纠结文中用词,看官就当做一回事, 就是你理解的那回事就行。

  • 不区分维度
    不管你是IP维度、设备维度、xxx维度,只要能描述恶意倾向就算
  • 不面向维度
    不面向某一维度打分,只面向用户
  • 不绝对公平
    不同维度之间的权重可能失衡,由基准分控制,或者说由“业务专家”配置;但保证在相同业务场景下相同标签,恶意次数、最近分布与得分正相关
  • 不同业务场景可以不同侧重点
    每个业务场景可以各自一套基准分值逻辑,所有业务共用一套得分增值逻辑

总原则

每天基于前一天的分值,增量更新
得分越高,用户越黑

纵向分

下文,将所有具备恶意倾向的描述,统称为“标签”,比如代理IP登录是一个维度,也可以说是一个标签,工程师喜欢说维度,运营喜欢说标签.看官随你自己

  • 基准分
    每个标签命中一次就在原先基础上直接加的分数

    基准分,用来度量不同标签的危害程度,举例打架10分,骂人5分,事情危害程度不同

  • 浮动分(频次分)
    每个标签当天命中N次(次数,次数,不是人数,人数相关,下文单独会说),乘以浮动系数后加的分数

    浮动分,用来度量某个恶意行为重复程度,偷盗1次,和偷盗100次,量刑不同

  • 级联分(组合分)
    每个标签与其他标签同时满足后,额外加的分,此分不再追加浮动系数

    级联分,用来描述特定组合下,危害加剧程度,额外加分的场景。往往适用于几个弱标签,组合出一个强标签。

    就像同时具备"夜晚活动"、“携带撬锁工具”、"走路躲躲藏藏"等特征,大概率是啥?三个单独看,未必多可恶吧。猫夜晚活动,开锁匠携带撬锁工具,便衣police还走路躲躲藏藏呢?

  • 衰减分(随时间减分,慢性洗白)
    每个标签在考察周期(默认一个月),命中情况的分布,命中密集分布在近期,则不洗白或者低速洗白;不命中密集分布在近期,则洗白或者高速洗白

    为何要洗白,不用说了吧?总不能犯了一次错,撸了次羊毛,一辈子都不给改过自新啊?万一他是大R,后面刷个几十上百万呢

    举例:假设考察周期是7天,1表示命中某标签,0表示没有命中
    对于
    A序列 1,1,1,1,0,0,0 和
    B序列 0,0,0,0,1,1,1
    显然A序列需要洗白,做减分操作;B序列需要加分或者不加不减,总之不能洗白

横向分

上述是 4个 基础分值,计算逻辑,所有标签通用,可以归为一类:纵向比较,始终是一个标签下的结果或情况在比较。下面介绍一些,横向比较, 哪个标签更好使?

  • 效果分(名字不重要,也可以叫评价分,反馈分,重点看下文解释)

    • 举例:安装设备修改器 -- 一般用户不会安装这,安装这玩意的,大概率不是好人,是一个黑标签

      假设uid abcdefghijk安装了设备修改器,那么设备号(uid): abcdefghijk就是这个黑标签下的一个值

      那如果 abcdefghijk 设备上一共登录了100个用户,其中90个都已经被标黑了,是不是说这个标签打在这个设备上很准啊,或者说这个设备在这类标签中很准啊


    • 再举例:云商IP -- 一般用户的出口IP不会是云商IP,理由不解释,本文重在解释用户评分系统设计,不过多描述基础网络基础知识

      假设IP 1.2.3.6 是云商IP,那么就说 1.2.3.6是这个黑标签下一个值

      如果这个IP 1.2.3.6一共登录了10000个用户,其中8000个已经被标黑了,是不是说明这个IP识别的很准啊


    • 可以看出,效果分是为了标签之间横向对比,把识别效果好的突出来,让更准的标签多干活。就像团队里,让优秀的人,多机会表现,是一个意思。

      那么问题来鸟,如何衡量谁更优秀?

      • 方案A,谁的准确率高,谁更优秀
        设备 abcdefghijk 准确率90%,胜出
      • 方案B,谁准确的基数大,谁优秀
        IP 1.2.3.6 准确基数8000 远大于上面的90, 胜出
      • 方案C,方案AB结合

        在某个阈值线以下,比较基数;超过阈值线以后,比较准确率

        设备abcdefghijk 和 IP 1.2.3.6, 谁更优秀,你说了算,甚至,你可以设计成一样优秀


    • 汇总
      目标:让标签具备横向比较能力,让优秀的标签值发挥更大的作用
      实现方式:根据其标识总数,有效标识数去计算,规则看官你定

实现

画完饼了,该讲如何实现了?代码是没有滴,看懂了,肯定是阔以开工编码滴

  • 数据层面(一)

    为了计算每个标签的4个纵向分(基础、浮动、级联、衰减),需要为每个用户存储一个二维表格,每行是一个标签最近30天(周期看官可以自己定)的命中情况

    标签名30天前29天前...昨天
    tag1323(次)1(次)....0(次)
    tag23(次)0(次)....9(次)

    每个用户一张表嘛?当然不是,数据结构,码农自己可随意换,能描述上述信息即可。

    比如我有50个标签,1亿用户,完全可以用户尾号分表,十张表,每张1千万用户,每个用户50行记录,那么每张表数据量5千万,还好还好。

    对于某个标签

    • 基准分怎么算?看昨天是否命中咯
    • 浮动分怎么算? 看昨天命中多少次咯
    • 级联分怎么算? 看昨天命中的标签汇总,是否满足指定组合咯
    • 衰减分怎么算?获取最近30天的命中次数,非0分布越靠近越是正分,非0分布越远越是负分。具体权重,看官随便拍个值,你家码农绝壁搞的定。搞不定?盘他
  • 数据层面(二)

    为了计算每个标签的效果分,需要统计每个标签值,每天的命中用户的打标结果。如果无人工打标,可以直接粗暴一点点,被任意标签连续命中7天就算黑用户。

    标签项标签值日期准确误判
    代理IP1.2.3.6昨天323(人)1(人)
    代理IP1.2.3.6前天39(人)0(人)
    代理IP1.2.3.6............
    云商IP6.3.2.1昨天23(人)0(人)
    云商IP6.3.2.1前天31(人)0(人)
    云商IP6.3.2.1............
    其他标签其他值............

    明白了摸?有了怎么一张效果统计表,你是不是想怎么算都行?选出你爽的标签值或者标签项都可以!!!

    效果好的标签值,比如1.2.3.6,可以增加其效果分,让命中它的人得分高

    效果好的标签项,比如云商IP,可以反过来提高这个标签的基准分,这个很重要哦,形成反哺了哦

    再进一步,不停的反哺,你最终将得到一份十分贴近业务的基准分配置,这就是知识沉淀。你可以拿它换2个肉夹馍了

  • 业务(场景)层面

    上文说了,可以得到一份贴合业务的基准分配置。那么不同的业务,是不是有所差异,是不是应该有不同一套基准分配置? 这个实现就不说了,找你家码农搞,让做个可配的。做不了,就盘他

扩展

  • 效果分计算可以考虑漏报
  • 阻断机制:假设某个标签数据被污染,需要有阻断机制,立即该标签的得分强制置零;甚至可以更暴力,全局阻断,所有标签得分为0
  • 衰减力度:衰减实现,未举例,随意实现,但是衰减力度需要根据实际效果,适当调整,不要坏了十天,一天就洗白白了,也不能一百天也洗不白。拿不准,就找运营拍板。不要问板是谁?为何要拍他?
  • 如何造那么多标签,供这套评分系统使用?  移步下文: https://blog.csdn.net/secretx/article/details/86629558
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值