產品的增長分析當中,想關注符合某些條件的一部分用戶,不僅想知道這些人的整體行為(訪問次數,訪問時長等),還希望知道其中差異較大的細分群體。用戶分群方法,能幫助我們對差異較大的群體分別進行深入分析,從而探究指標數字背后的原因,探索實現用戶增長的途徑。
一、用戶分群的應用場景
在日常的數據工作中,我們經常接到這樣的需求:想關注符合某些條件的一部分用戶,不僅想知道這些人的整體行為(訪問次數,訪問時長等),還希望知道具體是哪些人符合這些條件。
然后查看這些人的數據導出用戶名單,針對性的發送tips消息。有時還想進一步查看某些人在使用某功能上的具體操作行為。用戶分群,就是用來滿足這類需求的工具方法,它能幫助我們對差異較大的群體分別進行深入分析,從而探究指標數字背后的原因,探索實現用戶增長的途徑。
如用戶畫像分群,核心價值在于精細化的定位人群特征,挖掘潛在的用戶群體。使網站、廣告主、企業及廣告公司充分認知群體用戶的差異化特征,根據群體的差異化特征,幫助客戶找到營銷機會、運營方向,全面提高客戶的核心影響力。
二、用戶分群
圖1:用戶分群的5個類型
類型一:不分群,如全量活躍用戶投放,群發短信等,缺點是沒有針對性,容易引起用戶反感。
類型二:用戶基本信息分群,如根據用戶注冊的信息分群。相比不分群,這種方法已具備一定的針對性, 但是由于對用戶不是真正了解,產生不了很好的結果預期。
類型三:用戶畫像分群,如年齡、性別、地域、用戶偏好等,畫像建設的焦點是為用戶群打“標簽”,一個標簽通常是人為規定的高度精煉的特征標識,最后將用戶分群的標簽綜合,即可勾勒出該用戶群的立體“畫像”。畫像分群讓我們真正了解了用戶的某些特征,對業務推廣幫助很大。
類型四:根據用戶行為進行分群,此階段會在畫像分群的基礎上關注用戶的行為特征, 如根據用戶的注冊渠道和活躍習慣,制定不同的營銷推廣策略。
類型五:聚類和預測建模分群,聚類建模可以根據用戶的綜合特征指標,將用戶分為不同的群體,如將用戶劃分為娛樂型、掛機型、社交型、辦公型等;預測建模即嘗試去猜測用戶下一步的態度與行為(例如想知道什么,想做什么)。正因如此,它對將復雜的行為過程變為營銷自動化,是十分有幫助的。
三、常見的用戶分群維度
1. 統計指標:年齡,性別,地域
2. 付費狀態:免費,試用,付費用戶
3. 購買歷史:未付費用戶,一次付費用戶,多次付費用戶
4. 訪問位置:用戶使用產品的區域位置
5. 使用頻率:用戶使用產品的頻率
6. 使用深度:輕度,中度,重度用戶
7. 廣告點擊:用戶點擊了廣告 vs 未點擊廣告
四、常用的聚類分群方法介紹
上面介紹了一些關于分群的方法和思路, 接下來重點講解一下用戶聚類分群,聚類分群可分為層次聚類(合并法,分解法,樹狀圖)和非層次聚類(劃分聚類,譜聚類等),而較常用的互聯網用戶聚類方法為K-means聚類方法和兩步聚類法(均為劃分聚類) 。
聚類分析的特征:
1、簡單、直觀;
2、主要應用于探索性的研究,其分析的結果可以提供多個可能的解,選擇最終的解需要研究者 的主觀判斷和后續的分析;
3、不管實際數據中是否真正存在不同的類別,利用聚類分析都能得到若干類別的解;
4、聚類分析的解完全依賴于研究者所選擇的聚類變量,增加或刪除一些變量對最終的解都可能產生實質性的影響。
5、研究者在使用聚類分析時應特別注意可能影響結果的各個因素;
6、異常值和特殊的變量對聚類有較大影響;
7、當分類變量的測量尺度不一致時,需要事先做標準化處理。
聚類分析的弱點:
1、聚類是一種無監督類分析方法,無法自動發現應該分成多少個類;
2、期望能很清楚的找到大致相等的類或細分市場是不現實的;
3、樣本聚類,變量之間的關系需要研究者決定;
4、不會自動給出一個最佳聚類結果。
聚類分析的應用過程:
(1)選擇聚類變量
在選取特征的時候,我們會根據一定的假設,盡可能選取對產品使用行為有影響的變量,這些變量一般包含與產品密切相關的用戶態度、觀點、行為。
但是,聚類分析過程對用于聚類的變量還有一定的要求:
1.這些變量在不同研究對象上的值具有明顯差異;2.這些變量之間不能存在高度相關。
首先,用于聚類的變量數目不是越多越好,沒有明顯差異的變量對聚類沒有起到實質意義,而且可能使結果產生偏差;其次,高度相關的變量相當于給這些變量進行了加權,等于放大了某方面因素對用戶分類的作用。
識別合適的聚類變量的方法:1.對變量做聚類分析,從聚得的各類中挑選出一個有代表性的變量;2.做主成份分析或因子分析,產生新的變量作為聚類變量。
(2)聚類分析
相對于聚類前的準備工作,真正的執行過程顯得異常簡單。數據準備好后,導入到統計工具中跑一下,結果就出來了。這里面遇到的一個問題是,把用戶分成多少類合適?
通常,可以結合幾個標準綜合判斷:
1.看拐點(層次聚類會出來聚合系數圖,一般選擇拐點附近的幾個類別);2.憑經驗或產品特性判斷(不同產品的用戶差異性也不同);3.在邏輯上能夠清楚地解釋。
圖2:聚合系數圖
(3)找出各類用戶的重要特征
確定一種分類方案之后,接下來,我們需要返回觀察各類別用戶在各個變量上的表現。根據差異檢驗的結果,我們以顏色區分出不同類用戶在這項指標上的水平高低。其他變量以此類推。最后,我們會發現不同類別用戶有別于其他類別用戶的重要特征。
(4)聚類解釋和命名
在理解和解釋用戶分類時,最好可以結合更多的數據,例如,人口統計學數據、功能偏好數據等等。然后,選取每一類別最明顯的幾個特征為其命名,大功告成。
五、K-means聚類在用戶分群中的應用案例
在本案例中,我們首先來看最常用的K-Means聚類法(也叫快速聚類法),這是非層次聚類法當中最常用的一種。因其簡單直觀的計算方法和比較快的速度(相對層次聚類法而言),進行探索性分析時,K-Means往往是第一個采用的算法。并且,由于其廣泛被采用,在協作溝通時也節省了不少用于解釋的時間成本。
1. K-means的算法原理:
a、隨機取k個元素,作為k個簇各自的中心。
b、計算剩下的元素到k個簇中心的相似度,將這些元素分別劃歸到相似度最高的簇。
c、根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。
d、將全部元素按照新的中心重新聚類。
e、重復第4步,直到聚類結果不再變化,然后結果輸出。
假設我們提取到原始數據的集合為(X1, X2, …, Xn),并且每個Xi為d維的向量, K-means聚類的目的就是,在給定分類組數k(k ≤ n)值的條件下,將原始數據分成k類,S = {S1, S2, …, Sk},在數值模型上,即對以下表達式求最小值(μi 表示分類Si 的平均值):
2. 用戶分群背景和目標:
某產品覆蓋社會各種群體(不同年齡、不同行業、不同興趣等),需要將大盤用戶進行一定細分,然后針對性的開展運營活動。
3. 聚類變量選取:
用戶畫像特征、用戶狀態特征、用戶活躍特征
4. 聚類分析和結果:
通過相關性分析和變量重要性分析,剔除部分效果差的變量,然后對剩余11個變量進行多次訓練(目標聚類個數,參與的變量,組內個體差異容忍度),最終得出聚類結果。
圖3:用戶分群K-means聚類效果
5. 結果解讀和命名:
聚類1:低端低齡群體
聚類2:學生活躍群體
聚類3:職場高粘性群體
聚類4:職場低粘性群體
聚類5:高齡低活躍群體
表2:用戶分群K-mean聚類結果
六、兩步聚類和k-means聚類的效果對比
前面談到的K-Means聚類法有簡單、直觀和快速的優點。但是其缺點是只能采用數值型變量,不能包含類別變量,并且對異常值非常敏感,離群值很容易嚴重影響聚類結果。并且,當數據集比較大(在騰訊,這種情況很常見),不能把所有數據點都裝進內存的時候,K-Means就無法在單機上運行。
而兩步聚類法則克服了以上缺點,可以包含類別變量和數值型變量,并且當硬件條件不足或數據集非常大時,都能順利運行。這種兩步聚類法可以看成是改進版BIRCH聚類算法和層次聚類法的結合,先用BIRCH算法中的“聚類特征樹”做預聚類,形成子類,然后把子類作為輸入,做層次聚類。
1. 兩步聚類的原理:
第一步:預聚類過程:
構建聚類特征樹(CFT),分成很多子類。
開始時,把某個觀測量放在樹的根節點處,它記錄有該觀測量的變量信息,然后根據指定的距離測度作為相似性依據,使每個后續觀測量根據它與已有節點的相似性,放到最相似的節點中,如果沒有找到某個相似性的節點,就為它形成一個新的節點。在這一步當中,離群點將會被識別并剔除,不會像在K-Means當中那么容易地影響結果。
第二步:正式聚類:
將第一步完成的預聚類作為輸入,對之使用分層聚類的方法進行再聚類(以對數似然函數作為距離的度量)。每一個階段,利用施瓦茲貝葉斯信息準則(BIC)評價現有分類是否適合現有數據,并在最后給出符合準則的分類方案。
2. 兩步聚類的優點:
2.1.海量數據處理;
2.2.自動標準化數據;
2.3.能夠處理分類變量和連續變量的混合數據;
2.4.可自動丟棄異常值或者將異常值歸入最近的類。
2.5.可自動確定或者根據業務需要人工指定分類數目;
3. 兩步聚類的效果對比:
對第六點同樣的數據進行兩步聚類,得到模型最優結果如下
圖4:用戶分群兩步聚類效果
4. 兩步聚類結果解讀:
聚類1:低端低齡群體
聚類2:學生或新入職場高活躍群體
聚類3:青年低活躍群體
聚類4:青年掛機群體
聚類5:職場辦公群體
聚類6:高齡低活躍群體
表3:用戶分群兩步聚類結果
七、業務案例 – 通過K-Means聚類,挖掘特殊行為模式的客戶群
1. 業務需求
在本案中,產品經理希望了解登錄不活躍用戶的行為模式,并且能針對不同的行為組合,對龐大的用戶群體進行細分,從而關注不同群體的不同需求,甚至挖掘垂直領域需求,從而在產品或運營側采取措施,拉活沉默用戶,提高DAU。
2. 分析目標
2.1.發現使用行為模式異于大盤典型用戶的細分群體
2.2.粗估每個細分群體的用戶數量
2.3.了解每個細分群體的行為特征和用戶畫像
2.4.基于上述結果,在拉活方面,提出產品或運營建議或明確進一步探索的方向
3. 分析過程
a) 特征提取
分析聚焦于用戶的點擊行為。在本例中,考慮到用戶行為的典型性,選取了4個完整的周,共28天的數據,并且時間窗當中無任何節日。另外,考慮到計算性能和探索性分析需要反復迭代的場景,只從大盤當中隨機抽取千份之一的用戶作為代表。
b) 特征篩選
在特征提取階段一共提取了接近200個功能點的點擊數據。但是這些特征當中,有些覆蓋面非常低,只有百份之一的用戶在28天當中曾經使用,這些低覆蓋的特征會首先被去除。
另外,前面談到高度相關的變量也會干擾聚類過程,這里對所有特征對兩兩進行計算皮爾遜相關系數,對高相關特征(相關系數大于0.5)則只保留其中保留覆蓋面最廣的特征,以便最大限度地體現用戶差異。
c) 特征改造-探索
經過上面兩步后,筆者曾進行過多次聚類探索,但無一例外,聚類結果都呈現出一個超級大類搭配數十個非常小的小類(幾個或十幾個用戶)。這樣的結果,顯然與我們的分析目標是想違背的。
其一,這里挖掘出的小群體體積太小,從業務角度來說沒有價值;其二,超級大類基本等同與大盤用戶,沒有能找出其中的用戶差異。
為什么會有這樣的結果呢,主要是因為點擊行為基本上遵循的是冪率分布,大量用戶集中在低頻次區間,而極少量用戶卻會有極高的頻次,這樣在典型的聚類算法中,高頻次用戶都會被聚集成人數極少的小類,而大量的低頻詞用戶就會被聚集成一個超級大類。
圖5:點擊行為分布
圖6:點擊行為數K-Means聚類示意圖
對于這種情況,典型的解決方法是對頻次取對數,使冪率分布轉化為近似的正態分布再進行聚類,在本次研究中,取自然對數后,聚類效果僅有少量改善,但仍然停留在一個超級大類加上若干人數極少的小類的情況。
背后原因,是點擊行為數據的特點之一:核心功能和熱門項目點擊人數極多,而相對冷門的功能則有大量的0值。這樣的情況下,取對數是沒有改善的。
圖7:打開次數分布
圖8:打開次數分布(自然對數變換)
回到本次分析的目標當中,我們需要“發現使用行為模式異于大盤典型用戶的細分群體”,如果丟棄這些冷門功能只看熱門選項,則無法找出一些相對小眾的行為模式達成分析目標。而這種數值稀疏的情況則讓筆者想起了文本分類。
在文本分類的詞袋模型當中,每個“文檔“的詞向量同樣存在大量的0值,詞袋模型的解決方法是對詞向量用TF-IDF方法進行加權。下面簡單介紹這種方法:
d) 特征改造-TF-IDF
在文本分類的詞袋模型當中,需要將一篇篇“文檔”(Document)(例如一篇新聞,一條微博,一條說說)按照其討論的主題聚合在一起,而一篇文檔里面有很多詞(Term)。
TF(Term Frequency 詞頻率)就是指一個詞在一篇文檔里的出現次數在整篇文檔總詞數當中的占比,這樣簡單的計算就知道一篇文檔中什么詞更多,而不會受到文檔本身長度的影響。
另一方面,有些詞是是什么文章都會用的“大眾”詞,這些詞對于文章主題的分辨是沒什么幫助的(例如新聞當中的“報道”“記者”等等)。對于這樣的“大眾”詞,就要降低他的權重,所以可以通過(文檔總數/含有某個詞的文檔數)這樣的計算達到目的,每篇文章都有的詞權重會取0,包含的文檔數越少,數值越大。這計算就是IDF(Inverse Document Frequency 逆文檔頻率)。
按照上面的討論,讀者可能已經想到了,如果把“文檔”的概念變為“用戶”,把“詞的出現次數”替換為“功能的點擊次數“,就正好可以用來把用戶行為的類型進行分類。首先是低頻率用戶的功能偏好會通過TF的計算得到反映,不會因為總體上用得少在與高頻用戶的對比當中被籠統歸為一個低頻用戶的類。同時IDF也讓一些小眾功能有更大的權重,更容易在聚類中突出小眾偏好。
e) 聚類結果
通過這樣的特征改造,再用K-Means算法進行聚類,得出的結果就比較符合分析目標了,從大盤數據中,我們找到了各種具有鮮明行為特色的群體,并且初略估計出了各個群體的大小,行為特征和背景特征。并在此基礎上結合用戶研究數據去探索產品改進的建議。
八、小結
用戶分群對于用戶數據研究領域最大的改變,在于打破數據孤島并真實了解用戶。分析某個指標數字背后的用戶具備哪些特征(他們的人群屬性、行為特點等),進而發現產品問題背后的原因,并從中發現產品有效改進提升的機會或方向。
在進行聚類分析時,特征的選擇和準備非常重要:
1. 合適的變量在各個樣本之類需要有明顯差異;
2.變量之間不能有強相關關系,否則需要用PCA等方法先進行降維;
3.需要根據數據本身的特點和業務特性對數據進行變換(如標準化,取對數等);
而聚類算法的選擇則需要結合數據特點(是否有變量,離群值,數據量,是否成簇狀),以及計算速度(探索性分析往往需要較快的計算速度),精確度(能否精確識別出群落)等方面去選擇合適的算法。對算法中的參數,例如K-Means當中的類別數K,則需要結合技術指標和業務背景,選取邏輯上說得通的分類方案。
聚類算法有非常多,各有其特點和擅長的地方,本文僅舉其中兩個較常用的方法為例,拋磚引玉,希望對讀者有所啟發。
內容來源于網絡,若侵刪!