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