關(guān)于網(wǎng)站埋點(diǎn)日志統(tǒng)計(jì)分析的原型思考與設(shè)計(jì)
?數(shù)據(jù)埋點(diǎn)是一種常用的數(shù)據(jù)采集方法,方便產(chǎn)品/運(yùn)營系統(tǒng)性的統(tǒng)計(jì)分析復(fù)雜的用戶數(shù)據(jù)。我們在App端所設(shè)置的自定義事件,就是通過數(shù)據(jù)埋點(diǎn)的方式,實(shí)現(xiàn)對用戶行為的追蹤,以及記錄行為發(fā)生的具體細(xì)節(jié)。在網(wǎng)站日益成熟后,管理者可通過統(tǒng)計(jì)分析數(shù)據(jù)來獲取網(wǎng)站使用情況。如何全面、完整地統(tǒng)計(jì)網(wǎng)站的訪問情況和運(yùn)行情況需要產(chǎn)品經(jīng)理結(jié)合業(yè)務(wù)進(jìn)行深層次的思考。
一、前置工作
1. 全面記錄系統(tǒng)日志
日志記錄的完整性決定了后續(xù)統(tǒng)計(jì)的數(shù)據(jù)來源。日志記錄一般需要記錄用戶的操作、業(yè)務(wù)線、訪問模塊、操作說明、操作時(shí)間、響應(yīng)時(shí)間、數(shù)據(jù)來源、異常說明等信息。
其中,訪問UA又可進(jìn)一步解析,從中提取出使用的操作系統(tǒng)、瀏覽器和設(shè)備型號(hào),便于后續(xù)更好地維護(hù)。
日志記錄不僅僅從用戶的操作層面去記錄,更要從業(yè)務(wù)線的角度進(jìn)行記錄,在涉及到業(yè)務(wù)的統(tǒng)計(jì)時(shí)僅靠操作日志是難以出結(jié)果的,具體的業(yè)務(wù)線需要產(chǎn)品經(jīng)理進(jìn)行定義。
比如用戶提交一個(gè)事件,以事件為單位,記錄該事件的提交時(shí)間,審核時(shí)間、處理時(shí)間、辦結(jié)時(shí)間、反饋時(shí)間等。記錄全流程的過程,可統(tǒng)計(jì)辦結(jié)率、平均辦理時(shí)間等,這就是從業(yè)務(wù)的角度去記錄。
2. 日志存儲(chǔ)和讀取方式
日志的數(shù)據(jù)量大,通常以TB為單位,那么如何存儲(chǔ)這么大的數(shù)據(jù)量,如何在大數(shù)據(jù)中讀取數(shù)據(jù)并解析是需要提前考慮的問題。
目前市面上主流的處理方式是使用Hadoop進(jìn)行處理。
3. 日志解析和清洗
日志一般獲取到的形式為一長串的字符。需要從中提取出有效信息,才能方便后續(xù)的統(tǒng)計(jì)。所以要將UA解析為結(jié)構(gòu)化的日志模板和參數(shù)。
比如UA為Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0 ,可以解析出瀏覽器、渲染引擎、操作系統(tǒng)、設(shè)備型號(hào)和CPU信息。
同樣的,訪問失敗日志也需要從報(bào)錯(cuò)信息中解析出相關(guān)的信息。
數(shù)據(jù)清洗是將數(shù)據(jù)中一些臟數(shù)據(jù)、缺失數(shù)據(jù)進(jìn)行處理。具體包括去除重復(fù)數(shù)據(jù)、填補(bǔ)缺失值、處理異常值和轉(zhuǎn)換數(shù)據(jù)格式等操作,是為了提高后續(xù)統(tǒng)計(jì)的準(zhǔn)確性和可靠性。也是數(shù)據(jù)預(yù)處理中重要的一環(huán)。
4. 日志應(yīng)用
日志的記錄目的在于運(yùn)維和系統(tǒng)分析。
一方面是對運(yùn)維來說,能夠快速定位到用戶操作,通過對用戶操作的日志分析,可以得出操作失敗的原因?;蚰M用戶的訪問環(huán)境進(jìn)行模擬登錄,還原用戶訪問失敗的場景。
另一方面,可用于系統(tǒng)分析,統(tǒng)計(jì)不同時(shí)間段的訪問量、訪問人數(shù)、不同應(yīng)用的訪問量和人數(shù)、較同期、上期的對比數(shù)據(jù)等。從統(tǒng)計(jì)的數(shù)據(jù)中得出某些結(jié)論從而反哺于系統(tǒng)是我們的終極目的。比如根據(jù)用戶的使用系統(tǒng)時(shí)間段高峰期可以預(yù)測用戶的集中使用系統(tǒng)時(shí)間,在該時(shí)間段內(nèi)加強(qiáng)系統(tǒng)監(jiān)控,提高其穩(wěn)定性高,減少系統(tǒng)更新,都有助于優(yōu)化用戶的使用感受,提高口碑。
還可以根據(jù)系統(tǒng)的訪問情況得出最好用的某業(yè)務(wù)以及最難用的業(yè)務(wù),取長補(bǔ)短,進(jìn)行分析改進(jìn)。根據(jù)用戶的訪問習(xí)慣對用戶進(jìn)行畫像分析,得出用戶感興趣的某些領(lǐng)域,并推薦相關(guān)聯(lián)的信息。
從日志信息中能挖掘的的信息很多,具體要看產(chǎn)品經(jīng)理如何去分析,最好是有大數(shù)據(jù)相關(guān)背景的人士進(jìn)行指導(dǎo)和討論,結(jié)合具體的業(yè)務(wù),才能最大程度地發(fā)揮日志的作用。下面會(huì)展開講具體的統(tǒng)計(jì)維度和分析角度。
二、系統(tǒng)統(tǒng)計(jì)
1. 統(tǒng)計(jì)概況
常見的統(tǒng)計(jì)包括瀏覽量、獨(dú)立訪客、IP、訪客次數(shù)、新獨(dú)立訪客數(shù)、平均訪問時(shí)長、人均瀏覽頁數(shù)、平均訪問深度,跳出率,以下是上述統(tǒng)計(jì)項(xiàng)的具體定義和算法,用戶可根據(jù)自己的系統(tǒng)和統(tǒng)計(jì)項(xiàng)進(jìn)行取舍。同時(shí)要確定統(tǒng)計(jì)的時(shí)間維度,一般來說,會(huì)有四個(gè)統(tǒng)計(jì)維度,按日,按周,按月,按年,且統(tǒng)計(jì)時(shí)間一般截止到昨天的24:00,今日的數(shù)據(jù)要明日才能統(tǒng)計(jì)出來。以下是一些常見的統(tǒng)計(jì)項(xiàng)的定義和算法。
1)瀏覽量/瀏覽次數(shù)(PV)
即通常說的PV(PageView)值,選定時(shí)間段內(nèi)訪客訪問應(yīng)用的頁面總次數(shù)。訪客每打開一個(gè)頁面被記錄一次,同一頁面打開多次瀏覽量值累計(jì)計(jì)算。
2)獨(dú)立訪客(UV)
即通常說的UV(Unique visitor)值,一天之內(nèi)訪問應(yīng)用的獨(dú)立訪客數(shù)(以Cookie或設(shè)備ID為依據(jù)),一天內(nèi)同一訪客多次訪問應(yīng)用只計(jì)算為一個(gè)訪客。選定時(shí)間段內(nèi)的訪客數(shù)為時(shí)間段內(nèi)的每一天訪問應(yīng)用的獨(dú)立訪客數(shù)的累計(jì)值。
3)IP
一天之內(nèi)訪問應(yīng)用的獨(dú)立IP數(shù),一天內(nèi)同一IP多次訪問應(yīng)用只計(jì)算為一個(gè)IP。選定時(shí)間段內(nèi)的IP數(shù)為時(shí)間段內(nèi)的每一天訪問應(yīng)用的獨(dú)立IP數(shù)的累計(jì)值。
4)訪問次數(shù)
選定時(shí)間段內(nèi)訪客訪問應(yīng)用的總次數(shù)。訪客首次訪問或距離上次訪問超過30分鐘再次訪問會(huì)被記錄為一個(gè)新的訪問。
5)新獨(dú)立訪客
當(dāng)日的獨(dú)立訪客中,歷史上首次訪問網(wǎng)站的訪客為新獨(dú)立訪客。
6)平均訪問時(shí)長
選定時(shí)間段內(nèi)訪客訪問應(yīng)用的平均時(shí)長。
訪客的單次訪問中,訪問的總時(shí)長為打開第一個(gè)頁面到退出或關(guān)閉最后一個(gè)頁面的時(shí)間差。
平均訪問時(shí)長=訪問總時(shí)長 / 訪問次數(shù)
7)人均瀏覽頁數(shù)
平均每個(gè)獨(dú)立訪客產(chǎn)生的PV。體現(xiàn)網(wǎng)站對訪客的吸引程度。
人均瀏覽頁數(shù)=瀏覽次數(shù)/獨(dú)立訪客
8)平均訪問深度
平均每次訪問(會(huì)話)產(chǎn)生的PV。體現(xiàn)網(wǎng)站對訪客的吸引程度。
平均訪問深度=瀏覽次數(shù)/訪問次數(shù)
9)跳出率
只瀏覽一個(gè)頁面就離開或關(guān)閉應(yīng)用的訪問次數(shù)占總訪問次數(shù)的百分比。
跳出率=跳出次數(shù) / 總訪問次數(shù) * 100%
除了統(tǒng)計(jì)上述的數(shù)據(jù)項(xiàng)之外,還可以進(jìn)行同期數(shù)據(jù)的對比,使得數(shù)據(jù)項(xiàng)的變化更直觀。如果要顯示今日的數(shù)據(jù),則刷新功能必不可少,因?yàn)槿罩镜慕y(tǒng)計(jì)是實(shí)時(shí)的,在頁面加載完成后還會(huì)有數(shù)據(jù)的更新。
2. 應(yīng)用統(tǒng)計(jì)
日常的統(tǒng)計(jì)按應(yīng)用角度來。范圍廣到細(xì)可根據(jù):按應(yīng)用,按模塊、按內(nèi)容三級來統(tǒng)計(jì)。應(yīng)用統(tǒng)計(jì)是比較籠統(tǒng)的統(tǒng)計(jì),看的是整體的數(shù)據(jù),這個(gè)應(yīng)用的整體趨勢和使用情況。統(tǒng)計(jì)項(xiàng)可以包括PV、UV、IP、訪問時(shí)長以及一些同比環(huán)比數(shù)據(jù)等。并且可以統(tǒng)計(jì)一些常見的業(yè)務(wù)數(shù)據(jù)。
某一應(yīng)用再按功能可細(xì)分為二級模塊、三級模塊…按需再往下統(tǒng)計(jì)具體二三級模塊的訪問數(shù)據(jù)。
模塊下某些上新的新功能也可做埋點(diǎn),統(tǒng)計(jì)使用情況。比如上新了智能查重功能,就可以統(tǒng)計(jì)上線以來的使用次數(shù),最后用該功能提交的文章,從而統(tǒng)計(jì)使用率。
按內(nèi)容統(tǒng)計(jì)是最細(xì)分的一個(gè)統(tǒng)計(jì)。這個(gè)需要涉及到業(yè)務(wù)的分析。比如一個(gè)討論群中的人數(shù)、發(fā)言帖子數(shù)。一篇文章的點(diǎn)擊量、瀏覽量、點(diǎn)贊數(shù)和收藏?cái)?shù)。這些都是精確到某一具體內(nèi)容。
統(tǒng)計(jì)可根據(jù)不同的數(shù)據(jù)進(jìn)行升序降序排序,統(tǒng)計(jì)的時(shí)間維度也是按日、按周、按月、按年。
3. 按租戶統(tǒng)計(jì)
SaaS系統(tǒng)會(huì)有多個(gè)租戶,系統(tǒng)的內(nèi)容包括統(tǒng)建應(yīng)用和個(gè)性化應(yīng)用。那么可以根據(jù)這兩個(gè)方面去進(jìn)行統(tǒng)計(jì)。
統(tǒng)建應(yīng)用統(tǒng)計(jì)不同租戶下應(yīng)用的訪問量、訪問人數(shù),同比數(shù)據(jù),然后一些應(yīng)用的業(yè)務(wù)數(shù)據(jù),比如提交文章數(shù),發(fā)布帖子數(shù)、討論數(shù)等。從中可看出哪個(gè)租戶的使用情況最活躍。對使用不活躍的租戶進(jìn)行回訪,了解具體情況。
個(gè)性化應(yīng)用需提前定義好需要統(tǒng)計(jì)的內(nèi)容,同樣也是統(tǒng)計(jì)應(yīng)用的訪問量、訪問人數(shù),訪問IP數(shù)、新用戶數(shù)、平均訪問時(shí)長,同比數(shù)據(jù)和一些應(yīng)用的業(yè)務(wù)數(shù)據(jù)。具體的統(tǒng)計(jì)項(xiàng)從上文的【常見的統(tǒng)計(jì)項(xiàng)】中去定義。個(gè)性化應(yīng)用中使用得比較好的應(yīng)用也可以考慮升級為統(tǒng)建的產(chǎn)品,擴(kuò)大適用范圍。
活躍用戶數(shù)、留存用戶數(shù)這兩項(xiàng)也是考察系統(tǒng)使用情況的重要指標(biāo)之一?;钴S用戶數(shù)可根據(jù)登錄次數(shù)來定義,日活、月活的定義具體看系統(tǒng)的使用情況。比如有些系統(tǒng)定義一天登錄一次,登陸時(shí)間超過30min就為日活躍用戶。一個(gè)月登錄3次,登陸時(shí)長超過2h就為月活用戶。
4. 按設(shè)備統(tǒng)計(jì)
按設(shè)備統(tǒng)計(jì)主要是統(tǒng)計(jì)用戶終端類型、操作系統(tǒng)、瀏覽器、分辨率、訪問地區(qū)。用戶的終端類型包括移動(dòng)端設(shè)備和非移動(dòng)端設(shè)備,操作系統(tǒng)包括Windows7、Windows10、Windows11、Linux、Mac OS…,瀏覽器包括360、火狐、谷歌、Safari、搜狗…,分辨率包括1920*1080、1600*900、1536*864…訪問IP地區(qū)包括北京市、上海市、河南省、河北省…。統(tǒng)計(jì)這些維度主要是為了了解用戶的使用習(xí)慣,把系統(tǒng)做得更適配。
5. 異常數(shù)據(jù)統(tǒng)計(jì)
異常數(shù)據(jù)主要涉及到上網(wǎng)異常情況、訪問失敗日志、系統(tǒng)漏洞攻擊、報(bào)警通知四方面。上網(wǎng)異常情況包括流量激增、用戶激增、某一功能點(diǎn)擊數(shù)激增,在監(jiān)測到異常訪問請款時(shí)要根據(jù)實(shí)際情況來進(jìn)行分析。
訪問失敗日志主要包括訪問的用戶、失敗的業(yè)務(wù)模塊、功能、訪問失敗的原因、報(bào)錯(cuò)返回的信息等。系統(tǒng)漏洞的和攻擊需要進(jìn)一步根據(jù)情況設(shè)計(jì)。在系統(tǒng)出現(xiàn)上述異常情況時(shí),可設(shè)置自動(dòng)發(fā)送短信功能,及時(shí)通知負(fù)責(zé)人員進(jìn)行問題的排查,減輕危害。
三、數(shù)據(jù)挖掘與分析
數(shù)據(jù)的挖掘與分析是日志的最后歸口和產(chǎn)出。如何在海量的數(shù)據(jù)中挖掘出有用的信息,提高產(chǎn)能和效率是最考驗(yàn)產(chǎn)品經(jīng)理的一件事。
我們都聽過啤酒和尿布的故事,20世紀(jì)90年代,在美國有嬰兒的家庭中,購買尿布的任務(wù)往往由年輕的父親負(fù)責(zé),他們會(huì)在買尿布時(shí)順帶為自己購買啤酒。沃爾瑪超市嘗試將啤酒與尿布擺放在相同的區(qū)域,并通過一次銷售兩件商品而獲得更好的銷售收入。對購買信息進(jìn)行數(shù)據(jù)分析,得出尿布和啤酒的線性關(guān)系,就是一種典型的數(shù)據(jù)挖掘與分析。
本文只討論一些簡單的分析方法,具體內(nèi)容還需具體分析。
1. 可視化展示
在文章的第二章節(jié),提到了許多的統(tǒng)計(jì)維度,展示的方式不僅僅局限于表格,適合的方式展示會(huì)事倍功半。趨勢圖可以查看系統(tǒng)的使用趨勢,根據(jù)時(shí)間來觀察用戶使用頻率高的時(shí)間。
活躍度情況可以用棋盤格來顯示,在GitHub中非常常見。
也可用圖表結(jié)合的方式對統(tǒng)計(jì)數(shù)據(jù)進(jìn)行展示,統(tǒng)計(jì)圖是展示分類和趨勢,表格展示具體信息,結(jié)合起來會(huì)效果更好,能反映的數(shù)據(jù)信息也更多。
2. 分析反饋,優(yōu)化系統(tǒng)
系統(tǒng)的分析反饋是滲透在統(tǒng)計(jì)中的,這需要產(chǎn)品經(jīng)理有一雙智慧的眼睛。
比如系統(tǒng)的訪問日志中,有可能出現(xiàn)訪問的周期性,那么根據(jù)用戶習(xí)慣在訪問頻率高的時(shí)候推送一些爆點(diǎn)新聞,可提高用戶的留存率和用戶粘性。系統(tǒng)的報(bào)錯(cuò)日志統(tǒng)計(jì)出報(bào)錯(cuò)最多的前三的應(yīng)用,每月進(jìn)行整改。新上線應(yīng)用使用率高,則應(yīng)大規(guī)模推廣,使用率低考慮功能是否便利,解決了用戶的問題。
這些都是可以通過系統(tǒng)的統(tǒng)計(jì)分析出來的,設(shè)置分析的規(guī)則需要根據(jù)具體的業(yè)務(wù)來。
3.用戶畫像(分析用戶特征)
用戶畫像則是對用戶的一些使用習(xí)慣進(jìn)行分析,常見的方式有貼標(biāo)簽,特長。
比如很多應(yīng)用注冊時(shí)會(huì)要求用戶選擇感興趣的領(lǐng)域。系統(tǒng)也可根據(jù)用戶的訪問內(nèi)容的標(biāo)簽進(jìn)行相關(guān)聯(lián),用戶查看過某一新領(lǐng)域后嘗試推送該領(lǐng)域的熱門內(nèi)容,如果繼續(xù)點(diǎn)開,或者點(diǎn)開率達(dá)到50%及以上,那么可為該用戶推薦該領(lǐng)域的相關(guān)內(nèi)容并打標(biāo)簽。標(biāo)簽的分類可包括手動(dòng)選擇,自動(dòng)選擇。
比如在知識(shí)領(lǐng)域。定義為五個(gè)模塊,知識(shí)創(chuàng)作,知識(shí)獲取,知識(shí)沉淀,知識(shí)傳播和知識(shí)協(xié)作。知識(shí)獲取可定義為下載、瀏覽文件、查詢文件,知識(shí)創(chuàng)作可定義為編輯、上傳文件。
知識(shí)傳播可定義為轉(zhuǎn)發(fā)文件,知識(shí)協(xié)作可定義為共享文檔的編輯,知識(shí)沉淀可根據(jù)用戶在線查看文檔的時(shí)長來定義。不同的維度設(shè)置定義的角度,為用戶生成畫像。
4. 故障預(yù)測(時(shí)間序列)
根據(jù)故障出現(xiàn)的周期性可對故障進(jìn)行預(yù)測。防范于未然。統(tǒng)機(jī)器學(xué)習(xí)方法如何應(yīng)用于時(shí)間序列預(yù)測,包括循環(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、Transformer、自回歸模型、狀態(tài)空間模型、支持向量機(jī)和隨機(jī)森林等。故障的預(yù)測優(yōu)先于故障的處理,減少故障發(fā)生的頻率。
四、結(jié)語
埋點(diǎn)日志的統(tǒng)計(jì)維度非常多,統(tǒng)計(jì)的內(nèi)容也很多。本文只是根據(jù)作者所在行業(yè)的系統(tǒng)做的一些思考。還有很多內(nèi)容可以進(jìn)行統(tǒng)計(jì),比如業(yè)務(wù)辦結(jié)率,地區(qū)貫通率等等。
在設(shè)計(jì)統(tǒng)計(jì)分析內(nèi)容之前一定要做好前置工作,不然真正做起來的時(shí)候各種數(shù)據(jù)的缺失會(huì)讓工作前功盡棄。
其次,每個(gè)數(shù)據(jù)項(xiàng)的統(tǒng)計(jì)規(guī)則一定要定義好,跟開發(fā)盡可能多地溝通交流。希望大家能根據(jù)自己工作的內(nèi)容來做統(tǒng)計(jì)與分析,歡迎評論區(qū)交流想法!
本文由 @汪仔1805 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!