京东风控算法工程师带你解读Action Model-精细化运营(上篇)

文章目录

    • 前言
        • *ActionModel是未来的方向*
        • *业务价值*
    • Action Model
        • *Action Model能够解决什么问题*
        • *Action Model的数学抽象*
        • *Action Model的结果*
    • 下期预告

前言

ActionModel是未来的方向

金融业常被视为第一个将会被人工智能颠覆的行业,李开复更是做过一个大胆的预测:金融行业80%的人都敌不过人工智能。例如,基于大数据的信用评分已成为目前信用领域应用最广泛的工具,借力于大数据,信用评分从多方数据的角度出发,综合考虑了个人用户的信用表现、行为偏好、履约能力、身份特质、人脉关系等等多个维度的信息。然而,目前业界使用的模型大多只考虑了用户自身特征的影响,如消费行为、信贷行为、社交信息等。但其实在实际业务中,用户的最终表现不仅与其自身特征有关,还受到信用方决策的影响,而且同一决策对不同用户会带来不同的影响。

例如,不同渠道的用户对贷款利率(后文简称定价)的敏感度差异较大,信息越畅通的用户对价格越敏感,所以针对不同的用户需要制定不同的贷款利率。再例如,信贷额度(后文简称额度)对风险的影响可以对应到用户的违约成本和还款能力,即使是次级用户也不一定愿意为了几百块钱而违约。传统的策略在实际决策时虽然考虑了用户自身的属性,能够根据用户的风险和需求来做出决策,但仍然有赖于人工经验。Action Model则将决策和用户行为之间的相互影响考虑到最优化决策中,通过用户在不同的决策下分别有什么样的表现,从而给出最优的决策。作为一个行业难题,业界的实际应用还很少,但却是智能化必然需要迈出的一步。

业务价值

在信贷领域,Action Model能够计算出每个用户最优的额度与定价,进而让风险更可控,并且带来利润上质的提升。如果没有好的量化工具,无法量化决策对用户的影响,传统策略凭借经验给出的额度与定价很难做到千人千面。不合理的定价与额度会带来不好的后果,比如,保守的决策会丢失优质用户,并造成潜在的利润损失;激进的决策又会导致风险过高,损失的不仅是利润。

无法给出和用户相匹配的决策同样不利于培养良好的行业生态,应该对保持良好的使用习惯和信用的用户给出合适的正反馈。用户量越大,规模效应和算法对于人工规则的提升效应越大。从2018年来,我们的Action Model已完成多个版本迭代。目前,由Action Model给出额度和定价的用户,用户满意度和业务指标都有大幅提升。除了额度和定价,其他可调控的因素一样可以通过Action Model来计算出最佳的决策,比如循环方式和借款期限等。

京东风控算法工程师带你解读Action Model-精细化运营(上篇)_第1张图片
图:决策空间中的最优点


Action Model

Action Model能够解决什么问题

大部分模型旨在预测事件的最终结果,比如今年你能赚多少钱?这个用户违约的可能性有多大?只要数据量足够,理论上说我们能够预测出一个平均值。然而,Action Model预测的是用户在不同的决策下分别有什么样的表现,比如说今年你投资股票和不投资股票分别能赚多少钱?你借给张三3000和借给他30万,他分别有多大可能性无法偿还。有了这些预测值,你就更好决定到底要不要投资股票、是否借钱给张三,以及借多少,从而给出最优的决策!这就是决策的最优化问题。

在信贷领域中,我们追求的是长远的可持续利益,额度和定价的给定,不仅需要考虑用户的风险成本和实际需求,而且需要培养用户良好的信贷习惯。给优质用户应得的正反馈可以降低其流失率,合理控制对次级用户额度和定价能够提高其违约成本、降低其违约收益。Action Model通过调整额度、定价等Action因素,使用户和信贷方之间的利益良性循环。具体怎样实现呢?首先,我们需要明确要预测的目标。假设我们以长期利润为优化目标,因为长期利润是由收益(无其他说明,均指不考虑风险的收益,需考虑用户的活跃率、活跃程度和流失率等因素)和风险共同决定的,所以我们需要把预测目标拆分成两个子目标:收益和风险。

京东风控算法工程师带你解读Action Model-精细化运营(上篇)_第2张图片
图:不同用户长期利润和额度关系不同


可是等等,如果Action Model是在预测风险的同时加上预测收益,这个和风险评分(A卡分或者B卡分)加上收益评分又有什么区别呢?风险评分是基于用户特征对其逾期概率所做的预测,其评估的是用户的信用水平,p(B|x)(B代表违约用户)。而Action Model的风险子模型,预测的是用户在不同策略下的风险。因此,可以认为Action Model的风险模型是在风险评分的基础上,考虑了策略影响的风险 p(B|x,a)。收益评分也是一样。

