談?wù)勅齻€層次的ID mapping
編輯導(dǎo)讀:ID就是代表一個用戶實體的一串兒序列號,本文作者針對ID mapping展開了三個層次的分析,希望對大家有幫助。
今天跟大家談一個話題,就是ID mapping。
談之前,先拋一個問題出來,什么是ID。在這里我們今天要談的范疇中,給ID下一個定義,ID就是代表一個用戶實體的一串兒序列號。在這個定義下,我們就發(fā)現(xiàn)手機號是一個用戶ID,身份證號是一個用戶ID,郵箱是一個用戶ID,微信號也是一個用戶ID。只不過這些ID的生命周期不同,精度也不同。
比如,身份證號一個人一生一般只有一個且終生不變,而手機號,郵箱號,微信號則存在停用和轉(zhuǎn)贈的可能,可見如果使用手機號來代表一個人則可能存在一定的誤差,而這就引出了第二個概念,mapping。
介紹mapping之前我們來看這樣一個現(xiàn)實的案例。
A公司為了滿足用戶在不同場景下的需求開發(fā)了多條產(chǎn)品線,其中包含,小程序,APP和網(wǎng)站。同時,在線下通過多種渠道接觸用戶挖掘用戶需求,獲得的信息回流到了企業(yè)的CRM系統(tǒng)中,最終我們發(fā)現(xiàn)A企業(yè)從多個觸點獲取到大量的用戶行為信息,但存在一個問題,由于各個系統(tǒng)相對孤立,同一個用戶在不同的系統(tǒng)中被使用獨立ID進行標(biāo)識,在進行數(shù)據(jù)分析和決策時,每個用戶的畫像是片面的,只有孤立域中的畫像。
用戶的行為是斷裂的,因為同一個用戶在不同系統(tǒng)間操作時被采用了不同的ID進行標(biāo)識。同時企業(yè)總體的用戶統(tǒng)計數(shù)也是不準(zhǔn)確的。mapping的提出正是為了解決這個案例中提到的問題。 ID Mapping是將用戶關(guān)聯(lián),使得物理世界中一個真實的用戶在互聯(lián)網(wǎng)世界中也采用一個統(tǒng)一的ID進行關(guān)聯(lián)。
關(guān)于ID mapping的實現(xiàn),我們可以分成兩大步驟,第一步是ID的標(biāo)識,第二步則是ID的關(guān)聯(lián)。
一、ID標(biāo)識
如何標(biāo)識一個用戶又可以分成兩種場景,第一是用戶匿名狀態(tài)下,第二是用戶登錄狀態(tài)下。在用戶登錄狀態(tài)下一般使用業(yè)務(wù)ID來對用戶進行標(biāo)識,如身份證號、userID、手機號等等。而在用戶匿名狀態(tài)下,則需要通過設(shè)備ID來對用戶進行標(biāo)識,根據(jù)用戶使用的設(shè)備和系統(tǒng)的差異,標(biāo)識的方式也不相同,一般來說可分為以下4類。
1.網(wǎng)頁,網(wǎng)頁一般使用cookie ID作為匿名ID來使用,cookie ID的生成規(guī)則是基于時間戳、隨機數(shù)、屏幕的寬高和UA操作系統(tǒng)版本號進行生成的。cookie ID是64位字符串,使用cookie ID的風(fēng)險在于一旦cookie 被清除或者用戶更換了瀏覽器,那么cookie ID也會改變。
2.Android系統(tǒng),Android設(shè)備獲取設(shè)備唯一ID的方案有多種,如獲取IMEI,WIFI或藍牙的MAC地址都可以。考慮到易獲得性,可以使用Android ID作為設(shè)備ID。Android ID 的位數(shù)為16位,Android ID會因為APP簽名不同和設(shè)備賬號不同而生成不同的值。需要注意的是Android 8.0 以下 Android ID不會改變,Android 8.0以上用戶通過OTA方式升級app Android ID不會變,但如果卸載之后重新安裝 Android ID會發(fā)生改變。
3.iOS系統(tǒng),iOS系統(tǒng)一般采用IDFA或IDFV作為設(shè)備ID。IDFA和IDFV分別是iOS生態(tài)為廣告主和開發(fā)商設(shè)計的兩套ID規(guī)范。分別可供有廣告的APP和同應(yīng)用開發(fā)廠商進行使用,前者同一個設(shè)備下不同APP共享,后者同一個開發(fā)商下不同的APP共享。需要注意的是,用戶是可以通過設(shè)置刷新來不斷更新IDFA的。當(dāng)然,蘋果這么做也是為了方便用戶清除個人的歷史痕跡,包含自己的隱私。而在蘋果的新規(guī)出臺后,APP在獲取IDFA的值時也需要用戶完成手動確認后才可以。
4.微信小程序,微信小程序可以使用OPEN ID作為用戶的匿名ID。
二、ID mapping
第二步是關(guān)聯(lián),根據(jù)用戶關(guān)聯(lián)解決的不同問題,可以將用戶關(guān)聯(lián)分為3個層次,分別是一對一關(guān)聯(lián),一對多關(guān)聯(lián)和全域關(guān)聯(lián)。
1.一對一關(guān)聯(lián)解決的是用戶登錄前后的關(guān)聯(lián)問題,其核心思路是將設(shè)備的匿名ID和用戶的登錄ID進行關(guān)聯(lián),同時每個設(shè)備ID和登錄ID只進行一次成功關(guān)聯(lián),也就是說當(dāng)設(shè)備甲已經(jīng)和用戶A關(guān)聯(lián)后,若用戶B在設(shè)備甲上登錄并使用,設(shè)備甲不會再和用戶B進行關(guān)聯(lián)。同樣的,用戶A登錄設(shè)備乙時也不會再進行關(guān)聯(lián)。
2.一對多關(guān)聯(lián)解決的是用戶登錄多個設(shè)備的關(guān)聯(lián)問題,在一對一的關(guān)聯(lián)方案下,雖然可以將用戶登錄前后的行為打通。但實際上,一個用戶可能在網(wǎng)頁,手機,平板等多個終端使用同一個產(chǎn)品。為了將用戶使用多設(shè)備,多終端的數(shù)據(jù)打通,一對多的關(guān)聯(lián)方案應(yīng)運而生。
一對多的關(guān)聯(lián)方案核心是一個用戶登錄ID可以和多個設(shè)備的匿名ID相關(guān)聯(lián)。也就是說當(dāng)用戶分別在設(shè)備甲、乙、丙上登錄用戶賬號后,系統(tǒng)會將設(shè)備甲、乙、丙和用戶A關(guān)聯(lián)成為同一個獨立的用戶實體。從而使得多個終端的行為數(shù)據(jù)得以打通。在關(guān)聯(lián)時同樣要注意的是,若設(shè)備乙已經(jīng)和用戶B關(guān)聯(lián)過,那么用戶A再登錄設(shè)備乙時不會再進行關(guān)聯(lián)。即一個用戶可能關(guān)聯(lián)多個設(shè)備,但一個設(shè)備不會關(guān)聯(lián)多個用戶。
3.前兩種關(guān)聯(lián)方式解決的是同一業(yè)務(wù)系統(tǒng)下的用戶關(guān)聯(lián)問題。但實際上,一家企業(yè)可能在不同時期不同環(huán)境下存在多條產(chǎn)品線和業(yè)務(wù)系統(tǒng)。
這些系統(tǒng)中用戶使用不同ID進行登錄,這就引出了用戶關(guān)聯(lián)的第三個層次,全域關(guān)聯(lián)。全域關(guān)聯(lián)的核心是打通不同業(yè)務(wù)系統(tǒng)中的數(shù)據(jù),在關(guān)聯(lián)邏輯上使用到了圖論中的連通圖概念,可以簡單理解,A和B產(chǎn)生了關(guān)聯(lián),B和C產(chǎn)生了關(guān)聯(lián),則A、B、C之間兩兩進行了關(guān)聯(lián),這種關(guān)聯(lián)方式與前兩種關(guān)聯(lián)方式最大的不同是,前兩種方式以登錄ID作為唯一樞紐ID,其他ID圍繞登錄ID進行關(guān)聯(lián),而全域關(guān)聯(lián)將每個ID都作為聯(lián)通的樞紐,最大程度上關(guān)聯(lián)所有業(yè)務(wù)系統(tǒng)中的ID。
下圖是一個形象的例子。
在上圖中分別通過Unionid,loginid,Phone將屬于不同系統(tǒng)的各類語義ID進行了關(guān)聯(lián)。值得注意的是,除了以上關(guān)聯(lián)外還需要根據(jù)業(yè)務(wù)特性定義唯一的業(yè)務(wù)ID,定義唯一業(yè)務(wù)ID的目的是將關(guān)聯(lián)的各類用戶ID關(guān)聯(lián)到一個用戶實體上,而在前兩種關(guān)聯(lián)方式上因為場景較為簡單默認使用了登錄id作為業(yè)務(wù)id進行使用了。
三、需要注意
進行IDmapping的方案設(shè)計時,可以根據(jù)自身的業(yè)務(wù)情況選擇合適的ID mapping方案,除此之外還有一些特別需要注意的問題。
1.對歷史事件的影響,ID mapping成功后勢必會導(dǎo)致一些用戶的合并從而使得事件分析的情況出現(xiàn)一定的差異,比如原來由于未關(guān)聯(lián)而存在的用戶A1和用戶A2關(guān)聯(lián)成同一個用戶A,這時需要對歷史的事件和用戶屬性進行合并,實時合并在大量查詢時會影響效率,T+1的方式合并時則會對當(dāng)日查詢精度產(chǎn)生一定影響,選擇哪種方案可視業(yè)務(wù)需求而定。
2.對用戶屬性的合并影響,在合并用戶屬性時可以根據(jù)業(yè)務(wù)需要選擇多種邏輯覆蓋,如以較早的時間戳為準(zhǔn)先到先得,或以較晚的時間戳為準(zhǔn)后來居上,再或者對不同id設(shè)定優(yōu)先級,優(yōu)先級較高的id覆蓋優(yōu)先級較低的id攜帶的屬性都是可以選擇的合并邏輯。
四、總結(jié)
總結(jié)一下,ID mapping的意義在于將互聯(lián)網(wǎng)中的用戶映射成為一個真實的用戶實體,從而幫助企業(yè)完善用戶畫像和進行用戶行為路徑的分析。進行ID mapping時,分為ID 標(biāo)識和ID關(guān)聯(lián)兩個步驟,每個步驟根據(jù)業(yè)務(wù)場景的差異各有多種方案可以選擇。
關(guān)聯(lián)完成并非結(jié)束,關(guān)聯(lián)用戶的目的是為了獲得更為準(zhǔn)確的數(shù)據(jù)幫助企業(yè)進行決策,因此對于歷史事件和用戶屬性的合并邏輯同樣不能忽視。
本文由 @Beam 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
數(shù)據(jù)庫里一切都是以ID為中心衍生出一切數(shù)據(jù)關(guān)聯(lián)的。特別是傘結(jié)構(gòu)哈哈。你懂的
之前就想到多系統(tǒng)之間用戶ID關(guān)聯(lián)問題,但是沒系統(tǒng)性學(xué)過,這次學(xué)到了更專業(yè)的知識
這可真的是幫助我增長好多自己不知道的東西,之前真的沒有聽說過ID關(guān)聯(lián),真的是又get到一個新的概念。