數(shù)據(jù)模型 · Sensors Analytics 使用手冊
https://www.sensorsdata.cn/manual/data_model.html
因此,Sensors Analytics 采用事件模型作為基本的數(shù)據(jù)模型。事件模型可以給我們更多的信息,讓我們知道用戶用我們的產(chǎn)品具體做了什么事情。事件模型給予我們更全面且更具體的視野,指導(dǎo)我們做出更好的決策。
- Event 實(shí)體
2.1 Event 的五要素
簡單來說,一個(gè) Event 就是描述了:一個(gè)用戶在某個(gè)時(shí)間點(diǎn)、某個(gè)地方,以某種方式完成了某個(gè)具體的事情。從這可以看出,一個(gè)完整的 Event,包含如下的幾個(gè)關(guān)鍵因素:
Who:即參與這個(gè)事件的用戶是誰。在我們的數(shù)據(jù)接口中,使用 distinct_id 來設(shè)置用戶的唯一 ID:對于未登錄用戶,這個(gè) ID 可以是 cookie、設(shè)備 ID 等匿名 ID;對于登錄用戶,則建議使用后臺分配的實(shí)際用戶 ID。同時(shí),我們也提供了 track_signup 這個(gè)接口,在用戶注冊的時(shí)候調(diào)用,用來將同一個(gè)用戶注冊之前的匿名 ID 和注冊之后的實(shí)際 ID 貫通起來進(jìn)行分析。
When:即這個(gè)事件發(fā)生的實(shí)際時(shí)間。在我們的數(shù)據(jù)接口中,使用 time 字段來記錄精確到毫秒的事件發(fā)生時(shí)間。如果調(diào)用者不主動設(shè)置,則各個(gè) SDK 會自動獲取當(dāng)前時(shí)間作為 time 字段的取值。
Where:即事件發(fā)生的地點(diǎn)。使用者可以設(shè)置 properties 中的 $ip 屬性,這樣系統(tǒng)會自動根據(jù) ip 來解析相應(yīng)的省份和城市,當(dāng)然,使用者也可以根據(jù)應(yīng)用的 GPS 定位結(jié)果,或者其它方式來獲取地理位置信息,然后手動設(shè)置 $city 和 $province。除了 $city 和 $province 這兩個(gè)預(yù)置字段以外,也可以自己設(shè)置一些其它地域相關(guān)的字段。例如,某個(gè)從事社區(qū) O2O 的產(chǎn)品,可能需要關(guān)心每個(gè)小區(qū)的情況,則可以添加自定義字段“HousingEstate”;或者某個(gè)從事跨國業(yè)務(wù)的產(chǎn)品,需要關(guān)心不同國家的情況,則可以添加自定義字段“Country”。
How:即用戶從事這個(gè)事件的方式。這個(gè)概念就比較廣了,包括用戶使用的設(shè)備、使用的瀏覽器、使用的 App 版本、操作系統(tǒng)版本、進(jìn)入的渠道、跳轉(zhuǎn)過來時(shí)的 referer 等,目前,Sensors Analytics 預(yù)置了如下字段用來描述這類信息,使用者也可以根據(jù)自己的需要來增加相應(yīng)的自定義字段。
$app_version:應(yīng)用版本
$city: 城市
$manufacturer: 設(shè)備制造商,字符串類型,如"Apple"
$model: 設(shè)備型號,字符串類型,如"iphone6"
$os: 操作系統(tǒng),字符串類型,如"iOS"
$os_version: 操作系統(tǒng)版本,字符串類型,如"8.1.1"
$screen_height: 屏幕高度,數(shù)字類型,如1920
$screen_width: 屏幕寬度,數(shù)字類型,如1080
$wifi: 是否 WIFI,BOOL類型,如true
What:描述用戶所做的這個(gè)事件的具體內(nèi)容。在我們的數(shù)據(jù)接口中,首先是使用“event”這個(gè)事件名稱,來對用戶所做的內(nèi)容做初步的分類。event的劃分和設(shè)計(jì)也有一定的指導(dǎo)原則,我們會在后文詳細(xì)描述。除了“event”這個(gè)至關(guān)重要的字段以外,我們并沒有設(shè)置太多預(yù)置字段,而是請使用者根據(jù)每個(gè)產(chǎn)品以及每個(gè)事件的實(shí)際情況和分析的需求,來進(jìn)行具體的設(shè)置,下面給出一些典型的例子:
對于一個(gè)“購買”類型的事件,則可能需要記錄的字段有:商品名稱、商品類型、購買數(shù)量、購買金額、 付款方式等;
對于一個(gè)“搜索”類型的事件,則可能需要記錄的字段有:搜索關(guān)鍵詞、搜索類型等;
對于一個(gè)“點(diǎn)擊”類型的事件,則可能需要記錄的字段有:點(diǎn)擊 URL、點(diǎn)擊 title、點(diǎn)擊位置等;
對于一個(gè)“用戶注冊”類型的事件,則可能需要記錄的字段有:注冊渠道、注冊邀請碼等;
對于一個(gè)“用戶投訴”類型的事件,則可能需要記錄的字段有:投訴內(nèi)容、投訴對象、投訴渠道、投訴方式等;
對于一個(gè)“申請退貨”類型的事件,則可能需要記錄的字段有:退貨金額、退貨原因、退貨方式等。