?
?
在??神策 2021 數(shù)據(jù)驅(qū)動大會??現(xiàn)場,神策營銷云架構師關海南發(fā)表了題為《營銷策略引擎(Express)的技術演進》的演講。本文根據(jù)其演講整理,核心內(nèi)容如下:
營銷中臺下的策略引擎
營銷策略引擎平臺化
新一代流程畫布
一、營銷中臺下的策略引擎
“中臺”這個詞在前兩年比較熱,這里我講營銷中臺,一方面是從客戶的架構視角出發(fā),讓營銷系統(tǒng)能夠發(fā)揮平臺的價值,比如統(tǒng)一營銷入口,提供標準 API 等;另一方面是從營銷系統(tǒng)內(nèi)部出發(fā),基于豐富、多變的營銷場景,企業(yè)對架構的解耦、業(yè)務架構和技術架構的拆分重視度提升等方面,所以我在這里再次強調(diào)了“中臺”。
營銷中臺的功能范圍覆蓋以下七方面:
1.運營計劃,這是目前使用較多的功能,是決定什么人在什么時間、什么場景中、以什么樣的方式獲取什么樣的信息的營銷手段,配置受眾、時間和內(nèi)容后就可以發(fā)送營銷消息。
2.用戶旅程管理,可以通過 DAG 圖配置更豐富的營銷策略。
3.通道觸達,支持短信、App Push、微信推送、Webhook 等一系列觸達方式。
4.微信運營,是一種在線營銷場景,支持自動回復、菜單會話等。
5.欄位推薦,包括規(guī)則推薦和算法推薦,以及對應的策略服務和推薦服務。
6.內(nèi)容管理是神策數(shù)據(jù)重點打造的功能,包括素材管理、內(nèi)容編輯器、分發(fā)打通等。
7.標簽與畫像管理,是營銷策略引擎計算使用最多的環(huán)節(jié),可做分群與用戶篩選等。
那么,數(shù)據(jù)中臺和營銷中臺有什么區(qū)別呢?
數(shù)據(jù)中臺側(cè)重于數(shù)據(jù)標準和復用,比如提供統(tǒng)一的元數(shù)據(jù)管理和數(shù)據(jù)服務;而營銷中臺則是讓冷冰冰的數(shù)據(jù)“有血有肉”地運轉(zhuǎn)起來,為企業(yè)提供豐富的營銷價值。
就營銷策略引擎來說,它的核心功能包括四點:
1.營銷自動化,營銷編排功能,包括簡單的營銷計劃和復雜的流程畫布。
2.作為營銷系統(tǒng)的中控,把其他營銷系統(tǒng)串聯(lián)起來:通過與推薦引擎對接,推送的時候用獲取到物品信息來組裝話術;通過與內(nèi)容管理對接,提供豐富的內(nèi)容素材;通過與受眾引擎對接,實現(xiàn)統(tǒng)一的受眾管理、查詢與復用;通過與在線場景對接,滿足部分交互需求;通過與標簽系統(tǒng)對接,滿足不同人群的計算與篩選。
3.支持豐富的營銷觸點場景,包括主動的和被動的,易擴展。
4.支持流批一體的計算引擎,比如配置過去兩天消費金額,包括昨天和今天的,配置完后,窗口實時向前推進。該功能會在第三部分做詳細介紹。
?
在神策數(shù)據(jù)內(nèi)部,營銷策略引擎的演化可以分為四個階段:
第一代:功能比較豐富,可以滿足營銷自動化的業(yè)務需求,也涵蓋第一代流程畫布的功能。
第二代:以營銷云 SaaS 化為建設主線,支持多租戶部署,支持與私有端聯(lián)動,同時開發(fā)新一版實時標簽引擎,滿足 SaaS 架構下的吞吐和時效的問題。
第三代:以平臺化建設為主線,對系統(tǒng)做深度架構優(yōu)化和業(yè)務拆分,通道插件化、受眾引擎、在線場景融合等。
第四代:以新一代畫布為主線,構建業(yè)界先進的自動化營銷引擎;支持用戶物品多主體,重點建設了流批一體的標簽計算引擎。
?
二、營銷策略引擎平臺化
在介紹營銷策略引擎平臺化之前,我們先通過幾個場景做初步了解。
場景一:某零售行業(yè)客戶 A 有企業(yè)微信導購相關需求,對于觸達通道引擎來講只需要增加一種通道類型——企業(yè)微信觸達。那么,在平臺化之前,需要開發(fā)企業(yè)微信配置界面,針對企業(yè)微信進行主流程升級,完成企業(yè)微信話術拼裝、發(fā)送環(huán)節(jié)的開發(fā)以及整體的聯(lián)調(diào)測試等,整個周期耗時較長。
場景二:某客戶 B 的營銷觸達場景比較豐富,經(jīng)常使用 Webhook、App Push、短信以及微信等通道類型。但 Webhook(調(diào)用客戶內(nèi)部接口)經(jīng)常出現(xiàn)超時現(xiàn)象,且其它場景的推送量級非常大。在該客戶的業(yè)務需求場景中,平臺化之前面臨著 SLA 無法保障,互相擁塞,以及流量突增時,需要提前擴容等問題。
場景三:某客戶 C 有較多在線場景的需求,SLA 要求高,同時新增了物品實時推薦的需求。在其平臺化之前面臨如下問題:在線場景沒有實現(xiàn)較好的性能隔離,SLA 不高;新的在線場景開發(fā)周期長;營銷自動化與物品推薦的結合不夠便捷;規(guī)則推薦和智能推薦的配置方式不統(tǒng)一。
隨著營銷云的客戶增多,各類的主動觸達場景和在線場景的需求也在增多,為了提升迭代效率與系統(tǒng)穩(wěn)定性,我們將引擎層與業(yè)務層做有效拆分,做系統(tǒng)性的架構解耦,不限于營銷策略引擎本身,也包括整個營銷系統(tǒng)內(nèi),營銷引擎相關性較大的環(huán)節(jié)。
平臺化之前,系統(tǒng)面臨的突出問題有以下四點:
?
通道與引擎有耦合:在平臺化之前,Action 動作支持插拔的能力,支持自定義 jar 包的方式,但像通道內(nèi)容的配置界面、話術拼裝與提取等較多方面還需要與引擎有耦合的開發(fā);且在發(fā)送端沒有較好的隔離。
受眾計算較分散:業(yè)務層面來說,營銷觸達、個性化推薦、規(guī)則推薦、在線場景等都有受眾業(yè)務上的共性需求;技術層面來看,也有統(tǒng)一查詢和管理的需求,比如在流式、離線、在線、實時增刪等場景。
在線營銷場景的服務待統(tǒng)一:在線請求層面有彈窗、微信自動回復、推薦等在線服務需要統(tǒng)一抽象;對在線場景需要統(tǒng)一的離線的資源位管理和策略管理。
規(guī)則和個性化物品推薦規(guī)則待統(tǒng)一:平臺化前,在推薦策略和推薦服務接口層面沒有統(tǒng)一,SaaS 和多租戶方面待完善。
今年年初,我們發(fā)起了一個平臺化的項目,接下來就觸達通道引擎、受眾計算引擎和在線場景融合做進一步講解。
1.觸達通道引擎
觸達通道引擎的目標包括:營銷策略引擎與通道業(yè)務完全解耦,分別獨立開發(fā);支持通道插件熱加載,也就是線上通道插件可以做多帶帶的更新、卸載、上線和權限的管理,對引擎不會帶來影響,同時,各通道插件有獨立的版本,多帶帶升級上線下線以及權限管理;支持不同通道間隔離,細顆粒度避免堵塞,吞吐能力可橫向擴展。
觸達通道引擎的開發(fā)原則要求,必須使用公司統(tǒng)一的插件平臺標準,并且能夠做到“前后端一體化”,這并非是指前后端代碼不分離,而是指引擎基礎庫包含前后端基礎庫,也就是這個插件既包含前端,也包含后端,最后會整體打一個包,做統(tǒng)一的版本管理。
觸達通道引擎在平臺化之前,貫穿主流程,迭代效率比較低。比如說 Express-Web,用來配置營銷內(nèi)容,對于新類型的觸點需要開發(fā)配置界面;Express-Director 是流程轉(zhuǎn)化控制器,對于新類型的觸點需要開發(fā)獲取配置的特定邏輯,Express-Nebula 是畫布驅(qū)動和事件計算引擎,設計之初就比較組件化,沒有業(yè)務關聯(lián)的改造;Express-Actor 需要為每類通道提取話術屬性,需要有多帶帶的開發(fā);Express-Sender 需要為每類通道做對應的發(fā)送,有對應的開發(fā)和調(diào)試。
平臺化之后,觸達通道引擎的邊界會更清晰,迭代效率也更高。所有的通道功能開發(fā),包括前后端代碼都統(tǒng)一到插件內(nèi),各模塊調(diào)用插件時,可以通過熱加載的插件實現(xiàn)本地調(diào)用,也可以通過統(tǒng)一的插件引擎接口來訪問插件的功能。對于通道的隔離,在平臺化前,只有少數(shù)隊列用于做通道發(fā)送,Sender 做話術拼裝經(jīng)常堵塞,并且發(fā)送的資源不能做到彈性的伸縮容。
除此之外,我們對各通道做了細粒度的隊列和發(fā)送的資源隔離,會深入到某一個租戶的某類通道的某個第三方運營商的賬戶級別,同時支持資源彈性擴縮容,發(fā)送有堵塞時自動開啟新的線程,也可以通過 yarn 或 k8s 申請新的資源,以滿足性能需求。
?
2.受眾計算引擎
將受眾的使用統(tǒng)一到受眾計算引擎內(nèi),并將服務抽象成受眾管理、受眾同步、受眾查詢?nèi)糠质巧癫邤?shù)據(jù)受眾計算引擎的核心。
平臺化之前,受眾計算比較分散,我們的運營計劃使用離線標簽計算與標簽查詢及同步;在線彈窗采用簡單的受眾計算;規(guī)則推薦可以直接進行數(shù)倉查詢。從業(yè)務上看,他們是營銷場景下的共性需求。
平臺化之后,我們將這些需求統(tǒng)一到受眾引擎,由受眾引擎做統(tǒng)一的受眾管理、調(diào)度分發(fā)、受眾同步和受眾查詢。
目前,神策數(shù)據(jù)受眾引擎支持靈活的目錄方式組裝受眾需求;對于規(guī)則相同的結構,可以軟鏈的形式復用;支持流式、離線、在線、實時增刪等服務類型;能夠做深度的計算性能優(yōu)化,并引入 bitmap、bloomfilter 等方式。
3.在線場景融合
在線場景融合是平臺化的一部分,但它不屬于營銷策略引擎。在平臺化之前,我們各類在線服務場景較獨立,有獨立的在線、離線管理界面,和營銷系統(tǒng)引擎對接的方式也不盡一致;在平臺化之后,統(tǒng)一了在線服務的接入方式,提供統(tǒng)一的多租戶流控、統(tǒng)一的 Cache 管理、統(tǒng)一鑒權、統(tǒng)一資源管理等。目前,SaaS 化在線服務已經(jīng)接入容器服務內(nèi),支持便捷的彈性擴縮容,提供統(tǒng)一的資源位管理、接入統(tǒng)一的受眾引擎,以及統(tǒng)一的物品推薦引擎。除此之外,物品推薦引擎也是平臺化的一部分,我們針對此做了規(guī)則和算法推薦的策略服務、推薦服務的接口上的統(tǒng)一。
在接下來的平臺化規(guī)劃中,我們將從穩(wěn)定與性能優(yōu)化、開放生態(tài)兩方面持續(xù)迭代,具體包括打造更精細的隔離策略、貼近業(yè)務的營銷系統(tǒng),以及營銷觸點的開放平臺、在線場景的開放平臺等。如下圖所示:
?
三、新一代流程畫布
在神策數(shù)據(jù)服務客戶的過程中,我們發(fā)現(xiàn),客戶營銷的業(yè)務復雜度在提升,客戶對營銷的靈活與易用性、以及客戶對營銷的性能與時效要求都在持續(xù)提升。因此,建立新一代流程畫布的工作亟需提上日程。
接下來我們詳細介紹一下神策數(shù)據(jù)新一代流程畫布的建設思路:
1.以用戶旅程視角來定義營銷策略,支持以可視化的方式將標簽(流批一體)、產(chǎn)品、事件、營銷動作、分流(條件分流、比例分流)、時間控制等組件進行編排,實現(xiàn)營銷策略的一體化配置。
2.支持結合 workflow(工作流)和 user journey(用戶旅程)的復合編排能力。
3.支持構建母子畫布,以畫布間跳轉(zhuǎn)的方式來滿足復雜的營銷場景。
4.個性化推薦策略深度融合,支持千人千面的營銷場景和營銷內(nèi)容組裝。
在下圖中,畫布組件之間的連線以及連線方向代表了用戶的旅程,即行為路徑,支持重入及批量例行調(diào)度。
?
首先,進入「標簽(客群)」,這是驅(qū)動整個用戶流轉(zhuǎn)的開端。接下來,可以通過分流器做標簽分流,也可以根據(jù)百分比或事件做分流。這個過程中,單節(jié)點的標簽可以是實時標簽、批量標簽,也可以是流批一體的標簽。同時,支持對事件的判斷,在每個線條上可以配置時間間隔或具體時間。所以整體來看,新一代流程畫布以用戶旅程為主線,支持周期例行調(diào)度,一個人在一個畫布中可以多次進入。
在實時標簽計算引擎的技術架構中,通常會將標簽規(guī)則發(fā)送給受眾引擎,受眾引擎將規(guī)則注冊到實時標簽計算引擎內(nèi),實時計算引擎對任務進行拆分和合并,同時響應離線計算、實時事件,通過 Flink 作業(yè)來實時算出對應標簽。同時,標簽的增減也會告知給畫布引擎,推動畫布引擎實時可用。
那么,實時標簽和實時事件的區(qū)別是什么呢?實時標簽和畫布的場景關系較弱,可以讓多個畫布使用,是屬于過去的事件;而實時事件和畫布的上下游關系密切,是未來的事件。
起初,神策數(shù)據(jù)在定義畫布時,遵循一個人在一個畫布示例中,在同一時間只能有一個狀態(tài)的規(guī)則,但是隨著客戶需求的增多,該原則難以滿足客戶的需求,我們需要增強畫布重入,以及類似工作流的調(diào)度策略,批量的例行等待時間等,滿足更多場景需求。
另外,有必要強調(diào)一下母子畫布,這是神策數(shù)據(jù)新一代畫布中比較重要的功能。以電商促銷為例,母畫布可以是雙十一主會場,流程復雜,有主線的營銷策略;子畫布則是分會場,有各自的營銷策略,同時也可以有自己的子畫布。通過母子畫布的方式,能夠更好地實現(xiàn)靈活聯(lián)動與覆蓋。
最后,總結一下,神策數(shù)據(jù)新一代營銷策略引擎,以平臺化為技術背景,新一代畫布為主線,支持流批一體的標簽計算,構建業(yè)界先進的自動化營銷引擎,期待在客戶側(cè)發(fā)揮更大價值。
?