有案例有代碼,詳細(xì)模型分?jǐn)?shù)(下)

1 評(píng)論 5551 瀏覽 8 收藏 14 分鐘
🔗 B端产品需要更多地依赖销售团队和渠道合作来推广产品,而C端产品需要更多地利用网络营销和口碑传播来推广产品..

編輯導(dǎo)語(yǔ):風(fēng)控模型的應(yīng)用場(chǎng)景非常廣泛,只要牽扯互聯(lián)網(wǎng)金融的行業(yè)就少不了風(fēng)控,風(fēng)控模型建好后還要映射到信用分?jǐn)?shù)空間,才能呈現(xiàn)給用戶(hù);本文作者分享了詳細(xì)的建模方法,教你如何建立模型分?jǐn)?shù),我們一起來(lái)看一下。

承接上文《有案例有代碼,詳細(xì)模型分?jǐn)?shù)》本文開(kāi)頭告訴大家怎樣更合理的向客戶(hù)展示信用評(píng)估結(jié)果。把模型預(yù)測(cè)值映射到一個(gè)分?jǐn)?shù)區(qū)間,比如350~950,分?jǐn)?shù)越高信用越好。

很自然的我們就走到了這個(gè)最佳選擇,至于分?jǐn)?shù)為什么定義在這個(gè)區(qū)間,我個(gè)人理解一是為了跟國(guó)際上主流的個(gè)人信用評(píng)分區(qū)間接軌;二是為了拉開(kāi)用戶(hù)之間的分?jǐn)?shù)差距。

4. 如何映射分?jǐn)?shù)

最簡(jiǎn)單最容易想到的是采用尺度變化,將模型預(yù)測(cè)結(jié)果線(xiàn)性的映射到350~950,然后找到cutoff 對(duì)應(yīng)的分?jǐn)?shù)X,告訴用戶(hù)分?jǐn)?shù)高于X就可以拿到貸款。

等一下!如果過(guò)段時(shí)間模型更換了怎么辦?

模型換了,cutoff隨之變化,分?jǐn)?shù)X也跟著變了。這時(shí)就會(huì)有一部分用戶(hù)瘋狂的呼叫客服問(wèn)“為啥我的評(píng)分變高了,反而不能貸款?”

同時(shí)每次更換模型,后臺(tái)、前端都需要進(jìn)行相應(yīng)的邏輯、頁(yè)面修改,每次模型發(fā)布需要多個(gè)環(huán)節(jié)協(xié)作完成,是一種高耦合的工作方式。

于是你趕緊召集團(tuán)隊(duì)成員討論解決方案,有人提出一個(gè)又簡(jiǎn)單又好用的方案:分段尺度變換,將cutoff 固定為 680分(本文假定的)然后分成兩段作尺度變換。

總結(jié)分段尺度變換的優(yōu)點(diǎn):

  1. 模型切換用戶(hù)無(wú)感。無(wú)論模型的cutoff如何調(diào)整,用戶(hù)感知不到差別,只要分?jǐn)?shù)超過(guò)680都可以成功申請(qǐng)到貸款;
  2. 解耦了模型團(tuán)隊(duì)與開(kāi)發(fā)團(tuán)隊(duì)。也就是說(shuō)當(dāng)模型人員校準(zhǔn)好評(píng)分后,后臺(tái)開(kāi)發(fā)只需要設(shè)定680分通過(guò),從此以后無(wú)論模型人員怎么更換模型,后臺(tái)開(kāi)發(fā)都不用再重新修改代碼。

