粗糙的貝葉斯轉化機率預測模型

轉化率是網站分析中最受關注的指標之一,如何設定轉化率目標?哪些用戶最有可能轉化?他們有哪些特徵?如何發現並找到這些用戶?這些都是負責網站運營和市場營銷的同窗最關注的問題。本篇文章經過貝葉斯算法對網站中已經完成轉化的歷史用戶數據進行分析,發現購買轉化用戶的特徵,並經過交叉細分對不一樣用戶購買轉化的機率進行預測。

p03fy6mz

貝葉斯是分類和預測算法中的一種,咱們在前面的文章中已經詳細介紹過它的計算過程。貝葉斯經過已知的P(B|A)的機率計算P(A|B)的機率。若是P(A)和P(B)相互獨立,成爲樸素貝葉斯(Naive Bayes)。如下爲貝葉斯的計算公式:算法

bayes

咱們將經過這個公式對用戶的轉化機率進行預測。下面是一我的工生成的數據表截圖(須要說明的是,這些數據都是人工生成的示例數據,並不代真實的品類及來源表現)。這類數據表可能來自網站的服務器日誌,CRM系統,用戶調研報告或者網站數據報告中。在這個簡單的數據表裏只包含有兩個字段:品類和是否購買。其中品類表示用戶訪問過的頁面所屬的商品類別,是否購買表示用戶最終是否付款。在這個數據表中,是否購買是咱們所關注的結果。品類是維度。服務器

單因素數據

在使用貝葉斯公式開始計算以前,咱們首先須要將數據錶轉化爲以維度和結果組成的頻率表,頻率表中包含4類信息:優化

  • 每一個品類用戶的數量。
  • 購買和未購買用戶的數量。
  • 不一樣品類購買和未購買的訪問者數量。
  • 用戶的總數量。

咱們將使用者四類信息來計算貝葉斯算法中所須要的機率值。在生成頻率表的過程當中有一點須要注意,結果信息(購買/未購買)要放在列的位置,維度信息(數碼,家居)要放在行的位置。下面咱們將經過頻率表生成用於計算的似然表。網站

單因素頻率表

如下爲似然表,其中包含了用於貝葉斯算法中所須要的機率值。咱們與貝葉斯公式對照來看:P(A)=P(購買)是完成購買的機率,P(B)=P(數碼)是數碼類別的機率,P(B|A)=P(數碼|購買)是已經購買的用戶中數碼品類的機率。下面的圖表中標識了這幾個機率和所對應的位置。spa

單因素似然表

將各個對應的機率值代入到貝葉斯公式中,求出各品類的購買機率。下面是以數碼品類爲例計算出的購買機率。日誌

單因素貝葉斯公式1

將其餘品類的數據分別代入到貝葉斯公式中,求出全部品類的購買機率。每一個品類購買機率的數值以下表所示。blog

單因素後驗機率

這個機率值能夠理解爲不一樣品類的轉化率。這裏有兩個須要說明的問題。首先,預測的機率數據可能並不許確,由於咱們只考慮了單一維度的因素(品類)。而影響用戶購買的影響因素會有不少,而且品類維度也未必是最重要的影響因素。這就好像咱們看見一個黑人就認爲他來自非洲同樣。只依靠膚色這個單一的維度來作判斷結果可能並不許確。其次,這個分品類的轉化率咱們經過現有數據也能求出來,不須要經過複雜的貝葉斯算法計算。而且這個預測數據對於尋找新的轉化用戶,以及優化購買轉化率並無明顯的支持做用。get

所以,爲了得到更準確而且有價值的預測數據,咱們須要在更普遍的數據源中增長新的維度。下面的數據表與以前相比增長了新的維度「來源」,咱們經過來源和品類兩個維度從新計算轉化機率。基礎

雙因素數據表

計算的方法和以前同樣,先分別計算並生成兩個維度的頻率表。下面是來源和品類維度各自的頻率表。程序

雙因素頻率表

在頻率表的基礎上分別對來源和品類維度生成似然表。下面的圖表中標註了所須要的機率值。

雙因素似然表

將似然表中的機率值代入到公式中,求出所需的機率值。這裏以SEM流量在數碼品類的購買機率爲例進行計算。

