1. 程式人生 > >譚安林:大資料在教育行業的研究與應用

譚安林:大資料在教育行業的研究與應用

演講嘉賓:譚安林,騰訊高階工程師。2015年加入騰訊,8年網際網路從業經歷,從事大資料平臺與產品開發相關工作;先後參與廣告、金融等領域產品專案,目前負責行為預測解決方案,幫助客戶盤活現有客群、挖掘潛在高價值新客。目前我們的產品包括:智慧客服、大資料套件、騰訊移動分析、騰訊移動推送等。

今天我分享的是在騰訊雲在大資料對使用者行為預測這個專案中,有關教育行業的一些實踐,希望可以給大家帶來一些幫助。這一年我們所做的是使用者行為預測解決方案,針對教育行業定製一些行為分析和預測,希望可以幫助大家更好地藉助於資料。大資料對外開放有兩個模式。第一個模式是平臺技術,我們會將大資料的能力開放到雲端給大家使用,比如騰訊大資料框架。第二個模式,我們考慮到對內資料服務的能力模型,複製對外,為大家提供一些有針對性的行業服務。

中國的網友有8億之多,98%的使用者群使用移動網際網路。2017年始,月活的移動裝置數量穩定在12億左右,新增紅利在漸漸消失。深挖存量的大盤使用者價值,有兩方面的考慮:一方面,我們希望給整個大盤的存量使用者提供更有針對性的個性化服務、產品和推薦;同時針對各個行業,挖掘出大盤使用者的價值,為行業帶來資料上的增長。

我們以前做過智慧推薦,在金融領域進行使用者逾期行為預測的開放,在相關的反欺詐、風控場景中進行使用。在教育行業,隨著技術的發展以及產品的日漸豐富,整個教育行業的使用者增長是很可觀的。在未來幾年,教育行業會持續發力,我們也希望可以在這方面做一些事情。

使用者行為預測幫大家解決的問題有哪些?從運營的角度考慮,獲取潛在客戶的環節,可以幫大家瞭解誰是你的使用者,哪個平臺適合做精準化營銷。獲取使用者之後,我們會分析哪個使用者價值比較高,更容易付費轉化。我們可以做這樣的識別,哪些使用者在一定的生命週期後會流失,我們要做出流失預警以提前干預,而不是等到流失後再幹預,這時候已經來不及了。

我們的產品運營會貫穿資料化的工作,從使用者引流開始,到判斷使用者來源渠道是好還是壞、使用者的價值是高還是低、提升轉化效果等。這就說明產品要做大,必然需要一些潛在的客戶,將當前使用者的盤子進一步擴大。其中涉及到的資料分析服務,主要可以分為三個方向:

  1. 新使用者的預測,即新增使用者。
  2. 留存使用者,即當前使用產品的使用者。
  3. 潛在使用者。

現在市場上的移動分析,也需要相應的工具。例如上面提到的三個方向,我們要做資料化的運營,首先要明白運營指標、目的是什麼,從而把這個指標轉換成資料的指標。比如每天的轉化率,我們會推動終端做資料的採集、APP的打點,將資料分析和資料開發通過相應的報表進行呈現。整個過程中,不管是我們自研還是用外界的工具,比如雲盟和騰訊分析等,我們都可以直觀地看到一個產品運營的情況。但是要做深入挖掘,判斷哪一個使用者有價值,這肯定是不夠的。我們還要進行標籤的建設、模型的建設,判斷應該構建哪些標籤、哪些模型。最終構建的標籤和模型都需要落地去做資料產品,做到視覺化,使我們的運營、產品所見即所得,找到一個比較好的運營方向。

在整個實施過程中,我們也瞭解到,無論是教育行業、金融行業或其他電商行業都面臨同樣的問題。資料在終端收集之後,我們要落地到標籤系統,生成標籤。這個環節會非常困難,首先我們要聯動很多崗位的同學,從產品到終端開發、後端開發,以及資料分析、演算法等等。大家的KPI是不一致的,運營同學主要是做資料增長,後臺、終端同學更多傾向於做出新功能和並維護舊功能的穩定性。這樣的資料需求提給他們,你說要打一個點,很有可能很小的事情會做到一個月甚至是半年以後。這裡存在一個應用難的問題。

