怎么做精準投放與轉化?阿里多渠道序列化投放技術揭秘
一、阿里健康用戶算法業務簡介
首先,阿里健康的用戶算法其實是圍繞整個天貓行業的數據資產。
商家,會分成兩部分,一部分是自營的藥房,比如阿里健康大藥房、海外店、品牌旗艦店,等等。當我們平臺的商家,帶著某些訴求來到平臺,比如說,想提升產品的一些指標,例如商品類目的 GMV,或者是提升 ROI 等。首先,平臺會向商家提供人群策略上的能力,也就是根據目標以及目標運營商品,提供定向人群的能力。人群產生后,下一步就是商家如何去做營銷投放。這里會遇到一個問題,淘內外有那么多營銷渠道,比如短信、push 推送、包括站內的廣告。在站外,還會有一些字節系的比如抖音、知乎等站外廣告。那么商家在面對這么多不同的投放渠道時,會遇到這些人群怎么去投放才能最高效、渠道間怎么合作等等一系列的問題。
在這里,我們會有一些渠道上的策略,人群策略 + 渠道策略,幫助我們的商家去做人群的投放。當流量來到我們站內以后,我們會根據用戶數據去做一些差異化引導,比如商品推薦、入會引導、權益的個性化等等。通過這些,我們獲取了用戶在我們站內的一些行為數據,同時這部分數據會回流到平臺的行業數據用戶資產中。這些數據會進一步提煉出用戶標簽、去支持我們后續人群策略的迭代。
針對阿里健康用戶算法,序列化投放,重點解決用戶運營全圖中渠道策略的部分,提供渠道組合、序列觸達、預算/出價能力以及頻次控制等能力。
序列化投放主要解決以下兩大問題:
(1)首先,行業商家面對多種多樣的淘內外投放產品,缺乏一個全局化的抓手,不知道如何投放整體效率最高。
(2)另外,對于行業平臺來說,如果各個營銷渠道都是以自己的目標為先,各自為戰。在短期的目標下,每個渠道獨有的、可以相互協作的用戶運營價值會被商家忽視、影響平臺增長。
針對上述問題,我們這邊的解法就是通過定向人群流轉、序列觸達推薦,和曝光頻次控制實現人群有次序的觸達,從而實現人群的精準觸達和轉化。從上圖中的觸達次數與用戶轉化占比圖,可以看出大部分的成交都是發生在消費者的非首次觸達中,也就是說用戶首次觸達轉化情況是非常少見的。
結合一些實際的數據,可以發現渠道的多次觸達對于用戶的轉化心智存在累積效應。其次不同的渠道觸達順序對用戶的轉化存在影響。
二、序列化投放模型基礎方案
接下來介紹針對上述問題的基礎解決方案。
將單渠道優化中的人貨預估問題,針對特定的人群、特定的商品。去做 CTR 和 CVR 的預估,包括其他目標的預估。然后把問題,轉化為人貨路徑的預估問題。
基于這樣的思路,我們會遇到兩個問題:
(1)首先是序列樣本構建。
(2)第二個問題是路徑的不確定性。投放前規劃的觸達序列在實際投放中并不能保證被完整曝光,尤其是廣告渠道。
下一步,結合實際場景設計序列化投放推薦的模型。基礎方案就是通過一個向量三塔模型去解決。
為什么要通過向量三塔模型呢?
首先,剛才提到的三元組,第一個就是人,第二個就是貨,也就是商品,第三個就是路徑。人、貨、路徑三元塔的數量級其實是非常龐大的。而產品功能需要保證計算時間可控,并將白盒化的定向人群、匹配商品及推薦路徑及時反饋給商家。然后商家確認策略后采取投放。基于這樣的產品性能的要求,采用向量的模型。因為向量比如商品或者路徑可以提前緩存,等到人群圈選出來后再做計算,這樣可以保證時間可控。
基于這個模型,我們做個兩點優化:
(1)第一點,泛化性的優化。模型訓練樣本近 80% 為營銷重點品。因此模型對中長尾商品、新品的學習是不充分的。因此基于 GraphSAGE 在基礎模型的 item 側構建了Graph Embedding,提升泛化性。
(2)第二點,根據實際情況去做的一個優化,原來的序列化投放模型是基于 CVR 預估的,但其實從行業商家視角來看,渠道策略最終的目標是提升 ROI。所以結合這一情況,我們這邊把最終的目標轉化成 ROI 的預估問題。
對于 ROI 的預估有兩種方式:
(1)第一種,直接預估。這種方式的優點是,模型保序即可,選擇預估值最大的觸達序列作為推薦策略。缺點就是,ROI 值域較大,模型預測難度大。
(2)第二種,分別預估。這種方式的優點是,模型預測難度小于直接預估。缺點是分別預估由兩個預估值相除得到,存在模型誤差累積放大的可能。
三、向量模型優化
基于最后的實驗結果可以看到,使用這個直接預估 ROI 的結果,效果不是很好。剛才提到的向量三塔模型中,有一個很明顯的缺點,就是人貨路徑三塔分離的向量化結構,保證了產品的 serving 性能,但因為缺少特征交叉的模型結構,導致對側信息交叉過晚、模型表達能力被嚴重制約,整個模型精度有所欠缺。
基于這類問題,我們第一個優化解決方式就是——知識蒸餾。
剛剛提到,缺少類似交叉特征等對模型精準度有很大幫助的特征。如果可以引入這個優勢特征,并且通過知識蒸餾的方式提供給線上模型,那是不是這個問題就能解決了?
圖中 teacher 網絡除了基礎特征以外,還引入了優勢特征。這里的優勢特征包括對側交叉特征和承接后鏈路特征。被知識蒸餾過的 student 特征,保證了線上線下特征的一致性。teacher 網絡只基于前后鏈路數據,在更高緯的假設空間下學習知識。并指導 student 網絡的學習。并不存在數據穿越的問題。
第二個優化方案,虛擬內核,topic embedding。在保證模型性能的前提下,實現用戶向量的千物千面,實現對側特征的融合。
四、規則優化
營銷階段的算法,離不開規則的優化。
原始人群流轉的規則,用戶在前置觸點中產生了目標商品的曝光,才進入下一個觸點的投放計劃。那么這個原始人群流轉的規則是相當嚴格的。比如商品在直通車的渠道上面沒有產生曝光或者消耗。由于前置條件是產生了才會走到后續的渠道,否則將會永遠停留在這個階段,不再進行流轉。
我們的初衷是想通過更多的渠道去做多次的觸達,促使用戶轉化心智的累積。所以要盡可能多的讓用戶產生累積觸達。不要去浪費前面觸點的價值。盡可能提升人群流轉率,提升投放覆蓋和感知力度。
首先第一點,需要對原來嚴格的流轉策略做一個放寬。原來是基于場景去做約束,比如直通車知道必須在這個點曝光,但是呢,用戶基于前面的觸點曝光以后,或者已經在其他的一些場景產生了類似的行為,比如說公域,用戶已經去搜索這個商品了,或者已經在詳情頁里對這個商品產生瀏覽。那么我們應該把這個場景放寬,公域場景也可以觸發曝光,這樣就可以使他流轉到下一個節點。另外是約束放寬,是指不局限于目標商品的曝光。可能相同的葉子類目或者店鋪品牌的相似品類的曝光,也可以觸發流轉。
兩個放寬策略優化后,整個人群的流轉大概提升了 23.6%。
第二點就是頻次控制,前面提到,有些用戶經由前面的觸點,已經完成轉化,如果后續還按照原有的計劃投放,會造成資源的浪費。過度曝光頻次控制包括:對遠超閾值曝光次數、但未對商品產生行為的用戶,停止后續的觸點流轉。頻次控制策略優化后,投放整體 ROI 提升 4.46%。
五、總結與展望
最后對整個序列化實驗和后續迭代方向做一個總結。
在模型階段,知識蒸餾和虛擬內核方案的引入對側信息以及優勢特征,在保證推理時效的同時提升了模型的準確性。可以看到,在 AUC 和 ROI 方向,都有提升。
可迭代的方向,就是要結合整個健康行業,醫藥類目的一些屬性去做一些事情。
首先,第一點就是我們在健康類目上,尤其是結合 OTC 或者處方藥的復購屬性,對臨近復購周期人群定制化流轉策略。舉個例子,一些用戶習慣在淘寶下單一些慢病相關的藥,當這個藥購買之后,我們已經可以獲得他買的這個規格或者說是訂單的數量,大概就可以判斷出什么時候把這些藥品吃完。那么在寫一個階段他到達復購周期的時候,我們可以針對這部分人做一些定制化的流轉策略。
第二點,復購可以和渠道策略進行結合。渠道策略可以圍繞用戶運行的前后鏈路做一些聯動。
第三點,序列化投放,其實是一個多觸點決策,決策完成后,需要做多觸點歸因分析。歸因分析告訴我們不同的觸點,對于用戶轉化的目標,或者價值,以及各個觸點貢獻了多少的增量價值。基于這些結果,可以沉淀為整個經營策略。包括多觸點歸因其實是可以輔助序列化投放的優化迭代。
六、問答環節
Q1:模型線上單次運行耗時多久?
A1:單次線上運行耗時要分不同的情況,比如商家基于不同的目標,圈選的人群量級、或者商品的量級,包括最后選定的渠道數量等等,不同的量級,比如百萬級和千萬級的人群數量運行的時間肯定是不同的 。但結合目前的情況來看,單個模型運行下來,大概是分鐘級別的,也就是,商家需要等待一段時間,才能將整個策略白盒化。
Q2:不同渠道下的用戶側特征可以對齊嗎?
A2:其實是可以的。因為用戶側的特征其實沒有包含渠道上的數據,更多的比如像 user 的特征或者說他的行為特征。這個行為特征,你可以理解為就是用戶在整個淘系內產生的一些點擊、轉化搜索之類的行為。他其實并沒有和渠道側相關。所以這邊目前沒有加入一些渠道定制化的特征在里面。唯一和渠道結合的數據可能就是用戶在渠道上面的點擊率等等。點擊率和點擊率其實是能夠對齊的。
Q3:序列化重的渠道選擇與預算,頻率在模型中是如何結合的?
A3:作為模型特征,序列化渠道是沒有考慮預算的事情。因為預算,不是算法能夠解決的。往往是說,商家帶著目標,想要去運營哪些商品,那么營銷商品,有多少的營銷預算,那么這個預算,其實在一開始就做好決定的。算法能做的就是基于歷史的一部分數據,幫助做一部分預算的分配。
比如你有 1000 萬的營銷預算,這些預算應該花在那個節點上面。所以預算的總量是沒辦法用算法做出決定的。更多是在分配或者出價上,給出一定的建議或者策略。
至于頻次的話,就是在人群流轉的時候去做一些控制。比如會基于用戶的一些實際行為和轉化意愿等做一個頻次的控制。
Q4:投放路徑的選擇存在因人而異或者是差異化嗎?
A4:這個是的。因為整件事情就是基于不同的用戶,然后去設置個性化的路徑。這一定是因人而異的。
Q5:用戶行為的使用是否存在數據泄露?
A5:不存在數據泄露的問題。
Q6:觸點是曝光觸點還是喚醒?
A6:觸點是在我們淘內的渠道場景下發生的曝光。比如說短信發送以后,我們可以收到日志,來判斷用戶是否成功接收了短信。如果說成功接收了這條短信,對于用戶來說就是一次觸達,也就是一次觸點。再比如說,直通車,搜索一些關鍵詞,然后我們出現在第一個坑位,只要用戶看到了這個坑位,我們也認為這是一種觸點的曝光。
Q7:客戶路徑差異化通過什么工具或者方式把這個路徑固定下來?
A7:首先,在投放階段,商家帶著目標或者意愿,還有預算來到平臺,去設計整個人群的投放策略。在這個時候,我們會通過剛才提到的方式把路徑固定下來,交付給商家。其實就是一個人群包。無非就是你這個人群包中不同的用戶對應當天投放的哪些渠道。比如說用戶 A 對應的就是短信,用戶 B 對應的就是直通車。商家會根據人群包去做相應的投放計劃。前面提到的用戶已經產生了一些曝光,那么按照剛才的人群流轉策略,需要對這個用戶 A 對應的渠道做一些更新。所以,行業商家看到的就是一個人群包不停更新的結果。
Q8:用戶行為發生變化,是否會改變路徑,不同路徑如何轉換?
A8:用戶行為發生變化是否會去改變路徑,我理解這是另外一個問題,叫做重定向問題。這可以理解為是否要基于這個用戶當時實際的一個行為去改變下一個節點。在這一版本的序列化投放其實是沒有的。目前的序列化投放是做好了整個計劃的創建,然后按照這個計劃去執行,比如這個問題,其實有兩個難點。第一個就是說這個用戶的數據要盡可能做到實時,比如秒級或者分鐘級。那么你才能夠做到一個很好的且即時的重定向。然后,這個重定向其實會有一個長期價值預估的問題,可能更多的涉及到一些前后鏈路的問題。