應用統計平台架構設計:智能預測APP統計資料

來源:互聯網
上載者:User

標籤:註冊   row   ext   ffffff   位置   安全   相容   MF   pod   

作者董霖,個推進階技術總監。

前言:近期,智能巨量資料服務商“個推”推出了應用統計產品“個數”,今天我們就和大家來談一談個數即時統計與AI資料智能平台整合架構設計。

很多人可能好奇,擁有數百億SDK的個推,專註訊息推送服務多年,現在為什麼要做應用統計?畢竟市面上已經有非常多的類似產品了。我認為答案是“天時地利人和”。

首先是天時。目前,互連網行業已發展到了所謂的“下半場”甚至是“加時賽”,運營工作走向精細化,DAU和效果被放到第一位,從業者們也逐步認識到資料最佳化及使用良好的模型的重要性。

其二是地利。個推經過多年的積累,擁有了堅實的資料基礎;另外,個推基礎架構也非常成熟,並在諸多垂直領域實實在在提供了很多資料服務。

第三是人和。內部的研發人員在實戰中積累了豐富的經驗,公司與外部應用開發人員和夥伴建立了長期緊密的聯絡。

正是在這樣的背景下,我們推出了這一款應用統計產品“個數”。

前段時間流行的詞彙是“growth hacker”,而現階段,單純的使用者增長已經無法滿足發展,公司及產品的思考點都在於“效果”。相比於其他統計產品,個數產品的靈魂是運營,即圍繞著核心KPI,保持應用的活躍度,提高整體的收益。

安全、準確、靈活的資料能夠保證運營工作的有效開展;而承載資料的平台則需做到高並發、高可用、高即時;SDK作為基礎,其核心在於包的體積足夠小,並且整合方便,能夠快速運行。這樣一個從上到下的金字塔,構建起了個數產品。

四大核心能力,打造智能化統計

首先,即時的多維統計是整個應用統計的基礎功能。其中,穩定與即時是兩大關鍵;在顆粒度方面,頁面級統計最適合運營者。

第二部分是資料整合。利用個推的巨量資料能力,我們能夠提供獨特的第三方視角,協助應用認清自身,並找到它在行業內的地位。

第三部分是自動建模預測。這是個數非常獨特的功能點。我們希望通過一整套解決方案,協助應用開發人員真正體驗到模型的價值,並通過實際資料反饋,不斷最佳化改進產品。

第四部分是精準推送。個推最廣為人知的能力就是推送服務,而將應用內的統計資料與推送系統有效整合,能夠輔助更加精細化的運營。

技術架構:業務域+資料域


個數的整體架構分為業務域與資料域。其中,資料域分為三個層面:資料閘道層、資料業務層和資料平台層。

資料閘道層主要做業務層與資料層之間的承載,包括Kafka叢集與API Gateway,使得上下資料互連。資料業務層部分主要基於特定業務的研發工作,由於這部分工作不在平台間通用,因而是獨立的一層。在這一層下,產品根據功能的不同配置了若干個獨立的Hadoop叢集,同時把核心能力封裝成公用服務,提供給業務研發人員使用。

業務域部分包括了傳統的微服務及相應的儲存模組。

第一,這兩層之間的資料防火牆非常重要,二級資料防火牆可確保系統內部資料的有效隔離。

第二,資料域的分層。對此,個數架構上設立的三層對應三個不同的職能團隊,資料網管層—資料營運,資料業務層—業務線的研發團隊,資料平台層—資料部門,這樣的職能劃分可以有效提升業務線產品研發效率。

第三,叢集資源的隔離。業務線的開放叢集需要通過資源劃分的方式,實現資源的隔離。此外,隔離GPU計算叢集資源也是非常有必要的。

第四,即時與離線的兼顧。在開發時,無論是何種產品,我們始終需要把即時和離線兩種情況考慮在內。

最後,資料儲存。業務線、資料層、平台層都要有相應的資料儲存。此外,應通過合理的規劃,確保每一類資料存放在合適的位置。

即時多維統計架構解析

Mobile API從SDK收集到上報的資料,以檔案形式Log儲存下來,通過Flume進入到Kafka,接下來通過即時與離線兩條路進行處理,最後通過資料API封裝提供給上層的業務系統使用。

在離線統計方面,個數可支援到小時層級。同時,我們會全流程監控資料的流轉情況,當出現資料丟失或者延遲等情況時,確保第一時間監測到。

在這裡需要補充幾個關鍵的、需要解決的點:使用者去重、頁面的唯一性標識、多維度統計的處理策略,以及保證資料在各個環節中不丟失。

資料整合,提供多維指標

