產品汪天天都在和數據打交道,你知道數據來自哪裏嗎?session
移動app端內的用戶行爲數據大多來自埋點,瞭解一些埋點知識,能和數據分析師、技術侃大山,參與到前期的數據採集,更重要是讓最終的埋點數據能爲我所用,不然可憐巴巴等上幾個月是常有的事。app
根據埋點方式,能夠區分爲:測試
秉承「任何事物都有兩面性」的道理:自動程度高的,能解決通用統計,便於統一化管理,但個性化定製需求難知足,成本較低;偏手動的,能知足個性化需求,但容易出錯和疏漏,成本較高。ui
上報方式:spa
客戶端能記錄一些通用頁面PV、UV、點擊等信息,但更多細節沒法覆蓋,用戶購買了什麼、訂單金額、成交單數,用戶看了哪一個視頻、視頻物理時長是多少等信息則須要服務端回傳,服務端上報有上線靈活、不隨版本、丟失率較低的優勢。3d
客戶端上報埋點數據流轉以下圖:視頻
(客戶端上報埋點數據流轉)blog
埋點在個性化推薦系統(詳見下一篇推送)中扮演着先頭兵的角色,採集的數據的準確性將直接影響策略方向。事件
因爲不一樣端的用戶具備不一樣用戶特徵,每每會有不一樣的作功點,所以,採集數據時須要區分端數據,能夠經過app_id區分產品不一樣端,如iOS、Android、iPad、PC各端。開發
若是做爲數據分析師,思考角度較高,輸出的埋點須要有「可擴展、可維護、易用性、高效性」,字少事大的典型。產品汪可下降要求,只要能看懂埋點文檔,正確提出埋點需求、知道哪些數據對應哪些埋點便可。
(埋點文檔示例)
根據場景,同一屬性的行爲每每會歸爲同一類埋點,成爲「同一事件」,同一事件下會有相應的擴展字段來承接相關的細節信息。
以資訊app(現在日頭條、騰訊新聞、網易新聞)爲例,按漏斗思惟和用戶的行爲路徑拆解,有哪些數據可能須要獲取?
打開APP人數(客戶端登陸損耗)->首頁/欄目訪問人數(訪問佔比)->刷新或點擊人數(刷新或點擊人數佔比)->點擊人數(點擊率)->閱讀時長/停留時長(讀完率、閱讀進度)->跟帖/收藏/分享等互動行爲(互動率)->迴流人數(迴流率、病毒傳播係數)
以上環節怎麼對應上埋點?
根據行爲屬性,埋點事件大體分爲如下幾類,並不惟一:
埋點事件下的信息怎麼看?如item_id:」114774」,冒號前是字段(key),冒號後是值(value),//後的是註釋。
以視頻瀏覽事件(_vdE)爲例:
字段注意點和應用場景:
除了關注字段的定義和場景外,還需留意上報時機,定義儘量周全,就以此視頻瀏覽事件爲例:
以刷新事件(_fsE)爲例:
以評論事件(_cmE)爲例:
從以上埋點,咱們能獲取哪些數據?
每篇內容的評論數,可區份內容類型、欄目、評論類型、位置;結合獲取到的用戶id,還能夠從用戶維度分析。
以上埋點字段僅作示例說明,須要根據實際的數據須要來增刪字段,定義要明確,場景要詳盡,避免出現「想要分析次均閱讀進度,卻發現沒有相關字段」的窘境。
用戶id是用戶的惟一標識,是該用戶在應用裏活動的「身份證」,但它在獲取的時候但是五花八門的,曾經某產品汪提供的deviceid和數據分析師手上的uuid徹底對不上,ab實驗得重作,因此懂多點兒概念提早問一問準沒錯。
(用戶id獲取示例)
以iOS系統的用戶id獲取爲例,先補充幾個概念。
鑑於沒有任何一種標識符能百分百準確獲取,且爲了儘量獲取用戶id,會有一個退而求其次的獲取邏輯,即先取IDFA的值,取不到IDFA時去取IDFV的值,再取不到時IDFA時,則生成UUID。
獲取用戶id邏輯示例:
字段和值
上報時機
統計
產品汪反饋bug是屢見不鮮,甩個bug截圖可能會被忙碌精分的開發直接無視,掌握反饋bug的正確姿式:
走上述流程,開發必定以爲你可愛無比。
只要產品仍在迭代,就須要更新埋點以供數據分析使用,能夠說埋點將伴隨產品終生,攜手埋點,頭髮也將愈來愈少,且行且珍惜。