神策營銷數(shù)據(jù)中臺(tái)建設(shè)思路
一、公司介紹
神策數(shù)據(jù)是國內(nèi)一家專業(yè)做大數(shù)據(jù)分析和營銷科技的數(shù)據(jù)服務(wù)商。公司成立七年,現(xiàn)有規(guī)模 1200 人,七年累計(jì)服務(wù)2000 多家的客戶,積累了許多行業(yè)經(jīng)驗(yàn),并與信通院聯(lián)合發(fā)布了消費(fèi)者行為分析標(biāo)準(zhǔn)。
二、營銷場景的數(shù)據(jù)中臺(tái)建設(shè)思路
在介紹營銷數(shù)據(jù)中臺(tái)的建設(shè)之前,先來討論一下營銷業(yè)務(wù)對(duì)數(shù)據(jù)的需求。我們期望幫助企業(yè)構(gòu)建一個(gè)基于數(shù)據(jù)驅(qū)動(dòng)的用戶旅程。
比如一個(gè)企業(yè)的用戶,可以通過線上或者線下途徑來了解這個(gè)企業(yè)及其品牌。其中線上包括APP、網(wǎng)站、小程序、公眾號(hào)等。用戶也可能會(huì)去到線下的門店,購買商品、體驗(yàn),或是成為公司的會(huì)員。對(duì)于企業(yè)來說,線上的行為數(shù)據(jù),線下的交易數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù),共同構(gòu)成了企業(yè)對(duì)用戶認(rèn)知的基礎(chǔ)。
企業(yè)通過數(shù)據(jù)集成、ID關(guān)聯(lián),再加上數(shù)據(jù)分洗、標(biāo)簽加工等等方式,將數(shù)據(jù)打通,從而構(gòu)建起用戶檔案,在用戶檔案的基礎(chǔ)上使用例如RFM、 AIPL 等模型,即可推斷出一些用戶的潛在價(jià)值,或者在用戶生命周期內(nèi)的定位。
當(dāng)我們希望去提升用戶留存或用戶復(fù)購的時(shí)候,在達(dá)成業(yè)務(wù)目標(biāo)的通路中就可以基于數(shù)據(jù)制定一些營銷策略,比如給用戶發(fā)送一些定制化或者個(gè)性化的權(quán)益,通過短信、微信或電話等方式將權(quán)益通知給客戶。無論采樣何種方式,我們最終希望的是將所有的數(shù)據(jù)都打通,讓用戶得到更好的體驗(yàn),并且最終沉淀成企業(yè)的數(shù)據(jù)資產(chǎn)。為企業(yè)長期的數(shù)字化經(jīng)營提供科學(xué)依據(jù),打造數(shù)據(jù)基礎(chǔ)。
上圖也體現(xiàn)了神策一直強(qiáng)調(diào)的 SDAF 數(shù)據(jù)營銷閉環(huán)的理念(Sense 感知,Decision 決策,Action 行動(dòng),F(xiàn)eedback 反饋)。這個(gè)過程里,數(shù)據(jù)是貫穿始終的。
企業(yè)想要構(gòu)建一個(gè)高效的數(shù)據(jù)驅(qū)動(dòng)的用戶旅程,一定是要建立在數(shù)據(jù)基礎(chǔ)之上。很多企業(yè)中都已經(jīng)有一些數(shù)據(jù)分析系統(tǒng),或者是數(shù)據(jù)營銷系統(tǒng),我們期望數(shù)據(jù)中臺(tái)能夠起到承上啟下的作用,避免煙囪式的系統(tǒng)建設(shè),將數(shù)據(jù)在系統(tǒng)之間進(jìn)行打通并可以聯(lián)動(dòng)。
神策的營銷數(shù)據(jù)中臺(tái)也是基于此目標(biāo),通過將數(shù)據(jù)集成、數(shù)據(jù)建模、數(shù)據(jù)加工和數(shù)據(jù)應(yīng)用這四大關(guān)鍵環(huán)節(jié)能力的提升,來為企業(yè)打造個(gè)性化用戶旅程和更多營銷場景提供更好的數(shù)據(jù)支持。這也是我們認(rèn)為營銷數(shù)據(jù)中臺(tái)應(yīng)該解決的四個(gè)主要問題。
首先是數(shù)據(jù)集成,要接入完整的行為數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)。由于交互方式多種多樣,所以需要具備靈活配置任務(wù)、可視化管理任務(wù)的能力,并提供完整的任務(wù)監(jiān)控。
第二個(gè)是數(shù)據(jù)建模,要對(duì)數(shù)據(jù)進(jìn)行有效的整理,企業(yè)每天的數(shù)據(jù)紛繁又龐雜,業(yè)務(wù)又靈活多變,最終數(shù)據(jù)的目標(biāo)是讓業(yè)務(wù)人員能夠看懂?dāng)?shù)據(jù),并且能夠使用數(shù)據(jù),這就是數(shù)據(jù)建模要集中解決的問題。
第三是數(shù)據(jù)加工,顧名思義,就是對(duì)數(shù)據(jù)做一些處理,這里主要指的是業(yè)務(wù)上的處理,比如一些客戶的標(biāo)簽、業(yè)務(wù)指標(biāo),以及相關(guān)的一些數(shù)據(jù)分群等。
最后是數(shù)據(jù)應(yīng)用部分,主要是將數(shù)據(jù)中臺(tái)所持有的數(shù)據(jù)提供給分析系統(tǒng)、報(bào)表系統(tǒng)、營銷系統(tǒng)等,并且承擔(dān)多種系統(tǒng)之間的串聯(lián),以及數(shù)據(jù)的互聯(lián)互通等職責(zé)。
接下來分別展開介紹這四部分。
1、介紹數(shù)據(jù)集成
與所有數(shù)據(jù)中臺(tái)相同,我們首先要做的就是將數(shù)據(jù)接入。
通常最主要的數(shù)據(jù)源有四類。第一類最典型的是線上或者線下產(chǎn)生的用戶行為數(shù)據(jù),來自于 APP 或小程序等;第二類是業(yè)務(wù)數(shù)據(jù),來自各類的業(yè)務(wù)系統(tǒng),比如訂單系統(tǒng)、會(huì)員系統(tǒng)或是商品管理系統(tǒng)等;第三類是一些第三方數(shù)據(jù),比如來自于廣告平臺(tái)的廣告投放數(shù)據(jù);最后一類是企業(yè)自建的數(shù)據(jù)倉庫或數(shù)據(jù)湖,其中沉淀了眾多業(yè)務(wù)集市數(shù)據(jù)。
面對(duì)多種數(shù)據(jù)來源,神策的產(chǎn)品中做了一個(gè)數(shù)據(jù)統(tǒng)一的可視化的數(shù)據(jù)接收框架。針對(duì)用戶行為數(shù)據(jù),是神策相對(duì)來說最擅長的,有神策的 SDK 可以支持此部分的數(shù)據(jù)接入,其他數(shù)據(jù)的接入也提供了對(duì)應(yīng)的批量或者是實(shí)時(shí)的導(dǎo)入工具。
在整個(gè)數(shù)據(jù)接收框架中,最新的產(chǎn)品中最重要的改進(jìn)有兩部分,一是數(shù)據(jù)對(duì)接的任務(wù)開發(fā)的成本優(yōu)化,讓各種數(shù)據(jù)源的數(shù)據(jù)能夠輕松地接入到數(shù)據(jù)中臺(tái)中。最簡單的方式是數(shù)據(jù)工程師在界面上寫SQL即可將數(shù)據(jù)接入,做一些簡單的清洗和格式轉(zhuǎn)換。稍復(fù)雜一些的是通過SeaTunnel這個(gè)框架做一些定制任務(wù)的開發(fā),可以做一些較復(fù)雜的數(shù)據(jù)格式轉(zhuǎn)換。在未來我們希望能做到對(duì)接一些行業(yè)標(biāo)準(zhǔn)的 CRM系統(tǒng)或ERP系統(tǒng),通過一些套件做到一鍵接入。
在數(shù)據(jù)對(duì)接任務(wù)開發(fā)之后,后續(xù)是一些可視化的管理功能,比如任務(wù)的啟停、故障和運(yùn)行日志等等,主要是為了問題定位。其中比較關(guān)鍵的是數(shù)據(jù)血緣,意義在于當(dāng)出現(xiàn)故障時(shí)可以及時(shí)通知下游或是做數(shù)據(jù)回溯,可以有效地降低系統(tǒng)故障對(duì)業(yè)務(wù)造成的影響。
2、數(shù)據(jù)建模
企業(yè)運(yùn)營過程中,業(yè)務(wù)方可能會(huì)提一些營銷活動(dòng)的需求,要基于一些規(guī)則圈選出一些客群,通過對(duì)客群的分析,對(duì)人群做一些層次的劃分,比如高頻高價(jià)值、低頻低價(jià)值等。再對(duì)這些不同層次的客戶做一些個(gè)性化的營銷策略來完成整個(gè)活動(dòng)。后續(xù)還要對(duì)營銷活動(dòng)的效果做一些回溯,做一些復(fù)盤數(shù)據(jù)分析進(jìn)行展示的。
數(shù)據(jù)部門在接收到這樣的需求后,首先可能要從幾百上千張表中找到對(duì)應(yīng)字段,還可能需要在多張表中對(duì)其指標(biāo)口徑,接著做開發(fā)、測試、調(diào)試、上線,再經(jīng)過幾輪迭代,整個(gè)過程可能要數(shù)日甚至數(shù)月,就可能錯(cuò)過了營銷的最佳時(shí)機(jī)。
為了提升整體的實(shí)效性,我們認(rèn)為中臺(tái)最終的目標(biāo)不是把數(shù)據(jù)接進(jìn)來就行了,而是要讓業(yè)務(wù)部門能夠高效、便捷地使用數(shù)據(jù),實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。
神策提出的 EUI 模型(Event-User-Item)在用戶行為分析領(lǐng)域發(fā)揮了非常大的價(jià)值,也幫助了非常多的客戶。但隨著營銷業(yè)務(wù)落地場景越來越豐富,此模型也遇到了不少挑戰(zhàn),所以在最新的產(chǎn)品中對(duì)模型做了更多的擴(kuò)展。在營銷場景中,使用到的肯定不止是 C 端用戶維度的一些數(shù)據(jù)。有的企業(yè)比如 B2C 企業(yè)既關(guān)注 B 端企業(yè),也關(guān)注 C 端用戶;零售企業(yè)關(guān)注消費(fèi)者、員工、商品、供應(yīng)商、門店等。這些不同實(shí)體的數(shù)據(jù)在整個(gè)營銷場景中都會(huì)被不同程度的交叉使用。
因此,我們的最新產(chǎn)品中提供了多實(shí)體模型,除了用戶以外,我們還可以將門店、員工、導(dǎo)購商品等所有產(chǎn)生數(shù)據(jù)的主體定義為實(shí)體,每個(gè)實(shí)體都可以有自己的屬性標(biāo)簽和事件,形成自己的數(shù)據(jù)體系。在整個(gè)產(chǎn)品體系中,每個(gè)實(shí)體的業(yè)務(wù)能力應(yīng)該是等價(jià)的。例如,用戶和門店都可以有標(biāo)簽,通過員工事件還可以分析員工的服務(wù)質(zhì)量。
在某些復(fù)雜的營銷場景中,例如零售企業(yè),在總部下發(fā)營銷指令后,門店通過渠道觸達(dá)自己維護(hù)的用戶,并根據(jù)用戶的過往習(xí)慣推薦最新上架的商品。在這樣的場景中,涉及到員工、消費(fèi)者、門店、商品等多個(gè)實(shí)體,以及它們之間的關(guān)聯(lián)關(guān)系。對(duì)于業(yè)務(wù)來說,這些實(shí)體之間的關(guān)系比較好理解,但是對(duì)于傳統(tǒng)的大數(shù)據(jù)系統(tǒng)架構(gòu)來說,處理這些關(guān)聯(lián)關(guān)系是比較困難的。因此,我們認(rèn)為多實(shí)體是一種業(yè)務(wù)比較容易理解的數(shù)據(jù)組織方式,適用于NO SQL架構(gòu),更好地解決了大數(shù)據(jù)系統(tǒng)架構(gòu)的問題。
另一方面,我們面臨著業(yè)務(wù)數(shù)據(jù)和行為數(shù)據(jù)的打通和融合的挑戰(zhàn)。例如訂單數(shù)據(jù),它通常具有訂單ID和狀態(tài),如下單、待支付、未發(fā)貨、已完成、已發(fā)貨等。如果用用戶行為事件來表達(dá)這些狀態(tài),那么一條數(shù)據(jù)會(huì)被拆成多條,存在大量數(shù)據(jù)冗余。此外,業(yè)務(wù)人員也難以理解其含義。因此,在我們最新的系統(tǒng)中,引入了明細(xì)數(shù)據(jù)類型。例如在金融場景中,有理財(cái)持倉明細(xì)等數(shù)據(jù)。每條記錄包括用戶ID、理財(cái)編號(hào)、當(dāng)前凈值、盈虧情況等。明細(xì)數(shù)據(jù)和行為數(shù)據(jù)最大的區(qū)別在于明細(xì)數(shù)據(jù)有狀態(tài),而事件數(shù)據(jù)是歷史快照,不可變更。結(jié)合起來,我們才能更好地支撐營銷數(shù)據(jù)體系。例如,在持倉明細(xì)中,我們可以判斷用戶是否有理財(cái)產(chǎn)品即將過期,并推薦類似理財(cái)產(chǎn)品,從而提升續(xù)存率。
3、數(shù)據(jù)加工與應(yīng)用
在數(shù)據(jù)建模完成后,我們提供了從總體到細(xì)節(jié)的數(shù)據(jù)查看能力。系統(tǒng)提供了數(shù)據(jù)資產(chǎn)視圖,可以總覽數(shù)據(jù)總量、標(biāo)簽數(shù)量、分群數(shù)量、ID數(shù)量等信息,還可以進(jìn)行不同程度的下鉆,例如進(jìn)入到某一分層用戶列表或單個(gè)用戶的360度畫像。
標(biāo)簽和分群是營銷場景中非常重要的處理方式。在這些方面,相對(duì)于以往的產(chǎn)品,我們做了很多增強(qiáng)。
首先是標(biāo)簽方面,神策的產(chǎn)品一直以來都是以行為數(shù)據(jù)為主進(jìn)行建設(shè)的,包括用戶行為和行為標(biāo)簽的建設(shè),同時(shí)也會(huì)進(jìn)行事件的聚合統(tǒng)計(jì)等等,如用戶行為偏好等方面的標(biāo)簽。在引入了業(yè)務(wù)明細(xì)數(shù)據(jù)后,我們對(duì)標(biāo)簽規(guī)則進(jìn)行了很多改進(jìn),可以將業(yè)務(wù)數(shù)據(jù)融入整個(gè)標(biāo)簽計(jì)算規(guī)則中,并提供函數(shù)表達(dá)式等方式,除了進(jìn)行聚合計(jì)算外,還可以進(jìn)行加減乘除函數(shù)等計(jì)算。除了行為標(biāo)簽外,還可以做一些業(yè)務(wù)標(biāo)簽。并且為了支持更復(fù)雜的場景,在規(guī)則方面,我們還支持插件化能力,例如企業(yè)已經(jīng)有了內(nèi)建的算法平臺(tái),可能會(huì)產(chǎn)生一些算法標(biāo)簽,我們也可以支持這些標(biāo)簽的管理工作。因此,在我們的產(chǎn)品中也支持插件化,將定制規(guī)則的標(biāo)簽納入進(jìn)來進(jìn)行管理,并進(jìn)行可視化配置。對(duì)于一些行業(yè)屬性特別明顯的企業(yè),如銀行、證券或汽車,我們也可以將一些具有行業(yè)特征的標(biāo)簽制作成內(nèi)置的插件,提升業(yè)務(wù)人員使用的便捷度。
在分群方面,一般有兩大類場景,一類是公司級(jí)的客群的大的分層,如新用戶、潛在客戶、活躍用戶、忠誠客戶等等;另一類則是對(duì)于一些臨時(shí)性或者單次營銷活動(dòng),進(jìn)行的單次的臨時(shí)分群。
我們?yōu)椴煌瑯I(yè)務(wù)場景、不同角色提供了不同的數(shù)據(jù)加工能力。比如業(yè)務(wù)人員可以通過文件導(dǎo)入,從外部系統(tǒng)導(dǎo)入,來創(chuàng)建客群。另一種形式是通過我們數(shù)據(jù)中臺(tái)部門維護(hù)好的標(biāo)簽,包括業(yè)務(wù)標(biāo)簽或行為標(biāo)簽,將標(biāo)簽組合起來做人群的圈選。比如廣東地區(qū),30 歲到 40 歲的男性會(huì)員作為一個(gè)客群。這兩種是業(yè)務(wù)人員非常方便使用的,比如一線的業(yè)務(wù)人員可能維護(hù)200 到 2000 個(gè)客戶,可以對(duì)這些人做一些臨時(shí)性或是周期性的營銷策略。
復(fù)雜度稍高一些的是界面規(guī)則,是一種規(guī)則模板,業(yè)務(wù)人員通過學(xué)習(xí)也可以掌握,適應(yīng)更多的場景。
更為復(fù)雜的是神策最新定義EQL查詢語言,即Entity Query Language。EQL與SQL具有相同能力,但是EQL對(duì)于業(yè)務(wù)人員來說更好理解、更容易掌握,它是一種更貼近自然語言的表達(dá)方式。
以上多種處理方式,可以滿足從最簡單、最日常的場景,到最復(fù)雜、最靈活的場景的各種需求。
最后來講一下平臺(tái)能力。作為平臺(tái)來說,開放能力是很重要。所謂數(shù)據(jù)中臺(tái),是一個(gè)數(shù)據(jù)底座,需要支持各種業(yè)務(wù)系統(tǒng),因此我們提供了各種Open API,可以進(jìn)行很多的能力擴(kuò)展。一方面,在系統(tǒng)中可以做更好的數(shù)據(jù)輸出,另一方面也可以進(jìn)行二次開發(fā)和定制開發(fā)。數(shù)據(jù)輸出方面,我們支持了流式輸出、訂閱,也支持高并發(fā)的查詢能力,從而能夠更好地支持各種在線營銷場景。
三、Q&A
Q1:營銷平臺(tái)是如何接入業(yè)務(wù)明細(xì)數(shù)據(jù)的?神策能夠通過 API 直接查詢業(yè)務(wù)數(shù)據(jù)庫嗎?這塊從技術(shù)上是如何抽象和實(shí)現(xiàn)的?
A1:業(yè)務(wù)數(shù)據(jù)庫通常是比如MySQL、Oracle 或者 PG等數(shù)據(jù)庫,由于要支持業(yè)務(wù)應(yīng)用因此負(fù)載也不會(huì)低,如果把大數(shù)據(jù)直接加上去是不太現(xiàn)實(shí)的。所以接入業(yè)務(wù)數(shù)據(jù)庫的一般的方式是通過一些CDC,比如binlog 訂閱的方式,將數(shù)據(jù)源表直接導(dǎo)入,通過replica 的方式接入,接入后對(duì)數(shù)據(jù)做一些簡單的變形、做一些簡單的清洗或者格式變換,比如加一些數(shù)據(jù)字典,做一些數(shù)據(jù)類型的變換,就可以放到大數(shù)據(jù)系統(tǒng)中來。
Q2:NO SQL 的存儲(chǔ)如何支持多級(jí)索引的查詢?比如查詢門店下的導(dǎo)購的信息,可以支持直接關(guān)聯(lián)查詢嗎?還是業(yè)務(wù)方使用自己的查詢?
A2:是通過數(shù)據(jù)建模來做的,此部分無法做到像數(shù)據(jù)庫那樣的強(qiáng)關(guān)聯(lián),但是我們?cè)谶@個(gè)數(shù)據(jù)模型里面還是做了不少的事情,本質(zhì)上來說是一些 join 的計(jì)算。舉個(gè)例子,比如前面提到的理財(cái)持倉數(shù)據(jù)跟客戶的數(shù)據(jù)是通過客戶 ID 進(jìn)行關(guān)聯(lián)的。具體的計(jì)算框架,在系統(tǒng)中也做了許多優(yōu)化將時(shí)效性和計(jì)算性能提升到最高。