網易嚴選流量體系建設實踐

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在中國的人口基數下,流量,用戶,資本紅利貌似總是被綁定在了一起。隨着互聯網的高速發展,多元化的應用壓榨了本身就碎片化的時間和流量,對於電商來說,不管是平臺還是自營,在流量紅利殆盡的當下,挖掘用戶更多的價值成爲了所有公司的共識,於是流量的建設和用戶行爲的分析便成爲了給風口上那隻豬插下翅膀裏必不可少的一環。流量體系建設在不同行業的建設和應用存異,本文主要介紹網易嚴選在流量體系建設過程中的思考和階段性總結,如有理解錯誤的地方,歡迎批評指正,希望能夠給各位小夥伴帶來些許有價值的啓發和思考。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於電商來說,好比我們要開一家大型商場,這家商場地基建設中很大的一塊那便是流量的建設。流量建設的終極目標在於用戶行爲的分析,抽象了說:用戶行爲分析的本質也就回歸到了技術對人的探索(我是誰,我在哪,我要去哪裏)。 筆者有幸參與並主導了流量體系的從0到1的建設過程,總結一句話就是\"眼看他起高樓,眼看他樓好了\"。以下enjoy~"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"埋點體系建設 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"流量建設中最核心的一環:埋點體系的建設。埋點體系的好壞直接決定了流量數據質量的好壞,直接影響了上游應用的數據質量以及業務對數據的可信度。九層之塔,起於累土,埋點體系的建設好比就是老子筆下九層塔裏的筐筐\"累\"土。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/f7\/f7fc8d196fc9fea5611b4fcf98a22c17.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點體系的建設其實需要解決的是我們在私域流量快速增長,業務精細化程度越來越高的情況下,如何在增量以及保障數據質量的背景下,提升埋點開發,QA測試,數據清洗以及生產環節下全鏈路的效能。      "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1. 尋求埋點方式的平衡解"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點體系建設裏幾種常見的埋點方式: 代碼埋點,可視化埋點,全埋點。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"代碼埋點:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"優勢:定義靈活,可根據自身業務需求定義屬性。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"劣勢:代碼引入對性能的影響,代碼方式數據質量的可控性較差,更新需要發版。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"可視化埋點:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"優勢:界面式操作靈活,業務友好度高,人力介入成本低。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"劣勢:埋點場景侷限於交互,覆蓋面小。且需要可視化工具支持。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"全埋點:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"優勢:歷史數據可回溯,自動化程度高。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"劣勢:上報量級對服務性能考驗大,覆蓋場景侷限。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不用埋點方式優劣不同,所以我們在實際發展過程中,也在各優劣下尋求一種對於業務和技術來說最好的平衡解,對技術來說:成本小,開發效率高最爲核心,對業務來說:響應快,準確性好,數據精細化程度高最優。所以這個平衡解在嚴選現階段下,我們採用了自動化埋點+代碼埋點的方式實現。自動化埋點,參考阿里的SPM ( Super Position Model 超級位置模型 )+SCM ( Super Content Model 超級內容模型 ),通過位置模塊+內容定義的方式實現成本較低的自動化埋點,解放埋點複雜度高,數據精細化程度要求較高的頁面:例如像首頁流量分發的核心頁面。如下圖所示:通過事件 ( click )+頁面 ( index )+模塊 ( kingkong )+坑位 ( sequence )+內容 ( type,extra,name等 ) 組合得知用戶點擊了首頁金剛區具體某個坑位,以及這個坑位的具體名稱,對應素材圖對應的資源信息,通過位置信息和內容信息的封裝,實現自動化埋點。此處相對於阿里的spm編碼方式我們採用了語義化的英文定義方式,上報方式則通過a.js的請求上報。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/4f\/4fdff2349e0d632473a6d3bd309244a7.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"再者,也可以通過代碼埋點滿足業務在日常需求中精細化埋點需求,目前代碼埋點沒有完全被自動化埋點取代,原因之一是因爲該套體系存在較久,運行較成功且數據質量可控,完全替代陣痛和成本可能會大於收益。所以在嚴選現狀下,我們兼容了兩套埋點模式達到現階段的平衡解。當然,平衡解也會隨着業務發展變動而變動,畢竟,唯一不變的是變本身。     "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"  "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2. 埋點管理體系的建設"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於埋點管理體系的建設概述,這裏引用嚴選QA同學的一句話:\"埋點管理體系的建設看似是個流程管理+元數據管理平臺,實際意義主要是體現在結構化的數據定義,標準化的數據生產以及協作效率上,即明晰了各個角色的職責,又提高了信息記錄和傳遞效率、透明瞭埋點所在的具體生命週期 ( 定義,開發,測試,上線,預警 ) \"。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/8f\/8f5df6940e2242f301ffee390f5ae5a1.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點體系按照Top-down的設計思路,包括:埋點體系規則建立、埋點生產過程標準化、埋點過程流程化、埋點數據質量保障、埋點線上數據監控與預警,五個從下到上的建設過程,如下圖所示。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/37\/37b25cab4a0073407d93d8ae8b589c5c.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"① 埋點體系規則的建立和生產過程的標準化"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"貫穿我們埋點體系的基線:體系化,規範化,標準化,流程化。基於這四個基線下入倉的數據有兩個特點: 一是入倉數據清洗難度小,二是入倉數據質量高。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"數據標準化生產的過程就好比我們搭積木的過程,大家都玩過搭積木或者樂高的遊戲,規則的積木搭建起來的樓宇即穩固且呈現形態多樣。所以埋點規則體系就好比規則結構的積木,數據標準化的生產過程就好比我們搭積木的過程。所以要想保障數據的產出質量,以及數據清洗的高效性,一套通用且能滿足各場景的埋點體系的規則就十分重要。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選的埋點體系規則建設包含對用戶通用行爲的抽象:事件的定義,頁面 ,模塊 ,參數以及版本的管理。大致拆分成了兩類:一是發生行爲的名稱以及位置(事件,頁面,模塊,坑位),二是發生行爲的內容(參數,版本信息等)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶行爲事件觸點類型包含了點擊,曝光,訪問,自定義事件,加購事件,加購事件因結合了嚴選本身電商特性單獨抽象出來的事件,加購本身其實也是一種點擊行爲,加購行爲作爲用戶支付意願的核心行爲,抽象出來後方便後續我們對支付行爲統一歸因做彙總處理,節省開發數據清洗的成本,同時簡化了清洗邏輯。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/79\/79c4699174caa43857154993f2d1613c.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"頁面管理,模塊管理,參數以及版本的定義與管理,把以往雜亂的定義標準化,通過對頁面,模塊,參數定義的約束 ,收口了對數據定義的管理權,看似是管理,實則本質是標準化和結構化, 舉個簡單的例子:埋點名稱:用戶點擊猜你喜歡的商品圖 ,單看埋點名稱,可能並不知道具體是做什麼的,在哪個頁面哪個模塊,通過結構化的管理體系 ,我們可以清晰的知道,這個埋點在哪個頁面下,對應的模塊是什麼,我應該如何取用它的參數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時對內容的參數實施了限定,枚舉通用的參數,精簡上百個參數到18個。ETL過程不再是從衆多參數中撈取業務定義的字段。開發的清洗過程對業務參數的定義變得更透明簡單。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"規則化事件的定義,標準化頁面模塊管理以及參數的限定,通用規則的解析,體系化打通埋點到看數鏈路,通俗點說,就是按照規則體系下上線的埋點需求,幫助業務實現了T+1時效和0開發成本的自助看數。如下圖爲埋點管理系統示例截圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/e5\/e5346ec3591b1a0bc6b0318ecaaa13c9.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/e3\/e3287f3b0c19db5cedeb707a01c26993.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"② 埋點過程的流程化"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"規則定義了我們的標準,流程化幫助我們提升了協同性。從埋點定義,埋點開發,埋點測試,到埋點上線,我們通過流程化的任務流協同整個鏈路,提升了埋點整體環節的效率。如下圖爲埋點全鏈路的協同流程,明確了職能劃分。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/74\/741580055c49d1cbb13d8887bb34df93.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過任務流轉指派,對應節點責任人接收通知郵件,完成開發或者測試任務,埋點上線後郵件周知需求方,上線及時反饋,業務及時查驗數據,需求也不再是單點-單點重複溝通。再者,在產品功能開發前期,往往很容易忽視了埋點需求的重要性,直到真正覆盤,需要看數據的時候纔想起來\"我的產品數據效果如何,這個數據是否是準確等\",所以在流程化之上,通過聯動JIRA,打包業務功能需求和埋點需求,我們希望拉平業務的功能需求和埋點需求重要性,以免撿了\"芝麻\"丟了\"西瓜\"。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/30\/30ede89ba00f5fbfd7d775addd72163d.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如下示例爲我們通過任務流指派方式,實現埋點全鏈路的可視化流轉,使埋點信息在傳遞過程中透明化,輔助我們提升整體的協同效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/15\/1572437468f9fa693cacd037f8ece2c5.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/82\/822cfb55d7fb485dccf03ee6c9907e10.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"③ 埋點數據質量保障"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"千丈之堤,以螻蟻之穴潰;百尺之室,以突隙之煙焚,忽視小的錯誤,便可能會導致的大的錯誤,埋點亦如此。所以埋點數據質量的保障,是我們埋點體系建設中最核心最重要的一個環節。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從下到上,對於埋點方式的平衡解探索,結構化的數據規則的定義,以及流程化的管理,其本質無一不在是爲我們的埋點數據質量的保障做出貢獻。除上述內容,我們還通過對測試流程的把控提升埋點質量,測試流程主要包含以下幾塊內容:手動測試,自動化測試,UI測試,數據校驗規則以及數據線上預警。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"手動測試:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對上線前的埋點進行手動觸發,  支持不同端,不同設備,賬號,不同事件類型的篩選測試,可直接觀測到實際入倉數據日誌,同時,通過基礎的校驗規則,自動識別日誌與定義的異常,提高測試效率。但自動識別只是針對缺失,遺漏等漏埋情況,無法有效覆蓋錯埋場景。比如參數value值應該是A 實際上傳了B,目前針對這種場景,只能通過QA同學測試發現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/e9\/e977d2411629b546f9b0e75c7e95d03f.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"自動化測試:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一般針對批量回歸測試,建立埋點執行集,自動執行埋點驗證,埋點驗證的匹配規則由經驗制定批量的測試校驗規則。校驗規則的基本原則:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點上報的完整性:如對字段爲空,非法值的校驗"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點行爲追蹤的有效性:如用戶跳轉後,當前埋點和上一步跳轉埋點是否有效攜帶歷史行爲記錄"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點間的依賴關係正確性:如前後埋點sequence是否是有效自增的等"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/1b\/1b1d6df0a23462e6e029ce4f9283a338.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"UI自動化測試:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點UI自動化測試校驗規則和自動化測試基本一致,自動化測試需要人爲觸發埋點測試集,測試耗時較多,所以通過UI自動化觸發的方式實現對與埋點集的自動觸發以及校驗,生成結果集,以節省QA人力成本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"④ 埋點線上數據監控與預警"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點測試準確上線後,爲什麼還需要線上預警呢?一是產品功能一直在迭代,每次發版上線對於數據同學來說都是黑盒,代碼的微小變動可能會導致歷史埋點的異常,往往不可知的數據異常就隱藏在黑盒中,有些歷史埋點問題在線上就會暴露出來,監控預警防止該問題存在過久導致的歷史數據缺失和不準。二是QA校驗通過後的埋點,因爲校驗場景複雜,即使測試時該場景下,埋點正確,但其他場景下是否觸發異常我們很難預知。綜上,所以我們需要對線上埋點數據進行監控以及預警,以避免這種錯誤。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"埋點數據進行監控以及預警我們採用郵件抄送對方式通知對應責任人每日數據異常。如下圖所示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/9e\/9ec99f64ec666ee1e55c2347628bd119.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/dd\/ddde06ce12e98a7abc2711c69703ab7c.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"頁面導購體系:用戶行爲追蹤與歸因"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"搭建完底層埋點基建後,後續環節就是我們的用戶行爲追蹤的實現,用戶的路徑往往雜亂無序,如何從這雜亂無序的用戶行爲中抽絲剝繭地去追蹤他的行爲鏈路,歸屬他的交易,那就要說到頁面導購體系,頁面導購體系通過對用戶行爲的追蹤,變現交易的歸屬,使我們對用戶的判斷從\"盲人摸象\"的狀態到交易,路徑的有跡可循。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/31\/3198c2a6f7eba365f5c34f23dcfc0df6.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在沒導購體系之前,業務需求零散,不同業務場景不同,沒有統一的導購變現的方案,基本是一種場景一個報表的開發,淺了看,定製開發響應速度慢不說,同時耗費了人力成本和時間成本,各自開發也導致統計層不一致。深了看,因爲各個業務場景的統計產出沒有通用的底層邏輯支撐,沒有統一量化的標準方案,導致的直接問題是業務視角不水平,無法讓業務在統一口徑標準看數據,導致公說公有理,婆說婆有理,管理層基於數據做的決策視角並沒有一碗水端平。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"頁面導購體系分兩步走,開發側,夯實基建:底層通用化方案的建設,導購埋點體系方案的實現。業務側,量化歸一:建立統一的頁面導購變現的追蹤體系,統一量化業務價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"業界歸因方式較多,分權,平攤,末次,多計等,此處不對各種類型過多介紹,結合嚴選電商業務特性,最終嚴選採用兩種歸因方式: 一是末次歸因,二是多計歸因。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1. 末次歸因"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"末次方式在於覆蓋邏輯,用戶觸發交易行爲錨點之前最近的一次行爲作爲交易歸屬頁面。 所以此種方式優勢比較明顯:好切蛋糕,能清楚拆分金額。缺點:頁面天然存在優先級關係,層級優先級高的頁面歸因優勢越明顯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2. 多計歸因"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"多計歸因在於大家都算,優勢在於:評估方式直接,易於多方業務接受,比如:用戶P被頁面A,B引導到了商品D,P購買了商品D。商品D的交易歸屬會同時計在A和B上。缺點:不好切蛋糕,加總銷售大於總體。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"綜合優缺點,最終選取這兩種方式,原因如下:電商中有的頁面天然作爲用戶必經頁面,比如首頁或者搜索頁,這些頁面作爲用戶在站內導流的入口頁,這裏引入的入口頁概念,其實可以形象的理解成我們商場的大門,商場一般會有多個大門用來導流用戶,入口頁職能承接了流量在站內分發的作用,此處如果採用多計方式,那對於全站來說,大多用戶都需要進過這個\"大門\",多計導致的問題是銷售會被過多的歸因到這些所謂的入口頁,所以此處針對入口頁我們採用末次方式的歸因,一是解決入口頁的合理歸因,二是也劃清各個入口的交易,一舉兩得。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/cd\/cd41addd0687f314f8dcc530309e6d5d.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於流量分發下游的承接頁面,比如我們的欄目,活動,專題等頁面,作爲流量承接頁,核心關注頁面對商品導流能力,所以我們採用多計方式歸因。優勢如上所說:評估方式直接,大家都容易接受。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"末次歸因方式的用戶追蹤需要解決兩個主要問題: 用戶行爲的如何透傳,支付歸因邏輯如何定義。理清楚這兩個問題,基本導購方案的結構就有了,其餘的只是更細節的問題的解決,比如浮層的交易歸屬,購物車這種特殊頁面的歸因邏輯,因爲本身可以直接購買等,對於此類問題此處不做細節描述。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"① 用戶行爲的透傳"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"透傳方式有兩種,一種是用戶行爲的全鏈路透傳方式 ( 即用戶行爲的記錄跟隨用戶在網站的整個瀏覽生命週期 ),一種是多步透傳方式 ( 即按照用戶行爲先進先出的方式透傳用戶行爲路徑信息 ),一般情況下,透傳3步即可,用戶交互層級一般不會超過三步到商品詳情落地頁,以免漏斗太深,用戶觸達不了商品直接流失,實現透傳方案涉及信息較多,此處不單獨貼圖展示,基本思路見下圖:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/0f\/0fec59796c9fc3c79776bcec96aa3812.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"全鏈路透傳:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用戶從A頁面點擊資源位S1跳轉到B頁面後,再從B頁面點擊S2跳轉到D頁面,當用戶訪問商品詳情頁D時,會在訪問事件下帶上B頁面的訪問事件,S2資源位點擊事件的所有信息,同時,在B頁面訪問事件時會帶上A頁面的訪問事件,S1資源位點擊事件的所有信息,所以在用戶訪問商品詳情頁D時我們可以很清楚的從日誌層面知道用戶的上游頁面是B,用戶從哪個模塊,以及點擊了哪個素材跳轉過來,由此,追蹤用戶行爲。上報時,也可以通過對事件進行編碼,通過回溯的方式獲取用戶來源信息,例如,對A頁面的訪問事件編碼爲1001,資源位點擊事件爲1002  B的訪問事件爲1003  透傳的數據信息爲可以通過1001獲取1001對應的所有信息,該方法適合數據上報壓力大的情況,但對於實時解析數據的實效性不友好,視具體情況採用。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"三步透傳:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"透傳基本思想和全鏈路透傳思想一致,唯一區別在於三步透傳按照先進先出原則保留用戶3步內用戶路徑信息。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"② 支付歸因邏輯"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前面談到了兩種歸因模式的優劣採用,其中全鏈路追蹤 ( 即入口頁追蹤 ) 我們採用末次歸因的方式,其他頁面 ( 即非入口頁 ) 採用多計歸因方式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"入口頁全鏈路末次歸因:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從用戶的長鏈路出發,注重的是流量分發的價值變現,拆分清楚流水,通過入口位置的流量分發效能聚焦評定出坑位特性和如何去做資源分配。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"非入口頁三步多計歸因:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"非入口頁作爲流量承接頁面,注重承接用戶並引導用戶轉化,評估頁面對商品導流以及最終變現的能力,鏈路不適合太長,更多是用來衡量頁面投放效果。兩者之間互不重疊矛盾。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"舉個例子:嚴選好比是一個大商場,裏邊有各個門店,入口就是各個門店,需要評估看到用戶在各個門店完成的支付情況,以及各個門店的運營效益和問題點,如何進行資源配置能促使全局最優;而非入口頁就是各個導購員,他們的作用就是通過營銷玩法,活動手段等,讓來店裏的客人儘可能地購買他們的商品,儘快產生購物行爲。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不同平臺實現方式不同,具體實施方式不一定是最優解,所以此處對於嚴選的歸因週期,歸因錨點等細節實現不做詳細敘述,更多地是希望從傳達實現機制的原理中,能給到讀者些許啓發,已達到本文目的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"結束語"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"流量體系的建設只是嚴選中臺建設中的冰山一角,埋點體系建設和頁面導購體系的建設幫助我們對用戶行爲有了更深,更精細化的瞭解。流量體系的建設就好比地基,地基之上更大的價值在於我們對用戶行爲背後的原因挖掘,實現人-貨-場的快速匹配,商品貨架資源效能的最大化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"今天的分享就到這裏,謝謝大家。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"嘉賓介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"趙華翔,網易嚴選流量產品負責人,資深數據產品經理,2017年加入網易,曾任職阿里巴巴國際業務線數據產品經理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"文章轉載自:DataFunTalk(ID:datafuntalk)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文鏈接:"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/cwFZBQj8r2C1lyUTpz4AAA","title":"xxx","type":null},"content":[{"type":"text","text":"網易嚴選流量體系建設實踐"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章