行为数据的价值发现
[導讀]如今,數據的概念已經被無限放大,人、事、物每天都在被數據化,從擁有數據、使用數據,到數據與人、場景、業務融合于一體,如何理解并利用好數據,將數據價值最大化,儼然已經成為商業藍海中最璀璨的明珠。本期清華-青島數據科學研究院主辦的大數據“技術·前沿”系列講座特別邀請【友盟+】首席數據官李丹楓博士,來到清華大學分享他從業十多年的寶貴經驗和最新研究成果。李博士為我們揭開用戶行為數據潛藏的巨大價值,解析如何攻克金融風控的突破口,讓廣告效果回歸真實讓用戶在悄然間被觸達、被服務。
李丹楓:我非常榮幸作為一個講師來到清華,從1995年清華畢業,再到兩年前20年校慶回來,今天能夠站在這里給大家分享一些體會,還是有點小激動的,畢竟是一個清華人。
我大致介紹一下在加入【友盟+】之前的經歷。我博士畢業后先在美國FICO做了5年,當時參與的反欺詐模型是工業界用到的第一個能夠實實在在應用的神經網絡模型,雖然模型只有一層的隱含層,但當時全世界75%的信用卡交易都會經過這個模型的檢驗。離開FICO后,我去了雅虎,那幾年正好趕上Hadoop開始流行的時候,因為Hadoop項目的創始人當時就在雅虎工作,我也有幸成為了Hadoop的第一批使用者。
后來,微軟找到我說他們想建立一個團隊,目的是想把微軟必應這么多年積累的技術經驗能夠整合起來對微軟其他部門進行輸出,當時我們接到的一個比較重要的任務就是Xbox One,它的第一版的多媒體搜索是我的團隊根據必應搜索的技術架構給他們設計的,現在我家里還保留著一臺白色的Xbox One,是外面買不到的。
2014年,我回國加入了阿里巴巴。2016年初,阿里把CNZZ和另外兩家阿里收購的公司友盟和締元信這三家公司合并成【友盟+】,我成為了CDO?!居衙?#43;】的數據是非常可觀,這里有一些數字。
中國APP應用市場累積的APP數約為300萬個APP,我們服務125萬個, 在top10000 APP中,我們的占有率約70%;
我們服務680萬個網站,上百億的URL;
每天監測到移動設備14億,在國內是11億,而中國有7億多網民,差不多每個人有一到兩臺設備被監測到;
我們每天處理的事件數是280億。
目前,【友盟+】有三大業務線基于一個數據智能底層平臺—U-DIP,Data Intelligent Platform,業務大致包括U-Dplus(智能的統計分析服務產品),U-ADplus(數據為廣告營銷服務)和U-Oplus(新零售概念,將貨、人、場景組合個性化匹配,把線下人的信息提供給商家,讓他更好地服務客戶)。(對【友盟+】業務感興趣的同學可以網上查詢作進一步了解,此處略過)
我們今天將圍繞第三方互聯網與移動互聯網用戶行為數據的來源和應用,這里先明確一個第三方數據的特點,第一它的深度不是特別深,假如你是一個銀行的應用,你可能不會把你銀行里的大家存款、交易的數據給我,只是打開APP登錄了這個頁面而已。但另一方面,第三方大數據范圍會比較廣,覆蓋面比較大,今天我們講的都是在這上面做得數據挖掘。
這是我們在APP SDK返回的原始數據的示意,這個SDK Android有一個版本,IOS有一個版本。在事件被觸發的時候被返回的。傳統的統計實際上只有啟動跟退出才可以收集數據,現在用戶可以自定義事件,定義的事件就被觸發后,相關的數據傳回來了。
這里面的數據樣本顯示出的信息有很多,我細講下。每個APP會有一個ID,是幫我們決定是哪個APP的,后面【友盟+】會有ID,這是【友盟+】自己來判斷這個設備是哪個設備的,后面有imei,這個是Android上一個標準的設備標識符,是國際標準設備標識符,后面是mac地址。然后utdid,這個是阿里的一個ID,因為我們屬于阿里集團,后面包括這是什么版本,比如這個是Android4.3的版本,這個APP本身是什么版本。再后面是一些sessions信息,就是說你這一段行為能夠拿到什么數據,如果你定義比較復雜的事件這些事件的信息也會出來,這個是APP端。
WEB端,我們是JS的SDK,通過http或者https協議傳數,這個Referer告訴你這個訪問是從百度來的,到了友盟+這個網站,包括你的屏幕的維度,你用的語言,包括我們自己ID。useragent是告訴你這個瀏覽器是什么樣的。在無線端我們是通過設備ID做唯一判斷的。在網站端我們最開始判斷的不是一個設備,而是一個瀏覽器,比如說你在PC上開了IE、Chrome、360,這對于我們來說可能是三個ID,但會有一些算法把這幾個ID連起來,告訴你這可能是同一個電腦的,或者同一個人的,我們會有一些算法把它們打通。
原始數據需要深層的加工處理,做一些基礎的分析,第一步是用戶行為數據,第二步是通過行為數據做特征提取,第三步會有一些知識體系、數據庫,通過機器學習算法給消費者或者設備打上標簽,這個標簽是往后所有應用的基礎數據,以后再使用就用第四步數據就好了,前面的這些做一次性處理就差不多了,第三步機器學習的模型我們會不斷更新,來做更好的標簽的生產。
標簽會從各個維度判斷這個設備背后的人,第一類屬于基礎屬性,我們要判斷性別、年齡、消費水平,而這些判斷都是基于模型,我們需要收集一些訓練數據,有了這些訓練數據以后,比如說性別,我們就會看男的跟女的在用APP行為上,在瀏覽網站行為上有什么不同,這實際上是一個二分類模型判斷性別。像年齡段,這是一個多分類模型判斷屬于哪個年齡段。
下面要重點談下訓練模型這件事。性別比較好說,要么是男要么是女,預測年齡雖然是一個多分類模型,但是在工業界里面很多場景里面大家用得更多是二分類,每一個年齡段做一個模型。但是二分類有一個問題,人不可能同時處于兩個年齡段,所以就涉及到一個二分類模型結果的比較問題。現在很少有模型輸出的是正確的概率,這意味著我做了兩個模型,這兩個模型的分數是不可比的。
比如說我做一個模型說我判斷這個是一個桌子,另外一個模型判斷說這是一個柜子,桌子模型說這個是桌子的可能性是0.6,柜子的模型說可能性是0.9,那么你說這就是個柜子嗎?你不能這么說,因為0.9折換到概率以后可能比0.6的概率還要低,概率為什么會不同?第一,我們訓練模型往往用得不是原始數據的比例,尤其是對于小的類目,對于小的類目來說,如果做一個隨機采樣做一個模型的話,有可能它的正樣本特別少,我可能從它本身拿樣本里的全量,剩下的可能拿出10%,這個的話模型看見的事實是,這個小類可能在我整體里面占了20%,不是它的可能占了80%,實際上真實世界這類可能只占2%,剩下的是98%,所以你這個模型做得再準也不可能得到正確的probability,沒有正確的probability兩個二分類模型是沒法比的。
那么這個怎么解決呢?有比較粗暴的辦法,就像一些興趣標簽,比如說興趣偏好,一個人有多個興趣沒關系,一般出來一個模型只要這個分大于0.5就認為他對于這個有興趣,那就好了,但是對于年齡段來說就沒法這么做。這個你要怎么做呢?我們叫分數的校準,我拿出一些獨立的數據,我用我的模型打一下分,我可以算出每一個分數段它實際的概率是多少,比如我算出0.9的時候,所有低于0.9的樣本里面可能有10%真是這個樣本,0.9就對應了概率是0.1,所以我們做了這個映射以后這個兩個模型才有可比性。
這是我們樹狀的用戶認知體系,這里面分了幾個大類,基本屬性、社會屬性、興趣偏好、行為習慣、財富、汽車行業、金融行業、其他,這是一種方法,是固定的標簽體系。但是現在很多時候我們用的叫場景標簽,Google把人的一天24小時定義了60個場景,比如說,你剛剛起床的場景是怎樣的,你一打開電視的場景是怎樣的,需要判斷的是你在這個場景情況下最容易被什么樣的廣告打動?,F在的標簽體系有很多自定義的或者說基于場景或需求的,所以我們現在做得一個很重要的工作是把標簽的生產自動化,如果客戶提給我們一個需求,我們可以根據你的需求迅速自動產生一個模型,這個模型能夠輸出標簽。
關于標簽的生成方法,第一種標簽的生成方法叫基于事實的,我們在實際應用中經常用到。我給你一批客戶,你告訴我里面哪些人過去一個月開啟的這類APP十次,他只要知道這個,基于事實的好處是,它有事實在所以特別容易解釋清楚。不好的一點是,它的reach比較小,所謂reach就是說我有多少人能夠有這樣的標簽,按體育APP來說,同樣200人,可能有50人最近兩天開啟了10次以上的體育APP,如果廣告主要這個,給我一萬塊錢,我說這一萬塊錢只能投給這50人,你要想再投100人我沒法投了,因為沒有了。
但是如果是模型預測就沒有問題了,模型預測每個人都有對于體育興趣的分,那就是根據你要的精準性,你說我要很精準,200人給你排名,排在第一的我認為是對體育最有興趣的,排在最后的一個我認為是這200個人里最沒興趣的,但是他可能還是有一些興趣的,對于廣告主來說他愿意觸達多少人就能觸達多少人,只不過他要理解我的廣度跟我的精準性的關系就好了。因為我們在興趣后面會加一個分數,就是置信度,置信度廣告主可以選,需要什么樣的置信度。
下面我要重點講下“打通”的問題,首先讓我們了解下數據打通的方法。
比如說體育類APP,我怎么知道這是個體育類APP?開發者當時整合SDK的時候,我們并沒有方法驗證你填得APP類別是不是你真正的APP類別,所以我們需要有一個模型通過APP的描述對APP做另外一個層次的判斷,這個基本上就是一個自然語言處理的方式。
PC的相對來說復雜一點,第一個我們的數據量比較多,PC一旦知道你的URL的話我可以去爬,可以把你的網站都爬下來,可以用比較復雜的模型來做,但是實現的時候也會用一些基于事實類的方法。比如說第一個是規則,我只要看它的URL規則就知道它是哪類的,這一類把規則梳理一遍,就可以去判斷。第二個是用模型去判斷,通過標題、正文等建一個模型做判斷,這個要求比較高,打分大于0.9的我們才認為它是這一類的。第三個是映射,我們會對前面沒有匹配的按照用戶自填的做一個映射。當然我們還有LDA模型會把每一篇的文章做成Topic去做下一個子目錄的類別,這些小類可能是有一個LDA打標簽,再去引申到后面使用者身上的興趣標簽。
其次,我怎么知道多個設備屬于同一個人?這里有兩種方式,第一種方式是用第一方強帳號的體系連接起來,如果你登錄支付寶、淘寶、天貓,在不同的設備上登錄了同一個帳號的話,我們是可以通過這個帳號把這些設備連起來,簡單直接也有效。如果不具備這種強賬號關系,我們也通過一個算法打通。如果兩個設備經常在同一個IP地址出現的話很可能屬于同一個人,我們可能用IP的信息再加上其他的信息把不同的設備連起來。這個效果還是不錯的,我們做了一個最簡單的只用IP的模型,我們這個模型的Precision跟Recall可以達到70%、70%,這個實際上已經是一個挺好的效果了。
以上是數據打通的算法的方式,下面我將介紹“跨屏打通人”。
現在數據體量這么大,維度這么高,實際上原來傳統的所謂的PII,比如說你的手機號、身份證號碼這些是識別這個人重要的ID,這些重要的ID已經變得不是那么重要了,即便我把這些ID剔除出去,我還是能夠識別你,現在數據維度這么高,數據量這么大,比如說你有一個非常稀疏的矩陣,這個稀疏矩陣維度很高,如果你有兩個矩陣里面在某幾個維度上面有重合的話,你基本上有很高的自信心說這兩個是同一個人的,這個是被人家做過的,當年Netflix有一個100萬美元的懸賞幫忙他們增強推薦引擎的效果,有些科學家就拿了另外一個數據源跟Netflix的數據進行比較,把很多用戶直接就給認出來了。
這個是通過跨屏以后,可以把所有的數據整合在一起重新打一個標簽,這個標簽就更準確,內容更豐富。這也是在行為數據里面非常關鍵的一點,因為你數據連通越多,你能夠提供的服務就越多,你的場景就越豐富,你對這個人了解的就越多。
這里我舉一個實際案例。中國普惠金融場景,它面向的很多的受眾群體是沒有足夠多的數據來做風控的,大家知道對于一個金融公司風控是它的生命線,做不好風控這個公司沒法做下去,但是做風控沒有數據是很難做好風控的。中國實際上沒有一個能夠完整收集數據的公司,央行有3.5億人的信用相關數據,但是不幸的是這3.5億人跟普惠金融面向的群體重合度不高。比如學生也是普惠金融的使用者,你們一般還沒有買房買車,沒有這些借貸還款的記錄,可能也沒有信用卡的記錄,所以這些人的數據是非常缺失的。
跟信用相關的數據最高層是征信的數據,就是你借款、還款的數據,這個是最直接相關的。如果說這個人有借還款的數據,我用它判斷信用相對來說比較容易比較直接,也會比較準確。后面是消費數據,包括信用卡記錄,包括你在淘寶上買東西的數據,再往后是運營商的數據,你的每月話費的信息,再往后是社交數據,再往下是行為數據。除了行為數據可能還有一些其他雜七雜八的數據我就統一放在“其他”了。
說明:數據對風險的作用,越往金字塔尖上走風險作用越大,但是它獲取的難度越大,覆蓋率越低,越往下走它的數據量覆蓋率越來越大,但是運用起來很難,因為這個數據不是直接相關的。
但是,我看什么網站用什么APP跟我的風險有什么關系啊?我們當時找了一些P2P公司合作,做出第一版的結果比我想象的結果要好,這個項目做到今天基本上每天已經有幾十萬的查詢量,我們跟螞蟻金服也有很多深入的合作,發現這個數據在中國這個大環境底下還是非常有用的。
其實美國也有一家公司,它是Google原來的CIO做的,他的理念也是,對于美國信用分比較低的,倒不是說沒有信用數據的人,而是信用分比較低的人是不是可以再細篩一下,有些人雖然信用低但是有可能收入低誠信很好,你要借給他錢他還是還的,這些人可以收得利息高一點,但是風險又沒有那么大,他想在這個市場上看能不能做。反正做得也比較艱難,我覺得他們不像我們有覆蓋量這么大的數據,但是他們確實在這方面也有嘗試。我們在這方面的嘗試我認為是比較成功的。
雖然這個數據你看著跟金融業務沒有那么相關,但是物以類聚、人以群分這個事是沒有錯的,這些人的行為確實是有一定規律的,所以如果我們有一些標識的數據通過對他的行為相近性進行判斷,效果還是不錯的。在美國金融領域我們做過一個模型,英文叫Bust out,就是我把自己包裝或表現成一個非常良好的客戶,定期合借錢定期還錢所有的記錄都非常好,銀行看你記錄這么好,給你漲點信用值吧,比如原來給你5萬,現在給你10萬、20萬,突然有一天,20萬拿走了,離開美國再也不回來了,這其實對銀行造成很大的損失。
我們做一個模型幫助銀行早期判斷是什么樣的人這種可能性比較大,銀行要么對他們嚴格監控,要么要再輕易加信用額度。這些人在這些方面會作假的,但是作假也沒有那么容易,你要做成一個跟正常用戶一模一樣也沒有那么容易,作假也是會有一些套路的,我們會從過去作假的人的行為里判斷,什么人更像是作假的行為。在行為領域他不會想到說我用用APP、看看網站會有影響,他在這方面作假更難,我要在各個方面都裝成一個正常人太難了。所以為什么這個數據在金融領域會比較有用,是因為這個原因。
這里有兩個案例。第一個是個人貸款互聯網金融機構,貸款額度是5千到10萬,他們給了我們20萬樣本,這個基本上是基于IMEI的,IMEI是國際移動設備識別碼,是Android手機的識別ID。第二個案例是手機貸,從3千到20萬不等,10萬個樣本,也是用得IMEI??匆幌陆Y果,這都是在測試集上,做模型的人都知道,這個數據拿來以后切成三份,一份用來訓練,一份用來決定訓練什么時候停止,最后一份沒碰過的作為測試。
這里跟征信相關的指標,左邊這個圖是標準的二分類模型指標,ROC,就是我把一個本來應該是錯誤的東西判斷成正確的,這個曲線越靠近左上角說明這個模型越好,在這個曲線下面的面積越大越好,越接近1越好,這個模型曲線是0.7,看起來一般。然后右邊這個模型是征信里面用得比較多的,就是底下這根紅線我們叫KS,KS實際上是說你這個模型區分好樣本和正樣本最大的距離,也就是說你看這個紅線是從零到零,它中間最鼓的地方是它區分的最大距離。一般來說征信公司都會在這個最大的距離點上做操作。
這個到什么程度才算比較好呢?根據場景不同是很不一樣的,有的在0.1左右就可以有,有的場景可能要在0.4以上,這個模型是我們最開始第一個樣本做得模型,這個是在0.3。我當時想我們這個數據能夠做到0.1多就挺滿意了,我一看0.3,真的比我想得好了一倍。我當時就說這個有戲我們可以繼續往下做。第二個結果基本上差不多,稍微差一點,KS是0.28,但是肯定是在一個可用的程度。我們最后模型的分數是從300-800。這是一個違約率的分布,大家可以看一下,在300分違約率的可能性是90%,如果判斷這個人是300,基本上你可以板上釘釘不用給他貸了,風險太高了,800分差不多是10%幾。這個樣本說明這個公司風險控制做得非常差。
你做模型會發現,比如說我們原來在美國做信用卡反欺詐的時候,有的模型很好做,拿數據隨便一訓練就是一個相當好的模型,有的模型特別難做,做得頭發都白了也提高不了多少。這跟它本身原來的數據是有關的,因為一般人不會說我一點風控都沒有,我直接就是什么人過來都給他貸款。如果我有一些風控規則其實會合卡掉一些,如果風控做得好他們給我們的數據我們會發現這個數據很難做,做提高就很難做。如果風控做得不好會發現很容易做。
這里面也是一樣,我們做得好的例子KS能夠達到0.45,有的風控做得非常好的,像剛才說的跟我們簽約的TOP5的P2P公司,我們給他做得模型KS挺低的,但是他們愿意花錢買,因為他們是懂行的人,他們知道這個東西非常難做。一個是他們的風控做得好,一個是IOS的解決方案很難做,本身它的風險就低。
另外兩個比較重要的事是模型的穩定性和權重。因為生產環境的輸入是不可控的,假如你這個模型有100個輸入,這100個輸入在你實驗室沒問題,因為數據都給你,你切成三份怎么做,不同的模型不同Feature,這個組合最好,就萬事了,你發篇論文萬事大吉。在我們這里不一樣,我們發現這個模型組合最好給到客戶了,可能過了一個星期客戶打電話過來說你這個模型在我這是個災難。為什么?因為我們對他模型的輸入沒法控制,我們不知道它在實際環境中會產生什么事,有可能有些維度今天缺失,有可能有些維度因為系統的一些故障或者因為行為改變而改變了,造成這個模型的結果大面積波動,這對他們的運營會造成特別大的影響。
另外,對模型的權重要有一個控制,除了要優化我的目標和我預測的結果的差別,比如說權重加起來的總和不能太大,我保證沒有特別大的權重在那。特別大的權重表示什么呢,可能這個模型有30%甚至40%的表現是因為一個或者兩個的輸入,如果生產環境中這一兩個輸入出問題,這個模型整個就完蛋了。做模型的人都有選變量這個事,怎么選變量呢,比如說我們做一些簡單的cross correlation,這些東西如果它跟目標相關性太低了我就不要了,這個容易,誰都會做,我把小的不相關的都去掉。
我們做風控模型,它有一個比較大的問題就是說用戶用我們的模型之前要測試模型,測試模型他不能用現在的數據測,他只能用歷史數據測,比如說6個月之前的數據。我們系統有一個回溯的功能,就是說我要對于歷史上的任何一天都要能做特征的計算,這樣我才能把這個事做好。
最后,我將談下用戶怎么用我們的分。
因為這個分畢竟不是集中了所有的信息產生的分,而是我就用了行為這個信息,用戶用的時候會自己再建一個模型,這個模型他要整合其他所有的分,比如說芝麻信用分,有8個征信公司可能每個公司都能拿到一些信息,把這些分整合起來做一個總分,最左邊這個效果就是總分做到的KS,還不錯將近0.3。第二個是【友盟+】的子分,這個里面不高,大概0.16、0.17的樣子,但是你跟其他的子分比一下,我們是排在第二名的,它本身是一個非常tough的案例,但是我們的分在這個案例里面效果還是相當好的,因為我沒有想到它排在第二名,這里面包括金字塔上面說的我們上面的很多層,消費數據、運營商數據、社交數據,我們反而排在金字塔最底下的分能夠排在第二名,這也是給我們很大的信心繼續往下做這個業務的一個重要原因。
今天你去參加任何一個互聯網會議或者是涉及到消費者的會議,大家都會談人口紅利消失,為什么呢?因為中國的發展真的是非常快,人口紅利確實越來越少,而且大家個性化的需求越來越強,我不希望接受的服務跟你的服務是一樣的。所以為什么像今日頭條能夠做到“你關心的才是頭條”,為什么淘寶、天貓現在是千人千面,每個人看到的東西都不一樣。所以說,對客戶的精細化運營是企業成敗的關鍵,而數據實際上是精細化運營的關鍵。往往對一個企業來說自身的數據是不夠用的,就像我剛才說的,它的數據是垂直的數據,沒有橫向打通,你需要找人橫向打通。但是在中國的場景是什么,你找BAT拿不到數據,不會給你數據,騰訊微信內部團隊都不給數據更別說你了。所以說這種場景下我們的行為數據其實是大有可為的,在很多方面都可以幫助企業精細化運營客戶,滿足個性化的需求。
將來大家做數據科學也好,做工程也好,我覺得滿足個性化需求肯定是將來大的趨勢,將來肯定會有很多小而美的東西,包括線下零售,大賣場一個跟著一個倒閉,現在有很多小而美的店反而起來了,因為它抓住了自己的核心用戶,它看得不是新用戶的增長,而是看老用戶的價值!一個用戶如果原來能在他身上產生100塊錢的價值,現在是不是能精細化運營產生1000塊錢的價值 ,這些是企業現在需要思考的問題,也是我們在學校的學生做科研也好,做畢業論文也好,這些都是值得考慮的方向。
我們的路還很長,要做得事情還有很多,我也希望如果將來有機會可以開放一些數據讓大家一起把這個事情做好,讓大家在這個方面都獲益,在整個服務領域、數據應用領域能夠開創一個新的天地。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
- 上一篇: 云白条,做有温度的金融,帮助有困难的人
- 下一篇: 全行业的关键点是探索数据的价值 挖掘商业