实际上,引入Action的因素之后,可以重新表示风险评分。风险评分是直接用历史数据建模预测风险,也就是说它考虑的是用户在历史Action下的风险。如果将历史策略的分布用 p a h p_{ah} pah表示,风险评分评估的是当Action符合 p a h p_{ah} pah分布时,风险的期望值,即:


在实践中经常观察到,当策略发生较大变化时,用户的Action不再符合历史分布,风险评分的效果也会减弱。

Action Model的数学抽象

预测收益和风险还是一个比较笼统的说法,这里我们数学抽象一下我们的问题。实际决定最终长期利润的因素有很多,其中一部分是需要预测的,比如用户的响应率、逾期率、日均余额、流失率等。我们假设有 个需预测指标,使用 y = { y 1 , . . . y n } \boldsymbol{y}=\{y_{1},...y_{n}\} y={y1,...yn}来表示,称为子目标,即需要预测的中间目标。Action变量同样有很多,比如额度、定价、折扣、营销等,假设有 m m m个需要考虑的Action变量,使用 a = { a 1 , . . . a m } \boldsymbol{a}=\{a_{1},...a_{m}\} a={a1,...am}来表示。值得注意的是,真实应用时,我们往往不会完全依赖于模型给出决策。这一方面是因为模型有自身局限性,受历史数据的影响,这一点我们在下一节会详细讨论,另一方面策略会有一些hard rule会对于一些极限情况作出限制。因此我们对Action变量的取值范围需要作出一个限制,并称之为可行域,使用 A A A表示。Action Model预测的 n n n个子目标可以用以下几个公式表示:


除了需要预测的 n n n个子目标,还有一部分Action变量本身会影响长期利润,比如定价,额度等。另外,还有一部分并不会随不同的Action而改变的变量也会影响收益,比如运营成本,这类变量我们使用 c \boldsymbol{c} c来表示。算出最终长期利润profit的方法,可以参考很多现有收入模型,但最好还是根据自身的业务来确定,并且做相应的验证。最终,净收益可以表示为:


我们的最终目的,是在可行域A内找到一套a,使长期利润最大,即:


Action Model的重点在各个子目标的预测上,也就是函数 f i ( ⋅ ) f_{i}(·) fi(),这部分我们在后文中会继续讨论。以上解释了对于单个用户,我们如何得到这个用户的最优Action。但在实际应用中,可能无法这样使用模型。在实际对一群用户(简称客群)做决策时,我们的资源是有限的,比如说额度敞口可能有总体的限制,那么每个人都给出各自最优的Action就可能超出这个限制,这便会涉及到用户之间的资源分配。在求解客群级的最优解时,我们需要结合计算效率来设计求解器,本文不做详细讨论。

Action Model的结果

Action Model做出预测之后,会给出策略空间中的所有预测值。以风险子模型为例,假设Action变量为授信额度与定价等级,其中授信额的取值范围为[1000,10000],定价为离散化的五个档位。我们希望可以得到每一个用户 ( U ) (U) (U)的逾期率随着授信额度与定价变化的趋势。但是在Action连续的情况下,要绘制上述曲线显然存在难度。所以,在确认不会对模型使用产生影响的情况下,我们可以将连续Action通过划分区间的方式离散化。例如我们可以将授信额度每1000划分一个区间,得到用户在各个区间段内的预测,之后再将各个区间段内的预测连接,得到预测的趋势曲面,曲面上的每一个点代表了某一action组合条件下子目标的预测值。

京东风控算法工程师带你解读Action Model-精细化运营(上篇)_第3张图片
图:额度和定价离散化后,各点相连生成的用户U的预测逾期率变化曲面(数据为模拟展示)


当然,采取离散化的方式会对预测的精准度产生影响。所以划分的粒度不应过粗,并多次尝试不同的离散化方式,以达到较好的效果。

以上我们为大家举例了Action Model预测的决策空间中的风险子目标,在我们预测出所有的子目标之后,可以计算出最终长期利润。接下来,我们只需要找到最优的那个决策点就可以了。

下期预告

本篇为大家介绍了ActionModel的背景和和数学模型,下篇我们将为大家介绍如何搭建模型,以及建模过程中需要注意哪些问题
敬请期待下期原创文章——
《我预见了1400万个未来,最优的决策只有一个(下)》
(作者:咚咚 & 新一)

本文首发于部门公众号 JDD风控算法,点击下方图片扫码关注或阅读原文

你可能感兴趣的:(最优决策,机器学习,人工智能,大数据,数据分析,算法)