個推擁有強大的巨量資料能力,可以為應用統計產品提供豐富的資料維度。

首先,裝置指紋。目前行動裝置存在相容性混亂等問題,個推則通過為應用打上唯一的裝置ID標識來解決這個問題。

第二,以第三方視角提供應用留存、安裝、卸載,活躍等中立的分析資料。

第三,使用者畫像。無論是性別、年齡段等靜態標籤,還是興趣愛好等標籤,都可通過個推的大資料平台獲得。

自動建模預測&模型評估

一個標準化的建模工作大體包含以下幾個步驟:首先選取一批正負樣本使用者;然後對其進行特徵補全,把無關特徵進行降維操作;之後,選擇合適的模型進行訓練,這也是一個非常消耗CPU的過程;接下來是目標預測,我們需要整理或補齊目標使用者的所有特徵,再將資料投入模型中,獲得預測結果;最後是模型評估。模型評估之後,再進行下一個迭代調整,迴圈往複。


在建模環節,即時性是需要考慮的重要因素之一。最傳統的離線訓練是很常規的建模方式。預測可以選擇高效能的離線方式,但它的缺點是反饋太慢,有可能導致結果出來之前沒有其他的機會實施運營方案,因而我們需要提供更即時的預測功能。比如使用者新安裝或完成某個操作之後,系統即時獲得預測結果,並立即進行運營幹預。

最後是即時訓練,從我個人的角度來看,這是未來發展的一個方向。


對於整個建模的基礎架構,毫無疑問我們選擇了tensorflow,目前主流的模型都可以在tensorflow下實現。它擁有諸多優點:支援分布式部署,可並發、整合擴充,可支撐叢集Serving,能夠以API形式提供模型服務……因而它非常適合預測服務的技術架構。


離線建模過程如下:資料落到HDFS之後,先通過Azkaban進行任務調度,資料清洗後把應用內的統計資料收集匯總,接下來將個推擁有的巨量資料能力與之進行整合,形成整體的資料Cube輸入到TF叢集,TF叢集會根據預測事件的配置,綜合進行模型訓練,最後輸出結果。

目標預測實現方案相對簡單,只需要把模型匯入到tensorflow的Serving叢集即可。預測結果再通過DAPI封裝出來,給到上層業務層調用。

目標預測首先要進行特徵補全。這項工作極富挑戰,需要針對每一個新使用者的要求儘快預測並完美地補全特徵。

第二部分是預測結果。預測最終得到的是機率值,我們需要去評估機率值是否處在合理範圍內,機率分布是否符合我們的預期。如果不達標,我們就需要重新評估這個模型,或者認為預測是失效的。

第三部分是tensorflow叢集。通過容器化部署,可以將預測服務部署到獨立的Pod上。根據不同的即時性要求,個數可通過API的形式提供對外服務,也可以提供即時回調。

模型評估是預測的關鍵步驟,評價體系不完備可能直接導致最後的結果不可用。

精確度與召回率,這兩個與預測準確度相關的基礎指標是需要重點關注的。由於精確度與閾值相關,我們也支援開發人員自主調整。

Lift也是一項重要指標,它反映了我們的預測能夠產生多大的效果提升。顯而易見,篩選的人群比例越大,提升的比例會逐漸遞減。具體應用的時候,我們需要根據情境或需求來選擇一個合理的值。

ROC與AOC,這兩個指標作為模型整體評估指標,用於評估在不同閾值下模型的表現。為提升模型的區分能力,我們勢必會追求AOC最大化。AOC值是一個定量的指標,適合做模型的持續監控。此外,對模型做每日評估也是必要的,如果AOC值不能夠達到預期,我們可以及時選擇其他模型。

在監控方面,首先要確保測試使用者的選擇足夠隨機。我們每天會選擇一批測試使用者來驗證模型的效果,然後評估準確率、召回率以及AOC。除了內部校正,我們也會把這個指標提供給開發人員。同時,緩衝預測結果的曆史資料,可以輔助每天的效果評估。

精準推送整合,增能實際情境

應用內埋點資料和預測結果可以通過個數傳遞到推送系統,方便開發人員在推送環節直接以人群包的形式選擇目標使用者,或者下載這個人群包,上傳到廣點通等平台做廣告投放。

個數Roadmap
個數產品在5月份已經正式對外開放,大家可以在http://www.getui.com/cn/geshu.html 自由註冊並使用。模型預測功能目前處於測試階段,我們希望到Q4時,能夠正式把能力對外開放出來,協助大家認識模型、使用模型,並享受模型帶來的價值。

應用統計平台架構設計:智能預測APP統計資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.