大家好,我是 GrowingIO 首席數(shù)據(jù)科學(xué)家何云筱。我們團(tuán)隊(duì)在算法模型驅(qū)動(dòng)業(yè)務(wù)和智能化運(yùn)營的項(xiàng)目實(shí)踐中,積累了大量的經(jīng)驗(yàn)并產(chǎn)生了自己的思考。
今天很高興可以借助此次公開課,和大家分享一些模型算法的理論與實(shí)踐。
1. 從人類決策到數(shù)據(jù)決策
分析能力再上臺階
隨著大數(shù)據(jù)與云計(jì)算的發(fā)展,我們企業(yè)能夠獲取的數(shù)據(jù)量越來越大、數(shù)據(jù)維度也越來越豐富。與此同時(shí),幫助我們挖掘數(shù)據(jù)、分析數(shù)據(jù)的工具也越來越強(qiáng)大,比如大家所熟知的各種云平臺和大數(shù)據(jù)平臺。
在模型算法方面,業(yè)界和學(xué)界也投入了很多資源來進(jìn)行開發(fā)和迭代,因此各種新的模型和算法源源不斷地被開發(fā)完善,發(fā)展速度非常快。
在這個(gè)背景下, 當(dāng)企業(yè)擁有了足夠的數(shù)據(jù)、或者有能力去收集相當(dāng)數(shù)量的數(shù)據(jù),智能化運(yùn)營手段即成為企業(yè)增長的一大探索點(diǎn)。
具體來講,很多企業(yè)近年來借助 BI(Business Intelligence,商務(wù)智能) 工具,得到了很多有意義的洞察與增長。
但由于 BI 工具是由分析師設(shè)計(jì),再交由運(yùn)營人員去使用的分析工具,所以從人力投入與使用場景來看,BI 工具所做出的分析一般不會特別復(fù)雜,可能只是一些低維度的比如一維、二維的分析。
相對而言,我們今天所分享的機(jī)器學(xué)習(xí)和人工智能模型所能夠處理的數(shù)據(jù)量之大、維度之高,能夠挖掘出的數(shù)據(jù)與數(shù)據(jù)之間關(guān)系的復(fù)雜程度,都遠(yuǎn)遠(yuǎn)地超出了我們正常人所能理解的范疇。
比如常見的集成學(xué)習(xí)(ensemble model)、深度學(xué)習(xí)、前幾年大家所熟知的在下圍棋應(yīng)用中非常成功的強(qiáng)化學(xué)習(xí)模型、去年大家十分關(guān)心的換臉技術(shù)背后的 GAN 模型等等。所以我們會面臨的一個(gè)問題是:如何把這些不好理解但功能十分強(qiáng)大的工具應(yīng)用到我們的業(yè)務(wù)體系當(dāng)中。
今天的分享將圍繞這個(gè)問題展開,結(jié)合團(tuán)隊(duì)案例解析模型驅(qū)動(dòng)項(xiàng)目的關(guān)鍵步驟,幫助大家在實(shí)際模型操作或項(xiàng)目管理的過程中少走一些彎路。
2. 從數(shù)據(jù)到商業(yè)價(jià)值
建模流程逐一拆解
- 從痛點(diǎn)中推斷業(yè)務(wù)問題
一般情況下,模型驅(qū)動(dòng)項(xiàng)目的起點(diǎn)是一個(gè)業(yè)務(wù)場景或者痛點(diǎn),比如說大家想解決一個(gè)什么樣的問題。
我們的團(tuán)隊(duì)會和需求方進(jìn)行一個(gè)詳細(xì)的溝通,比如說在業(yè)務(wù)場景中出現(xiàn)這種問題的原因是什么,有哪些解決方案,開發(fā)模型需要那些數(shù)據(jù)。這些業(yè)務(wù)角度的洞察,對我們后面的項(xiàng)目部署具有非常好的指導(dǎo)意義。
舉例來講,GrowingIO 最近在為來自不同行業(yè)的客戶做預(yù)測模型,盡管不同行業(yè)的業(yè)務(wù)場景各有差異,但抽象后總能發(fā)現(xiàn)一些共性問題。比如用戶轉(zhuǎn)化率的提升就是不同行業(yè)所共同關(guān)注的一個(gè)關(guān)鍵指標(biāo)。
GrowingIO 有一個(gè)家居家裝平臺的客戶,他們通過匹配設(shè)計(jì)師和有家裝需求的用戶獲得盈利。該平臺希望通過智能化分析從平臺上篩選出有高意愿去找設(shè)計(jì)師的用戶,以將有限的資源集中到這些高潛用戶中從而進(jìn)行精準(zhǔn)運(yùn)營??傮w而言,就是以最少的投入觸達(dá)最多的高轉(zhuǎn)化率用戶,最終提升整體轉(zhuǎn)化率。
現(xiàn)實(shí)生活中,大多數(shù)行業(yè)都有這樣一個(gè)提升轉(zhuǎn)換率的訴求。
- 數(shù)據(jù)采集及標(biāo)準(zhǔn)化
當(dāng)我們擁有大體方案后,下一步就是進(jìn)行數(shù)據(jù)采集。一些提前部署了 GrowingIO 客戶數(shù)據(jù)平臺(CDP) 的企業(yè),他們的數(shù)據(jù)已經(jīng)封裝在我們的客戶數(shù)據(jù)平臺中。這些標(biāo)準(zhǔn)化后的數(shù)據(jù)是可以直接使用的。
而對于新的客戶,除了數(shù)據(jù)拉通外,我們還需要進(jìn)行數(shù)據(jù)清洗與流程標(biāo)準(zhǔn)化,這個(gè)階段的速度會相對緩慢。
- 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理是整個(gè)建模過程中最耗費(fèi)時(shí)間,也是實(shí)現(xiàn)項(xiàng)目成功、確保模型精確度的關(guān)鍵一步。
以零售行業(yè)為例,假設(shè)某零售客戶希望能夠預(yù)測哪些用戶會到店購買,或者預(yù)測他們未來會購買哪個(gè)品牌、哪個(gè)品類等等。
通常情況下,我們所采集的零售數(shù)據(jù)都是一些交易數(shù)據(jù),這些數(shù)據(jù)記錄了一筆又一筆的用戶消費(fèi)信息。
我們要做的是預(yù)測未來哪些用戶會產(chǎn)生購買轉(zhuǎn)化行為,而過往的用戶消費(fèi)數(shù)據(jù)可能蘊(yùn)含著這些信息。因此我們需要把這些交易數(shù)據(jù)轉(zhuǎn)化為用戶特征和商品特征,以便輸入到我們的預(yù)測模型中。
- 算法-模型驗(yàn)證-輸出管理
在預(yù)測哪些用戶可能會轉(zhuǎn)化的場景中,我們通常采用 1 或 0 的二分類模型。
當(dāng)場景比較復(fù)雜、牽涉到種類較多的商品或物品時(shí),我們可以做一些多分類模型深入展開。比如做電商平臺的購買推薦時(shí),面對過多的商品種類,可以通過個(gè)性化推薦實(shí)現(xiàn)“千人千面”的推薦效果。
基于以上四個(gè)步驟初步搭建好模型后,我們需要做很多的離線檢驗(yàn)以進(jìn)行模型驗(yàn)證。
整個(gè)過程結(jié)束以后,我們會對驗(yàn)證后的模型做一些畫像,以更好地理解模型背后的邏輯。同時(shí),模型畫像也能夠幫助我們確定整體的營銷策略。
- 激活及在線檢驗(yàn)
至此,大家對這個(gè)模型也有一定程度的了解、精度也能得到保障,模型就可以上線了。上線后,我們也會在線上做一些相應(yīng)的檢測,并把整個(gè)流程固化下來,使它變成一個(gè)自動(dòng)化模型產(chǎn)品。同時(shí),我們也會依照業(yè)務(wù)的需求以一定的節(jié)奏讓模型保持自動(dòng)更新。
在 GrowingIO 現(xiàn)有客戶中,他們的預(yù)測模型每天都在自動(dòng)更新。在這種情況下,客戶就能夠通過這個(gè)模型實(shí)現(xiàn)源源不斷的輸出,賦能相應(yīng)的業(yè)務(wù)場景。
3. 從模型到業(yè)務(wù)增長
解析項(xiàng)目五大關(guān)鍵點(diǎn)
3.1 清晰的建模目標(biāo)
一個(gè)成功的技術(shù)模型,往往是商業(yè)洞察、數(shù)據(jù)、算法三者相互作用的結(jié)果。業(yè)務(wù)目標(biāo)決定了我們需要采集什么數(shù)據(jù)、使用什么算法、做什么驗(yàn)證以及制定什么策略??偠灾瑯I(yè)務(wù)目標(biāo)是一個(gè)根本性的驅(qū)動(dòng)因素。
業(yè)務(wù)場景通常來說是多種多樣的,因此我們需要根據(jù)客戶的需求對建模過程進(jìn)行一些微調(diào)。
對于用戶運(yùn)營的同學(xué),他們可能需要拉新、留存、預(yù)測流失用戶并作出預(yù)警;對于業(yè)務(wù)前端的同學(xué),他們需要制定合理的定價(jià)策略并進(jìn)行促銷;對于負(fù)責(zé)廣告業(yè)務(wù)的同學(xué),他們需要評估廣告渠道的效率,以此產(chǎn)生一些關(guān)于營銷組合的洞察,便于制定下一階段的廣告預(yù)算和分配策略。
還有一些與供應(yīng)鏈相關(guān)的場景,比如訂單評估不準(zhǔn)確導(dǎo)致庫存積壓或商品脫銷。這時(shí)我們就需要更精確的需求預(yù)測來構(gòu)建一個(gè)更加理想的供應(yīng)鏈,把合理數(shù)量的商品在合適的時(shí)間運(yùn)送至正確的地點(diǎn)。
3.2 模型和算法選擇
選擇算法的第一步,是明確選擇算法的目的,即從數(shù)據(jù)中提取有效的信息。因?yàn)樗惴ㄊ遣粫约荷尚畔⒌?,所以我們只能從?shù)據(jù)中提取。
那什么是有效信息呢?這里的有效是針對業(yè)務(wù)目標(biāo)而言的。一般情況下,業(yè)務(wù)需求和我們所給出的解決方案,基本上就決定了我們所要選擇的算法類型。比如簡單的分群分類、預(yù)測或是個(gè)性化推薦場景就分別對應(yīng)了序列決策(Sequential decision making)、強(qiáng)化學(xué)習(xí)等算法。
值得注意的是,選擇模型和算法的時(shí)候需要我們在準(zhǔn)確性與可解釋性之間做一個(gè)平衡。通常來講,如果我們做的是預(yù)測模型或者分類模型的話,會更關(guān)心準(zhǔn)確性;而歸因模型最終的目的是對哪些因素起作用哪些不起作用做說明,這時(shí)模型的可解釋性則更加重要。
在建模的初始階段,我們會優(yōu)先嘗試一些相對簡單的模型,比如說線性模型,這樣方便我們作出解釋。
其次,考慮模型的可拓展性。由于當(dāng)前用戶行為數(shù)據(jù)呈現(xiàn)指數(shù)級增長,我們需要結(jié)合平臺運(yùn)算能力與模型結(jié)果實(shí)施來進(jìn)行這方面的考慮。
總的來說,算法模型多種多樣,可選擇的余地也非常大,但當(dāng)我們從這幾個(gè)維度進(jìn)行考量后,可選擇的范圍就會相對的縮小。
3.3 特征工程與選擇
算法的目的是從數(shù)據(jù)中挖掘有效信息,因此我們用來擬合算法的數(shù)據(jù)應(yīng)該要包含盡可能多的信息和預(yù)測能力
- 預(yù)測模型解析
舉個(gè) GrowingIO 的客戶案例,我們曾經(jīng)做過一個(gè)預(yù)測模型用來預(yù)測哪些用戶會到商店進(jìn)行消費(fèi)。在這個(gè)模型中,因變量是用戶是否會到店購買的這個(gè)行為,但由于我們預(yù)測是的下一周/下個(gè)月/下一季度的購買情況,所以因變量還需要從用戶行為周期或最終營銷執(zhí)行策略等角度進(jìn)行調(diào)整。
至于自變量則需要考慮能夠影響用戶消費(fèi)行為的因素。具體一點(diǎn)來說,就是找到具備預(yù)測我們所需解決事情能力的信息,并且把信息中具有預(yù)測能力的變量抽離出來,再放到我們的模型當(dāng)中。
比如性別、年齡、教育程度、收入等基礎(chǔ)的用戶特征;又比如品牌、是否打折品類等商品特征。對于零食類商品而言,口味也是影響用戶購買行為的重要因素。
其次,用戶過往行為和線上行為也會蘊(yùn)含大量的信息。比如說我們營銷中常用的 RMF 維度、用戶忠誠度、會員身份、是否參與打折消費(fèi)以及用戶過去的商品瀏覽、收藏點(diǎn)贊等行為等等。這些數(shù)據(jù)能夠極大地提升我們的模型預(yù)測表現(xiàn)。
- 個(gè)性化推薦
在個(gè)性化推薦場景的特征工程中,我們需要推測用戶會對什么樣的產(chǎn)品更感興趣。如果我們能把包含用戶興趣的特征放進(jìn)模型中,模型的表現(xiàn)也會更好一些。
除了預(yù)測模型中所提到的基本的用戶與商品特征外,還需要結(jié)合場景思考用戶可能感興趣的商品品類。比如節(jié)假日會影響用戶的購買興趣;對于內(nèi)容平臺而言,終端或者所處網(wǎng)絡(luò)狀態(tài)都會影響用戶的瀏覽偏好。
同時(shí),社交網(wǎng)絡(luò)也是影響用戶購買的一大因素。用戶的鄰居、朋友、同事等等的興趣行為很大概率會反映到用戶身上,這些都從另一個(gè)角度為我們提供了分析用戶購買興趣的線索。
其次,在個(gè)性化推薦商品的場景中,我們常常面臨著冷啟動(dòng)的問題。一些新的用戶,由于缺乏關(guān)于他們的足夠量的行為數(shù)據(jù),導(dǎo)致我們對他們所知較少。這時(shí),我們可以借助比如地域等其他信息來洞察用戶。
舉個(gè)例子,用戶的口味可能與所處地域有著一定的相關(guān)性,像南方的用戶可能更偏好于清淡或者偏甜的食物;新客戶大概率青睞一些普遍賣得比較火的、受到大家喜愛的熱門商品,或者一些打折力度較大的商品。
當(dāng)然我們也存在一些比較特殊的場景。在一般的電商平臺上,如果我們推斷用戶對某些商品感興趣,那我們就可以直接進(jìn)行推薦。
而對于婚戀網(wǎng)站來說,它存在一個(gè)雙向性的問題,即只有雙方都具備好感時(shí),才算是推薦成功。對于運(yùn)營商客戶,它們也存在一些特殊的限制,因此行業(yè)和平臺的特征也是我們在選擇算法時(shí)所需要考慮的因素。
整個(gè)流程下來,我們其實(shí)沒有談到非常技術(shù)的問題,主要是通過業(yè)務(wù)知識或領(lǐng)域現(xiàn)狀來判斷哪些特征對我們有所幫助。
基于這些判斷確定數(shù)據(jù)后,我們可以做一些 EDA 的探索性數(shù)據(jù)分析。這些分析可以是簡單的、低維的,也可以是一些相關(guān)性(correlation)或者簡單的線性回歸,通過單維的模型來幫助我們判斷哪些特征更加具備預(yù)測能力。
最后,我們需要完成對模型的校驗(yàn)。最終的校驗(yàn)?zāi)P蛯槲覀兲峁└嘤杏玫男畔?,比如說哪些特征會有用、而哪些特征會沒用。
3.4 檢驗(yàn)?zāi)P?/strong>
模型檢驗(yàn)通常來講有兩個(gè)目的,一是驗(yàn)證模型的準(zhǔn)確性,二是解決模型的穩(wěn)定性。通常而言,我們是根據(jù)某一樣本來建立模型,但如果我們拿出另一個(gè)樣本,模型的效度是否能夠得到保證?
另外,如果這個(gè)模型對當(dāng)月數(shù)據(jù)有效,那到下個(gè)月是不是還能保持大致程度的準(zhǔn)確性?這就是我們需要解決的問題。
在衡量算法模型項(xiàng)目的準(zhǔn)確性時(shí)候,通常會用到技術(shù)指標(biāo)和商業(yè)指標(biāo):
- 技術(shù)指標(biāo)
不同類型的模型會有一些技術(shù)指標(biāo),相信大家都非常熟悉。
- 商業(yè)指標(biāo)
做模型的最終目的是給業(yè)務(wù)帶來增長,因此商業(yè)指標(biāo)在某種程度上要比技術(shù)指標(biāo)更重要。比如說看一下 CTR(Click-Through-Rate,點(diǎn)擊通過率)或是引入模型后帶來的營收增量等指標(biāo)。
通常情況下,我們是在離線環(huán)境下訓(xùn)練模型,這就意味著在模型上線后,需要檢驗(yàn)?zāi)P驮诰€上環(huán)境的運(yùn)行情況及效果,所以我們也會有一些對應(yīng)的檢測方法和手段。
A/B 測試是我們比較熟悉的檢測方法,更復(fù)雜的還有交叉驗(yàn)證、In-time testing 和 Out of time testing。這些都是基礎(chǔ)模型常用的檢測手段。
當(dāng)然相比于常見的預(yù)測模型,還有一些比較特殊的模型,比如說時(shí)間序列,它不是由獨(dú)立的數(shù)據(jù)點(diǎn)構(gòu)成,里面有一個(gè)持續(xù)性的問題;又比如強(qiáng)化學(xué)習(xí)場景,它的輸出是一個(gè)比較長的動(dòng)作序列,在我們的歷史數(shù)據(jù)中根本不存在。這些模型的測試方式是一個(gè)非常有意思的問題,也是學(xué)界和業(yè)界研究很多的一個(gè)問題。
如圖 6 所示,當(dāng)我們在做二分類或者多分類的問題時(shí),可以跑一下歷史數(shù)據(jù),用我們的模型來為用戶排序分組,區(qū)分高概率轉(zhuǎn)化的用戶和低概率轉(zhuǎn)化的用戶。
比如說我們排序前 10% 的用戶,如果能覆蓋 40% 轉(zhuǎn)化的用戶量,這樣子我們大概會產(chǎn)生 400 的 lift。而像 ROC curve 或 AUC 這樣的指標(biāo)會對我們評估模型表現(xiàn)具有比較好的指導(dǎo)意義。
圖 7 從商業(yè)指標(biāo)的角度反映我們的模型效果。我們在第一部分提到的家裝平臺案例中,通過模型將用戶分為高意愿組和低意愿組,并在他們在線時(shí)候分別進(jìn)行彈窗引導(dǎo)。
結(jié)果顯示,低意愿組在加了彈窗之后,轉(zhuǎn)化率大概在 0.05% 左右;而高意愿加彈窗后轉(zhuǎn)化率能達(dá)到 0.67%。十幾倍轉(zhuǎn)化率是由有序的項(xiàng)目流程,系統(tǒng)的統(tǒng)計(jì)分析和先進(jìn)的模型構(gòu)建所支撐的。
3.5 模型畫像
模型雖然功能很強(qiáng)大、預(yù)測能力很強(qiáng),但它也會變得十分復(fù)雜、不容易解釋。而且建模項(xiàng)目往往需要多團(tuán)隊(duì)合作,因此大家一定要對所做的模型有共識和足夠的信心,這樣大家才會放心的交付并使用模型。
在模型產(chǎn)出輸出后,我們會使用畫像對模型做一個(gè)解釋,它能幫助我們梳理模型背后的邏輯,從而完成一些模型優(yōu)化工作。
盡管模型本身的數(shù)據(jù)邏輯很復(fù)雜,但它背后的核心邏輯能用兩點(diǎn)來概括:一是商業(yè)邏輯;二是長期作用。如果我們能夠探索出決定模型的商業(yè)邏輯,它在我們提煉營銷策略時(shí)就能起到很好的提示作用。
從方法論來講,我們主要可以從三個(gè)方面來入手。
第一個(gè)是變量的重要性?,F(xiàn)在的算法模型很復(fù)雜,我們通常也會擬合很多特征,而最終哪些特征起作用,哪些特征沒有起那么大的作用,我們則可以通過提取變量重要性的方式(如圖 8 所示),在排序后理解模型的邏輯。
第二個(gè)考慮我們所使用的特征與商業(yè)指標(biāo)之間的關(guān)系。通過模型輸出,我們可以看到某一變量或某一維度在不同人群中差異極大,那么他們可能會是比較好的可選特征,將它用于用戶分群后,就能進(jìn)行精細(xì)化運(yùn)營。
第三個(gè)是輸入與輸出的關(guān)系。舉個(gè)例子,我們在醫(yī)院體檢的時(shí)候,報(bào)告上會提示很多不同的指標(biāo)。醫(yī)生看完報(bào)告后會告訴我們一些需要注意的地方,或者我們在健康上有哪些問題。而我們就會反問醫(yī)生報(bào)告背后的邏輯是什么、他是怎么得出結(jié)論的。
我相信醫(yī)生整個(gè)診斷的過程是非常復(fù)雜的,因?yàn)樗^對不會是一個(gè)簡單的線性關(guān)系。但醫(yī)生給我們解釋它邏輯的時(shí)候,一定是用最簡單的話來完整地表達(dá)整個(gè)邏輯。因?yàn)槿绻珡?fù)雜的話,我們也不一定能夠聽懂。
實(shí)際上,醫(yī)生解讀健康報(bào)告這個(gè)案例也在給我們帶來一些提示。雖然我們的模型整體上非常復(fù)雜,但我們或許可以在局部用一些線性模型或者樹型模型等易解釋的模型對它做一些逼近。
如果逼近比較成功的話,那么我們至少在一個(gè)局部可以根據(jù)這些簡單的模型來解釋為什么復(fù)雜模型能夠得出這些結(jié)論。
以上就是建模的整個(gè)流程與注意事項(xiàng)。
源:GrowingIO?
—— 歡迎在線投稿 ——
特別提示:關(guān)注本專欄,別錯(cuò)過行業(yè)干貨!
PS:本司承接 小紅書推廣/抖音推廣/百度系推廣/知乎/微博等平臺推廣:關(guān)鍵詞排名,筆記種草,數(shù)據(jù)優(yōu)化等;
咨詢微信:139 1053 2512 (同電話)
首席增長官CGO薦讀:
- 《小紅書推廣:筆記排名,KOC種草,達(dá)人筆記,數(shù)據(jù)優(yōu)化》
- 《搜索引擎推廣:百度/360/搜狗關(guān)鍵詞快速排名,網(wǎng)站SEO優(yōu)化》
- 《今日頭條推廣:B端網(wǎng)站信息流廣告》
更多精彩,關(guān)注:增長黑客(GrowthHK.cn)
增長黑客(Growth Hacker)是依靠技術(shù)和數(shù)據(jù)來達(dá)成各種營銷目標(biāo)的新型團(tuán)隊(duì)角色。從單線思維者時(shí)常忽略的角度和高度,梳理整合產(chǎn)品發(fā)展的因素,實(shí)現(xiàn)低成本甚至零成本帶來的有效增長…
本文經(jīng)授權(quán)發(fā)布,不代表增長黑客立場,如若轉(zhuǎn)載,請注明出處:http://m.gptmaths.com/quan/34400.html