攜程金融大數據風控算法實踐

  • 2019 年 11 月 21 日
  • 筆記

分享嘉賓: 曾凡祥 攜程金融大數據團隊負責人 編輯整理: 賈冬雪 內容來源: DataFun AI+ Talk 出品社區: DataFun 註:歡迎轉載,轉載請註明出處。

導讀:本次報告曾老師主要分享了攜程金融風控算法從0-1的發展進程,以時間為主線,經歷了數據樣本由少到多,特徵由粗到細,模型由簡單到複雜,效果由壞到好的全過程,重點以申請評分模型和反欺詐模型進行闡述,是一次很好的風控模型實踐報告。

「業務介紹」

模型一定是基於業務的,所以首先介紹一下攜程的業務情況,即本文所提及模型的實際應用場景。攜程金融主營業務有三大模塊:

  • 消費金融,包括消費分期(拿去花)和現金分期(借去花);
  • 信用卡;
  • 供應鏈金融。

Fig . 1 攜程金融的主要業務範圍

「數據中台」

模型亦是基於完善的技術平台的,攜程金融數據中台可以抽象為三個層次,底層是基礎數據層,中層業務抽象模型層,以及最上層的算法模型層。

Fig . 2 攜程金融大數據中台的抽象結構

中台這個概念早期是由美軍的作戰體系演化而來的,技術上所說的「中台」主要是指學習這種高效、靈活和強大的指揮作戰體系。比如電商領域,經過十幾年的發展,組織龐大而複雜,業務不斷細化拆分,也導致野蠻發展的系統越來越不可維護,開發和改造效率極低,也有很多新業務不得不重複造輪子,因此業界誕生了不少知名中台系統,最著名的是阿里雲的數據中台建設。

在攜程金融內部,大數據中台的目標是為了解決效率問題,同時降低創新成本。

  • 中台的目標:減少溝通成本,提升協作效率;
  • 中台的實現手段:制定標準/規範、提供高可用數據/算法/應用服務、提供統一、標準的數據研發工具;
  • 中台的原則:數據資產的集中管控,分佈式執行。

攜程金融的數據中台收集了包括攜程OTA整個生態環境數據,框架的最底層是計算與存儲資源層,其上是數據準備層,融合多數據源,並對其做了抽取,清洗,能夠提供在線與離線的服務,使其能夠為用戶畫像,特徵引擎提供基礎數據,並應用於模型算法。基礎數據、用戶畫像、特徵集市、模型服務這些內容以數據資產的形式來管理。基於這些數據資產,可以為各個業務線-獲客,准入,經營,留存的全生命周期提供各種服務,框架圖如下:

Fig . 3 攜程金融大數據中台全景

「風控模型體系」

消費金融的風險大體可分為可控風險及不可控風險,算法能解決的主要是可控風險。可控風險包含欺詐風險、信用風險及作業風險;其中,欺詐風險指的是客戶在發起借款請求時即無意還款,按照人數可以分為團伙欺詐和個人欺詐,欺詐者往往通過偽造身份信息、聯繫方式信息、設備信息、資產信息等方式實施欺詐;信用風險指的是借款人因各種原因未能及時、足額償還債務或銀行貸款而違約的可能性。不可控風險包括市場風險、實質風險及名義風險。

Fig . 4 風險基本分類

風控模型貫穿獲客、准入、經營、逾期的整個客戶生命周期,根據用戶生命周期的不同階段,可將風控模型分為貸前信用風險模型、貸中行為風險模型、欺詐檢測及貸後催收模型。事實上,抓住信貸審批管理就能控制80%的風險,一旦用戶獲得授信,後續的管理只能控制20%的風險。除此之外,貸前、貸中、貸後不同場景,可以從不同的觀測粒度進行建模與抽象。拿攜程金融的業務來講,可以從每一筆交易角度來看,也可以從攜程生態中用戶賬戶來看,也可以從自然人概念為核心的客戶級別來看。一個自然人客戶與賬號可以是一對多的關係,一個賬號與交易也可以是一對多的關係。

Fig . 5 攜程金融風控模型體系

如今在銀行、消費金融公司等各種貸款業務機構,普遍使用信用評分,對客戶實行打分制,以期對客戶的風險水平有一個準確的判斷,並作為風險定價的重要手段。行業內常用的是ABC三張評分卡。A卡、B卡、C卡分別表示:申請評分卡(Application Score Card),行為評分卡(Behavior Score Card),和催收評分卡(Collection Score Card)。

A卡:在獲客過程中用到的信用風險模型。從模型的角度來看,它會對用戶未來一定周期內的逾期風險作預測,即模型會在用戶授權的情況下收集用戶多維度的信息,以此來預測逾期概率。預測的逾期概率被用於風控策略或者轉換成信用評分,比如國外經典的FICO評分,國內的螞蟻信用評分、京東小白評分、攜程金融的程信分等。A卡評分除了用於決定是否通過用戶的信用申請,還用於風險定價,比如額度、利率等。

