1. 從人類決策到數據決策
分析能力再上臺階
隨著大數據與雲計算的發展,我們企業能夠獲取的數據量越來越大、數據維度也越來越豐富。與此同時,幫助我們挖掘數據、分析數據的工具也越來越強大,比如大家所熟知的各種雲平臺和大數據平臺。
在模型算法方面,業界和學界也投入了很多資源來進行開發和迭代,因此各種新的模型和算法源源不斷地被開發完善,發展速度非常快。
在這個背景下, 當企業擁有了足夠的數據、或者有能力去收集相當數量的數據,智能化運營手段即成為企業增長的一大探索點。
圖 1: 企業決策面臨從人類做決策到機器做決策的鴻溝
具體來講,很多企業近年來藉助 BI(Business Intelligence,商務智能) 工具,得到了很多有意義的洞察與增長。
但由於 BI 工具是由分析師設計,再交由運營人員去使用的分析工具,所以從人力投入與使用場景來看,BI 工具所做出的分析一般不會特別複雜,可能只是一些低維度的比如一維、二維的分析。
相對而言,我們今天所分享的機器學習和人工智慧模型所能夠處理的數據量之大、維度之高,能夠挖掘出的數據與數據之間關係的複雜程度,都遠遠地超出了我們正常人所能理解的範疇。
比如常見的集成學習(ensemble model)、深度學習、前幾年大家所熟知的在下圍棋應用中非常成功的強化學習模型、去年大家十分關心的換臉技術背後的 GAN 模型等等。所以我們會面臨的一個問題是:如何把這些不好理解但功能十分強大的工具應用到我們的業務體系當中。
今天的分享將圍繞這個問題展開,結合團隊案例解析模型驅動項目的關鍵步驟,幫助大家在實際模型操作或項目管理的過程中少走一些彎路。
2. 從數據到商業價值
建模流程逐一拆解
圖 2:模型驅動項目流程
從痛點中推斷業務問題一般情況下,模型驅動項目的起點是一個業務場景或者痛點,比如說大家想解決一個什麼樣的問題。
我們的團隊會和需求方進行一個詳細的溝通,比如說在業務場景中出現這種問題的原因是什麼,有哪些解決方案,開發模型需要那些數據。這些業務角度的洞察,對我們後面的項目部署具有非常好的指導意義。
舉例來講,GrowingIO 最近在為來自不同行業的客戶做預測模型,儘管不同行業的業務場景各有差異,但抽象後總能發現一些共性問題。比如用戶轉化率的提升就是不同行業所共同關注的一個關鍵指標。
GrowingIO 有一個家居家裝平臺的客戶,他們通過匹配設計師和有家裝需求的用戶獲得盈利。該平臺希望通過智能化分析從平臺上篩選出有高意願去找設計師的用戶,以將有限的資源集中到這些高潛用戶中從而進行精準運營。總體而言,就是以最少的投入觸達最多的高轉化率用戶,最終提升整體轉化率。
現實生活中,大多數行業都有這樣一個提升轉換率的訴求。
數據採集及標準化當我們擁有大體方案後,下一步就是進行數據採集。一些提前部署了 GrowingIO 客戶數據平臺(CDP) 的企業,他們的數據已經封裝在我們的客戶數據平臺中。這些標準化後的數據是可以直接使用的。
而對於新的客戶,除了數據拉通外,我們還需要進行數據清洗與流程標準化,這個階段的速度會相對緩慢。
數據預處理數據預處理是整個建模過程中最耗費時間,也是實現項目成功、確保模型精確度的關鍵一步。
以零售行業為例,假設某零售客戶希望能夠預測哪些用戶會到店購買,或者預測他們未來會購買哪個品牌、哪個品類等等。
通常情況下,我們所採集的零售數據都是一些交易數據,這些數據記錄了一筆又一筆的用戶消費信息。
我們要做的是預測未來哪些用戶會產生購買轉化行為,而過往的用戶消費數據可能蘊含著這些信息。因此我們需要把這些交易數據轉化為用戶特徵和商品特徵,以便輸入到我們的預測模型中。
算法-模型驗證-輸出管理在預測哪些用戶可能會轉化的場景中,我們通常採用 1 或 0 的二分類模型。
當場景比較複雜、牽涉到種類較多的商品或物品時,我們可以做一些多分類模型深入展開。比如做電商平臺的購買推薦時,面對過多的商品種類,可以通過個性化推薦實現「千人千面」的推薦效果。
基於以上四個步驟初步搭建好模型後,我們需要做很多的離線檢驗以進行模型驗證。
整個過程結束以後,我們會對驗證後的模型做一些畫像,以更好地理解模型背後的邏輯。同時,模型畫像也能夠幫助我們確定整體的營銷策略。
激活及在線檢驗至此,大家對這個模型也有一定程度的了解、精度也能得到保障,模型就可以上線了。上線後,我們也會在線上做一些相應的檢測,並把整個流程固化下來,使它變成一個自動化模型產品。同時,我們也會依照業務的需求以一定的節奏讓模型保持自動更新。
在 GrowingIO 現有客戶中,他們的預測模型每天都在自動更新。在這種情況下,客戶就能夠通過這個模型實現源源不斷的輸出,賦能相應的業務場景。
3. 從模型到業務增長
解析項目五大關鍵點
3.1 清晰的建模目標
圖 3:建模的業務目標
一個成功的技術模型,往往是商業洞察、數據、算法三者相互作用的結果。業務目標決定了我們需要採集什麼數據、使用什麼算法、做什麼驗證以及制定什麼策略。總而言之,業務目標是一個根本性的驅動因素。
業務場景通常來說是多種多樣的,因此我們需要根據客戶的需求對建模過程進行一些微調。
對於用戶運營的同學,他們可能需要拉新、留存、預測流失用戶並作出預警;對於業務前端的同學,他們需要制定合理的定價策略並進行促銷;對於負責廣告業務的同學,他們需要評估廣告渠道的效率,以此產生一些關於營銷組合的洞察,便於制定下一階段的廣告預算和分配策略。
還有一些與供應鏈相關的場景,比如訂單評估不準確導致庫存積壓或商品脫銷。這時我們就需要更精確的需求預測來構建一個更加理想的供應鏈,把合理數量的商品在合適的時間運送至正確的地點。
3.2 模型和算法選擇
圖 4:選擇模型和算法
選擇算法的第一步,是明確選擇算法的目的,即從數據中提取有效的信息。因為算法是不會自己生成信息的,所以我們只能從數據中提取。
那什麼是有效信息呢?這裡的有效是針對業務目標而言的。一般情況下,業務需求和我們所給出的解決方案,基本上就決定了我們所要選擇的算法類型。比如簡單的分群分類、預測或是個性化推薦場景就分別對應了序列決策(Sequential decision making)、強化學習等算法。
值得注意的是,選擇模型和算法的時候需要我們在準確性與可解釋性之間做一個平衡。通常來講,如果我們做的是預測模型或者分類模型的話,會更關心準確性;而歸因模型最終的目的是對哪些因素起作用哪些不起作用做說明,這時模型的可解釋性則更加重要。
圖 5:從簡單到複雜
在建模的初始階段,我們會優先嘗試一些相對簡單的模型,比如說線性模型,這樣方便我們作出解釋。
其次,考慮模型的可拓展性。由於當前用戶行為數據呈現指數級增長,我們需要結合平臺運算能力與模型結果實施來進行這方面的考慮。
總的來說,算法模型多種多樣,可選擇的餘地也非常大,但當我們從這幾個維度進行考量後,可選擇的範圍就會相對的縮小。
3.3 特徵工程與選擇
算法的目的是從數據中挖掘有效信息,因此我們用來擬合算法的數據應該要包含儘可能多的信息和預測能力
預測模型解析舉個 GrowingIO 的客戶案例,我們曾經做過一個預測模型用來預測哪些用戶會到商店進行消費。在這個模型中,因變量是用戶是否會到店購買的這個行為,但由於我們預測是的下一周/下個月/下一季度的購買情況,所以因變量還需要從用戶行為周期或最終營銷執行策略等角度進行調整。
至於自變量則需要考慮能夠影響用戶消費行為的因素。具體一點來說,就是找到具備預測我們所需解決事情能力的信息,並且把信息中具有預測能力的變量抽離出來,再放到我們的模型當中。
比如性別、年齡、教育程度、收入等基礎的用戶特徵;又比如品牌、是否打折品類等商品特徵。對於零食類商品而言,口味也是影響用戶購買行為的重要因素。
其次,用戶過往行為和線上行為也會蘊含大量的信息。比如說我們營銷中常用的 RMF 維度、用戶忠誠度、會員身份、是否參與打折消費以及用戶過去的商品瀏覽、收藏點讚等行為等等。這些數據能夠極大地提升我們的模型預測表現。
個性化推薦在個性化推薦場景的特徵工程中,我們需要推測用戶會對什麼樣的產品更感興趣。如果我們能把包含用戶興趣的特徵放進模型中,模型的表現也會更好一些。
除了預測模型中所提到的基本的用戶與商品特徵外,還需要結合場景思考用戶可能感興趣的商品品類。比如節假日會影響用戶的購買興趣;對於內容平臺而言,終端或者所處網絡狀態都會影響用戶的瀏覽偏好。
同時,社交網絡也是影響用戶購買的一大因素。用戶的鄰居、朋友、同事等等的興趣行為很大概率會反映到用戶身上,這些都從另一個角度為我們提供了分析用戶購買興趣的線索。
其次,在個性化推薦商品的場景中,我們常常面臨著冷啟動的問題。一些新的用戶,由於缺乏關於他們的足夠量的行為數據,導致我們對他們所知較少。這時,我們可以藉助比如地域等其他信息來洞察用戶。
舉個例子,用戶的口味可能與所處地域有著一定的相關性,像南方的用戶可能更偏好於清淡或者偏甜的食物;新客戶大概率青睞一些普遍賣得比較火的、受到大家喜愛的熱門商品,或者一些打折力度較大的商品。
當然我們也存在一些比較特殊的場景。在一般的電商平臺上,如果我們推斷用戶對某些商品感興趣,那我們就可以直接進行推薦。
而對於婚戀網站來說,它存在一個雙向性的問題,即只有雙方都具備好感時,才算是推薦成功。對於運營商客戶,它們也存在一些特殊的限制,因此行業和平臺的特徵也是我們在選擇算法時所需要考慮的因素。
整個流程下來,我們其實沒有談到非常技術的問題,主要是通過業務知識或領域現狀來判斷哪些特徵對我們有所幫助。
基於這些判斷確定數據後,我們可以做一些 EDA 的探索性數據分析。這些分析可以是簡單的、低維的,也可以是一些相關性(correlation)或者簡單的線性回歸,通過單維的模型來幫助我們判斷哪些特徵更加具備預測能力。
最後,我們需要完成對模型的校驗。最終的校驗模型將會為我們提供更多有用的信息,比如說哪些特徵會有用、而哪些特徵會沒用。
3.4 檢驗模型
模型檢驗通常來講有兩個目的,一是驗證模型的準確性,二是解決模型的穩定性。通常而言,我們是根據某一樣本來建立模型,但如果我們拿出另一個樣本,模型的效度是否能夠得到保證?
另外,如果這個模型對當月數據有效,那到下個月是不是還能保持大致程度的準確性?這就是我們需要解決的問題。
在衡量算法模型項目的準確性時候,通常會用到技術指標和商業指標:
技術指標不同類型的模型會有一些技術指標,相信大家都非常熟悉。
商業指標做模型的最終目的是給業務帶來增長,因此商業指標在某種程度上要比技術指標更重要。比如說看一下 CTR(Click-Through-Rate,點擊通過率)或是引入模型後帶來的營收增量等指標。
通常情況下,我們是在離線環境下訓練模型,這就意味著在模型上線後,需要檢驗模型在線上環境的運行情況及效果,所以我們也會有一些對應的檢測方法和手段。
A/B 測試是我們比較熟悉的檢測方法,更複雜的還有交叉驗證、In-time testing 和 Out of time testing。這些都是基礎模型常用的檢測手段。
當然相比於常見的預測模型,還有一些比較特殊的模型,比如說時間序列,它不是由獨立的數據點構成,裡面有一個持續性的問題;又比如強化學習場景,它的輸出是一個比較長的動作序列,在我們的歷史數據中根本不存在。這些模型的測試方式是一個非常有意思的問題,也是學界和業界研究很多的一個問題。
圖 6:用技術指標檢驗模型效果
如圖 6 所示,當我們在做二分類或者多分類的問題時,可以跑一下歷史數據,用我們的模型來為用戶排序分組,區分高概率轉化的用戶和低概率轉化的用戶。比如說我們排序前 10% 的用戶,如果能覆蓋 40% 轉化的用戶量,這樣子我們大概會產生 400 的 lift。而像 ROC curve 或 AUC 這樣的指標會對我們評估模型表現具有比較好的指導意義。
圖 7:用商業指標檢驗模型效果
圖 7 從商業指標的角度反映我們的模型效果。我們在第一部分提到的家裝平臺案例中,通過模型將用戶分為高意願組和低意願組,並在他們在線時候分別進行彈窗引導。
結果顯示,低意願組在加了彈窗之後,轉化率大概在 0.05% 左右;而高意願加彈窗後轉化率能達到 0.67%。十幾倍轉化率是由有序的項目流程,系統的統計分析和先進的模型構建所支撐的。
3.5 模型畫像
模型雖然功能很強大、預測能力很強,但它也會變得十分複雜、不容易解釋。而且建模項目往往需要多團隊合作,因此大家一定要對所做的模型有共識和足夠的信心,這樣大家才會放心的交付並使用模型。
在模型產出輸出後,我們會使用畫像對模型做一個解釋,它能幫助我們梳理模型背後的邏輯,從而完成一些模型優化工作。
儘管模型本身的數據邏輯很複雜,但它背後的核心邏輯能用兩點來概括:一是商業邏輯;二是長期作用。如果我們能夠探索出決定模型的商業邏輯,它在我們提煉營銷策略時就能起到很好的提示作用。
從方法論來講,我們主要可以從三個方面來入手。
圖 8:變量重要性檢驗
第一個是變量的重要性。現在的算法模型很複雜,我們通常也會擬合很多特徵,而最終哪些特徵起作用,哪些特徵沒有起那麼大的作用,我們則可以通過提取變量重要性的方式(如圖 8 所示),在排序後理解模型的邏輯。
圖 9:用商業指標驗證所選指標
第二個考慮我們所使用的特徵與商業指標之間的關係。通過模型輸出,我們可以看到某一變量或某一維度在不同人群中差異極大,那麼他們可能會是比較好的可選特徵,將它用於用戶分群後,就能進行精細化運營。
第三個是輸入與輸出的關係。舉個例子,我們在醫院體檢的時候,報告上會提示很多不同的指標。醫生看完報告後會告訴我們一些需要注意的地方,或者我們在健康上有哪些問題。而我們就會反問醫生報告背後的邏輯是什麼、他是怎麼得出結論的。
我相信醫生整個診斷的過程是非常複雜的,因為它絕對不會是一個簡單的線性關係。但醫生給我們解釋它邏輯的時候,一定是用最簡單的話來完整地表達整個邏輯。因為如果太複雜的話,我們也不一定能夠聽懂。
實際上,醫生解讀健康報告這個案例也在給我們帶來一些提示。雖然我們的模型整體上非常複雜,但我們或許可以在局部用一些線性模型或者樹型模型等易解釋的模型對它做一些逼近。
如果逼近比較成功的話,那麼我們至少在一個局部可以根據這些簡單的模型來解釋為什麼複雜模型能夠得出這些結論。
以上就是建模的整個流程與注意事項。
4. GrowingIO 數位化增長解決方案
這部分我想給大家簡單地介紹 GrowingIO 目前在做的一些工作,具體來說,就是智能解決方案平臺背後的搭建思路。
如果我們想把做出來的模型儘可能的自動化,至少需要考慮三個方面的東西,它們分別是計算平臺、數據、算法。
我相信計算平臺、雲計算、算法這些概念大家都比較熟悉了。這裡我想給大家著重介紹數據標準化的作用。在做模型的時候,直觀上我們會覺得算法所耗費的時間最多,可實際上我們絕大多數的時間都花在特徵提取上。
綜上,如果我們能夠實現數據的標準化,以標準化的數據為起點,那麼項目建模所需的時間就會極大地縮減。
圖 10: GrowingIO 客戶數據平臺(CDP)
從圖 10 可知,計算平臺、數據、算法是我們 GrowingIO 智能解決方案平臺的基礎設施。越到中間環節就越接近算法,在數學上也就更加複雜,但同時也是自動化或標準化程度較高的部分。
在整個平臺的兩端,由於我們需要對接具體業務,落地應用場景,因此不同模型的差別會非常大。在這種情況下就需要業務、技術等團隊相互配合。在具體的操作中,可以對各個不同行業所共同關心的話題作一些抽象、提煉出一些常用的場景,來幫助我們不同行業的客戶。
基於此,GrowingIO 增長平臺的邏輯也就出來了:首先把硬體軟體、數據算法做一個有效的封裝,然後通過算法從數據中提取有效信息和商業洞察並形成可落地的商業策略,並用合理的渠道去觸達雲以提高效率、增強智能,最終為客戶帶來增長。
在 GrowingIO,我們有專業的團隊來對各個行業所共同關心的場景進行提煉,現在已經提取出一些常用場景的算法模型。
圖 11:19 個適用於電商的模型/算法場景
對於電商行業而言,平臺上有非常多的品牌和賣家,我們劃分出 19 個模型和算法場景(如圖 11 所示),其中品牌運營是通過賣家數據評估用戶的購買偏好;用戶運營主要關注哪些用戶對價格更敏感。
需要注意的是這裡有一個帕累託原則的概念(Pareto Principle),即 20% 的高價值用戶為我們帶來 80% 的業務營收。因此我們需要通過分權的方式,將這些高價值用戶從眾多的用戶中篩選出來。
我們還能通過 RFM 分層的方法幫助電商平臺預測用戶的潛在生命周期價值,預測用戶下次購買的時間或者可能購買的商品,以此做一些對應的營收策略。
此外,用戶運營還包括流失用戶預警、潛客挖掘等等的場景。
商品運營包括價格制定策略、品類優化、個性化推薦、場景。具體而言,我們可以通過衡量用戶對平臺、對產品的忠誠度計算用戶的價格彈性,根據產品的可替代性制定最優的價格策略;通過對用戶購買組合的分析判斷劃分出品類相似的產品,通過實體店的商品擺放,方便用戶找到自己所需的商品。
電商平臺可能還會舉辦各種各樣的促銷活動,結束之後我們需要對活動復盤,評估營銷活動究竟能給我們帶來哪些長期和短期的效果;同時促銷活動可能會涉及到優惠券分發的需求,我們的模型可以幫助客戶提高個性化發券的精準性,提高活動效率。
除了電商平臺的解決方案外,GrowingIO 團隊還提煉出運營商、內容社區等不同行業的模型與算法場景,總結出了 20 個適用於運營商以及 17 個適用於內容社區的模型和算法場景。
由於時間關係就不給大家詳細介紹了,下面給出了模型和算法場景的概覽圖,感興趣的同學可以關注一下。
圖 12: 20 個適用於運營商的模型/算法場景
圖 13:17 個適用於內容社區的模型/算法場景
以上就是今天分享的全部內容,希望能對大家有所幫助,謝謝大家!
作者:何雲筱 GrowingIO 首席數據科學家。美國普渡大學統計學博士,耶魯大學博士後。原陽獅廣告數據副總裁,尼爾森數據總監。曾服務沃爾瑪、Safeway,Sam’s 等美國頭部企業,擁有 10+ 年零售、營銷、廣告等領域的數據科學應用經驗。