背景

目前,某產品營收運營正處在從過去依賴產品經理的經驗到通過資料來驅動增長(Growth Hacking)的過渡期。在這裡梳理一下通過資料模型幫助該產品營收的一些經驗。

正文

本文主要包括7部分:定義目標:轉化為資料問題、樣本選擇、特徵搭建、特徵清洗、特徵構造、特徵選擇、模型訓練與評估。如圖1下:

圖1

一、定義目標:轉化為資料問題

營收活動就是要從大盤中找出那些響應活動的高潛使用者,這實際上是一個有監督的分類問題。通過訓練集找出典型的響應使用者特徵,得到模型。再將模型用於實際資料得到響應使用者的分類結果。這裡選擇邏輯迴歸(Logistic Regression)。為什麼是邏輯迴歸?因為邏輯迴歸魯棒性好,不容易過擬合,結果便於解釋,近些年有很多新的演算法可能分類效果會更好,但很多前輩的經驗表明,精心做好特徵準備工作,邏輯迴歸可以達到同樣好的效果。

二、資料獲取

特徵主要包括畫像和行為資料,畫像資料最穩定且易獲取,行為資料預測能力最強。基礎特徵包括畫像資料(取自達芬奇)、特權操作、平臺操作、歷史付費行為、QQ和空間活躍等共計236個特徵。

三、樣本選擇

選擇最具代表性的樣本,如果樣本傾斜嚴重,則進行抽樣,保證正樣本比率不低於10%。

訓練樣本的選擇決定模型的成敗,選擇最能代表待分類群體的樣本。最佳選擇是用先前該活動的資料做訓練集,如果是新的活動,用先前相似的活動資料。

有時遇到這樣的情況,先前活動的號碼包是通過模型精選出來的,通常,這些號碼包不是整體的有效代表,不能直接用來做為新的模型的訓練樣本,當然如果這些號碼包占整體使用者的80%以上基本就沒問題。一種解決辦法是隨機選取樣本投放活動等待響應結果來構建模型,這種方法比較耗時耗力,通常不用;另一種方法是抽取部分未投放的號碼標記為非響應群體,這樣構建的模型雖然不是效果最優的,但卻能提升模型的泛化能力。

樣本多大合適?沒有標準答案,一般來說特徵越多,需要的樣本越大。我們建模一般有上百的特徵,訓練樣本會選擇幾十萬資料級。

當前計算機的計算能力已經提高了很多,抽樣並不是必須的,但抽樣可以加快模型訓練速度,而且用單機來做模型的話,抽樣還是很有必要的。通常目標使用者的佔比都很低,比如該產品某次活動的目標使用者佔比只有1‰,這樣資料是嚴重傾斜的,通常做法是保留所有目標使用者並隨機抽取部分非目標使用者,保證目標使用者佔比大於10%,在該產品營收模型訓練中,一般用目標使用者:非目標使用者=1:4。

四、資料清洗

瞭解資料特性是保證優質模型的第一步。資料清洗是最無聊最耗時但非常重要的步驟。包括髒資料、離群資料和缺失資料,這裡瞭解資料的先驗知識會有很大幫助。用箱線圖來發現離群點,這裡關於資料的先驗知識會有很大幫助。如果變數太多,不想花太多時間在這個上面,可以直接把髒資料和離群資料處理成缺失值。對於缺失值,先給缺失值建一個新變數來保留這種缺失資訊,連續變數一般用均值、中位數,最小值、最大值填充。均值填充是基於統計學中最小均方誤差估計。如果資料是高度傾斜的話,均值填充是較好的選擇。或用區域性均值填充,如年齡分段後所屬年齡段的均值。還可以用迴歸分析來填充,實際中用的比較少。分類變數一般用頻數填充。

五、特徵構造

已經有原始特徵,為什麼要進行特徵構造?特徵構造的必要性主要體現在發現最適合模型的特徵表現形式。

清洗工作之後,就可以進行特徵構造了,主要有3種特徵構造方法:彙總、比率、日期函式。

  • 彙總:如按天、周、月、年彙總支付金額,近三天、近7天、近14天、近21天、近31天聽歌/下載次數,統計使用者近一年累計在網月份等。
  • 比率:曝光點選轉化率、曝光支付轉化率、點選支付轉化率、人均支付金額、次均支付金額。
  • 日期衍生:首次開通服務距現在時長、最近一次到期時間距現在時長,到期時間距現在時長。
  • 轉換特徵:對原始連續特徵做平方、三次方、平方根、立方根、log、指數、tan、sin、cos、求逆處理。然後從所有轉換中選擇2個預測性最好的特徵。實際中,使用最多log處理。

邏輯迴歸本質上是線性分類器,將預測變數儘量線性化,雖然我們的特徵有連續變數和分類變數,模型訓練時會把所有變數當做連續變數。

連續變數可以直接用來訓練模型,但分段會使得變數更具有線性特徵,而且可以起到平滑作用,經驗表明分段後的特徵會提升模型效果。分段一般依據經驗劃分或先分為均等10段然後觀察各段中目標變數佔比來確定最終分段。如年齡分段主要基於常規理解,分為幼兒園、小學、初中、高中、大學、碩士、博士、中年、壯年、老年。

六、特徵選擇

特徵選擇的目的是要找出有預測能力的特徵,得到緊湊的特徵集。

特徵成百上千,對每一個變數進行深入分析並不是有效的做法,通過相關係數和卡方檢驗可以對特徵進行初步篩選。相關性強的特徵去掉其一,對每個特徵進行單變數與目的變數間的迴歸模型,如果卡方檢驗小於0.5,說明預測能力太弱,去掉該變數。

做過初步變數篩選後,用剩餘變數訓練模型,根據得到的迴歸係數和p值檢驗,剔除迴歸係數接近0和p值大於0.1的特徵,得到最終用於建模的特徵集。

特徵多少個合適?這個沒有標準答案,主要原則是保證模型效果的同時魯棒性好,並不是特徵越少,魯棒性越好。主要取決於市場,如果市場比較穩定,變數多一些會更好,這樣受單個變數變動的影響會較小;當然如果想用使用者行為來預測未來趨勢,變數少一些比較好。對我們做營收增長來說,模型特徵儘量簡化,這樣便於從業務角度進行解讀,便於跟老闆和產品同事解釋。

七、模型訓練和評估

前面花了大量時間來確定目標、準備特徵、清洗特徵。使用一些簡單的技術來過濾一些預測性弱的特徵。接下來,用候選特徵來訓練和驗證模型。

模型實現步驟:

1、 通過挖掘演算法獲取不同群體的差異特徵,生成模型用於分類。

2、 待分類使用者群通過分類器篩選出目標人群,形成標識和號碼包。

3、 使用者號碼包通過渠道進行投放,營銷活動正式在外網啟動。

4、 收集曝光、點選、成交資料用於評估模型效果,明細資料用於修正模型的引數。

5、 重複1——4

圖2

另外,活動投放參見組選擇很有必要,一般是依據產品經驗或隨機選取,參照組的效果一般不如模型選擇的,這會導致收入有所減少,有時很難說服產品,但對於對比、監控和檢驗模型效果來說很有必要。

該產品營收依據模型精細化運營以來,收效顯著,支付轉化率提升30%~150%。

最後致上一句名言:Your model is only as good as your data!

參考文獻

[1]. OP Rud. Data mining cookbook: modeling data for marketing, risk, and customer relationship management. 2001

[2]. https://zh.wikipedia.org/wiki/邏輯迴歸

 

來源:騰訊QQ大資料