受眾畫像數據只是看看?——基于樸素貝葉斯的用戶數據挖掘
作者:齊云澗
做廣告優化這么久了,也看過不少廣告后臺的受眾畫像,總體來說,對廣告數據分析和效果優化的參考價值有限,不過聊勝于無。
究其原因,在于很多廣告后臺的受眾畫像數據,只告訴了我們看了廣告的這部分人群是什么樣的,而缺失了發生轉化的這部分用戶的畫像數據。原因主要有兩點:
一是在大部分廣告投放過程中,前后端數據是割裂的,換句話說,媒體能知道你花錢買的廣告給了誰看,但一般不知道哪些人發生了轉化;而甲方通過自己的監測,可以知道轉化的用戶是哪一部分,如果監測做得夠好,也能知道這部分的人群畫像,但人群畫像的判定標準與媒體方可能存在差異,統計口徑不一致,數據無法人工打通。
二是媒體不愿意公開這么多的數據,甚至受眾畫像本身都有一定的問題。
如今信息流優化已經成為業內交流的熱點,優化創意、定向等已是老生常談,唯獨受眾畫像的數據分析少有人提及,尚有可挖的地方。今天借此機會,和大家分享一種受眾數據分析的思路。
需要強調的是,接下來的廣告數據分析有一個最基本的前提:假設媒體提供的數據和甲方監測的數據都是真實準確的。下面我會以一個真實的案例和數據(今日頭條,家裝類)向大家介紹,如何用樸素貝葉斯的算法,對今日頭條的受眾畫像進行數據挖掘和分析,從而實現精準定向下的轉化率預測。
1.樸素貝葉斯的原理
每次提到貝葉斯定理,我心中的崇敬之情都油然而生,倒不是因為這個定理多高深,而是因為它特別有用。這個定理解決了現實生活里經常遇到的問題:已知某條件概率,如何得到兩個事件交換后的概率,也就是在已知P(A|B)的情況下如何求得P(B|A)。比如,我知道發生轉化的用戶中,女性的比例是36%,那么當一個女性用戶看到我的廣告時,她有多大的可能性發生轉化。
這里先解釋什么是條件概率:
P(A|B)表示事件B已經發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。其基本求解公式為:
貝葉斯定理之所以有用,是因為我們在生活中往往遇到這種問題:可以不費力氣地直接得出P(A|B),P(B|A)則很難直接得出,但其實我們更關心P(B|A),這時候,貝葉斯定理就為我們提供了從P(A|B)獲得P(B|A)的道路。
下面省略證明過程,直接給出貝葉斯定理,相信對高中數學還有印象的朋友對這個公式應該不陌生:
2.樸素貝葉斯的數據挖掘原理
下面以一個簡單的例子,介紹樸素貝葉斯的數據挖掘原理。雖然樣本量不多,但足以說明原理和思路。
這里是一份受眾畫像數據,總共20筆數據,即代表20個UV。填寫表單這一字段值為1的合計9筆,即發生轉化的用戶數為9。
表1
然后,我們把除了 ID(只是編號,對于挖掘沒有價值)、省級地域(因為都是廣東,對于挖掘沒有價值)外的其他字段,做一個占比分布,如圖所示:
表2
假設,我想知道 定向 X=(地級市=”佛山”,性別=”男”,年齡=”18-23歲”,興趣分類=”房產”)的轉化率,即我想求:P(填寫表單=”1″ | X)。
直接是計算不出來的,回到上文提到的樸素貝葉斯,專門解決的就是這種問題,我只需知道P(X | 填寫表單=”1″),就可以通過公式得到P(填寫表單=”1″ | X)。
具體的直接套公式得:
P(填寫表單=”1″ | X) = P(X | 填寫表單=”1″) * P(填寫表單=”1″) / P(X)
同理可得,
P(填寫表單=”0″ | X) = P(X | 填寫表單=”0″) * P(填寫表單=”0″) / P(X)
這里需要引出另外一個重要的公式,P(A,B)代表事件A與B同時發生的概率。
當事件A與B的發生是各自獨立時,P(A,B) = P(A|B) * P(B) =P(A)P(B)。
因為,地級市、性別、年齡等這些字段(或定向)的發生可以理解為是各自獨立的,所以P(X | 填寫表單=”1″) = P(X ) * ? P(填寫表單=”1″) ,又P(X | 填寫表單=”1″)= P(地級市=”佛山”,性別=”男”,年齡=”18-23歲”,興趣分類=”房產” | 填寫表單=”1″)=P(地級市=”佛山” | 填寫表單=”1″) * P(性別=”男” | 填寫表單=”1″) * P(年齡=”18-23歲” | 填寫表單=”1″) * P(興趣分類=”房產” | 填寫表單=”1″),此時,看起來同樣無法直接得到的P(X | 填寫表單=”1″),被拆分為看起來更簡單的5個事件的概率的乘積。
帶入具體值,計算得:
P(填寫表單=”1″ | X) = P(X | 填寫表單=”1″) * P(填寫表單=”1″) / P(X)= (3/9 * 6/9 * 2/9 * 1/9)*0.45 / P(X) = 0.002469 / P(X)……………………………………………①
P(填寫表單=”0″ | X) = P(X | 填寫表單=”0″) * P(填寫表單=”0″) / P(X)= (2/11 * 5/11 * 2/11 * 2/11)*0.55 / P(X) = 0.0015026 / P(X)……………………………………………②
接下來,遇到一個問題,P(X)是多少,不知道!不過不要緊,當定向 X的用戶進來時,ta要么轉化,要么不轉化,所以
P(填寫表單=”1″ | X) + P(填寫表單=”0″ | X) =1……………………………………………③
聯立①②③,最終求出:
P(填寫表單=”1″ | X) = 62.2%
P(填寫表單=”0″ | X) = 37.8%
所以,當定向為X時,樸素貝葉斯數據挖掘模型認為,該類用戶的轉化率在62.2%。
3.樸素貝葉斯的數據挖掘的優勢
主流的數據挖掘算法,如神經網絡、決策樹等。多半依賴如表1所示的數據,每一個字段代表用戶的不同維度,每一行代表一個獨立用戶的數據。但實際優化過程中,媒體方不可能提供如此詳盡的受眾畫像數據, 但樸素貝葉斯不一樣,對原始數據的要求略低,只需提供不同維度組合下的比例,而不必細化到每一個用戶的情況。
4.樸素貝葉斯的數據挖掘案例解讀
4.1 原生數據及預處理
我們從今日頭條廣告后臺拿到的數據經過簡單處理后,是下面這樣的:
合計13339點擊,轉化量為37。
表3
4.2 計算字段重要性,確定輸入字段
因為所有字段都是類別型字段(區別于數值型字段),這里介紹一個比較通用的算法,用于評估所有可能的輸入字段對輸出字段的重要性。
公式解讀如下:
注:ABS函數,用于求絕對值。
所有可能的輸入字段對輸出字段的重要性計算結果如下:
一般經驗來說,字段重要性小于0.1的字段可以不予納入數據挖掘模型中。
所以,目前根據有限的數據,”性別“這一字段,對于判斷用戶是否轉化的幫助不大,故在接下來的數據挖掘模型中,輸入字段包括:地級市、年齡、興趣分類。
開始做數據挖掘,具體原理這里不再贅述,直接給出結果。
。。。(中間太長,省略了)
我們看到,數據挖掘顯示,轉化為1的最大概率是1.51%,此時的定向條件是”廣州&(50歲以上)-母嬰兒童“。而樣本數據的整體轉化率是37/13339 = 0.28%。
下圖是轉化為1的概率分布,可以看到大于0.28%的數據約有25%,換句話說,基于樸素貝葉斯的用戶數據挖掘,在324種定向組合中,找到了約四分之一的組合,可以使預估的轉化率高于平均水平0.28%。隨著數據量的增加,模型也會不斷改進,對精準定向組合的轉化率預測效能也會越來越好,將有限的廣告費花在最有可能轉化的用戶上。
下面考慮怎么將這一洞察,應用于廣告投放,創造更高的ROI。比如制作針對性的創意、提高出價等等,這個方面各位都是老手了,我就不多說了。
最后強調一句,受眾畫像的數據挖掘需要滿足一定的條件,即要能區分轉化和未轉化的用戶。
以上,即是基于樸素貝葉斯的用戶數據挖掘,給大家參考。
End.
轉載請注明來自36大數據(36dsj.com): 36大數據 ? 受眾畫像數據只是看看?——基于樸素貝葉斯的用戶數據挖掘