本次的分享topic是:精準營銷中的資料應用。
o2o的營銷業務和系統演變;
資料系統和服務在營銷系統中的應用;
資料挖掘和使用者畫像的建設。

在介紹技術架構前,為了友善大家了解,先簡單闡述一下o2o營銷的基本組成:o2o營銷是由營銷發生的管道(站内,站外)與營銷的主題業務(流量,交易)兩個次元組成的,其中産生了多種營銷的形态,如精準化使用者營銷活動、dsp的精準投放、管道價值排名和反作弊等,資料分析和挖掘在這些環節都能發揮很大的價值。本次我們主要介紹站内精準化營銷。
一個站内使用者營運活動的生命周期大概可以歸納為:确定目标、選取活動對象、設計活動方案、活動配置與上線、線上精準營銷與動态優化以及效果監控與評估六個環節。
這裡最基礎的是需要一個營銷系統進行配置和投放,線上上使用者可以檢視,進行交易并享受優惠。
過去的營銷系統,營運人員都是自己手工配置優惠團單,由開發同學導入線上系統,過程低效,而且各個相關服務和子產品不管從資料上還是接口上都是耦合在一起,出問題排查困難,而且基本無法scale擴充。并且活動效果資料無法統計評估。如下圖所示:
通過幾輪改造後,我們從資料模型和服務上解偶系統,分為預算中心,提報中心,活動制作中心,資料中心。同時将其他依賴系統作為旁路服務。
這樣,不僅實作了整個營銷活動從申請,審批,配置,上線的自動化,還提高了系統的健壯性。
從圖中可以看出,新系統中對資料非常重視,一些包括預算配置設定,優惠政策模型,效果分析都包在資料中心裡,通過服務提供出來。
下面重點和大家分享這一塊的系統設計和相關元件應用場景。
<b>我們先看一下點評目前整個資料體系:</b>
<b>藍色部分為系統和服務</b>:主要包括傳輸,計算,排程;
<b>綠色部分為資料倉庫模型</b>:分為底層基礎模型和上層的資料集市
<b>紫色部分是産品和平台</b>:主要分為流量分析,營運分析,開發和報表等;
<b>系統角度看,分為4大部分:</b>
<b>傳輸層</b>:将異構的業務系統的資料傳輸到資料倉庫中,這裡我們開發了兩個自己的傳輸元件(wormhole和blackhole)分别負責日志和結構化資料的傳輸
<b>計算層</b>:我們開發了基于模版語言的hive 開發架構cannan,另外也從離線和實時計算兩個搭建了基于hadoop/hive和storm/spark的計算平台
<b>存儲層</b>:經過加工計算的資料,我們提供多種存儲媒體以供不同場景使用:mysql主要服務報表系統,hbase和redis服務
<b>應用層</b>:分為面向線上高可用4個9的資料服務和報表以及即席查詢和分析平台
在這樣完備的資料基礎體系之上,我們用分層的金字塔架構設計了一套營銷資料系統和服務,有效滿足了業務的訴求并具有很好的平台擴充性。
最底層是我們的資料倉庫和模型層,這裡又大緻可以分為三個主題:畫像,營運和營銷,流量。這三個都是營運活動必不可少的資料組成部分。
在營銷營運集市上,我們與财務和支付系統協作,開發了一套公司預算流水号系統。營運人員在配置活動時,從财務申請預算流水号,并在優惠背景配置與對應活動關聯,使用者享受優惠的每一筆訂單都會在業務表中進行打點,做到在最細粒度上的預算監控。同時在使用者、商品等次元模組化後,形成了營銷交易評估的名額體系:新使用者成本,新老使用者分布,7天、30天購買留存等。
活動評估的另一個次元就是流量:活動頁的點選、轉化漏鬥、不同管道來源等名額是營運人員無時無刻不關心的,這部分模型作為資料中心資料倉庫中核心的一環。我們參考了其他公司的做法,建立了自己的pv、uv、session以及路徑樹轉化等模型,可以很好地滿足營運需求。
在資料倉庫之上,我們建立了資料服務層。在統一使用公司高性能的rpc架構之上,針對不同的應用選擇了差異化的資料存儲和查詢引擎。比如在畫像服務中,需求是滿足線上業務系統的實時通路需求,要求毫秒級的并發和延遲,是以我們選用了redis作為存儲。
而相較之下,分析類産品對并發和延遲要求相對較低,但對資料在不同次元上的聚合操作要求較高,在對比了kylin、elasticsearch(以下簡稱es)、druid後,我們決定使用es作為存儲和查詢引擎,主要有2個理由:一是我們有留存等名額,需要重刷資料,而對于kylin來說,無法使用其提供的自動增量cube機制,重建資料代價較大,同時es在同樣的次元上,空間膨脹度上比kylin少近一半;二是es整個系統設計和架構非常簡潔,運維方案簡單,也有專門的工具支援,對于當時沒有專職運維的開發團隊來說是一個捷徑。
這裡要補充一下,上次和kylin的開發團隊交流,kylin新版本有一些優化,可以解決資料重刷的問題,并且我們北京的同僚作為kylin的committer,和我們緊密合作,修複了不少bug,後續我們的olap查詢分析系統可能會考慮kylin作為queryengine。
另外一塊資料線上服務,我們基于redis提供了譬如:新使用者,閃惠随機立減和使用者實時行為等服務。
最上層是資料産品和應用,針對前面提到的營運活動的不同階段提供資料平台和工具。
<b>雲圖/星圖</b>:基于es的多元查詢平台:活動效果實時更新和查詢
使用者可以通過選擇畫像服務提供的不同的标簽組合快速建立人群包,建立的人群包可以提供給其他不同業務和形态的營銷工具,如push,促銷工具等。
由于營運需要實時知道人群包大小,由于我們是億級别的使用者和百級别的标簽,這個數量級下hive很難在規定時間傳回結果,我們采用了基于es的方案,通過自定義docid和嵌套的文檔結構模型設計開發了人群速算功能,能夠在秒級傳回。
cord是智能發券引擎,背景是點評會在微信群/朋友圈中用紅包發各種優惠券,當好友來領券時,如何決定發哪個業務什麼面值的券更容易轉化。本質上是一個簡化的推薦問題,我們也參照廣告系統的架構設計了cord引擎。
主要包含分流子產品(用于灰階釋出和ab測試)、召回子產品(負責從畫像服務和優惠配置系統擷取人和券的物料資訊)、過濾子產品(負責進行兩者的比對)、推薦子產品(可以根據業務規則或者我們挖掘的政策對結果進行排序,傳回給活動系統最合适的優惠券進行發放)。
整個系統實作完全服務化和可配置化,外部的活動系統可以根據配置的開關啟用或者在特殊場景下禁用cord服務;而cord内部,也可以根據配置中心的設定,動态調整推薦政策。
背景是點評會在微信群/朋友圈中用紅包發各種優惠券,當好友來領券時,如何決定發哪個業務什麼面值的券更容易轉化。
在資料體系中,另外一個很重要的建設就是使用者畫像體系和服務。
我們的做法是部分自主建設,同時內建業務方如搜尋、廣告和風控團隊開發的畫像标簽,形成統一的畫像寬表。目前我們的使用者标簽體系覆寫了包括:基本資訊、裝置資訊、消費浏覽以及特征人群等5個大類的180多個标簽。在标簽的實作上,我們也秉承從需求出發的原則逐漸疊代,從最初的以統計和基本的營銷模型如rfm為主,到現在在潛在使用者挖掘和使用者偏好上開始探索使用機器學習的挖掘方法。
特别是在點評這個平台上,目前已有包括美食、外賣、麗人、教育等近20個業務,如何在平台近一億的活躍使用者中挖掘垂直頻道的潛在使用者就成了精準化營銷的一個很現實的問題。
facebook和騰訊的廣告系統都提供類似的lookalike功能,幫助客戶找出和投放人群相似的使用者群,其廣告的點選率和轉化率都高于一般針對廣泛閱聽人的廣告我們大緻的思路也是根據使用者畫像和好友關系,通過挖掘和相似度模型通過種子使用者擴充閱聽人。
目前,在新美大,公司内部有一套基于spark的挖掘平台,我們也是基于這個平台開展挖掘工作。
<b>這個平台主要提供:1. 特征聚合和變換;2. 特征可視化;3. 模型上下線</b>
<b></b>
詳情可以檢視之前同僚發在美團點評技術部落格上的文章:http://tech.meituan.com/spark-in-meituan.html 這裡面我們主要用到了關聯規則,lr,基于社交網絡的标簽傳播和協同過濾的算法(mllib裡的als)
最後總結一下我們在資料建設中遇到的一些坑和經驗。
相信做過資料應用的同學都肯定受過資料不準确,不及時帶來對資料模型,營運活動效果評估不準确的問題
我們從一開始就有專門的團隊負責資料倉庫的建設,也建設了配套的主資料,資料品質監控工具。不同層的sla限制保證了資料的準确性和完整性
由于像新使用者接口和活動實時效果資料都是非常critical的服務和應用,可用性和可靠性要求很高
我們在基于redis和es的元件上開發了運維和監控體系。同時對query engine進行分布式化和降級備案
對于做資料挖掘和精準化服務,首先是要了解業務和營運規則,不要一味迷信模型同時要有完整的ab測試和灰階化方案,支援線上多套政策并行運作,并且有實時化的資料回報,可以幫助新模型和政策上線後的快速評估。
q: 請問hadoop和spark都可以做資料挖掘和機器學習,在技術選型上有什麼訣竅?謝謝
a: spark因為基于記憶體的疊代計算模式,而機器學習大部分模型也就是基于疊代的,是以原則上來說spark更快,而且spark的mllib 封裝的機器學習的算法和特征工程庫也很豐富,我個人推薦用spark
q: 能具體講講wormhole和blackhole的差別嗎?後端沒有資料總線嗎?
q: 請問期間有用過hortonworks或者sas工具麼
a: hortonworks具體的什麼元件?沒有用sas,但調研和分析資料的時候用r
<b>分享者簡介</b>
<b>樊聰 </b>美團大衆點評到店綜合事業群大資料負責人
目前負責美團大衆點評到店綜合事業群b端基礎資料倉庫、供應鍊和商家平台資料産品和服務,
以及c端推薦和個性化項目。主導點評ab測試平台、流量分析平台以及精準化營銷系統的開發和設計。加入點評前曾在百度參與流量資料倉庫和畫像服務的建設,
再早之前在微軟msra自然語言組和上海研發集團工作和實習。主要關注領域:資料挖掘和資料産品,olap模組化和工具點評ab測試平台、流量分析平台以及
精準化營銷系統的開發和設計。
<b>中生代技術微信号公衆号:freshmantechnology</b>