CVR預(yù)估解決選擇偏差與數(shù)據(jù)稀疏)
做推薦系統(tǒng)的同學(xué)對(duì)“CVR預(yù)估”這個(gè)詞肯定不陌生。但你如果翻過近幾年的工業(yè)界論文會(huì)發(fā)現(xiàn)大家反復(fù)在聊一個(gè)痛點(diǎn)CVR模型往往只在點(diǎn)擊樣本上訓(xùn)練上線后卻要在曝光樣本上做預(yù)測(cè)中間隔著一條巨大的“選擇偏差”鴻溝。ESM2也就是 Elaborated Entire Space Supervised Multi-task Model正是阿里針對(duì)這條鴻溝給出的一個(gè)相當(dāng)完整的解法。我第一次讀這篇論文時(shí)第一反應(yīng)是“這不就是ESMM換個(gè)皮嗎”——但真把結(jié)構(gòu)圖和損失函數(shù)逐行看下來才發(fā)現(xiàn)它把“轉(zhuǎn)化”這件事重新拆解了一遍把用戶從曝光、點(diǎn)擊、加購到最終購買的全路徑信號(hào)都揉進(jìn)了一個(gè)多任務(wù)模型。這篇論文適合推薦算法工程師、做廣告投放策略的同學(xué)以及所有被“CVR樣本稀疏”“點(diǎn)擊率低導(dǎo)致正樣本太少”折磨過的人去讀。這篇文章我會(huì)從問題動(dòng)機(jī)開始把ESM2的結(jié)構(gòu)拆開講清楚再給出訓(xùn)練和線上推斷時(shí)的實(shí)操經(jīng)驗(yàn)。不鋪墊太多理論重點(diǎn)放在“為什么要這么設(shè)計(jì)”和“真落地時(shí)有哪些坑”上。1. 先看懂ESM2要解決的三個(gè)老大難1.1 CVR預(yù)估的兩座大山選擇偏差與數(shù)據(jù)稀疏任何做電商、廣告、內(nèi)容推薦的算法最終都要回答一個(gè)問題一個(gè)用戶看到這個(gè)商品/廣告后會(huì)不會(huì)買這個(gè)概率就是CVR轉(zhuǎn)化率。很多團(tuán)隊(duì)最初的方案很直接用“點(diǎn)擊過且購買過”的樣本訓(xùn)練一個(gè)二分類模型特征用用戶、商品、上下文。這個(gè)方案在實(shí)驗(yàn)評(píng)估里看起來還行一旦上線就露餡。為什么因?yàn)橛?xùn)練數(shù)據(jù)只在點(diǎn)擊樣本里選而推理時(shí)面對(duì)的是曝光樣本。能點(diǎn)進(jìn)來的用戶本來就是有購買意向的偏置人群模型在這種人群上擬合出來的概率分布和全體曝光人群的概率分布完全不是一回事。這就是行業(yè)常說的“樣本選擇偏差”Sample Selection Bias。打個(gè)比方你只根據(jù)進(jìn)店的顧客做銷售預(yù)測(cè)卻忽略了更多路過但沒進(jìn)來的人預(yù)測(cè)結(jié)果當(dāng)然失真。另一座山是“數(shù)據(jù)稀疏”。在一個(gè)典型的電商場(chǎng)景里如果點(diǎn)擊率是2%那么點(diǎn)擊樣本只有曝光樣本的五十分之一。在這2%的點(diǎn)擊樣本里能走到成交的又是少數(shù)可能只有百分之幾。最后你手里真正的“點(diǎn)擊且購買”正樣本往往只剩整個(gè)曝光日志的千分之幾。這么少的樣本喂給深層神經(jīng)網(wǎng)絡(luò)特征交叉根本學(xué)不充分模型很容易過擬合或者直接學(xué)成一個(gè)“只會(huì)輸出低概率”的保守鬼。1.2 ESM2的思路與其硬啃不如把轉(zhuǎn)化路徑拆開ESM2的聰明之處在于它不直接去預(yù)測(cè)“點(diǎn)擊后是否購買”這個(gè)二分類而是把“轉(zhuǎn)化”重新定義成一個(gè)多階段事件。用戶在電商場(chǎng)景里的行為漏斗大致是曝光 → 點(diǎn)擊 → 加購或收藏、進(jìn)店 → 購買或加購后購買。中間存在一個(gè)常見的中間環(huán)節(jié)加購Add-to-Cart。于是“最終買不買”這個(gè)事件可以拆成兩類點(diǎn)擊后直接下單支付點(diǎn)擊后先加購之后通過購物車路徑完成支付。從行為依賴上看第二類是個(gè)條件概率鏈要先加購再加購后購買。這樣一來原來那個(gè)極度稀疏的“點(diǎn)擊→購買”目標(biāo)就被拆成了三個(gè)密度高得多的子目標(biāo)點(diǎn)擊→直接購買、點(diǎn)擊→加購、加購→購買。每個(gè)子目標(biāo)的正樣本數(shù)量都遠(yuǎn)大于最終成交的正樣本信號(hào)密度一下子就上來了。這正是“Elaborated”精細(xì)化這個(gè)詞的核心含義——不滿足于粗顆粒的最終轉(zhuǎn)化而是把轉(zhuǎn)化過程精細(xì)建模出來。1.3 全空間監(jiān)督的本質(zhì)讓模型在曝光空間上計(jì)算目標(biāo)ESM2名字里還有另一半“Entire Space Supervised”。這意味著模型的目標(biāo)函數(shù)是在全體曝光樣本空間上定義并優(yōu)化的而不是只在點(diǎn)擊樣本上。要做到這一點(diǎn)關(guān)鍵不是簡(jiǎn)單地“把所有曝光樣本塞進(jìn)去訓(xùn)練”而是要構(gòu)造出一個(gè)在數(shù)學(xué)上成立的目標(biāo)關(guān)系讓曝光樣本上也能出現(xiàn)監(jiān)督信號(hào)。ESM2借用了ESMM的經(jīng)典套路用乘法關(guān)系把整個(gè)漏斗串起來pCTCVR pCTR × pCVR只要點(diǎn)擊概率和轉(zhuǎn)化概率都能從同一條樣本鏈路里拆出來那么“曝光→成交”的聯(lián)合概率就有定義。而曝光→成交這個(gè)事件在全曝光樣本里是可以觀測(cè)到的用戶確實(shí)買了就能打正標(biāo)簽。這就在理論上繞開了選擇偏差——模型不再只看點(diǎn)擊人群而是在全部曝光人群上做有監(jiān)督學(xué)習(xí)。2. 模型結(jié)構(gòu)拆解一個(gè)網(wǎng)絡(luò)怎么裝下多個(gè)轉(zhuǎn)化階段2.1 共享Embedding與雙塔/多塔設(shè)計(jì)ESM2在結(jié)構(gòu)上延續(xù)了多任務(wù)學(xué)習(xí)的常見做法底層是共享的Embedding層把所有稀疏特征映射成稠密向量往上分支出不同的任務(wù)塔每個(gè)塔負(fù)責(zé)預(yù)測(cè)一個(gè)子概率。你把它畫出來大概是這樣的感覺輸入層用戶特征、商品特征、上下文特征、交叉統(tǒng)計(jì)特征全部過Embedding。共享層多層全連接MLP把原始Embedding融合成通用表征。任務(wù)塔CTR塔預(yù)測(cè)點(diǎn)擊概率 pCTR、直接購買塔預(yù)測(cè)點(diǎn)擊后直接轉(zhuǎn)化概率 pCVR_action、加購塔預(yù)測(cè)點(diǎn)擊后加購概率 pCVR_cart、加購后購買塔預(yù)測(cè)加購后購買概率 pCVR_cart_to_purchase。每個(gè)塔之間不共享上層參數(shù)但底層Embedding是共享的。共享Embedding的好處很實(shí)際加購和購買共有的用戶偏好、商品屬性可以在訓(xùn)練中被所有子任務(wù)共同強(qiáng)化即便是某個(gè)商品“直接購買”樣本很少但它可能有較多“加購”樣本Embedding照樣能學(xué)到該商品的表征這在很大程度上緩解了長(zhǎng)尾商品的稀疏問題。如果你之前實(shí)現(xiàn)過ESMM會(huì)發(fā)現(xiàn)這套結(jié)構(gòu)和ESMM幾乎同源。ESM2真正的變化是塔的數(shù)量和任務(wù)定義——ESMM只有CTR塔和CVR塔兩個(gè)頭ESM2把CVR塔拆成了多個(gè)指向不同行為路徑的頭然后通過概率公式把它們組合起來。2.2 疊加除法多個(gè)頭的概率如何合成ESM2最核心的公式其實(shí)不長(zhǎng)。它定義pCTCVR pCTR × (pCVR_action pCVR_cart × pCVR_cart_to_purchase)逐個(gè)拆pCTR曝光后點(diǎn)擊的概率pCVR_action點(diǎn)擊后直接購買的概率pCVR_cart點(diǎn)擊后加購的概率pCVR_cart_to_purchase加購后最終購買的概率。括號(hào)里的內(nèi)容本質(zhì)上是“點(diǎn)擊后最終購買”這一事件的全概率分解。用戶點(diǎn)擊后想買一共有兩條互斥路徑一條是不加購物車直接買另一條是加購物車后買。兩條路徑概率相加就是點(diǎn)擊后購買的總概率。你再乘上pCTR就把“曝光→購買”整條鏈路打通了。這里有一個(gè)很多人第一次看會(huì)疑惑的點(diǎn)為什么不是直接用 pCTCVR 除以 pCTR 得到 CVR再用傳統(tǒng)交叉熵 loss這個(gè)疑問很關(guān)鍵。因?yàn)槿绻选俺ā敝苯幼鳛槟P洼敵龅慕M合方式比如pCVR pCTCVR / pCTR那么數(shù)值穩(wěn)定性會(huì)很差當(dāng)pCTR很小或者預(yù)測(cè)不準(zhǔn)時(shí)除法結(jié)果可能爆炸。ESM2的處理是每個(gè)子概率都分別由神經(jīng)網(wǎng)絡(luò)輸出再通過乘法/加法組合成最終的pCTCVR而不是先預(yù)測(cè)pCTCVR再除。這樣所有子任務(wù)都在參與優(yōu)化而不是讓一個(gè)“商”承擔(dān)所有誤差。2.3 損失函數(shù)在哪些樣本上算——全空間日志與分空間監(jiān)督多任務(wù)模型的損失函數(shù)通常寫成多個(gè)交叉熵的加權(quán)和。ESM2的損失由四部分組成CTR預(yù)測(cè)的損失、點(diǎn)擊后直接購買預(yù)測(cè)的損失、點(diǎn)擊后加購預(yù)測(cè)的損失、加購后購買預(yù)測(cè)的損失。關(guān)鍵在于這四個(gè)損失作用在不同的樣本子集上CTR損失全部曝光樣本。因?yàn)槊總€(gè)樣本都有“是否點(diǎn)擊”的標(biāo)簽。直接購買損失僅在“點(diǎn)擊樣本”上計(jì)算。因?yàn)橹挥悬c(diǎn)了才有“是否直接購買”的標(biāo)簽。加購損失同樣僅在“點(diǎn)擊樣本”上計(jì)算。加購后購買損失僅在“點(diǎn)擊且加購”的樣本上計(jì)算。用一句更直白的話說每個(gè)子任務(wù)都在它對(duì)應(yīng)的行為空間上有監(jiān)督信號(hào)但整個(gè)模型的總損失依然是在全曝光樣本上匯總的。ESM2把“全空間監(jiān)督”和“分空間子任務(wù)監(jiān)督”統(tǒng)一起來了這也是它名字中間那個(gè)“Elaborated”的又一個(gè)體現(xiàn)。3. 從損失函數(shù)到線上推斷ESM2的訓(xùn)練策略怎么落地3.1 訓(xùn)練樣本怎么攢曝光日志聯(lián)合行為序列落地ESM2的第一件事不是寫模型結(jié)構(gòu)而是把訓(xùn)練樣本準(zhǔn)備好。你需要一個(gè)包含完整行為序列的訓(xùn)練集每條樣本至少要有曝光時(shí)間、曝光位置、上下文信息是否點(diǎn)擊、點(diǎn)擊時(shí)間是否加購、加購時(shí)間是否成交、成交時(shí)間。實(shí)操里最常見的問題是標(biāo)簽口徑不一致。比如“購買”到底定義為下單成功、支付成功還是確認(rèn)收貨我建議以“支付成功”為最終口徑因?yàn)橄聠慰赡鼙蝗∠_認(rèn)收貨又太慢支付成功是電商業(yè)務(wù)中最穩(wěn)定、最接近實(shí)時(shí)收入的信號(hào)。另外要注意時(shí)間窗口用戶點(diǎn)擊后30天內(nèi)購買都算轉(zhuǎn)化還是15天窗口太短會(huì)漏掉計(jì)劃性購物窗口太長(zhǎng)會(huì)讓模型訓(xùn)練樣本過期太久。我的經(jīng)驗(yàn)是先按業(yè)務(wù)平均轉(zhuǎn)化周期取中位數(shù)比如7天或15天曝光日志保留3到4個(gè)窗口的歷史后面再按實(shí)驗(yàn)效果調(diào)整。“直接購買”和“加購后購買”的切分也很關(guān)鍵。嚴(yán)格來說如果用戶點(diǎn)擊后先進(jìn)了購物車再立刻支付這算哪一類我建議以“是否發(fā)生過加購行為”來切只要加購過就算加購路徑不管中間間隔多久。這樣做的好處是路徑互斥滿足概率加法公式的使用前提。3.2 損失權(quán)重讓每個(gè)頭“均衡發(fā)展”多任務(wù)模型一個(gè)容易踩的坑是某個(gè)任務(wù)Loss占比過大導(dǎo)致模型只顧那個(gè)頭其他頭變成了擺設(shè)。ESM2的四個(gè)子任務(wù)樣本量差異巨大CTR有全網(wǎng)曝光日志直接購買可能只有CTR樣本的1%不到加購后購買更是稀少。所以實(shí)踐中要給不同的頭設(shè)置不同的損失權(quán)重。我的默認(rèn)做法是把每個(gè)頭的Loss做“樣本量歸一化”即每個(gè)樣本貢獻(xiàn)的Loss先除以該子任務(wù)的樣本總量再乘以一個(gè)全局權(quán)重。這樣各頭Loss的尺度大致一致初始全局權(quán)重全設(shè)1.0也能均衡訓(xùn)練。如果發(fā)現(xiàn)某個(gè)頭比如加購后購買依然學(xué)不動(dòng)就把那一路權(quán)重提高但我最高不超過3.0再高就容易把共享Embedding帶偏。還有個(gè)容易忽略的點(diǎn)梯度回傳。由于最終目標(biāo)pCTCVR是由多個(gè)head通過乘法和加法組合的CTR head和CVR各個(gè)head之間存在梯度路徑上的耦合。你會(huì)發(fā)現(xiàn)CTR和CVR的梯度天然會(huì)互相影響這是ESM2自帶的“多任務(wù)相互作用”。不要人為地把某個(gè)head的梯度完全切斷否則就失去了聯(lián)合訓(xùn)練的意義。正確的做法是給不同任務(wù)設(shè)置梯度縮放系數(shù)Gradient Scaling控制在0.5到1.5之間微調(diào)而不是粗暴地“停止梯度”。3.3 線上推斷排序用哪個(gè)概率訓(xùn)練完成后線上該用哪個(gè)輸出做排序這是每次講ESM2時(shí)都被問到的問題。答案是看業(yè)務(wù)目標(biāo)。如果你的目標(biāo)是優(yōu)化GMV或交易筆數(shù)應(yīng)該用 pCTCVR 排序因?yàn)樗C合了點(diǎn)擊概率和購買概率對(duì)應(yīng)“曝光后的成交期望”。如果你的目標(biāo)是在“已點(diǎn)擊”的流量?jī)?nèi)做轉(zhuǎn)化優(yōu)化比如某些場(chǎng)景的二次營銷可以用 pCVR_action pCVR_cart × pCVR_cart_to_purchase這就是點(diǎn)擊后購買條件概率本身。如果你的產(chǎn)品是購物車催付那應(yīng)該用 pCVR_cart_to_purchase 單獨(dú)排名把“加購后最可能買”的用戶找出來發(fā)提醒。我見過不少團(tuán)隊(duì)在這里踩坑明明場(chǎng)景是首頁推薦卻拿單獨(dú)的pCVR去排結(jié)果CTR權(quán)重完全消失推薦結(jié)果偏向“點(diǎn)進(jìn)來就買的高轉(zhuǎn)化但低興趣”的商品整體流量效率反而下降。線上排序前務(wù)必再確認(rèn)一次你要優(yōu)化的目標(biāo)指標(biāo)而不是盲目套一個(gè)腦內(nèi)默認(rèn)值。在工程實(shí)現(xiàn)上ESM2也不復(fù)雜。推理時(shí)就是一次前向計(jì)算四個(gè)輸出頭分別算一遍然后用公式組合。要注意的是如果希望得到穩(wěn)定的浮點(diǎn)數(shù)可以提前把pCTCVR的計(jì)算放到模型最后一層作為自定義輸出節(jié)點(diǎn)而不是在業(yè)務(wù)代碼里做除法——避免pCTR極小時(shí)產(chǎn)生數(shù)值噪聲。4. 和ESMM相比ESM2到底“精”在哪里4.1 一張表看懂ESMM與ESM2的區(qū)別把兩篇論文放在一起對(duì)比會(huì)發(fā)現(xiàn)ESM2不是推翻ESMM而是把ESMM中“籠統(tǒng)的CVR”精細(xì)化成了行為路徑上的多個(gè)概率。維度ESMMESM2模型結(jié)構(gòu)共享Embedding CTR塔 CVR塔共享Embedding CTR塔 多個(gè)CVR子塔轉(zhuǎn)化定義點(diǎn)擊→購買單一轉(zhuǎn)化事件點(diǎn)擊→直接購買 / 點(diǎn)擊→加購→加購后購買中間行為不顯式建模顯式建模加購還可擴(kuò)展到收藏、進(jìn)店等損失監(jiān)督空間全曝光空間聯(lián)合監(jiān)督全曝光空間損失匯總 分行為子空間監(jiān)督適用場(chǎng)景轉(zhuǎn)化漏斗較短、中間行為不突出電商等中間行為加購/收藏明顯的場(chǎng)景ESMM的價(jià)值是“把CVR的全空間監(jiān)督問題引入了業(yè)界”ESM2的價(jià)值則是在此之上把“單點(diǎn)轉(zhuǎn)化”豐富成“過程轉(zhuǎn)化”。如果你的場(chǎng)景沒有明顯的中間行為比如一個(gè)落地頁直接填寫表單就完成線索收集那ESM2的收益不會(huì)太明顯ESMM已經(jīng)足夠。但凡是電商、外賣、旅游這種有明顯“先加購/收藏后支付”習(xí)慣的場(chǎng)景ESM2就值得認(rèn)真試。4.2 為什么“加購”這個(gè)中間行為這么關(guān)鍵你可能會(huì)問中間行為為什么偏偏選“加購”因?yàn)樵谒杏脩粜袨槔锛淤徥亲罱咏徺I意圖的信號(hào)。收藏可能只是隨便點(diǎn)了個(gè)心進(jìn)店也可能只是對(duì)比價(jià)格唯獨(dú)“加入購物車”是實(shí)際行動(dòng)而且平臺(tái)大多提供了購物車入口后鏈路可以繼續(xù)追蹤。從數(shù)據(jù)角度看“點(diǎn)擊→加購→購買”這一路徑覆蓋了大量真實(shí)成交。很多場(chǎng)景下直接下單的GMV占比其實(shí)低于加購后成交。如果把加購路徑忽略了就等于只建模了漏斗的一半。ESM2通過剝離一個(gè)中間行為把原本混雜的成交信號(hào)分離成了“沖動(dòng)型成交”和“計(jì)劃型成交”。這兩種成交背后用戶對(duì)價(jià)格敏感度、決策周期、復(fù)購傾向完全不同分開建模后特征表達(dá)會(huì)更有區(qū)分度。更進(jìn)一步的精細(xì)化還可以繼續(xù)在加購后用戶可能還會(huì)經(jīng)歷“訪問購物車”“修改數(shù)量”“填寫地址”等動(dòng)作。ESM2論文中把這個(gè)框架表達(dá)成一種可擴(kuò)展的模式理論上每一層中間行為都可以繼續(xù)分化。不過實(shí)操上不建議無限細(xì)化因?yàn)榉种г蕉鄻颖驹诿總€(gè)分支上又會(huì)被切薄而且線上維護(hù)成本直線上升。一般拆到“加購”這一層性價(jià)比是最高的。5. 實(shí)操避坑樣本、標(biāo)簽、調(diào)參的常見問題5.1 常見問題速查表這里把我見過的ESM2落地問題整理成表每一條都是踩過的坑問題現(xiàn)象可能原因解決辦法線上pCTCVR排序效果不如pCTR業(yè)務(wù)目標(biāo)其實(shí)是點(diǎn)擊或互動(dòng)而非成交重新確認(rèn)業(yè)務(wù)指標(biāo)選擇正確的輸出頭聯(lián)合訓(xùn)練后CTR AUC下降很多多任務(wù)梯度沖突共享底層被CVR任務(wù)帶偏調(diào)低CVR各頭損失權(quán)重或?qū)TR塔單獨(dú)加淺層加購后購買分支基本不變正樣本太少或該路徑業(yè)務(wù)占比本來就低檢查加購后成交占比如果低于10%可先忽略該分支pCTCVR數(shù)值整體偏高/偏低訓(xùn)練數(shù)據(jù)時(shí)序穿越或標(biāo)簽口徑漂移檢查特征是否用了未來信息標(biāo)簽時(shí)間窗口是否統(tǒng)一模型在冷啟動(dòng)商品上預(yù)測(cè)很差共享Embedding沒有冷啟機(jī)制增加統(tǒng)計(jì)特征、圖片/文本向量作為冷啟補(bǔ)充訓(xùn)練耗時(shí)暴增全曝光樣本量是點(diǎn)擊樣本的50到100倍對(duì)曝光負(fù)樣本降采樣保持CTR正樣本全量其中“曝光負(fù)樣本降采樣”是小技巧里最實(shí)用的一條。CTR任務(wù)用全曝光樣本訓(xùn)練確實(shí)嚴(yán)格但工業(yè)場(chǎng)景曝光日志體量大沒必要把所有曝光數(shù)據(jù)都端進(jìn)去。我建議對(duì)“未點(diǎn)擊”樣本做隨機(jī)降采樣采樣比按計(jì)算資源和數(shù)據(jù)量取1:10到1:20同時(shí)把CTR損失權(quán)重乘上一個(gè)“采樣補(bǔ)償系數(shù)”也就是負(fù)樣本的真實(shí)占比除以采樣后占比。這樣算出的CTR概率依然接近真實(shí)點(diǎn)擊率而訓(xùn)練速度可以快一個(gè)量級(jí)。5.2 幾條我個(gè)人的經(jīng)驗(yàn)心得第一不要把ESM2當(dāng)成一個(gè)“模型”而要當(dāng)成一個(gè)“建模范式”。ETL、標(biāo)簽、訓(xùn)練、上線每個(gè)環(huán)節(jié)都要圍繞“全空間多路徑”重新設(shè)計(jì)。很多團(tuán)隊(duì)直接把ESMM的代碼改幾個(gè)輸出頭樣本還是只取點(diǎn)擊后的數(shù)據(jù)那ESM2的好處完全發(fā)揮不出來。第二特征工程的重點(diǎn)要放在“區(qū)分兩條購買路徑”。比如“用戶歷史加購次數(shù)”“平均加購到支付間隔”“加購后是否頻繁訪問購物車”等特征對(duì)直接購買分支和加購后購買分支有截然不同的含義。這類行為序列特征往往比單純的價(jià)格、品類特征提升更明顯。第三線上服務(wù)階段模型文件一定要包含所有輸出頭不要為了減小體積把CVR子塔剪掉。我遇到過有同學(xué)為了省推理時(shí)間只保留CTR頭和CVR總括頭結(jié)果后續(xù)想切換pCVR_cart_to_purchase做購物車催收時(shí)還得重新部署一個(gè)新模型。ESM2的推理開銷并沒有比ESMM大多少一次前向計(jì)算四個(gè)頭耗時(shí)通常增長(zhǎng)不到10%完全劃得來。我在實(shí)際落地ESM2時(shí)最喜歡的一點(diǎn)是它的“路徑可解釋性”。過去調(diào)CVR模型遇到預(yù)測(cè)值異常只能模糊地歸因到“特征分布變了”現(xiàn)在可以直接看是點(diǎn)擊概率掉了、加購概率掉了還是加購后轉(zhuǎn)化掉了。這種透明度讓算法和業(yè)務(wù)方的溝通順暢了很多——業(yè)務(wù)說你最近推薦效果變差你可以直接把漏斗環(huán)節(jié)的數(shù)據(jù)拉出來對(duì)照問題出在哪一目了然。如果你正在電商、生活服務(wù)或者任何“中間行為存在感強(qiáng)”的場(chǎng)景里做轉(zhuǎn)化建模ESM2是一個(gè)非常值得投入的基準(zhǔn)模型。至少先實(shí)現(xiàn)一版和ESMM做對(duì)比你會(huì)很快看見精細(xì)化漏斗建模帶來的增量。