推送系統從0到1(七):推送使用者畫像建立
通過前六篇文章的介紹,大家應該對推送系統的整體運作流程有清晰的瞭解。本篇開始將會從資料和運營層面對推送進行更深入的介紹,力求把推送的效果最大化,也和大家一起把推送系統研究到極致。
想要通過推送達成運營目的,首要的是要使用者點開推送訊息,進到目標頁面才有機會實現運營目的。所以推送點選率,成為許多運營者觀察的資料指標之一。
使用者對推送內容是否感興趣,很大程度影響著點選率的高低。近年來,各種資訊平臺/電商網站通過精準推薦、訊息聚合和訊息分發,聲稱基於大資料演算法實現個性化的推薦,從而達到內容點開率大幅提升。
精準+大資料演算法似乎成為當下的潮流,但是對於很多產品經理來說,機器學習、大資料演算法聽起來就難以實現。
其實個性化推薦並沒有想象的那麼困難, 本篇將會給大家介紹個性化精準推送的第一步:建立使用者畫像, 當然我們主要從推送出發,在推薦演算法上不會有太深入的挖掘。
為什麼建立使用者畫像
其實要做精準推送同樣可以使用多種推薦演算法,例如:基於使用者協同推薦、基於內容協同的推薦等其他的推薦方式,但是以上方式多是基於相似進行推薦,運用範圍多為單一的功能,難以實現全網功能之間的聯動。而構建使用者畫像,不僅可以滿足根據分析使用者進行推薦,更可以運用在全網所有功能上。
建立使用者畫像確實是一個 一勞多得 的事情,不僅可以運用於精準推送、精準推薦、精準營銷,更可以作為網站的使用者屬性分析,使用者行為分析,商業化轉化分析等。同時網站共用一套使用者畫像,可以對使用者有統一的認知,更可以在各個運用渠道對資料進行補充和矯正。
大致的理念如下圖:
從圖上可以看出,使用者畫像的運用途徑非常廣,但那些都是應用層面的事情,我們在此主要分析從使用者畫像構建到實現精準推送的過程。下面開始為大家介紹如何構建網站的使用者畫像庫。
使用者畫像構建思路
在部分構建使用者畫像介紹文章中分為四個層級,第四層為預測模型,但在精準推送中較少運用到預測的需求,而且預測演算法會是更高階的演算法,需要大量的資料演算,本次不做討論,所以 暫且分為三層進行構建 。
從圖中可以看到,使用者畫像的第一層主要是原始資料庫,此資料庫主要囊括後續分析所需要的所有原始資料。也是通過大量資料的分析和處理,後面能提煉成使用者的畫像得以運用。
故在這一層的關鍵詞是: 大量、資料 。而第二層級是根據第一層的原始資料通過演算法計算、提煉、規劃成可以組成使用者畫像的一系列通用標籤,而這類標籤的存在形式類似於矩陣或者多個類別的集合。
在業務需要時,該類標籤從數量和維度都可以增加以滿足業務需求。所以第二層的關鍵詞是: 通用、標籤 。
而對於第三層,我們可以通過對標籤的聚合、提煉、建模等方式構成使用者的多個“面”,並運用於多個場景。例如:說小明在聽音樂時的畫像是搖滾、年輕、流行、活潑;而在學習時的畫像是認真、專心、投入、經濟學等。
通過使用者不同的角度實際運用於各類業務需求,實現精準化。所以在第三層的關鍵詞是: 聚合 、 運用 。
建立原始資料庫
從第一層的原始資料庫搭建開始介紹,這一層我們需要獲得儘量多的原始資料,因後面的所有的應用場景都依託於原始資料的計算、分析、建模,所以在原始資料庫搭建時需要考慮更全面,當然原始資料與資料儲存、採集難度和成本都密切相關。
以下圖為主要資料維度,大家根據實際情況進行抉擇。
一般來說,例如:電商類網站。對使用者的分析更為深入仔細,會需要分析出使用者的購買力,所以可能會在使用者資訊部分下功夫。雖然在使用者資訊氾濫的今天,依然不提倡大家通過非正常渠道獲取使用者資訊,即便這些資料的商業價值很高。
而第二類資料即使用者行為資料是必選項, 使用者行為資料可以更好的分析使用者需求,更容易獲取使用者的興趣內容。 所以大部分的推薦演算法,都會基於使用者行為作為原始資料來源。而使用者環境資訊及其他的資料,可以作為資料分析的重要參考資料,這個可視實際情況進行採集和儲存。
下面仔細介紹如何採集使用者行為資料,採集的目的多用於推算出使用者的喜好度以及分析使用者的轉化行為。通過使用者行為推算出使用者的標籤,實質是利用使用者感興趣的內容賦予標籤化的過程。
主要思路如下圖:
這個方法的核心思路就是把使用者在網站內的每一個操作和操作的物件、操作時間,均記錄下來,形成一個使用者行為表,這樣使用者行為的原始資料就構建完成了。
具體操作如下:
把使用者瀏覽/收聽/觀看的每一個內容、瀏覽時間、與該內容的互動(點選、滑動)、在該內容的關鍵指標(收藏、分享、商業化行為等)均記錄下來,那麼每個使用者都會有一個使用者行為記錄表,而記錄的維度可以是數值,可以是“是or否”,也可以是時間,要視具體的需求而定。
如下圖:是我在實際設計過程中定義的使用者行為資料儲存格式,主要反映使用者在什麼時間看了什麼,並做了什麼事情。
根據這個表格形成原始資料,當然我前面也說到了,這只是原始資料中行為資料的部分,在設計時可以根據實際情況拓展資料表。
通過記錄使用者行為的這個原始資料,我們可以獲得這些資訊: 使用者的訪問習慣(頻率、時間、時長)、使用者感興趣的內容、使用者對內容的感興趣程度。
其實光是這些,我們已經大致能推算出使用者基本喜好度了。但是這個方法有個缺陷,既使用者未產生足夠多的行為時,我們無法獲取其行為資訊,自然也無法進行後續分析。此時就可以運用前面介紹到的通過使用者的資訊、使用者環境等其他資料作為基礎,通過使用者協同演算法,找到與該使用者相似的同類使用者喜好的內容。
建立使用者標籤庫
根據上面獲得的使用者行為原始資料,我們得到了一張龐大的行為記錄表。但是想要把這個表格的內容運用起來,我們需要把使用者行為更為具象化,也就是需要把使用者畫像構建起來。
構成使用者畫像可以是一段話描述,可以是各種屬性的合集,也是直觀解釋的標籤。根據上面的介紹,使用者畫像可以運用在使用者的分析、商業化模式的分析、精準和個性化推薦系統中。而本篇主要介紹精準推送,故只選取可以具象化展示畫像的使用者標籤。
其實使用者標籤並不等同於使用者畫像,只是使用者標籤是使用者畫像直觀的呈現,並且是比較好且常用的運用方式。
構建使用者標籤庫其實比較簡單,因為我們在上述採集使用者行為過程中,已經把使用者喜好的內容採集下來了,所以基礎標籤並可以直接運用內容的標籤。也就是通過使用者喜歡的內容給使用者貼標籤。
(1)內容標籤化
首先要做的事情就是把內容標籤化,根據內容定性的制定一系列標籤,這些標籤可以是描述性標籤,也可以是具象的標籤,更可以是數字或者數值範圍。這些內容的標籤需要具有通用性,即適用於你所採集的使用者瀏覽的所有內容。
例如:是電商類網站,則這一些列標籤可以是商品型別、商品價格範圍、商品產地、商品品牌、商品特點等等。如果是房產類網站,則可以是房子的區域、價格、面積、格局、形態等等。
在完成這一步操作之後,此時使用者行為表中的內容均可以標籤化了,相當於使用者行為表記錄的是使用者對一組標籤的感興趣程度。
在對內容標籤化的時候,需要注意,標籤的值需要有統一的範圍,不然在後期將無法進行使用和比較。例如說:上圖表格中,“區域”這個標籤的值範圍只能是某個行政區,而每個房源資訊都有這個區域值的標籤,切勿出現“區域”這個標籤值是範圍外的內容,如:小區名等情況。
以上圖為例,房源ID-1001的標籤為:福田區、6萬單價、2房、40-50坪、……
(2)使用者標籤化
第二步要做的就是把內容的標籤賦予使用者,這個過程就是需要研究使用者對內容的喜好程度,使用者喜歡的內容即當作使用者喜好的標籤。
在使用者行為記錄表中,我們所記下使用者的行為在此時就發揮出重要的作用了。使用者的瀏覽(時長/頻率)、點選、分享/收藏/關注、其他商業化或關鍵資訊均不同程度的代表的使用者對這個內容的喜好程度。
此時我們可以用過給這些行為賦予權重分值,通過分值的計算得出使用者喜好的一組標籤。按照行為的重要程度賦予分值沒有規定的值推薦給大家,大家可以通過不斷的嘗試和調整,找到最適合自己演算法的權重值。同時內容是具有時效性或者與時間的關係比較重要,也是可以把時間作為權重引數之一。以下圖是舉例說明為行為賦值的過程。
完成對關鍵行為賦予權重分值後,即可開始計算,首先我們把使用者瀏覽(收聽、觀看)的內容全部按照上面內容標籤化的方式打散成標籤,並且把使用者行為表中的關鍵行為轉化成對應分值。
這樣可以得到下表:
把標籤與分值關聯進行求和計算,即每個標籤的值都可以得到一個分值之和,例如說:商品A的標籤“商品產地”的值有“福建、廣東、、雲南、浙江、河北”等,通過分值計算,找到分值最高的值作為該使用者此標籤的值。
如:計算出來“福建”的分值最高,即該使用者喜歡“商品產地是福建”的商品。
通過以上計算可以實現每個系列標籤獲得分值最高的值,此時根據自身的需求,可以取最高的值作為標籤值,當然也可以從分值從高到低排序,取前幾個成為標籤陣列。通過上面計算,那麼一個使用者將獲得一組/多組標籤及對應的值。
如下圖:
建立使用者畫像庫
我們通過上述方式獲得了使用者的一組組標籤,但是對使用者的剖析並不夠立體。使用者畫像的是個立體標籤庫的集合,此時就需要我們把標籤組構成像矩陣、集合一樣立體。再把使用者通過各類維度進行組合和排布,形成使用者畫像。
這是一個使用者的畫像在資料表中的形態,然而網站千萬使用者均有自己的畫像庫,所以在構建使用者畫像的時候,需要考慮資料儲存的問題。這個大量的資料計算將會持續對資料的存和使用造成壓力,所以在構建時一定要與研發工程師討論。
使用者畫像的橫向和縱向都具有拓展性,隨著基礎資料的獲取越來越多,可以拓展的維度也越來越多。同時通過標籤的組合、聚合和拓展,可以形成二級標籤、三級標籤等高階標籤,並運用於不同場景。
下面將為大家舉例介紹標籤多變的玩法。
應用層的使用者標籤
來到應用層,我們就可以充分的利用標籤發揮各種用途。首先我們可以通過標籤篩選出使用者,特定的幾個標籤即可圈定特定範圍的使用者。
例如說:我可以在使用者池中篩選出“年輕、單身、用蘋果手機、喜歡xxx”的使用者,可以對這類使用者進行有針對性的推薦和營銷。同時除了圈定使用者,我們還可以對標籤進行組合。如:標籤A=標籤a+標籤b-標籤c。
以上面基礎使用者畫像圖中資訊舉例:首購使用者=年齡22~35歲+購房格局為2房+購房單價低於X萬-有小孩+….等等,當然只是舉例說明,通過標籤之間的組合疊加或排除,可以形成更高階的標籤並運用於各種應用層。
例如:電商網站經常會通過各種資訊來判斷使用者的購買力、喜歡的商品,購物習慣和購物頻次。這些都是可以根據基礎標籤的聚合計算出來的,不同的組合方式讓標籤更豐富,更貼近實際運用場景,但是也不會干擾原始標籤庫和使用者原始資料的儲存和使用。
總結
本篇主要為大家介紹了精準推送的第一步,構建使用者畫像:
- 構建使用者畫像可以用於精準推薦、精準推送、精準營銷、資料分析等;
- 把使用者畫像構建分成三層,分別是原始資料庫、畫像標籤庫、畫像應用層;
- 原始資料的獲取可以是使用者資訊、使用者行為、使用者環境等相關資訊;
- 通過分析使用者行為,可以針對使用者對內容的喜好度,使用內容給使用者標籤化;
- 使用者畫像是可以在橫向和縱向進行拓展的龐大標籤組;
- 在應用層可以通過標籤的組合、聚合、拓展形成各類高階標籤並靈活使用。
在下一篇將會給大家介紹通過一些相似度演算法,計算使用者最感興趣的內容,從而實現精準的個性化推送,盡請期待!