99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁職業(yè)發(fā)展支付風控的數據倉庫建設
支付風控的數據倉庫建設
2017-06-10
收藏

支付風控的數據倉庫建設

支付系統(tǒng)的風控分析需要大量的數據支撐。本文從名單、畫像和圖譜三個層面,分析在支付系統(tǒng)建設的不同階段如何建立支持風控計算的數據倉庫,詳細介紹從什么地方采集數據、如何采集數據、以及如何存儲這些數據。

支付風控系統(tǒng)在數據存儲設計上和其它業(yè)務不同的地方在于數據獲取與使用的流程。一般業(yè)務系統(tǒng)會先確定系統(tǒng)數據需求,再設計如何在業(yè)務流程中采集數據,以及數據的格式怎么定義。而支付風控面臨的是一個無法預知的場景,需要在實踐中根據當前運行情況不斷調整。它會先把數據采集過來,之后才能從中發(fā)現(xiàn)可能存在的問題,并針對該問題制訂風控規(guī)則。也就是風控是先采集數據,再使用數據。那這就涉及到一個問題,支付系統(tǒng)應該采集哪些數據? 是否是數據越多越好?
風控分析不僅要看交易數據,還得研究所有相關聯(lián)的數據,這才能全面分析出來風險的根源,推斷出需要采取的措施。因而數據采集工作對風控系統(tǒng)建設和演化是非常重要的。本文分析風控所需要的數據,如何采集和存儲數據,建立支持風控的數據倉庫。
一、數據來源
一筆交易的風險等級的計算需要考慮到多個維度。未成年人購買高檔酒、促銷期間羊毛客刷單、在洗錢高發(fā)地區(qū)的商戶銷售的物品成交價格遠超實際價格。這些可疑交易的識別,僅依靠支付系統(tǒng)本身是無法完成的。用戶的年齡、商品特點(是否高檔酒)、是否促銷、羊毛號的識別等,需要從各業(yè)務系統(tǒng),甚至公司外部收集和用戶、商品、商家、地區(qū)、手機號相關的數據,通過對這些數據進行分析,提取特征,識別潛在的風險。
1.1 內部數據
風控幾乎需要收集所有相關系統(tǒng)的數據。
用戶系統(tǒng):采集用戶的靜態(tài)信息,姓名、性別、年齡等。風控系統(tǒng)不僅僅關注這些靜態(tài)信息,還需要重點關注用戶的行為信息,包括注冊、密碼修改、修改個人信息等操作,需要收集這些操作的時間、地點、設備等信息。 此外,用戶之間的關系,也是風控系統(tǒng)需要關注的數據。
商戶系統(tǒng):除了采集機構的基本信息,如成立時間、注冊時間、人員規(guī)模、營業(yè)額、銷售額、經營范圍、注冊地點等, 還需要考慮到該商戶關聯(lián)的用戶,包括法人代表、公司組織結構、主要員工信息等。
商品系統(tǒng):商品的靜態(tài)信息,包括類型、價格、上架時間、庫存等信息; 商品的瀏覽、放入購物車、購買、評論、退貨等用戶操作,包括這些操作的時間、地點、設備等信息。
社交數據:包括評論、論壇、留言等。
業(yè)務系統(tǒng):如視頻系統(tǒng)中的觀影記錄、類型偏好、時間、地點、設備等信息。
當然,支付數據是風控最重要基礎數據。用戶在支付系統(tǒng)中涉及到的數據都需要收集整理來支持風控分析。包括但不限于:賬戶數據,訂單數據,交易數據、優(yōu)惠券數據、賬務流水等。這些數據在支付數據庫中也存在,風控所需要的數據和業(yè)務數據略有不同,除了業(yè)務數據外,風控還關心如下數據:
用戶當前上下文環(huán)境,包括用戶所用設備的類型、操作系統(tǒng)、IP地址、設備ID、所在地等,而這些數據往往并不是業(yè)務所關心的。而且記錄太多的上下文數據也影響性能。
賬戶,訂單等操作實體的狀態(tài)。在業(yè)務數據庫中一般僅保留實體的最終狀態(tài),比如賬戶是否已鎖定、訂單是否已支付等。 而風控需要關心這些狀態(tài)變更的時機,以及變更的時間間隔。例如,用戶頻繁更改交易密碼,超正常頻率提交訂單等,就不是一個正常的狀態(tài)。
這些數據一般可以從日志中采集。
1.2 外部數據
對于大部分業(yè)務單一、用戶量不大的公司來說,其數據有限而且單一,需要使用外部數據來輔助完成風控計算。 常用的外部數據包括:
公安部的實名認證數據,包括用戶姓名、身份證號信息;
央行發(fā)布的各種名單,如洗錢區(qū)域,恐怖組織名單等。
央行信用報告,這個查詢可是要真金白銀的。
微博數據,一個人經常了解如何養(yǎng)卡,套現(xiàn)等內容并不是太好的事情。
工商局提供的公司信息。
招聘網站上的公司招聘信息。公司一直有招聘說明業(yè)務還不錯。
芝麻信用,這個需要申請。
二、采集方式
一般來說,風控的非實時數據采集,不能直接從線上的數據庫中讀取,這會把數據庫打死。主要的數據采集方式有從庫采集,日志采集和pingback三種方式。
2.1 數據庫從庫
主流數據庫,如Hbase,Mysql都提供同步數據進從庫的功能,讀取從庫不會影響主庫操作。但如上所述,采用從庫有如下問題:
分析所需數據和業(yè)務數據不同,還需要從其他途徑補充數據。
將風控所需數據和業(yè)務數據緊耦合起來了。一旦業(yè)務有變更,風控系統(tǒng)也需要調整。
2.2 日志
這是風控數據采集的主要方式。 業(yè)務方可以將風控所需要的數據輸出到日志中,風控系統(tǒng)對接日志來異步采集數據。這使得數據采集不會影響業(yè)務處理主流程。 這種方式風險在于:
需要規(guī)范日志的格式,否則每個系統(tǒng)一套日志格式,會導致對接工作量巨大。
保持日志的穩(wěn)定性。一旦代碼被修改,打印日志的代碼被刪除了,會導致日志數據無法采集的風險。
需要注意日志采集系統(tǒng)的可靠性。目前主流的采集框架都有可能會丟失日志。雖然從我們使用的情況來還未發(fā)生這種事情,但不排除這個風險。
從技術上來說,日志采集的框架主要框架有
ELK(Elastic + Logstash + Kibana), Logstash 駐留在日志輸出端采集日志,并發(fā)送到Elastic 服務器上。 Kibana則是一個日志分析的工具;
Flume + Kafka + Elastic 。 通過Flume進行采集,輸出到Kafka,匯總到Elastic進行存儲。日志分析可以在Elastic上離線非實時進行,也可以直接對接Kafka準實時分析,即流處理。 使用Storm 或者Spark都可以。
2.3 pingback
Pingback指在頁面上埋入腳本來監(jiān)測用戶的操作,特別是點擊操作和鍵盤操作,將檢測到的用戶行為異步發(fā)送到服務器端。這可以偵測到用戶在頁面停留時間,鼠標點擊的區(qū)域等信息,由此可以推斷用戶偏好,情緒等信息。 pingback的挑戰(zhàn)在于如何在服務器端應對流量洪峰。pingback數據一般不直接入庫,可以先寫入Kafka,風控系統(tǒng)對接Kafka來分析pingback數據。
三、數據特征
用于支持風控計算的最終數據,在靜態(tài)與動態(tài)數據為基礎計算出來的帶置信度的推算數據為主的離散數據,有點繞口,我們詳細分析下這里涉及到的幾個概念,來說明最終用來支持風控計算的數據有什么特征。
3.1 靜態(tài)數據與動態(tài)數據
上述采集到的數據,大部分是靜態(tài)數據。也就是這些數據一旦產生,一般不會被修改。但在分析時,還需要一些易變的動態(tài)數據來,比如用戶的 年齡,每天的訪問量,每天消費金額等。
3.2 原始數據與推算數據
不管靜態(tài)還是動態(tài)數據,他們都是從用戶輸入或者系統(tǒng)采集的方式產生。但我們知道,互聯(lián)網的數據可靠性是有問題的。網上千嬌百媚的姑娘,在現(xiàn)實中可能是一位摳腳大漢。雖然系統(tǒng)中設計了復雜的表格來收集用戶信息,但會提供全部信息的用戶還是很少,大家對隱私內容還是捂得很緊。所以,在進行風險計算前,還需要對數據進行驗證和補充。這都需要借助其他數據來進行推算,這些數據被稱為推算數據。推算數據和原始數據不同之處在于它會有多個可能取值,每個值都帶有置信度。完全可信為100%,不可信為0。置信度總和為1。比如正常情況下,用戶的性別要么男,要么女。假如有個用戶注冊時選擇性別女,但經常買刮胡刀,襯衣,沒有買過女性用品,那實際性別為男的置信度就非常高。
3.3 離散數據與連續(xù)數據
這是從屬性值的取值范圍來評估。比如用戶每天的訂單額,一般來說是連續(xù)分布的。而性別,職業(yè),愛好等,是離散值。一般來說,離散值更容易做分析處理,刻畫特征,所以在分析前,需要對連續(xù)數值做離散化處理。
四、名單數據
名單數據是支付風控數據倉庫中最重要的內容。 風控系統(tǒng)數據倉庫建設,也一般都從名單數據開始。 名單加上簡單的攔截規(guī)則,已經可以解決絕大部分風控的問題。就算在更先進的風控系統(tǒng)中,名單仍然是風控中的基礎數據。在評估事件風險時,名單往往是用來執(zhí)行第一道攔截時所用的數據。比如用戶交易時使用的手機是黑名單中的手機,則必須終止本次交易。
4.1 黑白灰名單
大家都熟知黑名單與白名單,一個是必須阻止,一個是必須放行。 除此之外,還有灰名單。灰名單用于對一些高風險的用戶進行監(jiān)控。 這些用戶的行為不是直接阻止,而是延遲交易,經人工確認無問題后再放行。
4.2 更新周期
相對其它數據來說,名單數據的更新頻率不高,按天、周、月更新都有,很少有需要實時更新的內容。對于手機號,證件號等名單,一般可以采取人工更新的策略。每天評估風控數據,對確認有問題的號碼,加入到黑名單中。如果采用的是第三方名單,則需要按照第三方的要求對名單做更新。
4.3 名單列表
一般來說,風控系統(tǒng)需要配置的名單列表有:
個人名單,如下名單是必備的(后續(xù)會及時更新),央行的反洗錢恐怖分子名單;公安部的通緝犯名單;全國法院失信被執(zhí)行人名單信息公布與查詢
IP名單,沒有權威的IP名單。這需要在運行中積累。建立IP名單需要注意如下事項:公司內部IP,合作伙伴IP可以列入白名單列表;手機運營商的IP也要做到白名單中,封一個IP等于封掉一大批手機號;代理服務器可以列入灰名單;訪問量大的IP也可能大公司的外網IP,不能僅依賴訪問量來識別黑IP。
公司名單,必備名單包括央行反洗錢制裁公司名單和工商局失信企業(yè)名單
手機號名單,這也沒有權威數據,電信運營商也不會提供此類服務。支付寶正在推廣這個服務,但還沒有公開。黑名單數據需要自主收集。
地域名單,央行公布的聯(lián)合國反洗錢地區(qū)名單是必須在風控時考慮的名單,其他地域名單也需要自主收集。
協(xié)查名單, 公檢法協(xié)查名單,接收到協(xié)查請求后,將人員全部信息拉黑。
4.4 名單數據存儲
名單數據在使用上的特點:
使用頻率高,實時性要求高。各種名單匹配基本都需要在線上做實時計算。
數據粒度小,總量大小不一,但存儲空間需求都不高。大部分名單都是一些號碼表,幾個G的空間都能存儲。
更新頻率低。名單數據一般都比較穩(wěn)定,按天更新
在使用中,名單數據一般直接存儲在內存中,或者使用內存數據庫(Redis,Couchbase)。關系型數據庫可以用來保存名單數據,但不會直接被線上應用所訪問,它無法滿足高訪問量的需求。
五、畫像數據
名單數據能夠快速發(fā)現(xiàn)用戶在某個維度上的異常行為。在實際使用中,存在過于簡單粗暴,一刀切的問題。比如如果限制單次購買金額為5000元,這個規(guī)則被試探出來后,攻擊者會選擇4999元來規(guī)避這個限制。畫像技術則是嘗試從多個維度來評估當前事件的風險。 比如畫像刻畫某用戶平時主要在北京地區(qū)登錄,購買習慣在10~300元之間。某一天突然發(fā)生一筆在東莞的4999元額度的消費,那這筆交易就非??梢闪?。而這種交易通過規(guī)則比較難發(fā)現(xiàn)出來。 支付風控涉及的畫像包括用戶、設備、商品、地域、操作行為等。 這里重點介紹用戶、設備和商品的畫像。
5.1 用戶畫像(persona)
用戶畫像是從用戶的角度來刻畫其背景和行為習慣,為判定某交易的風險等級提供支持。 用戶畫像的內容包括但不限于:
人口信息:一般就叫基本信息,主要包括:姓名、性別、出生日期、出生地、民族、星座等。
聯(lián)系方式:家庭地址、工作地址、手機、固定電話、緊急聯(lián)系人、QQ、微信號等。
資產特征:月工資、年收入、工資外收入、房產、車等
家庭特征:婚姻狀況、是否有小孩、小孩關聯(lián)、家庭成員等
交易偏好:交易頻率(總計、年、月、日)、交易金額(總計、年、月、日)、常用賬戶、交易時間偏好、交易地點偏好、交易所使用設備、交易物品、交易物品所屬類別等。
行為特征,這是和業(yè)務相關的特征。比如對于電商,關注 用戶瀏覽的物品、瀏覽的物品類別、購買的物品等。而對于視頻網站,則關注用戶查看的視頻、觀影時長、類別偏好、觀影地點偏好等信息。
對于已登錄用戶,可以使用用戶ID來識別并做畫像,但對未登錄用戶,系統(tǒng)需要通過設備來識別。
5.2 設備畫像
一個用戶配備多臺智能設備已經是很常見的事情了。手機,PAD,筆記本,臺式機,都是常用的設備。用戶在不同的設備上的行為往往是不一樣的。有人偏好在電腦上尋找要購買的商品,卻最終使用手機來下單,因為手機支付更便捷。 對設備進行畫像,和用戶畫像類似,實際上是刻畫使用設備的用戶的特征。 此外,對于未登錄用戶,由于無法標識,也只能通過設備來代表這個用戶。設備畫像關注如下信息:
設備信息,包括設備類型、型號、屏幕大小、內存大小、CPU類型、購買時間、購買時價格、現(xiàn)在價格等。
交易偏好,同用戶畫像
行為特征,同用戶畫像。
對設備畫像來說,生成一個能唯一識別該設備的標識,即設備指紋,是數據采集中的一個挑戰(zhàn)。設備指紋具有如下特點:
唯一性,每臺機器的指紋都不同,不能重復。
一致性,機器指紋在一臺機器上是唯一的,不同應用,不同登錄用戶中取到的指紋都是一樣的。
穩(wěn)定性,指紋不會隨時間變更,不會由于外圍設備變更而變更。重裝應用,重裝操作系統(tǒng)也應該保持不變。
我們將在專門的主題中介紹如何生成設備指紋。
5.3 商品畫像
商品畫像是從商品的角度來刻畫購買或者擁有該商品的人的特性。
基本特征:名稱,價格,類別,是否虛擬資產,上架時間,下架時間等
促銷信息:價格,開始時間,截止時間
購買者特征:偏離這個特征越多,風險越大。購買時間分布,地點分布,價格分布,數量分布,年齡分布,性別分布等。
5.4 畫像數據存儲
畫像數據有如下特點:
數據粒度大。一個用戶的畫像數據,成百上千個維度都正常。
大部分數據都是推算數據,也就是數據格式是帶置信度的,比如 {性別: 男,80%;女,20%};
每個維度的數據一般最終都需要離散化,比如年齡,雖然0~150的取值區(qū)間還不算稀疏,一般還會將年齡再分段。
數據量大??紤]到匿名用戶和設備,上千萬規(guī)模的注冊用戶,匿名用戶和設備會在數十億規(guī)模的量級。
數據結構不穩(wěn)定。 根據業(yè)務需要會頻繁添加新的數據維度,甚至添加新實體進來。
數據更新頻繁。采用推算數據,每天不僅僅要計算新增數據,也需要重新計算現(xiàn)有數據的維度權重。
數據訪問頻率高。交易時計算權重,也需要使用畫像數據。
很難有一個數據庫能夠同時滿足上述的需求。畫像數據存儲需要綜合采用多種數據庫來滿足不同應用上的需求。
數據寫入庫, 需要支持數據批量、快速地寫入,Hbase是個不錯的選擇。
數據讀取庫,需要支持數據高速讀取, couchbase可以滿足這個需求。但couchbase不能存儲所有數據,這樣成本太高。 可以把couchbase作為HBase的緩存來使用。
寫庫和讀庫之間的數據同步。可以根據業(yè)務量選取合適的消息隊列。每天更新的數據規(guī)模在百萬及其以下,ActiveMQ可以滿足需求;而上千萬的數據,則需要使用Kafka。