B卡:行為評分是指,用戶拿到信用額度後,模型根據用戶的貸中行為數據,進行風險水平的預測。本質上講,這個模型是一個事件驅動的模型,在互聯網金融領域,一般會比A卡的預測時間窗口要短,對用戶的行為更為敏感。B卡除了可以用於高風險用戶的攔截,也可以作為額度、利率調整的重要參考因素。

C卡:催收評分會判斷,例如當用戶出現逾期時,機構應該先催誰,或者哪些用戶不用催,就自動會把錢還回來。催收模型一定程度節約催收成本,提高回催率。

「風控模型體系之貸前信用風險模型(A卡)」

貸前主要解決用戶准入和風險定價問題,即面對一個新申請的進件用戶,判斷用戶是否符合產品的放款條件及相應的放款額度、價格、期限等問題。主要包括三類問題:

  • 反欺詐識別:根據用戶提交的材料進行身份核實,確保用戶不存在欺詐行為;
  • 信用評級:與傳統銀行的信用評分卡原理類似,數據維度更加豐富,綜合用戶的社交數據、行為數據、收入數據等,判定用戶的信用風險等級,評估用戶的履約能力;
  • 風險定價:根據用戶的負債能力和收入穩定性,判斷用戶可承擔的月供金額,確定用戶的放款額度、償還期限等,並根據用戶風險等級確定用戶的費率。這三個問題往往是互相影響、互為前提的。舉個簡單的例子,對一個月收入3000的用戶來說,月供在1000左右,用戶可能履約良好,信用等級良好;但如果月供提高到4000,嚴重超出了其收入水平,即便不是有意欺詐,也可能出現斷供的情況,從而得到比較差的信用等級。

本節重點闡述攜程金融在信用風險建模(A卡)上的演進和一些創新工作。

A卡建模目前包括如下幾方面:

  • 確保策略的一致性,盡量減少人工干預,並利用機器學習的優勢提升決策效率;
  • 準確反映並量化用戶的風險級別,策略人員可以控制和減少風險損失,因此對評分卡等級的排序能力、穩定性要求會比較高。

好壞用戶定義:這一點可能是A卡甚至是互金大部分風控模型的最基礎最核心的工作。對樣本標籤的定義,需要與實際業務場景、策略目標相一致,並綜合考慮不同定義下的樣本量。比如在現金分期場景中,可以畫一下用戶回款率(或者滾動率)和逾期天數趨勢分佈曲線,用戶逾期N天以後回款率或者滾動率便已經趨於穩定(梯度平穩),則可以N天以上逾期作為篩選壞樣本的依據。在某些場景下,如曾經的Payday Loan,由於整個業務周期只有半月或1個月,為加快模型迭代速度,有時甚至會定義7+甚至1+逾期用戶為壞客戶。在一些銀行場景中,出於壞賬計提考慮,可能定義90天以上逾期為壞客戶。總之,好壞用戶的定義不能純靠人工經驗,應該以場景的數據為基礎,進行數據分析之後確定。

樣本規模與算法演進:攜程金融的業務最早開始於2015年,模型進行了多個版本的迭代。下面的表格展示的是拿去花業務中,我們A卡模型的演進。業務初期,樣本數據量極少,往往根據相關業務經驗確定使用的特徵和規則;隨着數據的慢慢積累,開始採用部分精細特徵,使用簡單的機器學習算法訓練;當樣本數據量積累到百萬級以上,我們嘗試採用神經網絡算法進行特徵自動提取或者end-to-end的風控模型訓練;從18年上半年開始,我們升級到更加先進的遷移學習體系,未來會持續落地更多的前沿算法。總之,攜程金融的風控模型優化的過程,實質是緊隨着業務從無到有、從小到大,數據量由少變多,特徵由粗到細,模型由簡單到複雜,效果由一般到突破的過程。

Fig . 6 攜程金融拿去花業務A卡模型演進

模型的評估與監控:模型建立後,需要對模型的預測能力、穩定性進行評估。看模型效果不能只看KS,KS定義是從0-1概率之間好壞樣本累計概率最大差值,實際應用中一般不會直接取這個閾值(cutoff)作為策略,因為在這種cutoff下,通過率可能會很低;風控不能不管業務,舉個極端的例子,通過調整cutoff,風控幾乎可以做到任意想要的逾期率,但這樣通過率就很低了,業務規模可能只停留在極少數資質優秀的客戶;所以評估模型時,基於風險的評估及基於業務的評估是必須的。因此,模型評估可分為三層:

  • 第一層:機器學習模型評估指標。信用評分模型常用的評估指標為KS、AUC等。 考慮到金融業務反饋周期長的特點,除了劃分訓練集、測試集外,通常會預留一段訓練樣本覆蓋時間段之外的數據集,作為OOT(跨時間)測試集,以測量模型在時間上的穩定性;
  • 第二層:風控層面,比如在不同bucket下,預測概率的排序性能;
  • 第三層:業務層面的攔截率,通過率,逾期表現等。