同時還有一個問題,對於新使用者或APP已經留存的使用者,基於我們資料採集的方式獲取到的資料非常少。少到什麼程度?可能只有幾條。這些行為的資料是付費轉化的資料,但你也不知道還需要哪些其他的資料。這時資料很少,很難刻畫一個使用者是不是高價值,是不是容易被轉化。即使構建了標籤系統,還需要另一批人去建模,需要四五個人或十幾個人做模型分析。選擇哪個模型,判斷哪些特徵有效,模型構建完成以後還要去運營、落地、實驗,這時候還需要進行實驗的工具,整個過程是很複雜的。

使用者行為預測專案的出發點在於標籤建設和模型建設這兩部分。化繁為簡地說,我們希望做到的是我們來提供API,大家來上傳行為資料,我們再進行落地的簡化。大家不需要做標籤建設和模型建設,我們可以直接預測使用者的付費評分、轉化評分,以及一週內是否會流失的預警。在簡化落地這部分,如果大家聯動開發、演算法、分析一起做這個資料產品,需要20個人甚至更多。但在使用這個產品之後,只需要兩個人去做這件事。一個人開發API,接入資料;另外一個人使用這個系統做運營。同時,我們也提供小步實驗的工具。

下面我來介紹一下騰訊雲對於使用者的刻畫,主要分為五個方面,包括人口屬性、社會屬性、使用者消費、使用者行為、興趣偏好。大家在報考駕照時可能關注點不太一樣,有些人希望週期較短,有些人希望便宜一點,有些人希望教練不要罵人。我們可以通過標籤,刻畫不同使用者的分群,針對這些分群做一些定製化的營銷。特別是針對教育行業,我們可以把一個群體分為七天內流失可能性是高危、一般還是低流失的不同分群,進行一些有針對性的運營策略。接入的方式是圍繞使用者行為進行接入,獲取使用者接入第一方的資料後提供模型,或從行為中抽取樣本再進行建模。在這個過程中,系統會提供一鍵預測的功能,客戶直接在系統上進行操作即可。預測出的結果可以擷取下來進行自己的運營實驗,我們最後也會根據使用者行為進行跟蹤。在市場上有一些行為跟蹤的產品,它們要求的是效果反饋,需要有一些KPI。我們根據純粹上報的KPI做變化跟蹤,直觀地看出哪個策略好、哪個策略差。

剛剛提到三個方面的服務,第一方面是對留存使用者,第二方面是對新增使用者,第三方面是幫助大家挖掘潛在使用者。先來看一下留存使用者,也就是現在已有的使用者,這種場景比較好的地方就是第一方資料相對較多,我們的模型會比新增使用者的模型更好。主要分為以下四個部分,一是資料管理,資料管理不僅是第一方資料,也包括網際網路大盤的脫敏資料,我們會有針對性地進行融合。第一方的資料是註冊資訊、裝置資訊、行為資訊,比如使用者登入的時間、瀏覽的頁面。這些資訊接入進來後,我們會進行概覽性的分析,比如每天的PV、UV分別是多少。同時我們也會對每一條資料進行質量評估,因為每一個欄位的完善度都會影響模型的效果,如果完善的話,模型將在0.8以上;如果不完善則會在0.7到0.8;如果特別差的話,模型就不能被使用。

第二是留存預測。我們可以提取一段時間內的使用者包進行預測,預測模型可以是多種,根據多種需求可以自定義、也可以進行增加,當前的預測主要是流失、付費、逾期還款等。在預測出來後會出現一個概率的分值,可以根據概率分值將它自定義分成幾個分組,也就是分群。例如在付費的模型中,付費轉化率高的人,我們稱為高付費,次之是較高付費。我們可以在這個基礎上再進行分群的洞察,在這個分群洞察市場上有很多移動分析的軟體,但是它們提供的畫像很有可能是通用型的,甚至對於某個群體是沒有顯示度,也就是沒有顯著性的。我們針對不同的行業,特別是教育行業,有著自己的行業定製標籤,比如教育關注度、教育堅持度這樣一些畫像,能夠有效地展示其中的群體形態。如果你發現這部分人群有怎樣的畫像特點,在之後進行廣告投放時可以諮詢一下廣告投放平臺,支不支援這些標籤的投放。如果可以的話,就可以實現精準投放。

