實時用戶標簽生成系統(tǒng)設(shè)計

用戶標簽系統(tǒng)的用途

互聯(lián)網(wǎng)公司在有一定用戶積累之后境钟,需要告別早期粗放式粟按、高成本的營銷方式。走上根據(jù)用戶特征和價值精準化營銷的道路鸯匹。
在無法實現(xiàn)大數(shù)據(jù)用戶畫像的條件下,為用戶打上價值標簽以實現(xiàn)用戶分類泄伪,簡單而有效殴蓬。

標簽的定義

我司常用的標簽有:新用戶、老用戶蟋滴、流失用戶染厅、活躍用戶等。此外津函,還可以根據(jù)用戶以往行為肖粮,如投訴、訂單取消尔苦、查看報價等涩馆,為用戶打上相應的標簽。標簽系統(tǒng)提供了從多維度進行用戶分類的方法 允坚。在用戶分類的基礎(chǔ)上魂那,實現(xiàn)差異化營銷、差異化優(yōu)惠稠项,則可以節(jié)約營銷成本涯雅。

標簽的時效性

標簽如新用戶、流失用戶等 皿渗,會隨用戶在系統(tǒng)中下單而失效斩芭。而活躍用戶會隨著用戶在系統(tǒng)中長期不下單而變成流失用戶。通常乐疆,用戶半年以前的行為參考性較低划乖。用戶標簽需要根據(jù)用戶近期行為生成。因此挤土,標簽必須與用戶的實際狀態(tài)同步琴庵,從而不誤導營銷決策。

標簽的使用需求

使用標簽的需求有2種仰美。

  • 第一種是給定一個用戶迷殿,問用戶是否具有某標簽。在給用戶發(fā)放代金券時咖杂,用戶標簽可用于決定券的金額庆寺、券種。此種情況下诉字,用戶標簽必須是實時的懦尝。
  • 第二種是給定一些標簽知纷,問具有這些標簽的用戶有哪些。在節(jié)假日陵霉、重大營銷節(jié)點時琅轧,可通過為指定特征的用戶集中推送優(yōu)惠信息,實現(xiàn)促銷踊挠。在這種情況下乍桂,用戶標簽為準實時即可。

實時計算用戶標簽

為用戶打上標簽本質(zhì)上是為識別用戶的某種歷史行為特征并標記出來效床。由于標簽的時效性要求睹酌,需要分析用戶近期的行為。因此剩檀,我們將用戶的行為作為基本的記錄忍疾、分析單位。
一條記錄的例子如下:

用戶id 發(fā)生時間 行為類型 訂單id 其它
123 2016-10-20 12:10:32 取消訂單 orderId 谨朝。。甥绿。

每當用戶進行某個行為字币,則為用戶添加一條記錄。為方便實現(xiàn)更多的查詢共缕、搜索拓展洗出,我們把用戶行為數(shù)據(jù)實時導入到Elasticsearch中。

當計算給定用戶標簽時图谷,從elasticsearch/數(shù)據(jù)庫中查詢到指定時間段內(nèi)用戶行為翩活,實時為用戶計算標簽返回。

由于用戶行為是實時導入的便贵,而用戶標簽是根據(jù)用戶最新行為記錄生成的菠镇,因此生成的標簽具有實效性。由于每個用戶在一段時間內(nèi)的訂單相關(guān)行為數(shù)據(jù)量不大承璃,因此計算開銷可以忽略利耍。

以上設(shè)計的好處在于,我們可以隨時調(diào)我們生成標簽所關(guān)心的時間段盔粹“妫可以關(guān)心最近3個月,或者突然改到半年舷嗡。而標簽的定義也可以隨時更改轴猎。底層是最原始的用戶行為數(shù)據(jù),不需要任何改變进萄。

準實時標簽查詢用戶

根據(jù)標簽查詢用戶則要困難一些捻脖。我們必須提前為每個用戶計算好標簽锐峭。才可以根據(jù)標簽建立索引,最后實現(xiàn)查詢郎仆。在數(shù)據(jù)量較大的情況下只祠,計算一次可能需要1-2天。如果只在少量時間節(jié)點使用此功能扰肌,這樣的時間開銷可以接受抛寝。

我們考慮如果需要經(jīng)常使用此功能,如何實現(xiàn)曙旭?

