互聯(lián)網(wǎng)公司收集數(shù)據(jù)的利器:埋點(diǎn)
前言
很多人還沒搞清楚PC互聯(lián)網(wǎng)的時候,移動互聯(lián)來了;我們還沒搞清移動互聯(lián)的時候,大數(shù)據(jù)時代又來了。伴隨大數(shù)據(jù)時代的到來,我們生活中產(chǎn)生的數(shù)據(jù)呈現(xiàn)出巨大的增長,互聯(lián)網(wǎng)每2天產(chǎn)生的數(shù)據(jù)相當(dāng)于2003年之前產(chǎn)生的數(shù)據(jù)一樣多。
馬云說過,大數(shù)據(jù)就是未來的石油。越來越多的互聯(lián)網(wǎng)公司開始重視數(shù)據(jù)的應(yīng)用。數(shù)據(jù)應(yīng)用的一個過程是:數(shù)據(jù)收集——數(shù)據(jù)整理——數(shù)據(jù)分析——數(shù)據(jù)可視化。經(jīng)濟(jì)基礎(chǔ)決定上層建筑,數(shù)據(jù)收集是數(shù)據(jù)應(yīng)用的基礎(chǔ),數(shù)據(jù)收集的重要性不言而喻。數(shù)據(jù)不會撒謊,但生活中,我們往往被數(shù)據(jù)純潔的外表所欺騙。所以我們也要注重?cái)?shù)據(jù)的質(zhì)量。那么互聯(lián)網(wǎng)公司是如何收集數(shù)據(jù)的?這其中就不得不提出一個很關(guān)鍵的人物——「埋點(diǎn)」。
埋點(diǎn)技術(shù)
所謂「埋點(diǎn)」,就是在正常的功能邏輯中添加統(tǒng)計(jì)邏輯。拿統(tǒng)計(jì)微信右上角「+」的點(diǎn)擊次數(shù)為例,上報的數(shù)據(jù)可以采用KEY-VALUE形式,我們定義KEY為「CLICK_ADD_BTN」,VALUE的值為點(diǎn)擊的次數(shù)。當(dāng)用戶點(diǎn)擊「+」時,展示菜單的代碼會通過按鈕的「回調(diào)」來觸發(fā)執(zhí)行,程序猿在業(yè)務(wù)代碼執(zhí)行完后,又加上了統(tǒng)計(jì)代碼,把「CLICK_ADD_BTN」對應(yīng)的VALUE加1,「+」被統(tǒng)計(jì)到了一次使用。
目前常見的前端埋點(diǎn)技術(shù)有3類:代碼埋點(diǎn)、可視化埋點(diǎn)、無埋點(diǎn)(無埋點(diǎn)屬于埋點(diǎn)的一個子集)。
代碼埋點(diǎn):控件操作發(fā)生時通過預(yù)先寫好的代碼來發(fā)送數(shù)據(jù)。
優(yōu)點(diǎn):控制發(fā)送數(shù)據(jù)時間,事件自定義屬性詳細(xì)記錄
缺點(diǎn):時間、人力成本大,數(shù)據(jù)傳輸?shù)臅r效性。
可視化埋點(diǎn):利用可視化交互手段,通過可視化界面配置控件操作與事件操作發(fā)生關(guān)系。通過后臺截屏的方式采集數(shù)據(jù)。
優(yōu)點(diǎn):成本低,速度快
缺點(diǎn):行為記錄信息少,支持的分析方式少
無埋點(diǎn):Growing IO和Heap analytics,這2家是國內(nèi)與國外的無埋點(diǎn)技術(shù)公司代表。用戶展現(xiàn)界面元素時,通過控件綁定觸發(fā)事件,事件被觸發(fā)的時候系統(tǒng)會有相應(yīng)的接口讓開發(fā)者處理這些行為?,F(xiàn)在市面上主流無埋點(diǎn)做法有兩種,一種是預(yù)先跟蹤所有的渲染信息,一種是滯后跟蹤的渲染信息。
優(yōu)點(diǎn):無需埋點(diǎn),方便快捷
缺點(diǎn):行為記錄信息少,傳輸壓力大
總結(jié)
***,關(guān)于埋點(diǎn)有無問題,可視化埋點(diǎn)和代碼優(yōu)劣問題,不管選擇哪個都要從自身情況去考慮,自身分析場景來體驗(yàn)和對比,選擇最適合自己的。適合自己的才是***的。