再來介紹一下我們分群所用的標籤。我展示出來的是兩個畫像,一個是教育關注度,一個是教育堅持度。首先介紹一下圖表,圖表上207這個數字,表示的是TGI的相對顯著性,數字越高表示這個特徵和它所對應的分子越大,也就是正相關性越高。這個數字大於100表示正相關,小於100就是負相關,數字越小就表示負相關越大。教育關注度越高的這些人付費意願就會更強。教育關注度就是根據客戶在大盤教育類的諮詢,以及周邊產品的關注程度聚合出來的畫像。

再來看教育堅持度,它的表現也是一樣的,越能堅持的人,越願意付費。在這裡教育堅持度我們怎麼刻畫的呢?他持續使用大盤裡某類或全部的教育產品,這種持續的時間投入,我們稱之為教育的堅持度,這是由很多特徵聚合出來的畫像。

剛剛看到的是行業的標籤,我們構建的標籤分成了通用標籤、行業標籤、場景標籤以及個性化標籤。這裡是通用標籤,通用標籤就是遊戲的沉迷度,比如說在遊戲上消耗的時間和週期,可以根據這些行為進行刻畫。我們發現它的顯著性和教育關注度不一樣,越沉迷遊戲的人,付費的可能性就越低。在自我驅動力上面,他會自己驅動自己做一些相關的學習、收藏,屬於比較有自發性行為的資料。這種資料可以刻畫出越上進的人,越可能會付費。

這是一個實驗專案的跟蹤展示,上面是測試資料,不是真實的資料。我們的實驗包括兩種實驗,一是人群對比,將較高付費的人群及高付費人群做同一個策略實驗。我們可以打電話營銷、發簡訊營銷,甚至可以建群為他們進行鍼對性的服務。在這些方式下,可以得出哪種人群轉化率更高,哪種策略更適合哪個人群。第二是策略對比,針對較高付費的群體,我們進行剛剛三個策略實驗,就可以看出哪個策略對這部分人的效果更好,在具體的運營實驗上花更少的成本,去體驗整個實驗的效果。

第二個方向是新增使用者。新增使用者為什麼放在留存使用者後面講呢?因為這部分可以獲得的資料更少。我們可以獲取到留存使用者的一些行為資料,但新增使用者可能只有手機號、裝置環境資訊和相應的價值資訊。我們可以做到的是新增預測,提供單獨的API服務。它的應用場景主要是有兩個點,一是渠道質量的預估,為什麼是預估呢?我們在運營中會面臨一個問題,投放廣告、投放營銷預算應該選擇哪個渠道?評估一個渠道的好與壞有兩種方式,一是諮詢別人,這種方式並不可靠。第二是進行實驗,在一週、兩週、一個月之後,觀察這個渠道的付費轉化率是多少、流失情況是多少。我們對模型進行了預測,這時就可以把渠道的質量預估提前,如果預測出某個渠道的質量非常差、轉化效果也很差,這時就可以把營銷預算往好的渠道上面傾斜,在後期完全可以進行對比。

還有一種情況,我們在投放廣告的時候,因為廣告的素材偏差引進來的人不是目標使用者,導致營銷預測浪費。假設我們在三個渠道都投放了營銷素材,三個渠道質量的預估從原來都很高的預估率同時降低了,這就有理由懷疑是素材的問題,可以進行素材上的調整。同時還可以進行新增的預測,根據它的閥值進行自定義的實驗。我們的跟蹤資料會反饋到模型訓練中做一個迭代的優化。

