摘要:目前營銷底層規則策略主要還是單個以及組合策略,還是比較簡單的可以滿足現在的需求。總結以及后續規劃營銷底層其實很大程度上提高研發效率,以及系統穩定性。除了上面提到的一些點以外,營銷底層其實還做了很多,比如動態日志級別輸出等。
前言
營銷是餐飲行業非常重要的一環,如何通過各種營銷幫助商戶實現老客回流,潛在客戶的推廣引流,以及店內客流的數字化轉變和數據沉淀等,是餐飲行業公司的核心競爭力。隨著二維火會員營銷業務的快速發展,營銷活動業務需求越來越多,每次對接營銷活動需求,對于開發人員來說,重新開發一套,都是一個費時費力,成本巨大的工作,上線的活動伴隨著也越來越難維護,一個小改動也會導致系統不穩定。如何快速,靈活的去對接活動需求以及容易維護是當前面臨的一個挑戰。
為了應對這個挑戰,會員營銷底層研發團隊啟動了營銷底層改造項目,主要圍繞以下幾個方面進行展開:
框架流程統一: 活動流程統一,提升效率, 避免重復代碼,便于維護等等。
規則解析引擎: 優惠活動規則的配置,解析和匹配功能,將業務規則決策邏輯從系統邏輯中抽離出來。
優惠組件化以及優惠自動化: 封裝可重用優惠組件,提升代碼的可復用性。業務不關心優惠發放,優惠自動化發放。
工具化: 業務流程代碼界面可視化,查找問題更高效,很大程度讓開發人員從線上問題群解放出來。
解決方案在明確改造點之后,我們就開始了營銷底層系統的設計,具體的系統架構圖如下所示。下面我們開始逐層的介紹。
框架流程統一在框架流程統一之前,每個活動多帶帶一套代碼,因為歷史原因,是由不同開發人員去開發。導致代碼風格不一,代碼鏈路也很長,后期維護人員比較難維護,一個小改動可能也會造成鏈路不穩定,引出其他問題。
因此,我們根據不同活動流程,梳理核心主鏈路,統一流程,不同活動統一流程接入。以下是部分時序圖。
這里簡單說下典型的兩條主鏈路:
發布活動場景下:
所有營銷活動都會涉及到商家發布保存這塊,一般都是活動先添加保存,然后發布,整體代碼流程是統一的。這里要提到的是發布這里因為不同營銷活動涉及的邏輯還是有稍微區別的,所以這里提供了鉤子HOOK,主流程嵌入前中后鉤子,以便不同營銷活動業務去擴展主流程,滿足自己的業務個性化需求。這里主要還是通過活動類型路由反射去尋找不同鉤子,jdk反射本身效率是很低的,目前引入了reflectasm,同時反射對象緩存了下,以便提高效率。(不過本地緩存這塊有對象個數上限,后期可以考慮引入淘汰算法主動淘汰)
活動發布過程當中,同時也伴隨著一些事件的觸發,比如店鋪打標等。目前主要提供了基于spring事件驅動同步或異步的鉤子去滿足相應需求,同時給業務方提供了相應的mq消息通知,讓業務方訂制業務處理。
發放優惠場景下:
發放優惠,首先會經過規則解析引擎這塊,匹配相應的規則,進行判斷,比如是否滿足100塊,是否是新人等,然后觸發執行相應的統一發送底層接口。底層觸發組件管道鏈路,不同組件會有不同的二進制位置標識,數據路由可以控制到不同優惠組件,優惠組件然后各自執行業務邏輯。接著也預留了個消息口子,讓業務方定制化處理,比如消息觸發等。
規則解析引擎之前規則條件判斷這塊比較分散,規則條件判斷與其他系統代碼耦合在一起,改動起來也比較容易出問題。另一方面,每一個營銷活動的接入都涉及到規則的開發,規則唯一不變的就是"多變"。出于規則統一的角度,以及后續平臺規則可以讓業務運營方定制化配置角度的考慮,引入了規則解析引擎。
規則引擎這塊還是比較復雜的,不過目前我們規則這塊還是比較簡單的,主要還是涉及到Condition條件與Action動作。舉個例子,比如判斷是否新人,送禮品。
規則的判斷通過condition注解標記方法去控制,規則通過的話,觸發相應Action標記的方法行為。
上面只是個簡單的舉個例子。實際上規則判斷這塊,沒這么簡單。一般規則涉及到多個規則組合觸發行為,以及多個規則有一個規則通過(可能涉及優先級@Priority),就觸發行為,后續規則直接中斷等。目前營銷底層規則策略主要還是單個以及組合策略,還是比較簡單的, 可以滿足現在的需求。后面隨著業務越來越復雜,以及營銷活動平臺開放出去的發展,運營配置化等,我們會去考慮規則動態化配置,規則策略的完善,規則表達式解析等等。
優惠組件化,主要還是出于模塊重用性以及代碼復用性考慮,優惠之間如何執行互不影響,各自維護自己的業務以及保持自己的穩定性。目前我們優惠組件主要還是包含下面這幾個:
這里提到的自動化主要還是指,基于規則觸發優惠自動化發送這塊。上面已經提到過,營銷活動業務自己定義一些規則,判斷用戶是否發送優惠,主要先經過規則解析引擎,滿足后觸發底層優惠發送接口。后續給用戶發送什么優惠,以及發送多少,失敗重試以及補償,底層自動化處理,業務方不用關心,只需要簡單觸發一下。當然我們也開放出去了接口,支持業務方去自定義發送什么,流水記錄是否記錄等。
工具化目前我們營銷業務這塊正在快速發展中,隨之伴隨著線上大量業務的問題咨詢以及答疑。開發往往在這方面花費不少時間與精力去排查。工具化就是基于此誕生的,簡單說就是用產品的思維開發出這套工具,讓工程團隊等去查詢問題,知道問題出在哪一步,極大解放出來了研發。
上面說到我們目前框架流程統一,這樣其實讓工具化更好統一了。那究竟工具化是怎樣的呢?
比如,優惠發放整個流程節點如下圖:
工程團隊在使用工具化后臺的話,要查看某個用戶的權益發放情況。輸入店鋪編碼與手機號,出現活動列表,選擇商家相應的活動,進入到類似上面的節點圖。工程團隊可以查看每一步的執行情況,比如step3,觸發領卡動作,可能這一步會失敗,那結點上會顯示為什么失敗,具體原因可能是會員卡刪除了還是其他的什么。簡單說就是整個業務流程可視化了,可以看每一個結點的執行情況,當然業務方可以自行定義結點,在流程展示出來。不僅僅對于工程團隊,對于研發來說,其實也很大減輕了排查問題的效率。
從技術層面考慮,工具化實現,除了本身框架流程自行會記錄下來關鍵數據,我們在數據底層提供了相應的服務接口暴露開放出來,可以讓業務自行自定義結點,埋點記錄下來業務執行數據。目前業務結點關鍵數據是存儲在TIDB,主要還是因為TIDB既能像MySQL一樣便于使用,能讓業務幾乎不用做任何修改,又能滿足分布式的存儲需求,同時還能保證查詢性能。這里提到一點,隨著業務的接入,這個接口后期可能QPS還是很高的,我們目前還是通過mq去削峰,以及并發控制。
總結以及后續規劃營銷底層其實很大程度上提高研發效率,以及系統穩定性。除了上面提到的一些點以外,營銷底層其實還做了很多,比如動態日志級別輸出等。后續隨著業務的遷入,營銷底層后面主要還是更多的考慮怎么去完善底層鏈路,規則策略,動態配置化,以及平臺化開放等。
招聘最后插播一個招聘廣告,會員營銷部門是一個崇尚自由、開放、互通的部門,對營銷產品開發感興趣的可以發郵件給 lurou@2dfire.com
如果你覺得我分享的東西有所幫助,不妨關注下。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69412.html
摘要:目前營銷底層規則策略主要還是單個以及組合策略,還是比較簡單的可以滿足現在的需求。總結以及后續規劃營銷底層其實很大程度上提高研發效率,以及系統穩定性。除了上面提到的一些點以外,營銷底層其實還做了很多,比如動態日志級別輸出等。 前言 營銷是餐飲行業非常重要的一環,如何通過各種營銷幫助商戶實現老客回流,潛在客戶的推廣引流,以及店內客流的數字化轉變和數據沉淀等,是餐飲行業公司的核心競爭力。隨著...
摘要:財富管理專場上,螞蟻金服微貸事業群高級前端技術專家王卓做了主題為螞蟻微貸互動營銷技術體系實踐的精彩分享。通過互動技術,最終實現拉新,留存和促活等目標。營銷技術方案對接研發平臺,通過鳳蝶系統和研發管理體系進行打通。 摘要:以數字金融新原力(The New Force of Digital Finance)為主題,螞蟻金服ATEC城市峰會于2019年1月4日上海如期舉辦。財富管理專場上,螞...
摘要:自年以來,中國廠商融資消息鮮有傳說,而且在銷售易紅圈營銷和紛享銷客多輪大額融資的光環下,其實是大批停留在早期融資階段的廠商。細思恐極,從廠商到用戶再到第三方,對中國的認知和理解差異巨大又不失大膽的無知。對于的死與生之論,窺,略見一斑。每個人都會看到詩和遠方,但卻偏偏更喜歡眼前的茍且;每個人都能抬頭看見月亮,但卻總是趴在地上撿金幣;每個人都說自己看中的是機會(Chance),但卻總是關注如何把...
摘要:解析進到首頁其實關鍵字在本地就隨機取完了,在首頁中的方法中就通過緩存了要畫的元素,比如關鍵字這里是圖片關鍵字解析語也是圖片畢竟微信小程序的不支持字體等等。 一、Canvas應用的背景(個人理解)及基礎語法 背景 從2012年開始,微信那個時候用戶的積累的量已經非常大了,推出公眾號,當然大屏智能手機在那個時候也流行,傳統的大眾媒體逐步消亡,像微信公眾號這樣的新媒體盛行。企業的廣告投入開始...
摘要:零售商家通過微信支付小程序實現線上線下消費一體化,通過線上支付線下單品完成商品數據的打通。因此小程序搭載智慧零售,能助力商家實現消費場景數字化以及購買行為具象化,從新的維度提高用戶服務水平。 隨著移動互聯網、大數據、AI等技術日益成熟,實體行業領域的轉型成為業績提升的關鍵。對于零售行業從業者,這意味著思維方式的自我進化,對于消費者,則意味著與產品產生新的連接,享受更加個性化、更具人情味...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3131·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00