試問:誰不想成為一個做出億級體量的産品 or 研發呢?有目标才有前進的方向,有方向才有一步一個腳印的實現。億級體量四個字,不僅意味着成就感與光環,更意味着壓力與責任。
今天分享的内容,來自美團外賣的風控負責人蔡敏老師。蔡老師有互聯網行業10 餘年從業經驗,先後任職于 58 到家、58 同城、百度等互聯網頂級大廠,在大數據、風控、支付等領域有多年架構和技術管理經驗。蔡老師将從自身項目經驗出發,為大家解讀億級訂單體量下的美團外賣風控架構是如何設計的。
關于美團風控設計,可以分為 3 個版塊:
- 業務的流程;
- 技術的架構;
常用的策略。
一、概述
風控即風險控制。
一般來講,風控分為兩大方向:
1. 信用風控
信用風控廣泛适用于日常生活中,例如銀行貸款或者 P2P 貸款,機構會對借款人進行償還能力評估,是否有逾期或者惡意欠款等情況。
2. 反舞弊風控
目前有許多黑産活躍在互聯網上,我們的目标是魔高一尺道高一丈,與騙子之間不斷攻防的過程,就是反舞弊風控。
财務的風險行為定義如圖所示:
- 賬戶安全;這部分很好理解,就是日常生活中常見的盜卡、盜餘額,一般公司應該都有這個模塊。
- 商家刷單;由于美團是平台型,商家排名有嚴格的标準。有些商家為了排名前進,會有刷單的行為。商家刷單分為刷排名、刷銷量、刷好評。
- 用戶作弊;這個就是「羊毛黨」啦,很多公司對羊毛黨的态度是聞之色變,其實沒有必要。我們在風控設計時對撸羊毛這一行為要進行适當的控制,主要控制規模不可以太大;不要太混亂影響普通用戶的體驗。
二、風控的特性
風控的特性,或者說是特征,總結了三條:
1. 高對抗性
即與上文中提到的黑産進行對抗。任何平台隻要有利可圖,黑産會不間斷 24 小時兜圈子。打遊戲的同學更容易理解一些,各種遊戲都會出現有組織有規模的工作室去找遊戲的 Bug ,刷金、刷裝備、盜号來謀取錢财。這就需要我們不斷去對抗,一直與黑産處于攻防階段。
美團和 58 這種平台,黑産去發帖子刷排名,單價很可觀的,所以黑産動力很足,需要我們有這個意識,對方是不會休息的。
2. 準确性
風控領域有兩個要點,一個是準确性,另一個是召回率。準确率之所以在風控領域格外重要,是因為所有的策略、模型都無法保證百分百的成功與正确。策略和模型的準确率低一點,用戶及商戶的投訴就會随之上升。因此準确率要比召回率更中啊喲,一個策略的準确率應達到 99 % 才允許上線。
3. 靈活性
由于黑産打得都是持久戰,我們通過人工進行全天對抗是不太可能的,所以策略應當保證能夠随時監控、随時修改、及時更新,即靈活性強。
三、風控的整體架構
風控的整體架構可以分為三個大的系統:
- 實時風控;
- 準實時風控;
- 離線風控。
區分的标準是根據策略的速度:
- 實時風控:舉個例子美團的實時風控要求必須為毫秒級同步返回,用戶下單時必須要實時監控同步調用,每天億級的調用量就要求每次調用不可以是秒級别。
- 準實時風控:一般來講幾秒甚至幾分鐘以内返回都可以,因為采用的是異步調用事後處理,這種方式計算的數據量和可利用的數據量資源比實時風控會多很多。
- 離線風控:一般通過 ETL 來做。
如圖所示第二層是策略系統。策略系統時風控的核心系統,包含着規則、管理以及監控的功能。
策略系統在設計的過程中,最關鍵的是:
- 配置是否方便快捷,策略能不能夠快速上線是決定性的要素。因為我們一般在上線之前,首先需要灰度測試→人工處理→機器處理,因此要去策略系統配置一定要方便快捷。
- 規則引擎性能要高。
最下面一層是特征庫,具備黑白名單、統計數據以及特征數據等功能。特種庫對于系統的性能應該是最重要的,因為億級體量的數據量是十分龐大的,因此在設計時要用到一些大數據框架。
圖中左側的處理系統即統一的處罰系統,無論是對商家還是用戶的處罰都會歸到這個處罰系統中;右側主要是一些公共組建,包含過載保護、報表、監控報警等等功能。這就是一個完整的風控架構。
四、風控關鍵流程
風控的流程可以分為六個關鍵性流程:
業務啟動的初期,風控其實就随之開始了,但是沒有必要做到上文中我們提到的那些具體動作。
- 從監控開始,針對業務的監控需要看看我們新上線的業務是否有黑産出現;
- 情報,情報指的是收集與我們業務相關的數據,需要到外部去收集,比如論壇、社群,了解黑産的手段、特征,了解商家的刷單行為模式等等,這些數據可以幫助評估風控工作的效果以及後續改進方向;
- 評估,評估工作是風控中比較重要的一環,需要産品和技術共同對收集的數據進行評估,完成之後對應的策略及模型也就自然而然地産生了;
- 策略和模型,策略和模型在實際工作過程中各有利弊,策略短平快,随着數據的收集對應的策略即可直接堵住最嚴重的漏洞,但策略的幻化能力(能夠輕易被繞過的能力)相對于弱一些,畢竟策略隻是簡單、已知的規則,因此就需要模型進行填充,但模型的弊端在于開發需要周期;
- 處罰,這個就是字面意思;
- 建立知識庫,處罰完成之後将信息積累到知識庫,即可産生黑白名單、用戶/商家的畫像等等。
五、實時監控架構
随着業務量的增多,監控不能依靠簡單的離線報表進行,離線一般來講是 T 1 ,等發現的時候已經太晚了,因此要進行實時監控。
如圖所示,實時監控分為:
- 實時數據源,例如 Binlog、Kafka 等等;
- 流計算,目前美團采用實時指标系統 Calcite FlinkSQL,比較方便簡單;
- 計算結果輸出;
- 數據應用,用于預警和監控等等功能。
六、風控策略的難點
如圖所示:風控的難點與風控的特性一一對應。
- 靈活性:與黑産的對抗無處不在、無時不刻,因此需要保證策略的靈活性;
- 可解釋性:策略及模型無法保證百分之百的準确性,因此出現投訴時需要對用戶進行解釋;客服如何清晰地抓取到用戶、用戶被處罰的理由等等,需要強有力的解釋;
- 更新速度:策略更新速度要快,也是為了及時止損。
七、風控模型策略
上圖列出的其實是風控策略和模型中比較基礎的:
- 異常檢測;
- 知識圖譜;
- 用戶畫像即風險評分。
這部分分為兩大塊,一種是有監督評分,一種是無監督評分。很多公司在前期沒有足夠的正負樣本,可以采用無監督評分,隻要有數據就可以采用這種方式,可解釋性也足夠強。
1. 異常檢測
可以簡單分為三種:
- 基于數據統計,例如同一個 IP 登陸成功率非常高,這是有風險的信号,背後可能意味着是同一夥人,100 個人不可能說一次性都能輸對密碼,違反常理;同樣的,登錄成功率非常低的,可能就是暴力破解、撞庫。基于數據統計,可以找到異常特征。
- 聚類,聚類完成之後會有離群點,離群點即可判斷為異常。
- 孤立森林,這個方法在異常檢測領域效果最好,它的理論是将一個人的所有行為想象成一棵樹,在某些分支上與其他分支出現了強不同,則該分支出現了問題。例如你同一台設備同一個 IP,導緻你的行為都是類似的;但有的人同一個 IP 多台設備,很容易被這種方法捕捉到異常。
2. 知識圖譜
如圖所示,知識圖譜即多對多的關系,舉登錄的例子,設備 ID 與 登錄 ID 未必是一對一的關系,同一台設備可以有多個人登錄,同一個登錄 ID 又可以在多個設備上登錄,但重要的是一個人無法同時登錄 N 個設備,同樣 N 個設備也不可能被 N 個人登錄,因此很容易捉到異常。
3. 用戶畫像
用戶畫像就是通過采集到的基礎特征,推測一些其他的特征然後給用戶貼标簽,例如風險評分、信用頻評分。具體的方法每個公司略有不同,大家看圖了解一下即可。
本文由 @支付學院 原創發布于人人都是産品經理,未經允許,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!