Lending Club貸款數據分析(下)

  • 數據可視化
  • 結論

上一篇文章中,我們說到了如何處理數據,并且最后篩選出比較重要的一些特征。按道理來說,接下來我們應該對數據進行去重、歸一化、進行建模了。然而時間、精力有限,且與最終要研究的目的沒多大關系,所以這一部分并沒有進行深層研究。

接下來我們從數據可視化開始說起,探究潛藏在數據背后的信息。

五、數據可視化

首先我們來看一下2016年第一季度業務開展情況,主要是放款筆數,金額,期限等情況

perform_data = analysis_data.groupby('month')['loan_amnt'].agg(['count','sum'])#貸款筆數與放貸金額
f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
x = perform_data.index  #月份month
y1 = perform_data['count']#貸款筆數
sns.barplot(x, y1, ax=ax1)
y2 = perform_data['sum']#貸款金額
ax1.set_xlabel("")
ax1.set_ylabel("loan_count")
sns.barplot(x, y2,ax=ax2)
ax2.set_ylabel("loan_amount")
sns.despine(bottom=True)
第一季度貸款筆數、金額分布圖

可以看出,1月份至3月份的貸款筆數、貸款金額都在提升。

第一季度貸款等級變化趨勢

在同時,第一季度中不同等級的貸款數量都有所增長,其中F、G等級貸款繼續維持在一定的、較低的成交數量,而其他等級貸款的數量和漲幅都較為明顯。

通過兩個圖表我們對第一季度整體的業績有了一些了解,接下來我們將更具體的了解業務的內容,比如說貸款金額、貸款期限以及利率等。

from scipy.stats import norm   #貸款金額分布
sns.distplot(analysis_data.loan_amnt,fit=norm,kde=False,color='blue')
sns.despine(top=True)
貸款金額分布圖

單筆貸款金額在1萬~2萬美元范圍內占比較多,較高金額的貸款數量較少,也間接證明了lending club 主營小額度的貸款項目。

analysis_data.term.value_counts().plot.pie(autopct='%.2f',figsize=(10, 10),colors = ['yellowgreen','lightblue']) #借款周期分布比例
貸款周期占比

貸款周期分為36個月與60個月,主要以36個月為主,不過60個月的比重也不小。在p2p平臺上以短期貸款為主,長期貸款也有,利率較高,但周期較長。借出人收獲利息,承擔風險,而借入人到期要償還本金。貸款周期越長,對借出人來說風險越高。

在國內的環境下,借出人不僅要承擔推遲還款的風險,還要擔心平臺跑路、本息全無的高風險;對借入人來說,因為國內缺少健全的征信體系,借款方違約及重復違約成本低。

對國內的情況不再多說,話題繞回來。國外的部分國家已有健全的征信體系,一旦違約還款,違約率不斷上漲,個人征信也會保留記錄,對后序的貸款、買房有很大的影響。所以如果貸款周期較長,且如果沒有固定的工作和固定的收入的話(即使有未定收入也不一定如期償還),償還本金充滿變數,很有可能違約。

所以通過上圖可以看出幾個信息:

1.短期貸款占比重較大,長期貸款占比也不低

2.Lending club平臺有較強的風控能力,部分借出方比較信任平臺(不怕平臺跑路),而借入方對自身的還款能力有一定的信心。

接下來我們再試著對貸款人進行分析,形成一下用戶畫像吧。

貸款人工齡分布圖

從圖中可以看出,貸款人中有37%的比例的人工齡為10年以上。那么,我們可以考慮一下,為什么工齡超過10年的人有貸款需求呢?且占比這么高?

那么可以猜測一下(個人意見),首先可能是工齡越長,貸款通過率越高(篩選后占比較高),其次可能有部分是工作超過10年但是被裁員的(經濟不好),有部分是還有工作但是需要還房貸的(不知道國外的形式),有部分是個人家庭有大筆支出的(個例,占比不大),當然不排除謊報工齡的可能。

至于猜測是否準確個人不能保證,還需要結合當年的經濟形勢,以及職業變動等情況進行綜合判斷,在此不再深究。

#貸款人收入水平
sns.factorplot(x="grade", y="annual_inc", hue="verification_status", data=lendData,order=list('ABCDEFG'),size=15,palette="Paired")
貸款人收入水平