六、知識圖譜
畫像是從群體和個體的統(tǒng)計角度評估事件的風險,而圖譜則更進一步,從關系的角度來評估風險。 知識圖譜是由Google提出來并應用到搜索引擎上,其后在多個領域都得到很好的應用。 交易是一種社會行為,所以從關系的角度來評估這個行為,能夠更精確的了解行為中存在的風險。一個簡單的例子,如果發(fā)現(xiàn)A是高風險的用戶,而通過社交圖譜分析,發(fā)現(xiàn)A經常和B有交易關系, 那B的風險等級也相應地會被調高。
圖譜在本質上是一個語義網絡, 是一種基于圖的數據結構, 它由點和邊組成的。點代表一個實體,如人、公司、電話、商品、地址等,邊代表實體之間的關系。
如上所示, 如果A和B兩人之間是夫妻關系, 則在圖中, A和B分別被用一個節(jié)點來標識, 稱為實體,他們的關系是 is_wife_of。對電話、出生日期、出生地點、公司等,也可以使用這種方式來表示。 圖譜的表達能力,不僅在于描述實體之間的關系,而且通過關系還可以推理出潛在的進一步關系。 比如A是B的母親, A是C的妻子, 則有很大的概率可以推斷出來C是B的父親。 支付風控需要像建立畫像一樣建立圖譜,需要支持包括人,機構,地區(qū),日期,電話,手機號,設備,商品等實體,以及實體之間的關系。圖譜數據源也是和畫像一樣。此外,還有一些互聯(lián)網數據也有利于建立圖譜 百度百科,有很不錯的公司,明星,電影,音樂等信息,一般僅限于國內或者中文版本的資料。由于編審并不嚴謹,數據質量不高。 wiki,有各種語言的版本,提供各種領域的實體,參與的專業(yè)人士多,質量較高。 各專業(yè)數據庫,知識圖譜是基于圖的數據結構,它的存儲主要是使用圖數據庫。關系型數據庫Hbase等nosql數據庫在處理圖的關系以及關系計算上性能較差,需要專用的圖數據庫,當前主要的圖數據庫有neo4j,Titan,Jena等。neo4j是使用最多的圖數據庫,而且可以和spark graph集成,方便對圖譜數據做處理。
七、總結
總結一下,本文將風控系統(tǒng)所需要的數據分為名單、畫像和圖譜三個主題,這三個主題也對應了風控系統(tǒng)發(fā)展的不同的階段。這里列出了每個階段所需要的典型數據,以及這些數據會如何存儲。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }