數據中臺實戰:以圓猿買手為案例談如何從0到1搭建實時標簽引擎

0 評論 6458 瀏覽 21 收藏 14 分鐘

導語:在上一篇數據中臺的實戰文章《數據中臺:從0到1打造一個離線推薦系統》中,作者為我們講了如何打造一個支撐N條產品線的標簽平臺,這篇文章,作者分享了如何從0到1打造一套可以實時計算的標簽引擎。

最近公司開了個新的產品線叫:圓猿買手,大家都知道我公司搭了一個B2B的女裝批發平臺,主要服務的是全國做服裝批發生意的采購商、供應商。圓猿買手這個產品是從B2B平臺獨立出來專門服務二批采購商的產品。

什么是二批采購商?簡單來說就是大客戶,他們一般在二級的服裝批發市場如鄭州銀基等有自己的檔口,主要去一級的批發市場(一級的批發市場如廣州十三行、杭州四季清等)拿貨,拿完貨后銷售給自己的所在城市的終端門店或者三批采購商。

作為二批采購商,他們每次拿貨(采購)的量都是非常大的,因為是我們的大客戶,所以我司配備專門的買手給二批采購商提供一對一的推款、找款、發貨的服務。

買手是活躍在批發市場的一類角色,他們的核心競爭力就是對市場的檔口、檔口的新款、爆款比較熟悉,而且他們是常駐在批發市場的,這樣二批采購商拿貨就不用每次都長途跑到一批市場,只用和我們的買手溝通,就能拿到市場的新款、爆款。

為什么圓猿買手這個業務能夠存在?

我覺得有2點原因:

1)由于買手的存在,大大降低了采購商的交易成本

交易成本就是買賣雙方所付出的時間和金錢成本,交易類產品是否能夠存在,都可以用這個交易成本這個理論來衡量,交易成本理論是諾貝爾獎獲得者科斯老爺子很多年前提出來的。

二批采購商一般都在二三線城市的批發市場,每次跑到如廣州十三行這種一級批發市場,來回都要很多的時間,路費也是一筆不少的錢,有了買手的存在大大節省了他們的時間和錢。

2)買手的存在讓人貨匹配更加精準

這里的人是指二批采購商,貨是指一級批發市場的商品。電商產品的創新很重要的一點就是提高人貨匹配的效率,我提供的商品剛好是你需要的,這樣買賣雙方付出的時間成本最低。

一個經驗豐富的服裝買手對市場中的檔口和檔口的新款、爆款都是非常熟悉的,而且由于買手長期和采購商溝通,這樣他會非常清楚當前服務的這個采購商的偏好,這種情況下買手推的商品會更能命中二批采購商的口味。

由于買手的存在,交易模式從二批采購商到市場去找商品,到買手精準的推給采購商大致符合他口味的商品,采購商從買手推的商品中挑一個商品就好了,這種模式好像搭建了一個人肉的推薦系統。

一、產品方案

這篇文章我們講的主題是實時標簽,什么是實時標簽?

比如一個用戶新注冊、首單、復購、復購金額達到1000/3000/5000…..立即給用戶發不同的優惠券,從而刺激用戶首單及再次復購。有的同學會說,這還不簡單,用戶每次下單時計算當前用戶的指標,然后再觸發發券不就行了嘛。

當然如果你的產品運營策略只有如新注冊、首單后給用戶發券這兩種簡單的策略而且不會發生變動,這種簡單的策略我們通過前端應用計算當前用戶的標簽,然后調用優惠券的接口給用戶發券就行了。

但當你面對幾十種不同的策略,未來可能是幾百種發券測試時,而且這個策略可能會隨時調整,難道你的業務邏輯還要寫在應用端嗎?

當時我們的策略有這么N多種:新注冊、首單、復購、復購金額滿XX元、當月支付金額滿XX元、沉默召回(距離上一次支付時間超過XX天的用戶)、以老帶新(成功推薦一個新用戶注冊,并且新用戶完成了首單支付)…

每新增一個策略你就需要改代碼,重新測試、發布,這樣是非常痛苦的。

當時我們團隊看到運營拿過來的幾十種發券策略,一開始也比較懵,但經過分析后,我們定了3個目標:

  1. 這個實時發券的功能,一定要獨立出來,不能影響應用端的主業務流程;
  2. 要能夠做到實時發券,如果用戶達到某個策略(比如新注冊、首單等),隔天再去發券,這樣體驗很不好;
  3. 簡單的策略要可以實現配置化,比如復購金額滿XX元,這個完全要在界面可以配置出來,新增一種類似的策略不用修改代碼,就可以完成策略的上線。

產品功能層面是通過現有的標簽平臺(可以看之前的文章:數據中臺實戰(八):如何打造可以支撐N條產品線的標簽平臺)完成人群的初始化。

比如新注冊、已首單用戶,增加一種標簽的類型叫實時標簽,通過監控用戶的注冊、支付等行為,實時的檢查用戶現有的標簽,實時的計算這個行為該打上那個標簽、該撕掉那個標簽,然后通過消息隊列的方式通知營銷系統,完成用戶新增標簽的優惠券發放。

二、技術方案

下圖就是實時標簽的技術實現方案,要想看懂這個方案,可以先溫習一下之前寫的一篇標簽平臺的文章(數據中臺實戰(八):如何打造可以支撐N條產品線的標簽平臺):