“`python

predict_desc = table.describe()[‘predict’]

# 這里用幾倍標(biāo)準(zhǔn)差確定上下界根據(jù)經(jīng)驗(yàn)設(shè)定,是為了避免outlier值使得分?jǐn)?shù)過(guò)于集中在某個(gè)范圍

upper = min(predict_desc[‘mean’] + 5 * predict_desc[‘std’], 1)

lower = max(predict_desc[‘mean’] – 3 * predict_desc[‘std’], 0)

def get_score_linear(predict, upper, lower, cutoff):

“””

將模型打分結(jié)果尺度變換到350~950的分?jǐn)?shù)區(qū)間

:param predict: float, 模型打分

:param upper: 模型打分上界

:param lower: 模型打分下界

:param cutoff: 680分位置對(duì)應(yīng)的模型打分

:return:

“””

if predict > upper:

return 350

elif predict > cutoff:

return 680 – int((680 – 350) * (predict – cutoff) / (upper – cutoff))

elif predict == cutoff:

return 680

elif predict > lower:

return 680 + int((cutoff – predict) * (950 – 680) / (cutoff – lower))

else:

950

二、客群分層下的分?jǐn)?shù)映射

1. 老用戶(hù)分層

敏銳的你發(fā)現(xiàn),隨著用戶(hù)的復(fù)貸次數(shù)增多,原有盈虧平衡點(diǎn)的計(jì)算方式會(huì)使得拉新成本被計(jì)算了多次(用戶(hù)復(fù)貸幾次就多計(jì)算幾次)。

這也就引出了用戶(hù)分層的一種場(chǎng)景:區(qū)分新老客戶(hù),分別建模,分別計(jì)算盈虧平衡點(diǎn)。

傳統(tǒng)的評(píng)分卡中A卡B卡也有異曲同工之處:

  • A卡用于貸前審批階段對(duì)借款申請(qǐng)人的量化評(píng)估,是使用最廣泛的;
  • B卡用于貸中階段,增加了借款人的還款及交易行為,預(yù)測(cè)借款人未來(lái)的還款能力和意愿;

綜合分析新老用戶(hù)分別建模的特點(diǎn):

  1. 模型更準(zhǔn)確。老客戶(hù)建模引入了歷史還款行為、交易行為,使得模型更準(zhǔn)確。
  2. 老用戶(hù)的成本更低。拉新成本歸屬于邊際成本,當(dāng)新用戶(hù)轉(zhuǎn)化為老用戶(hù)后,每多一次復(fù)貸都會(huì)將拉新成本攤平。那么就可以將拉新成本算在新用戶(hù)上,老用戶(hù)的成本得以降低,對(duì)逾期率有更大的容忍度;
  3. 提高復(fù)貸率,提高盈利。修正老客戶(hù)的盈虧平衡點(diǎn),可以提高老客戶(hù)的通過(guò)率,從而提高復(fù)貸率,提高盈利。

那么我們?cè)僦匦掠?jì)算以下老用戶(hù)的盈虧平衡點(diǎn):帶入公式計(jì)算得到盈虧平衡點(diǎn) pd = 0.0217,在代碼中求得cutoff = 0.047。

同理,采用分段尺度變換方法可以將模型結(jié)果進(jìn)一步映射到信用分?jǐn)?shù)空間,這里不再贅述。

此時(shí)的你又開(kāi)始思考如何做大做強(qiáng)。為了吸引更多用戶(hù),留住優(yōu)質(zhì)客源,你跑斷了腿找到一個(gè)新的資本方,愿意以更低的資金成本給你提供資金來(lái)源。

于是你終于可以上線(xiàn)一款新產(chǎn)品:更低的利率給更好的你。

至此業(yè)務(wù)進(jìn)入了多產(chǎn)品軌道。

2. 用戶(hù)質(zhì)量分層以匹配不同利率產(chǎn)品

除了按照新老客戶(hù)性質(zhì)分層,還可以按照用戶(hù)質(zhì)量來(lái)劃分用戶(hù)。

將老用戶(hù)分為優(yōu)質(zhì)用戶(hù)和次優(yōu)用戶(hù),這樣做的目的是為優(yōu)質(zhì)用戶(hù)匹配優(yōu)質(zhì)產(chǎn)品,更低利率或更高額度。

按照這個(gè)思路就可以將用戶(hù)分為以下四個(gè)層次:

  • A — 老用戶(hù)中的優(yōu)質(zhì)用戶(hù)???資金成本0.02 利率?0.22 額度?5000
  • B — 老用戶(hù)中的次優(yōu)用戶(hù)???資金成本0.04 利率?0.34 額度?3000
  • C — 新用戶(hù)中的優(yōu)質(zhì)用戶(hù)???資金成本0.02 利率?0.30 額度?3000
  • D — 新用戶(hù)中的次優(yōu)用戶(hù)???資金成本0.04 利率?0.34 額度?1000

只以A、B類(lèi)用戶(hù)舉例,同理帶入公式計(jì)算盈虧平衡點(diǎn):


得到:

A類(lèi)用戶(hù)盈虧平衡點(diǎn)?pd = 0.01467

B類(lèi)用戶(hù)盈虧平衡點(diǎn)?pd = 0.02167

現(xiàn)實(shí)業(yè)務(wù)中可以將ABCD四類(lèi)用戶(hù)評(píng)級(jí)結(jié)果直接反饋給用戶(hù),比如我們??吹降狞S金會(huì)員、鉆石會(huì)員,本質(zhì)上是類(lèi)似的;

也可以按照分段尺度變換的思路將分?jǐn)?shù)劃分多段,例如:

代碼可以參考前面二分段尺度變換的代碼,增加對(duì)應(yīng)的判斷分支即可。

隨之而來(lái)的問(wèn)題也就出現(xiàn)了:

  1. 如果產(chǎn)品越來(lái)越豐富,變換額度、利率,所需要計(jì)算的盈虧平衡點(diǎn)越來(lái)越多,那怎么辦呢?再使用分段尺度變換這種簡(jiǎn)單粗暴的方法就顯得越來(lái)越笨拙了,也增加了出錯(cuò)的概率。
  2. 當(dāng)多個(gè)模型共同工作或切換備用模型時(shí),如何保證分?jǐn)?shù)尺度一致?這里尺度一致的意思是,兩個(gè)模型分?jǐn)?shù)相同時(shí)對(duì)應(yīng)的逾期率是否一致。

?三、多產(chǎn)品、多客群、多模型下數(shù)映射的產(chǎn)生——分?jǐn)?shù)校準(zhǔn)

為了能夠更好的進(jìn)行風(fēng)險(xiǎn)定價(jià),業(yè)務(wù)部門(mén)希望模型給出的分?jǐn)?shù)能夠準(zhǔn)確的反映出真實(shí)的信用風(fēng)險(xiǎn)等級(jí)。

這一過(guò)程稱(chēng)為分?jǐn)?shù)校準(zhǔn)(Score Calibration)。

也就是說(shuō),我們最終的目標(biāo)是:建立信用評(píng)估分?jǐn)?shù)與預(yù)測(cè)逾期率的函數(shù)關(guān)系

這里介紹一種常用的分?jǐn)?shù)校準(zhǔn)方法,通過(guò)該方法,可以由分?jǐn)?shù)精準(zhǔn)的計(jì)算出預(yù)測(cè)逾期率,反之亦可。

1. 建立Odds與分?jǐn)?shù)的函數(shù)關(guān)系

熟悉業(yè)務(wù)的同學(xué)會(huì)知道,建模時(shí)逾期樣本非常少,更多的是信用良好的樣本。

原因我認(rèn)為有兩點(diǎn):

  1. 現(xiàn)實(shí)中好人是大多數(shù)的,這點(diǎn)不多解釋。
  2. 模型長(zhǎng)期篩選的作用,通常我們已經(jīng)得到還款結(jié)果的樣本是已經(jīng)通過(guò)上一輪模型的一批樣本,壞用戶(hù)已經(jīng)被上一輪模型過(guò)濾掉大部分了。

因此,逾期率與用戶(hù)數(shù)量是符合冪律分布的。也就是說(shuō)隨著逾期率的升高,用戶(hù)數(shù)量呈指數(shù)下降。

進(jìn)而在設(shè)計(jì)Odds與分?jǐn)?shù)的函數(shù)關(guān)系時(shí),對(duì)Odds取了一個(gè)log,再結(jié)合簡(jiǎn)單的線(xiàn)性方程,加入截距A和斜率B進(jìn)行線(xiàn)性擬合:

也叫做比率Odds,常用來(lái)評(píng)估風(fēng)險(xiǎn)。(ps:熟悉賭球的朋友會(huì)對(duì)比率很熟悉),同時(shí)有

由公式看出來(lái)分?jǐn)?shù)與log(Odds)呈線(xiàn)性關(guān)系,表示分?jǐn)?shù)每變化多少,逾期率會(huì)番翻。

要算出系數(shù)A、B的話(huà),需要從業(yè)務(wù)角度先預(yù)設(shè)兩個(gè)前提條件:

我們?cè)O(shè)定時(shí),應(yīng)逾期率是0.0196,?當(dāng)Odds按雙倍上下浮動(dòng)時(shí),分值對(duì)應(yīng)變動(dòng)100分。

這里設(shè)定的值只是為了演示計(jì)算,實(shí)際業(yè)務(wù)中應(yīng)該根據(jù)業(yè)務(wù)情況制定合理的取值。

求解方程組計(jì)算得到A,B

上面這個(gè)公式就是分?jǐn)?shù)與逾期率的函數(shù)關(guān)系,我們可以進(jìn)一步把分?jǐn)?shù)、Odds、逾期率的對(duì)照關(guān)系計(jì)算出來(lái):

仔細(xì)觀(guān)察我們會(huì)發(fā)現(xiàn),隨著逾期率PD越來(lái)越小,Odds其實(shí)近似等于逾期率,這就更方便業(yè)務(wù)團(tuán)隊(duì)進(jìn)行風(fēng)險(xiǎn)定價(jià)。

2. 建立模型結(jié)果與Odds的函數(shù)關(guān)系

  • 對(duì)于機(jī)器學(xué)習(xí)模型來(lái)說(shuō)這里變量x可以是一個(gè)或多個(gè)模型預(yù)測(cè)結(jié)果;
  • 對(duì)于評(píng)分卡來(lái)說(shuō)變量x就是原始特征;

從模型結(jié)果到Odds是一個(gè)線(xiàn)性回歸過(guò)程。

至此,我們就完成了一個(gè)標(biāo)準(zhǔn)的分?jǐn)?shù)校準(zhǔn)。

四、總結(jié)

我們回顧一下,隨著產(chǎn)品種類(lèi),模型數(shù)量的豐富,分?jǐn)?shù)映射逐漸有了更多的要求以適應(yīng)業(yè)務(wù)的需求和團(tuán)隊(duì)協(xié)作的高效。

總結(jié)一下每個(gè)階段的優(yōu)缺點(diǎn):

 

本文由 @FAL金科應(yīng)用研院 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 124

    回復(fù)