由于我們已經(jīng)有了實時計算給定用戶標簽的能力盗舰。因此,每當用戶有新的行為時桂躏,我們可以重新為此用戶計算標簽钻趋,并入庫。系統(tǒng)運行一段時間之后剂习,在系統(tǒng)中有行為的用戶在數(shù)據(jù)庫中都有了記錄蛮位。行為越頻繁的用戶,其標簽狀態(tài)越實時鳞绕。

為了保證用戶標簽不過時失仁,我們記錄用戶標簽的更新時間。通過逐條掃庫的方式们何,更新數(shù)據(jù)庫中更新時間較為久遠的數(shù)據(jù)萄焦,重新計算標簽。

由于用戶最新的行為會導致標簽更新冤竹,因此掃庫的方式只是為了保證標簽不會因為時間的推移而過時拂封。這方面的時效性要求在一周,一天以內(nèi)都可以接受的鹦蠕。

用戶行為的監(jiān)聽

一種監(jiān)聽用戶行為的方法是通過異步消息冒签。用戶的行為會在不同的服務器中發(fā)生。當服務器檢測到相關(guān)的事件時片部,通過消息系統(tǒng)發(fā)出消息通知镣衡,從而告知標簽系統(tǒng)。然而采用消息系統(tǒng)實現(xiàn)有以下2個問題:

  • 需要其它系統(tǒng)配合發(fā)出消息
  • 如果消息丟失档悠、消息重復則標簽計算不準確
    消息重復的問題可以通過去重來解決廊鸥,而其它問題則無法解決了。
    因此我們想到采用canal辖所,通過監(jiān)聽數(shù)據(jù)庫的變化惰说,來得知訂單狀態(tài)變更的事件。這樣缘回,不需要其它系統(tǒng)的配合吆视,需要完成事件的可靠監(jiān)聽典挑。

總結(jié)

我們闡述了一種實現(xiàn)實時標簽系統(tǒng)的方法。通過存儲用戶的歷史行為啦吧,我們的底層系統(tǒng)具有了以不變應萬變的能力您觉。通過實時計算標簽,用戶標簽的定義就可以隨時修改了授滓。通過將用戶行為放入elasticsearch中琳水,加快了用戶行為查詢的速度。

另一方面般堆,通過實時重新計算用戶標簽在孝,我們保證了用戶標簽根據(jù)用戶行為實時調(diào)整。而對于標簽的隨時間推移過時問題淮摔,我們通過掃庫的方式來逐漸更新私沮。從而做到了用實時更新應對快速變化,用后臺任務應對慢速化和橙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仔燕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子魔招,更是在濱河造成了極大的恐慌涨享,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仆百,死亡現(xiàn)場離奇詭異,居然都是意外死亡奔脐,警方通過查閱死者的電腦和手機俄周,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓迎,“玉大人峦朗,你說我怎么就攤上這事∨帕洌” “怎么了波势?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長橄维。 經(jīng)常有香客問我尺铣,道長,這世上最難降的妖魔是什么争舞? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任凛忿,我火速辦了婚禮,結(jié)果婚禮上竞川,老公的妹妹穿的比我還像新娘店溢。我一直安慰自己叁熔,他們只是感情好,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布床牧。 她就那樣靜靜地躺著荣回,像睡著了一般。 火紅的嫁衣襯著肌膚如雪戈咳。 梳的紋絲不亂的頭發(fā)上心软,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音除秀,去河邊找鬼糯累。 笑死,一個胖子當著我的面吹牛册踩,可吹牛的內(nèi)容都是我干的泳姐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼暂吉,長吁一口氣:“原來是場噩夢啊……” “哼胖秒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起慕的,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤阎肝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肮街,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體风题,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年嫉父,在試婚紗的時候發(fā)現(xiàn)自己被綠了沛硅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡绕辖,死狀恐怖摇肌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仪际,我是刑警寧澤围小,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站树碱,受9級特大地震影響肯适,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜成榜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一疹娶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伦连,春花似錦雨饺、人聲如沸钳垮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饺窿。三九已至,卻和暖如春移斩,著一層夾襖步出監(jiān)牢的瞬間肚医,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工向瓷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肠套,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓猖任,卻偏偏與公主長得像你稚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子朱躺,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容