克拉克拉:基於阿里雲PAI實現渠道ROI投放預測系統
作者:阿里雲MVP 田亮
瞭解更多:
克拉克拉(KilaKila):借力阿里雲快速構建短視訊推薦系統
業務背景
克拉克拉(KilaKila)是國內專注二次元、主打年輕使用者的娛樂互動內容社群軟體。KilaKila推出互動語音直播、短視訊、對話小說等功能,滿足當下年輕使用者個性化、碎片化的文娛需求。APP產品在面對新使用者獲取問題,普遍選擇渠道推廣模式。在推廣過程中為了使用者下載到安裝啟用的高轉化率,需要實時監控各推廣渠道的質量。我們將渠道質量抽象成一個財務模型,即“投入產出比值”,較為理想狀態是投入產出比大於等於1。
為解決以上業務需求,我們決定搭建一個迴歸預測系統。該系統可預測某一渠道未來一段時間後的收益,用預測收益與每日渠道投入做比值,也就是ROI指標。利用ROI指標來衡量渠道質量,最終決定當日哪些渠道可“投”,哪些渠道應該“停止”投放。
技術選型
面對渠道ROI業務,在研發資源選型上我們的主要考慮因素是如何利用已有技術方案快速實現專案落地。通過調研與資源對比,阿里雲相關元件(OSS、OTS、MaxCompute、PAI)均滿足要求且開發效率較高。
阿里雲機器學習平臺是構建在阿里雲MaxCompute(原ODPS)計算平臺之上,集資料處理、建模、離線預測、線上預測為一體的機器學習平臺,可以提供一站式服務。這加速了我們實現ROI離線預測服務的快速落地。
訓練集資料構建
▲圖一 阿里雲MaxCompute
基於MaxCompute 通過SQL指令碼跑出所選取的幾十個特徵資料,這裡我們選取了一年資料來做訓練。
注:克拉克拉早期基於MaxCompute構建了龐大且完善的資料倉庫,使用者行為日誌會實時收集到MaxCompute數倉中。
模型訓練
我們使用阿里雲PAI進行模型訓練,左邊滑動欄裡包含了各種演算法包和工具元件,其中包括資料預處理、特徵工程、機器學習各種演算法等。首先,通過讀資料表(MaxCompute)的方式獲取經預處理後訓練資料,其中11個月曆史資料做模型訓練,餘下一個月的資料用來做測試資料集。在面對髒資料或無效資料等問題,我們採用方案是資料清洗和缺失值填充。渠道ROI本質上是一個迴歸問題,影響渠道未來收益值結果的因素有很多。基於阿里雲PAI平臺中的線性迴歸演算法非常適合解決ROI業務場景,以下為線性迴歸演算法模型的訓練流程以及模型引數配置。
▲圖二:阿里雲機器學習(PAI)平臺,線性模型
▲圖三:線性模型引數設定
離線模型部署
在ROI預測模型完成後,可將該模型部署為定時任務(小時,天,周等)。這裡我們部署的預測週期為小時級別,即每小時會根據最新日誌進行收益預測。該預測流程為基於MaxCompute定時跑出每小時新增日誌的渠道預測值,該預測值可解決新渠道的收益預測,也可為已有渠道預測值的更新。 最後該預測值會同步到前端系統MySQL資料庫中使用。
注:使用MaxCompute SQL指令碼,有效提升訓練和預測效率。中間結果均儲存在資料表,可隨時細節回顧與分析。在研發過程中,SQL解決99%計算問題。
▲圖四:ROI預測模型
▲圖五:渠道預測
▲圖六:渠道投放系統
專案總結
經渠道運營工作人員實際使用驗證後,7日預測值、30日預測值、100日預測值等指標均滿足業務預期,預測準確率達95%。該專案上線後不但有效減少以往的渠道運營資料分析工作,而且可快速實現了渠道質量對比與成本分析。在投放機制上也由人工決策轉為自動化決策。