基於上面的評估分層,我們的監控也做對應的分層監控,除了包含上述三個層面,還對輸入到模型中的特徵進行監控,比如特徵的分佈、波動率等。

「風控模型體系之貸前信用風險模型發展歷程」

經歷過了完全靠經驗的規則模型,當積累了一定數據量時,便可以用少量的維度與數據開始訓練了,當數據量較少時,使用簡單的LR就能達到不錯的效果。隨着數據量的不斷增加,慢慢構建起了身份屬性、消費能力、用戶關係、信用記錄、出行記錄等特徵,GBDT+LR,RF,XGBOOOST,LightGBM等更複雜的算法便可以派上用場了。當數據達到一定規模時,採用深度學習來進行自動化表徵學習或者end-to-end的風控模型學習,我們測試過DNN,這個算法在同等情況下,和GBDT之類的算法性能類似,並沒有太明顯的效果,一方面說明GBDT這類算法在處理非圖像、語音、文本這類局部結構並不是特別明顯的數據的優勢,另一方面說明,不能直接將CVNLP領域的算法拿來用,需要做一定的改造和優化,因此我們陸續使用和改造了ResNet、FractalNet等網絡結構,相比於DNN和GBDT模型效果有比較明顯的提升;再進一步,通過分析風控這個場景,我們發現,通過審批的用戶與開放自然流量的數據分佈差異比較明顯,這一現象,基本打破了我們傳統監督學習中訓練集和預測集數據分佈相似的假設。為解決這個問題,我們引入遷移學習框架,同等逾期條件下,通過率能明顯的提升。

Fig . 7 A卡V1-LR模型

Fig . 8 A卡V2-GBDT模型

Fig . 9 A卡V3-DNN模型

Fig . 10 A卡V4-分形網絡模型

Fig . 11 A卡VX-遷移學習模型

「風控模型體系之貸中反欺詐模型」

貸中反欺詐按粒度可分為兩類,用戶級與交易級。用戶級粒度相對粗一些,即斷定當前客戶為欺詐客戶,可能的策略就是不允許欺詐用戶在平台上發生交易行為;交易級是較細粒度的,即根據交易上下文、IP、設備、地域判斷當前交易是否為欺詐交易,如果是,即不允許客戶進行此筆交易。

貸中反欺詐有3個難點:

① 長尾分佈:欺詐用戶其實是極少的

② 對抗性顯著:欺詐用戶會想辦法找出系統及規則的漏洞

③ 模仿正常行為:欺詐用戶會利用偽造消費流水,前期正常還款等行為等,讓金融公司放鬆警惕,當提額到一定程度後,便開始逾期。

在反欺詐領域,我們除了使用一般的機器學習模型,也構建了一套基於社交網絡的模型體系。

「社交網絡在風控模型中的應用」

基於社交網絡的反欺詐,基本思想其實很簡單,物以類聚,人以群分。比如一個欺詐分子,可能與其有關係(在Graph上表現為有直接的邊連接,這種也稱之為一階親密度;或者通過邊的遊走能夠觸達,這種稱之為多階親密度),那麼可能這些與之有關係的用戶也是欺詐分子。如圖所示,通過梳理攜程生態內關鍵實體、關係,我們首先構建了一個龐大的異構社交網絡,該網絡包含10億級別的頂點,50億級別的邊。接下來是通過算法,發現社區(Community)。由於社交網絡的數據量相對來講是比較大的,因此在算法層面,對運算效率要求也是比較高的,同時對於社區劃分的穩定性有一定要求。在實際落地中採用LPA、改進的Louvain,實現T+1的社區發現。最後基於劃分的社區,可以獲得社區的各種屬性統計,這個作為反欺詐策略的重要參考。當有一個用戶到來的時候,看其屬於哪個社區,根據改社區的屬性確定該用戶是否為欺詐用戶。

目前在攜程金融的實際應用中,基於社交網絡的風控指標已經覆蓋了貸中80%的貸款請求,同時通過社交網絡,挖掘關係人一度或者多度關係,對嚴重的逾期行為,通過多度關係進行催收,提升回催率。

Fig . 12 攜程金融關係網絡

Fig . 13 社交網絡應用的基本流程

作者介紹:

曾凡祥,攜程金融大數據團隊負責人。北京郵電大學博士、加拿大McGill大學訪問學者,致力於大數據和人工智能技術在金融風控、精準營銷方面的研究和應用。