潛客挖掘這部分是很多人都關心的。一開始我們並沒有想做這部分,以前一直在做廣告,通過廣告挖掘新增客戶。無論是教育行業還是金融行業,都有這種需求。為了獲取更多的客戶,有可能是口口相傳,有可能要投一些預算做廣告。潛客預算有兩種模式,第一種是從其他渠道拿到你認為有潛在價值的使用者包,第二種是在網際網路大盤裡做一個預測,哪些人可能會是潛在使用者,而第二種方式只會在騰訊雲內部的廣告投放平臺上進行流通。我們把挖掘潛客分成兩類模型,一種是和留存新增類似的分類模型,一種是Lookalike。如果我們以到站這種方式作為目標,其實你不知道誰沒到站,你只知道到站的是誰,這裡是沒有負樣本的,所以我們需要用Lookalike的方式。我們對潛客的跟蹤有相應的解決方案,可以跟蹤到潛客包轉化效果,從而進行進一步的運營嘗試。

下面為大家介紹一下Lookalike,Lookalike是將其轉化為一個二分類。以到站的方式為例,到站的人我們認為他是種子使用者,但我們不知道沒有到站的人是誰,只能在大盤裡將到站的使用者剔除掉,其他的作為一個盤,其中隨機抽出一部分作為復例。最後進行模型訓練時,提取的就是我們潛在的使用者包。這裡面臨的問題是什麼呢?負樣本中很有可能包含正樣本即某些實際上是潛在使用者的人,隨機性抽樣很難保證準確性。這裡我們也通過標籤抽取的方式進行實驗,比如先對種子使用者進行畫像分析,發現他的教育程度高、教育關注度高、堅持度高,這類人就是潛在客戶。相反,關注度低、堅持度低的人,是不是一定就是負樣本呢?這種方式可能會導致整個模型泛化效果比較差。實際上,我們是將種子使用者抽取出來一部分,放到負樣本混合後進行建模,在建模後就可以看到負樣本中混合的種子使用者的概率分佈。

假如我們發現它的概率分佈在0.42以上,我們就有理由相信0.42%以下是比較高質量的負樣本,再將正負樣本拿進去做第二次真實的訓練。訓練的過程中可能會遇到一些問題,我們在教育行業用了800多維的維度,整體的維度有三四千。這裡面臨特徵拼接的問題,不管是留存、新增還是潛客,或者是付費、流失場景包的模型,每一個模型所需要的特徵是不一樣的,它們都是動態的、個性化的。這裡需要有一個特徵拼接的過程,我們採用列儲存+SSD進行支援。

大家接觸的資料量比較少,當前幾千萬也是比較常見的。在整個大盤預測上,基礎是幾十例。我們做一個排序,也可以做一些抽樣的預測。比如抽取5000個使用者包,先預測一下這5000個使用者的大概P值,比如說預測出的P值是0.85,在實際預測時就進行閥值的提取,加強整個鏈路的優化。Lookalike的結果會直接與內部廣告平臺打通,並在廣告投放後從行為變化跟蹤上觀察投放的效果。

在整體的方向上,我們的預測從資料採集到特徵構建、模型整合,最後提供線上化的服務。在資料採集這部分,我們會根據採集到的持續資料構建時序的特徵,同時也會將其用到模型中去。

這是一個整體技術架構介紹。因為這是一個數據產品,不像我們常規理解的一個顯然的系統,它是各個環節進行協作,最後進行資料產品的輸出。首先我們在做外部資料接入時,通過騰訊統一的閘道器STGW將資料放進來,之後通過DFS資料通道存放到訊息佇列中。行為資料基於第一方資料的安全,進行了相應的加密和脫敏,我們要進行解密並對每一條資料進行質量的評分。這裡有一些質量評分的報警,如果資料可以達到80分,現在一下子變成了60分,我們就需要和客戶溝通,是不是某個環節出了問題,因為它最終會導致模型效果較差,使用的體驗也會比較差。後面我們會將接入進來的資料存放在TDW,各家的資料進行分表儲存,沒有融合在一起。之後再將資料取出來進行計算,進行資料行為概覽相應的指標分析以及行為跟蹤。某一個使用者包的行為變化跟蹤,就是在這裡面進行的。

最後我們將這些統計結果、跟蹤階級寫入MySql,通過產品系統提供給使用者進行展現。這裡為大家介紹一下我們模型的做法。樣本來自兩個部分,一是行為資料抽取出來,二是通過使用者介面提供或離線提供。我們要融入大盤的特徵,大盤特徵是分級的,有些特徵是按月的、有些是按周的、有些是按天的、有些是實時的。我們有很多節點計算每個不同的特徵,當然有些特徵會放在一起進行計算,將這些特徵放到Hbase中以加快它的訪問。