再來看看收入水平的情況。貸款人的收入水平信息分為三種情況:已經過LC驗證,收入來源已驗證,未驗證。這三種情況目前從圖中看不出有什么不同。總之,貸款等級與收入水平在整體上呈正相關的趨勢。

analysis_data.home_ownership.value_counts().plot.pie(autopct='%.2f',figsize=(10, 10),colors= ['red','yellowgreen','lightskyblue']) #借款人住房狀況分布
借款人住房狀況分布圖

大多數人的房屋狀態是抵押貸款(大部分人是房奴),只有少部分人有完全的產權。

#貸款等級與住房情況
analysis_data_home = lendData.groupby(['grade','home_ownership'])[['issue_d']].count().apply(lambda x : x/x.sum(level=0)).unstack(level=1)\
             .reset_index().set_index('grade')\
             .stack(level=0).reset_index(level=1, drop=True)
analysis_data_home.plot.barh(stacked=True,figsize=(15,8)).legend(loc='center left', bbox_to_anchor=(1, 0.5))
貸款等級與住房情況

意外的發現,貸款等級越高的人群,他們的住房情況是抵押貸款的幾率越高,而租房的幾率越低。而擁有完全產權的人群在各個貸款等級的人群中占比差不多。

再來看看他們貸款都干什么了。

sns.countplot(y=analysis_data.purpose) #貸款用途分布
sns.despine(top=True)
貸款用途分布

可以很明顯的看出debt_consolidation(可以理解為債務整合,借新還舊)占比最高,占比第二高的credit_card也歸屬為同一類。

貸款目的與人均收入水平

綜合收入水平與貸款用途得到上圖,我們可以發現在第一季度中,人均收入水平較高的人群貸款用于小生意,家庭生活改善,房子等。而貸款為了債務整合(占比最高)的人群的人均收入水平在整體的中下。

對貸款人群了解的也差不多了,接下來我們看一下資產質量

如何定義資產質量呢?在這里可以狹義地理解為在一定時期、利率、期限結構下資產所能來帶的收益高低或損失可能,對于貸款來說,借款人償還本息的及時足額程度、借款人的信用等級、貸款的利率期限等等都影響到資產的質量。

不過要注意,通常我們認為借款人的還款觀察期最好是在6個月到12個月,因為在這個期限內,借款人還款的表現情況才逐漸趨于穩定。而計算第一季度的delinquent rate(拖欠率)是不具備代表性的,所以在這里就不對第一季度的整體Bad Rate(壞賬率)做進一步的分析了,而是著重觀察不同信用等級下的資產質量。

說實話,關于資產質量的這部分并沒有分析經驗,也是參考了一下大牛的文章引用過來的。文末會給出鏈接,對金融、p2p感興趣的可以自行學習。

回歸正題,既然資產質量與償還利息是否及時、借款人信用等級等等相關,那么就把這些信息整合起來,查看一下不同貸款等級的貸款質量。

在眾多特征中,有個特征變量loan_status(貸款狀態)來描述當前貸款處于什么狀態,其中包括Current、Fully Paid、Charged Off(注銷)、Default、In Grace Period(在寬限期)、Late (16-30 days)(延期16-30天) 、Late (31-120 days)(延期31-120天)這幾種狀態。

#將貸款狀態分為好與壞,好的貸款狀態就是current(在還款期),fully paid(全部償還),剩下的認為是壞的狀態
past_due = ['In Grace Period','Late (16-30 days)', 'Late (31-120 days)', 'Default','Charged Off']
delinquent = ['Late (16-30 days)', 'Late (31-120 days)', 'Default'] 
lost = ['Default']
charged_off = ['Charged Off']
analysis_data_1 = analysis_data.copy()
analysis_data_1['loan_status']  = analysis_data_1['loan_status'].map(lambda x :'Past Due' if x in past_due else x)
groupd_grade =  analysis_data_1.groupby(['grade','loan_status'])
pay_data_2 = groupd_grade.agg({'loan_amnt':'sum','out_prncp':'sum','total_rec_prncp':'sum','total_rec_int':'sum'}) \
                    .assign(loan_amnt_pct=lambda x : x['loan_amnt']/x.groupby(level=0)['loan_amnt'].sum(),
                             out_prncp_pct=lambda x : x['out_prncp']/x.groupby(level=0)['out_prncp'].sum())
