上一篇文章寫了埋點以及基礎技術,本篇介紹埋點時常使用的事件模型。
一、事件模型
在傳統(tǒng)的web時代,我們經(jīng)使用pv、uv來統(tǒng)計某個頁面/沒有按鍵的使用情況(如umeng)。但隨著數(shù)據(jù)精細化,數(shù)據(jù)分析&產(chǎn)品迭代更期望深度分析用戶行為(新老用戶的行為差異、各渠道用戶轉化率)、推薦需要用戶粒度的行為數(shù)據(jù),但這些基于pv、uv無法得到,因而事件模型由此出現(xiàn)。
簡單來說,事件模型非常像5w2h,它通過(who,when,where,how,what) 記錄了誰在某個時間點、某個地方、用某種方式、做了某一件事情(某個行為)。who,when,where,how,what即是事件模型的五個要素。
Who:即誰參與了這個事件,唯一標識(設備/用戶id),可以是 匿名的設備id(idfa\idfv\android_id\imei\cookie)、也可以是后臺生成的賬戶id(user_id,uid)、也可以是其他【唯一標識】?,F(xiàn)在很多公司都有自己的唯一設備id,e.g.阿里有OneId。
When:即這個事件發(fā)生的實際時間。該時間點盡可能精確,有利于行為路徑分析行為排序,像神策會精確到毫秒。
Where:即事件發(fā)生的地點??梢酝ㄟ^ip地址解析國家、省份、城市;如果期望更細致的數(shù)據(jù),如果住宅、商業(yè)區(qū)等,需要額外地理信息數(shù)據(jù)庫來做匹配。
How:即用戶用某種方式做了這個事件,也可以理解為事件發(fā)生時的狀態(tài)。這個包括的就比較多,可以是進入的渠道、跳轉進來的上級頁面、網(wǎng)絡狀態(tài)(wifi\4g\3g)、攝像頭信息、屏幕信息(長x寬)等。而如使用的瀏覽器/使用的App,版本、操作系統(tǒng)類型、操作系統(tǒng)版本、進入的渠道等 經(jīng)常設置為“預設字段”。
What:即用戶做了什么,也是event模型的主題。這里應該盡可能詳細的描述清楚行為,如搜索(搜索關鍵字、搜索類型)、觀看(觀看類型、觀看時長/進度、觀看對象(視頻id))、購買(商品名稱、商品類型、購買數(shù)量、購買金額、 付款方式)等等。
二、事件模型對應埋點文檔
事件模型反映在埋點上報,即觸發(fā)一個事件時上報對應日志,記錄who,when,where,how,what。對應的統(tǒng)計文檔,即埋點文檔,在小型創(chuàng)業(yè)公司通常是excel來傳遞,有數(shù)據(jù)平臺部門的公司通常會有專門的維護后臺--埋點管理后臺,以同步埋點的增/刪/改。
上述所說的事件模型的埋點文檔通常會包括
1.事件類型,像“停/啟動”、“退出app”這種常規(guī)事件會設置為預設事件,將自動采集;而非預設事件則可以支持各種業(yè)務需求。
2.事件名稱(英文/中文),能夠準確描述事件,區(qū)別與其他事件,中文名可以用戶數(shù)據(jù)后臺顯示。
3.事件參數(shù)(英文/中文),能夠準確定義參數(shù),區(qū)別與其他事件,不同事件的相同參數(shù)盡量保持一致,中文名可以用戶數(shù)據(jù)后臺顯示。
4.參數(shù)值,備注合理參數(shù)的范圍,例舉參數(shù)的值。
5.類型,參數(shù)值記錄的類型。由于不同類型支持數(shù)據(jù)分析后臺查詢方式不同,比如文本類型可以選擇單個值,數(shù)值類型使用區(qū)間(大于、小于等),定義參數(shù)類型時切記考慮通用性、以及分析后臺的便利性。
6.新增時間(版本),新增該埋點的時間點。
7.刪除時間(版本),刪除該埋點的時間點。

三、日志上報。
剛有提到“事件模型反映在埋點上報,即觸發(fā)一個事件時上報對應日志,記錄who,when,where,how,what?!?相比行為打包上報(非實時數(shù)據(jù)),有效減少數(shù)據(jù)延遲/丟失比例。
非實時的日志上報sdk中,因上報策略不同,即使是同一指標,基于不同的sdk統(tǒng)計到的數(shù)據(jù)會有差異,常見問題:(1)延遲上報;(2)數(shù)據(jù)丟失。上報策略將會影響數(shù)據(jù)展示,使業(yè)務方懷疑數(shù)據(jù)可信度:如延遲上報的數(shù)據(jù),再次處理后會引起數(shù)據(jù)回流(e.g.第一天上報90%的行為,相應報表則會基于這90%統(tǒng)計展示;第二天再次上報5%前一天的數(shù)據(jù),相應報表則會基于95%統(tǒng)計展示;引起兩個時間點看到的數(shù)據(jù)不一樣。)
實時:用戶行為發(fā)生后立即上報;
非實時:當一系列的行為都發(fā)生后,打包上報、最常見的app退出/下次啟動時上報當次/上一次用戶行為。
當前的事件模型上報日志示例:

三、事件模型的分析應用
事件模型結合其主體(用戶/設備)的屬性信息可以支持各種分析模型(漏斗分析模型、留存分析模型、路徑分析模型、用戶分群模型)。
用戶屬性常記錄年齡、性別、職業(yè)、喜好等不易發(fā)生變化的。
1.事件分析&用戶分群模型:任一事件可以結合預設字段和用戶屬性來統(tǒng)計分析,如 18歲以下的女生在這個事件上的表現(xiàn);反之也可以得到任一時間在 屬性維度上的分布,如 這個事件觸發(fā)用戶的年齡分布、地域分布、機型分布等。
2.漏斗分析模型&用戶分群模型:分析一個多步驟過程中每一步的轉化與流失情況。結合用戶屬性,可以分析各維度的漏斗,以找到轉化低的瓶頸。例如.不同渠道的注冊漏斗,是否存在某個渠道在某個轉化過程中表現(xiàn)異常。
3.留存分析模型&用戶分群模型:進行初始行為的用戶中,有多少人還會進行該行為。結合用戶屬性,可以細分群體優(yōu)化增長、精細化運營活動。
新用戶留存:第一次訪問后繼續(xù)訪問的用戶占比。
xxx行為留存率:進行xxx行為的用戶中,有多少人還會進行xxx行為,通常來衡量某個功能的用戶粘度
xxx行為后,做yyy行為:進行xxx行為的用戶中,有多少人會進行yyy行為。eg.第一天加入購物車的用戶中,在第二天付款的占比。
4.路徑分析模型&用戶分群模型:則可以清晰的看到訪問當前頁面的所有用戶中,緊接著有多少進入了詳情頁、有多大比例使用了xx/yy功能、有多大比例進入了分類頁面。結合不同屬性的用戶在路徑分析模型上的差異點、待優(yōu)化點。
四、事件模型的其他應用
1.可視化/報表展示
2.數(shù)據(jù)分析
3.實時推薦
4.ab測試