有案例有代碼,詳細(xì)模型分?jǐn)?shù)
編輯導(dǎo)語(yǔ):風(fēng)控模型的應(yīng)用場(chǎng)景非常廣泛,只要牽扯互聯(lián)網(wǎng)金融的行業(yè)就少不了風(fēng)控,風(fēng)控模型建好后還要映射到信用分?jǐn)?shù)空間,才能呈現(xiàn)給用戶;本文作者分享了詳細(xì)的建模方法,教你如何建立模型分?jǐn)?shù),我們一起來(lái)看一下。
目前在個(gè)人信用風(fēng)控建模領(lǐng)域主要使用的模型有兩種:
- 基于線性回歸分析的評(píng)分卡模型,常見(jiàn)于銀行背景的放貸機(jī)構(gòu);
- 基于大數(shù)據(jù)的機(jī)器學(xué)習(xí)模型,如隨即森林、XGBoost等,常見(jiàn)于互聯(lián)網(wǎng)金融領(lǐng)域。
這兩種建模方法無(wú)論哪種都需要將模型結(jié)果映射到信用分?jǐn)?shù)空間,最終呈現(xiàn)給用戶一個(gè)能夠表征信用的分?jǐn)?shù),比如國(guó)內(nèi)的芝麻分、美國(guó)的FICO分。
那么問(wèn)題來(lái)了,模型結(jié)果和分?jǐn)?shù)同樣都是數(shù)值,為什么不直接呈現(xiàn)模型結(jié)果?為什么還要進(jìn)一步轉(zhuǎn)化為分?jǐn)?shù)?為什么使用分?jǐn)?shù)校準(zhǔn)?
本文的目的就是要讓你知其然也知其所以然。
深入到業(yè)務(wù)中,帶你一步步搞懂分?jǐn)?shù)映射產(chǎn)生的背景以及分?jǐn)?shù)校準(zhǔn)背后的業(yè)務(wù)需求;在了解了業(yè)務(wù)之后,你就會(huì)發(fā)現(xiàn)分?jǐn)?shù)的意義和映射方法的內(nèi)在邏輯。
一、分?jǐn)?shù)映射的產(chǎn)生——一款產(chǎn)品一個(gè)模式
先從最簡(jiǎn)單的情況入手,假設(shè)我們現(xiàn)在成立了一家小信貸公司,推出一款借貸產(chǎn)品,詳情如下:
(該產(chǎn)品數(shù)值僅作示意,不代表真實(shí)情況)
此時(shí)我們要解決的第一個(gè)問(wèn)題是:如何讓這款產(chǎn)品盈利?
信貸業(yè)務(wù)能夠盈利的關(guān)鍵是還款人的利息能夠覆蓋壞賬損失(不能收回的各種應(yīng)收款項(xiàng))。
也就是說(shuō)要盡可能的把錢(qián)借給信用良好、按時(shí)還款的用戶以保證產(chǎn)品盈利。
在產(chǎn)品參數(shù)確定后,逾期率是保證產(chǎn)品盈利的唯一影響因素。
這里要提一下關(guān)鍵的一點(diǎn):如何定義逾期率?
在信貸領(lǐng)域通常逾期超過(guò)60天的用戶基本上就不會(huì)再還錢(qián)了,自然的我們就可以通過(guò)逾期超過(guò)60天的比例來(lái)衡量用戶的好壞程度。
在機(jī)器學(xué)習(xí)建模時(shí),有時(shí)為了增加壞賬樣本的數(shù)量,也會(huì)將逾期超過(guò)30天的比例定義為逾期率。
1. 逾期率多久可以忍受
根據(jù)信貸業(yè)務(wù)盈利的邏輯,我們可以得到下面這個(gè)盈虧平衡的公式:
其中:
- L ——?表示額度;
- InterestRate?—— 表示貸款年化利率;
- FundsRate —— 表示資金成本年化利率;
- pd 表示逾期率(Probability of Default);
- OperatingCost —— 表示運(yùn)營(yíng)成本;
- NewCost —— 表示拉新成本,指獲取單個(gè)新客戶所支付的金額(拉新成本的定價(jià)要結(jié)合營(yíng)銷(xiāo)方案具體問(wèn)題具體分析)。
舉個(gè)簡(jiǎn)單的例子,若從渠道購(gòu)買(mǎi)流量,購(gòu)買(mǎi)金額除以該渠道的新客戶數(shù)量就是該渠道的新客成本。
再比如舉辦拉新獎(jiǎng)勵(lì)活動(dòng),成功拉取一個(gè)新用戶所需要支付的獎(jiǎng)勵(lì)金額也是拉新成本。
總之拉新成本的計(jì)算要圍繞實(shí)際引流方案、投入來(lái)確定。
將產(chǎn)品詳情中數(shù)值帶入公式后計(jì)算得到?pd = 0.015?,即盈虧平衡點(diǎn)。
2. 如何確定模型穩(wěn)定性是否發(fā)生了變化
什么是閾值cutoff?
我們先看一看真實(shí)的模型打分結(jié)果長(zhǎng)什么樣子,這里用的是XGBoost模型:
- label —— 樣本真實(shí)類(lèi)別,0表示正常還款,?1 表示逾期;
- predict —— 模型預(yù)測(cè)值。
對(duì)于二分類(lèi)問(wèn)題的模型,預(yù)測(cè)結(jié)果是一個(gè)0~1的小數(shù),最終該觀測(cè)點(diǎn)被判定為哪個(gè)類(lèi)別是由閾值所決定的:p >= cutoff 表示1, p < cutoff 表示0。
這里有個(gè)小問(wèn)題:逾期率和模型結(jié)果的值域都是[0, 1],那么模型預(yù)測(cè)值等于逾期率這個(gè)假設(shè)成立嗎?
我們做一個(gè)簡(jiǎn)單的統(tǒng)計(jì),如下:
從均值、分位點(diǎn)的結(jié)果上看他們并不能直接劃等號(hào)。
理論上來(lái)說(shuō)Linear Regression模型的輸出概率可以認(rèn)為是真實(shí)概率,而其他分類(lèi)器的輸出概率并不反映真實(shí)概率。
接下來(lái)我們需要將模型預(yù)測(cè)結(jié)果先排序,再分箱計(jì)算各個(gè)桶的逾期率,找到滿足盈虧平衡點(diǎn)要求的預(yù)測(cè)結(jié)果閾值,低于閾值通過(guò)貸款申請(qǐng),反之則拒絕貸款申請(qǐng)。
“`python
def get_cutoff(data, bin_size, fpd):
“””
第一步:確定分箱箱數(shù)
第二步:按照predict分?jǐn)?shù)排序,劃分bins
第三步:計(jì)算各個(gè)bins的逾期率,找到逾期率滿足盈虧平衡點(diǎn)的分界線
:param data: Dataframe類(lèi)型,包含?label(是否逾期), predict(模型預(yù)測(cè)值)兩列數(shù)據(jù)
:param bin_size: 分箱個(gè)數(shù)
:param pd: 盈虧平衡點(diǎn)的逾期率
:return:
“””
bin_width = round((max(data[‘predict’]) – min(data[‘predict’])) / bin_size, 6)
bin_lst = [min(data[‘predict’]) + bin_width * i for i in range(bin_size + 1)]
bin_lst[0], bin_lst[-1] = 0, 1
data[‘bin’] = pd.cut(data[‘predict’], bin_lst)
bin_group = data.groupby(‘bin’)[‘label’].agg([ ‘mean’]).reset_index()
print(bin_group)
cutoff = None
for i in range(20):
if bin_group.iloc[i][‘mean’] > fpd:
cutoff = bin_group.iloc[i][‘bin’].left
break
return cutoff
“`
將上一環(huán)節(jié)計(jì)算出的盈虧平衡點(diǎn)0.015作為參數(shù)代入函數(shù),返回cutoff值。
根據(jù)打印的分箱結(jié)果,可以看到在(0.0299, 0.0327)處,逾期率為0.015512,是第一個(gè)逾期率超過(guò)盈虧平衡點(diǎn)0.015的分箱。
因此把cutoff定為?0.0299,以保證拒絕掉不滿足盈虧平衡點(diǎn)的用戶。
3. 如何向客戶展示信用評(píng)估結(jié)果?
至此,你的小公司將面臨幾種選擇:
A. 直接告訴用戶貸款申請(qǐng)結(jié)果呢?通過(guò)或拒絕這樣做不是不可以,但給用戶的感覺(jué)有點(diǎn)霸道了(是不是很像申請(qǐng)信用卡的感覺(jué),等了半個(gè)月被通知審核失敗),這不是一個(gè)追求用戶體驗(yàn)的互金小公司該有的服務(wù)態(tài)度。
B. 把模型預(yù)測(cè)值所在的分箱逾期率作為信用評(píng)估結(jié)果反饋給用戶呢?
這樣做也不是不可以,但設(shè)身處地的站在用戶角度想一想會(huì)怎樣?
用戶會(huì)不會(huì)產(chǎn)生疑問(wèn):
- 這小數(shù)點(diǎn)后這么多位的數(shù)值到底是個(gè)啥?
- 高了好還是低了好?
- 從小到大我只見(jiàn)過(guò)1星到5星,0分到100分……
通常真實(shí)逾期率在小數(shù)點(diǎn)2位以后有所差別,顯然把逾期率反饋給用戶是不夠?qū)I(yè)的;這還沒(méi)考慮是不是暴露了商業(yè)機(jī)密的問(wèn)題,比如客群質(zhì)量、定價(jià)等。
那怎樣更合理的向客戶展示信用評(píng)估結(jié)果呢,下篇告訴你!
本文由 @FAL金科應(yīng)用研院 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 unsplash,基于 CC0 協(xié)議
- 目前還沒(méi)評(píng)論,等你發(fā)揮!