在具體應用時,客戶提取使用者包後進行模型的預測、分群的洞察。我們提取了使用者包,在預測的時候要先去提取存在Hbase裡面的實時資料,觀察它的實時特徵。實時特徵和離線特徵融合起來進行模型的預測訓練,在預測完成後,我們要將一些特徵聚合起來形成畫像,最終在頁面上展示給大家。這些也是通過關係型資料庫進行產品的展現支援。

關於我們產品的結構,首先是第一方的資料來源。第一方的資料是客戶提供的行為資料,加上內部畫像融合起來進行資料建模的支援。針對使用者上報的資料,我們會自動生成標籤。內部資料也會通過相應的標籤工具,生成通用的行業、個性化、場景的標籤,之後再進行資料建模以及每個使用者的落地,服務落地分為使用者分群、小步實驗、效果閉環。再往下是各個行業的應用,比如教育行業以及金融上面的反欺詐實踐。

第一方的資料完善程度和模型效果有相關性。如果第一方資料比較完善,可以達到0.8到0.9的AUC,它的識別能力非常少。如果資料不太完善,只有50%或者60%的完善程度,AUC會在0.7到0.8之間。如果資料在百分之二三十,甚至沒有第一方資料,那麼AUC就在0.7左右。

下圖是教育類預測線上特徵庫,我們將其分為四類。每類從上往下是通用、行業、個性化、產品化這四類特徵。整個大盤的特徵維度有幾千維,教育行業我們用到了800多維。

在第一方資料和安全機制部分,第一方資料,就是某一方面的資料,它對某一方面的模型有直接的影響。在做付費模型的時候,基礎資料APP行為、付費轉化有著直接相關性;在做流失模型的時候,基礎資料和裝置相關的資訊、APP行為的資訊有直接相關性。第一方資料是客戶提供給我們的,無論是金融、電商還是教育,大家都會面臨同一個問題,提供資料會不會存在隱患,我們會不會再將這些資料提供給別人。在安全方面我們分為三個等級,一是資料傳輸上進行加密的支援,即使傳輸的連結請求被劫持了,其他人也不知道這個資料到底是什麼資料,他只能看到一個密文。二是資料儲存。在儲存使用者資料的時候,按照分表物理儲存,其中不會有融合的問題,也不會將這些資料給另外一個產品使用。三是資料的脫敏。我們針對賬號支援加密,在內容上可以簡單地理解為,假如使用者A看了張老師的數學教程,在這個看的過程中,我們會將張老師的資訊由客戶自己定義一個唯一的編號,將這個數學課程也定義成唯一的編號。在這些資料上傳之後,我們拿到的只是編號,而不是張老師、數學這樣的具體資訊。取得這個資料後就可以進行模型上的建設,這裡我們會將具體的使用者隱私資料過濾掉。

我們的接入方式比較簡單,但也會存在一定的開發量。首先客戶將行為的資料通過API提供給我們,這裡的樣本有兩種方式。如果行為資料比較全,我們可以直接進行操作。如果行為資料不太全,或不太符合預期,我們會讓客戶提供一個樣本。資料建模由我們進行支援和處理,客戶可以在產品系統上提取使用者包進行預測、實驗和效果的跟蹤。

Q/A

Q:剛才提到的教育堅持度,如果與某個變數因子相反關係,說明這個人的基礎比較薄弱,是嗎?

A:這不一定,我們也做過這方面的分析。我們發現有些人學歷很高,他們還是堅持去學習,這完全是因人而異的。所以這部分也要看學歷,學歷也是一個因子,但學歷的因子反而沒有這個指標顯著。

Q:關於特徵的部分,請問可以公開一些特徵嗎?

A:如果合作到一定深度是可以的,但是現在不方便透露。我們的特徵也很多也比較細,像通用特徵可以通用到各個行業,沒有行業的屬性在裡面。

歡迎大家前往騰訊雲+社群或關注雲加社群微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~