雙因素貝葉斯公式

將渠道和品類的機率值分別代入公式得到分來源的品類購買機率。以下表所示。能夠發現,與以前相比每一個品類的轉化機率都與來源維度進行了交叉細分。對細分後的品類轉化機率進行對比後能夠發現每一個流量來源對於不一樣品類的轉化機率。例如:對於數碼品類,引薦流量,EDM流量和社交媒體的購買機率要高於其餘來源。到了這一步也許你還想知道每一個流量來源的特徵和在不一樣品類中的轉化機率。

雙因素後驗機率1

咱們以來源做爲主維度來從新組織數據,分析不一樣流量來源的特徵以及在不一樣品類中的轉化機率。以SEM流量爲例,在示例數據中,SEM流量在汽車,圖書和戶外品類中的轉化機率較高,在數碼和服裝的轉化機率通常,在家居品類的的轉化機率則相對較差。

雙因素後驗機率2

到這一步咱們已經有了流量來源和品類交叉的機率。與以前的單一品類維度轉化機率來看要更準確一些,並已經能對流量渠道選擇和廣告投放有一些初步的指導做用。但這些數據並非基於人的,沒法幫助咱們發現用戶的特徵以及如何尋找更多的轉化用戶。所以,咱們須要增長與人有關的維度。這些數據可能並不在網站日誌中,他們可能來自用戶調研或其餘渠道。下面的數據表中增長了用戶的人羣屬性信息,如月收入,婚姻情況,學歷,和星座等信息,這也更貼近網站分析中的真實狀況。

多維數據表

咱們從新調整視角,把關注和分析的維度從流量來源轉向與人有關的屬性。首先是用戶月收入屬性和品類。這裏咱們假定品類是用戶來訪的目的。以服裝品類爲例,經過月收入和品類維度的交叉細分能夠發現,月收入15000元以上用戶完成購買的機率較高,而月收入在5001-10000元的用戶完成購買的機率較低,爲0.38。

品類收入維度

從新整理兩個細分維度的順序,將月收入做爲主維度能夠發現不一樣收入區間用戶對品類的網站商品購買的機率。以15001-20000元區間爲例,購買圖書,汽車,母嬰和服裝的機率較高,而購買家居和戶外品類的機率則相對較低。

收入品類維度

兩個維度的購買機率預測明顯要優於單一維度的結果。由於咱們掌握了更多的信息,下降告終果的不肯定性。但這還並不能回答本文開篇時的問題,哪些用戶最有可能轉化?如何找到這些用戶?他們有哪些特徵?所以,還須要引入更多的用戶屬性。下面咱們將維度增長到3個,以更好的對用戶進行細分和定位。

在下面的數據表中,咱們使用品類,學歷和婚姻情況三個維度進行交叉細分,創建不一樣用戶的購買機率表。與兩個維度的機率表相比,三個維度的機率表不管是在內容仍是計算量上都增長了一倍(這還只是在增量了婚姻情況後的狀況,若是增長星座維度,會更加複雜)。多維度的機率表應該由程序計算和維護,而不該該手動計算。

三個維度交叉後的購買機率表可以更加精準的描述用戶屬性,並定位用戶的購買偏好。對於一個專科學歷,未婚的用戶,咱們能夠根據歷史的購買數據來判斷他有0.94的機率會購買戶外用品。或者換個角度來看,對於汽車這個品類,尋找未婚的碩士研究生用戶可能比尋找已婚小學用戶購買機率高0.2(0.81-0.61)。

三因素後驗機率1

這個購買的預測機率準確嗎?按照這個機率來尋找用戶投放廣告就必定能有收穫嗎?答案是不必定。機率只是這件事發生的可能性,並非說這件事必定會發生。由於實際狀況比模型要複雜的多,以服裝品類爲例,這其中可能還涉及到季節性因素和品牌因素和價格因素的影響。所以咱們還須要按照每次預測的結果對模型進行不斷的調整和優化。

最後再次說明,本文中的全部數據都是人工生成的示例數據,只爲說明分析思路和計算過程,沒有任何表明性。

相關文章
相關標籤/搜索