(原創)數據中臺實戰:以圓猿買手為案例談如何從0到1搭建實時標簽引擎

首先是離線標簽處理的流程:

  1. 群組的數據,比如已首單用戶這個用戶群下都有哪些人打上了這個標簽;
  2. 標簽規則數據,已首單的規則就是 用戶支付次數這個指標=1;
  3. 用戶的數據,這里存放的是用戶寬表中的各種指標,比如用戶的基礎信息、當前的支付次數、支付金額等等。

接下來是實時打標簽的處理過程:

  1. 首先是通過CDC (捕獲數據變化)工具如Debezium監控數據庫庫表的變化情況;
  2. 通過如Debezium等工具告知kafka數據庫的變化情況;
  3. 篩選對打標簽有用的事件如注冊、支付等事件;
  4. 讀取給用戶打標簽的規則(如首單的規則是判斷用戶當前的支付次數是否等于1);
  5. 實時打標簽的過程,比如用戶由未首單打上已首單的標簽:可以緩存用戶已計算好的指標,加快打標簽速度,比如緩存用戶的支付金額這個指標,當用戶下了新的一單,就可以通過計算好的支付金額+當前單的支付金額,計算出用戶當前最新的支付金額這個指標。;
  6. 得到用戶最新標簽結果(某些用戶也可能撕掉了某個標簽);
  7. 更新標簽庫中用戶的標簽到最新狀態;
  8. 通過MQ向營銷系統發送消息,由營銷系統執行發券操作(需在營銷系統提前建好優惠活動參考:數據中臺實戰(九):如何搭建全渠道自動化的營銷平臺)。

三、實戰案例

接下來我們通過一個簡單的案例:給新注冊、已首單的用戶實時打標簽,實時發券的業務場景,來看一下實時標簽引擎的整體流程。

針對這個案例,我們先分析一下用戶標簽,第一個是新注冊未首單用戶,第二個是已首單用戶,這兩個標簽涉及到的指標為:用戶的注冊天數、用戶的支付次數,可以開發相應的用戶數據指標存放在用戶寬表中,然后把這個寬表的數據緩存到實時引擎當中。

比如新注冊用戶標簽的定義是注冊時間<1天且支付次數=0,已首單的用戶標簽的定義是用戶支付次數=1。通過標簽平臺指標的組合和簡單的運算,可以配置出2個用戶標簽:新注冊未首單用戶、已首單用戶。

(原創)數據中臺實戰:以圓猿買手為案例談如何從0到1搭建實時標簽引擎

針對這個案例我們需要監控注冊表及訂單表(支付表),當用戶A完成注冊,實時標簽引擎發現用戶A的注冊天數<1且用戶A的支付次數是=0的,這個時候可以調用標簽平臺的接口實時的給用戶A打上新注冊未首單的標簽。

同時通過MQ告知營銷系統,用戶A新增了新注冊未首單的標簽,因為營銷活動的配置中針對這類用戶是發券的,再通過營銷系統調用給用戶發券的接口完成實時的發券。

當用戶A下了首單后,這時實時標簽引擎實時計算用戶A的支付次數發現=1,并且發現用戶A已經不滿足注冊天數<1且用戶A的支付次數是=0這個規則。

這個時候實時標簽引擎通過調用用戶打標簽接口及撕標簽接口,給用戶新打上了已首單用戶的標簽,同時撕掉了用戶A新注冊未首單用戶的標簽,然后再通過MQ告知營銷系統用戶A新增了已首單用戶的標簽,因為營銷活動的配置中針對這類用戶是發券的,再通過營銷系統調用給用戶發券的接口完成實時的發券。

四、最后的話

實時標簽引擎還是一個非常有用的系統,一些通用的策略如首單、復購等,幾乎任何的互聯網產品都會涉及到。

同時實時標簽的玩法也屬于數據智能的應用,從案例中你可以看到所有的策略配置后都是由機器自動完成,運營人員要做的更多是策略的優化。因為有了實時標簽引擎大大提高了用戶的體驗,用戶達到某個策略值時可以無延遲的收到優惠券,這樣就進一步促進了用戶的復購機率。

還有一些更復雜的玩法比如某段時間內的用戶的支付金額滿XX元、沉默召回(距離上一次支付時間超過XX天的用)、以老帶新(成功推薦一個新用戶注冊,并且新用戶完成了首單支付)等策略,做起來思路也類似,但實現起來就更加繁瑣一點,歡迎留言與我討論。

#相關閱讀#

《數據中臺實戰(七):流量分析》

《數據中臺實戰(六):交易分析》

《數據中臺實戰(五):自助分析平臺》

《數據中臺實戰(四):商品分析(產品設計篇)》

《數據中臺實戰(三):用戶分析(產品設計篇)》

《數據中臺實戰(二):基于阿里OneData的數據指標管理體系》

《數據中臺實戰(一):以B2B點電商為例談談產品經理下的數據埋點

數據中臺實戰入門篇:數據中臺對內、對外合作機制

數據中臺實戰入門篇:雙中臺戰略

#專欄作家#

Wilton董超華,微信公眾號:改變世界的產品經理,人人都是產品經理專欄作家。暢銷書《數據中臺實戰》作者,曾任職科大訊飛,現任富力環球商品貿易港數據中臺產品負責人。主要分享商業、產品、運營、數據中臺相關原創文章。

本文原創發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自 Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!