pay_data_2
貸款等級與貸款狀態的分布

接下來分別解釋一下特征的含義。total_rec_prncp(迄今收到的本金),
total_rec_int (迄今收到的利息),out_prncp (總資金中剩余的未償還本金),后兩列原數據集中沒有,分別代表當前貸款金額占該等級所有貸款金額的比例, 未償還本金金額占該等級所有未償還本金金額的比例。

我們可以看到,貸款狀態分成了三類,Past Due中包括的都是不好的貸款狀態,用來衡量貸款質量。

之后我們將Past Due(壞的狀態)單獨提取出來

f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
x = past_due_data.index
y1 = past_due_data['loan_amnt_pct']
sns.barplot(x, y1, ax=ax1)
y2 = past_due_data['out_prncp_pct']
ax1.set_xlabel("")
ax1.set_ylabel("loan_amnt_pct") #壞的狀態的貸款所占比例
sns.barplot(x, y2,ax=ax2)
ax2.set_ylabel("past_due_rate") #未償還本金的貸款所占比例
sns.despine(bottom=True)
貸款等級與壞的貸款所占比例

從圖中我們看出,貸款等級越高,貸款質量越高。A等級最好,G等級最差,也從側面看出Lending club的風控水平。

六、結論

通過數據可視化我們對2016年第一季度的數據已經有了一個整體的認識。那么我們最終要研究的問題是否已經找到答案了呢?回答是肯定的。在調查Lending club背景時,我們得到了模糊的線索。在進行數據預處理過程中,我們通過相關系數得到與貸款等級關系密切的特征,后續又通過數據可視化直觀的看到與貸款等級相關的因素。下面就做一下總結。

影響貸款等級的相關因素

1.首先通過背景了解到FICO分數,分數越高,貸款通過的可能性與等級也越高。

FICO特征在原數據集中缺失,該圖片源自其他文章

2.征信記錄。包括征信查詢、貸款人的不良信用記錄等。征信記錄很重要,并且占據較大的權重。因為過去的信用記錄反映的是這個人潛在的壞賬率,本來嘛LC必須要保障借出人與自身的利益。


特征分類

3.資產實力。包括收入水平、住房情況、dti等。住房情況在重要性篩選過程中出現,收入水平在數據可視化過程中觀察到明顯的相關性。然而這些特征并不是主要的影響因素,權重較低。

通過上述的總結歸納,我們得知Lending club平臺已經有了一個完整的篩選、評級體系,且有足夠的風控水平,通過對信息來源進行核實,以及控制低等級貸款的數量來維持整體貸款的水平,降低壞賬率。雖然現在Lending club的形勢不太樂觀,但在丑聞事件的打擊中它還是挺過來了。不論之后該公司如何發展,至少它成型的風控水平值得國內絕大多數p2p平臺學習。


參考

1.數據分析之python大法

2.用seaborn畫出好看的分布圖

3.10分鐘python圖表繪制 seaborn入門

4.Lending club股價大跌

5.Lending club透徹分析


本文為 泰閣志-解密大數據 學習筆記,了解更多請關注微信“泰閣志”

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 研究摘要 近年來,大數據、云計算、人工智能和區塊鏈等一系列技術的飛速發展,使得科技成為推動金融變革的重要力量。金融...
    shenciyou閱讀 3,479評論 0 8
  • 都說要多讀書、多讀課外書,可是很多家長和小朋友都很犯難: “我們也知道讀書很重要呀,可是就是讀不進去啊?”或者“小...
    林瓏_閱讀 5,571評論 3 4
  • 在ubuntu系統中連接多個網絡,默認情況下會添加多條默認路由,比如公司內網地址和外網地址。這樣會導致訪問內網某些...
    oulinbao閱讀 3,675評論 0 0
  • 我覺得“忍”這個字做起來真的很難,我這個脾氣真的需要改,生活和工作上也如此。 在家的話現在的情況會好點,和家人說話...
    來治猩猩的你hhh閱讀 219評論 0 0