11月8日,顛覆式創(chuàng)新研習(xí)社產(chǎn)品學(xué)院第一課登臺,今日頭條算法構(gòu)架師曹歡歡,分享了頭條如何用數(shù)據(jù)打磨產(chǎn)品。產(chǎn)品學(xué)院以一年7次免費線下大課+52場線上教程,五大路徑,魔鬼訓(xùn)練,層層穿越,幫你完成產(chǎn)品經(jīng)理到產(chǎn)品創(chuàng)始人的完美蛻變。
曹歡歡說,今日頭條現(xiàn)在有3億的積累用戶,日活用戶超過三千萬。這些用戶,每天每個人的今日頭條內(nèi)容都不一樣。頭條會根據(jù)用戶特征、場景和文章特征做個性化推薦,而這些推薦不靠編輯,靠技術(shù)算法。
關(guān)注平臺并回復(fù)“曹歡歡”,可獲取演講全部PPT。
點擊下方圖框,可聽曹歡歡演講精彩語音片段:
演講人|曹歡歡(今日頭條算法構(gòu)架師,國內(nèi)對推薦產(chǎn)品理解最深刻的算法工程師之一)
很高興受到研習(xí)社的邀請,給各位介紹一下產(chǎn)品的數(shù)據(jù)思維,希望這個分享讓大家真正帶來一點收獲。
什么是數(shù)據(jù)思維,對數(shù)據(jù)思維概括最簡練有力的一個說法,來源于今日頭條創(chuàng)始人張一鳴:第一收集數(shù)據(jù),第二作出決策,最后是高效執(zhí)行。
今日頭條的個性化推薦不靠人、靠技術(shù)
推薦時會兼顧用戶、環(huán)境和文章本身特征
相比微信公眾號,頭條是更好的自媒體平臺
今日頭條是國內(nèi)領(lǐng)先的新聞客戶端,最大的特點是個性化推薦,真正的千人千面。我們現(xiàn)在有3億的積累用戶,日活用戶超過三千萬。我們不靠編輯人工推薦,而是技術(shù)算法。
大家有興趣,頭條是怎么推薦內(nèi)容的?舉個簡單的例子,頭條在給用戶找一篇你可能喜歡的新聞的時候,他會考慮三方面的因素:
第一,用戶特征,比如興趣,職業(yè),年齡,短期的點擊行為。
第二,環(huán)境的特征。推薦是一個情景化的事。比如我自己早上,會看一看科技新聞。周末晚上會看搞笑視頻。還有網(wǎng)絡(luò)環(huán)境,你要有wifi的話,給你多推視頻。
另外就是文章自身的特征,它有哪些主題詞,命中了哪些標(biāo)簽,還有它的熱度,是不是很多家媒體都轉(zhuǎn)載了。包括文章時效性和相似文章推薦。
接下來五到十年的一個愿景,成為最懂你的信息平臺,連接人與信息,促進創(chuàng)作和交流。
在開始一兩年,我們對創(chuàng)作這塊重視不夠,也是資源不夠,沒有形成自己的壁壘。但是從14年版權(quán)風(fēng)波之后,我們在這塊投入的非常大的資源和精力。
今日頭條的自媒體平臺已經(jīng)是國內(nèi)互聯(lián)網(wǎng)第二大的自媒體平臺。它的增長速度要快于微信公眾平臺。
為什么呢?大家可能都有微信公眾號,可能有這種體會,你在微信上做一個公眾號,微信是不會幫你推廣的。你要靠自己的資源,靠自己的人脈進行推廣。
比如我專注于寫歷史故事的,我沒有那個資源,我沒有那個商業(yè)能力,他可能還在三線城市,怎么去推廣?
頭條希望最好的內(nèi)容到達(dá)最適合的受眾,我們有個系統(tǒng)幫你自動推薦,點擊量多了我們還會給你錢。沒有聽說微信公眾號還會給自媒體錢的。
歸納總結(jié)、A/B測試、雙盲交叉驗證
數(shù)據(jù)思維的三大工具
靈活交叉運用
介紹完頭條,下面介紹一些案例,我先介紹數(shù)據(jù)思維幾個比較重要的工具:
第一個工具是歸納總結(jié),按照特定的維度進行排序,分析對象特性。這個可能反映出事物內(nèi)在的一些規(guī)律,基于這個分析,去引導(dǎo)決策。
第二個叫A/B測試,把實驗對象隨機分組,把一個或多個測試組的表現(xiàn)與對照組比較,進行測試。
怎么做A/B測試,第一步我們線上流量進行分流,正常用戶還是走正常的流量,一部分流量我們要保證樣本無偏(不要樣本全是女的或者全是90后),通過科學(xué)方法去劃分出一些流量做實驗,還要進行分組,分出對照組和實踐組,對照組和線上的策略完全一樣,實驗組我們做一些小小的改變。
比如頭條網(wǎng)頁版的首頁,新版加了一個鏈接,老版加了一個任務(wù)評論。我們看哪個好呢?通過A/B測試的方式,一部分人看到新版的結(jié)果,一部分是老版效果。事后統(tǒng)計分析,看到底哪個版本效果好。
第三個叫做雙盲交叉驗證。它是說在評估一項數(shù)據(jù)的時候,我可以把一部分樣本抽樣,讓其他人再評估一下。根據(jù)抽樣數(shù)據(jù)評估的一致性來判斷該評估的可靠性怎么樣,比如你審一些黃色反動的文章,機器做得再好,必須有人來把關(guān)。
這個事本身判斷特別復(fù)雜,機器也不能做好,我們要保證評估的有效性,要引入爭議復(fù)評機制。
今日頭條從一誕生就有數(shù)據(jù)基因
到底取什么名字?
讓數(shù)據(jù)來說話,用戶來選擇
頭條的誕生怎么體現(xiàn)出濃濃數(shù)據(jù)思維的?一開始就有。大家都肯定經(jīng)歷過這種場景,APP怎么起名字。起名字的方法很多種:言簡意賅瑯瑯上口,或者擬聲,或者情懷。
頭條面臨幾個問題,我們名字是哪種范兒?我們用了數(shù)據(jù)思維的工具,歸納總結(jié)。去蘋果商店找各個免費榜單的前十名APP,做了一個歸類,發(fā)現(xiàn)瑯瑯上口好記的名字,是最多的。
從當(dāng)時的效果來看,大白話更好。我們調(diào)性已經(jīng)定了,我們就要土,沒情懷,比如一個初中文化的用戶都能看懂。
我們列了幾個名字,沒有人敢打賭哪個更好,我們做個A/B測試吧。我們要選兩個渠道,發(fā)現(xiàn)這些APP在這兩個渠道上留存都差不多,花的錢差不多。
我拿這兩個渠道做實驗,選兩個名字或者選N個渠道,N個名字,分別投放。這個界面功能都完全一樣,就是名字不一樣,就是用戶看到在外面的列表名字不一樣。
我們看哪個留存高,相應(yīng)的變成了哪個名字的單位獲取用戶成本低,這是一個最重要的,最后發(fā)現(xiàn)今日頭條是表現(xiàn)最好的。
數(shù)據(jù)思維怎么指導(dǎo)算法演化?
大的推薦模型和推薦找回模型交叉運用
很多因素都會影響推薦效果
剛才講了我們頭條的誕生是怎么運用這個數(shù)據(jù)思維的。接下來可能會更硬一點,這是我的老本行,怎么用數(shù)據(jù)思維去指導(dǎo)算法的演化。
我們先簡單看一下頭條的推薦算法,頭條最核心的是怎么利用這些數(shù)據(jù)。怎么提升呢?不斷改進我的算法,讓它更聰明,更好利用這些數(shù)據(jù)。頭條算法是一個非常龐大復(fù)雜的算法策略的組合。我們需要把這個系統(tǒng)的演化放在可控的情況下,讓它不斷朝著優(yōu)化的方向去演化。
頭條的推薦算法分兩層。最上面一層,一個大的推薦模型,就是說模型做決策依據(jù)的維度,包括性別、年齡、興趣等都是維度,我們有數(shù)百億特征,涵蓋你能想到的一切可以幫助做判斷的信息,這個還在不斷的增加,
還有一層就是推薦召回模型,他是干什么的呢?上面那個模型特別強大,但是它的計算資源也很大,成本結(jié)構(gòu)壓力也會非常大,不要所有的事情都讓這個模型去做。
所以有一個召回模型,各個策略獨立的負(fù)責(zé)判斷哪些內(nèi)容有資格進入排序侯選。比如判斷這個文章的來源是不是我喜歡的,這個人是不是總愛看虎嗅的文章,就推薦虎嗅的。有的更簡單,就看性別、年齡。這個模型可以過濾掉90%的無效信息,最上面推薦模型的負(fù)擔(dān)就降下來了。
在這個系統(tǒng)中,對推薦效果造成影響的因素有哪些呢?
第一是候選內(nèi)容集合的變化。
因為頭條最早我們是只推薦正規(guī)的新聞,不敢推短時效的東西,怕推不好,有時候文本看不太出來,但實際上這個事可能是過氣了。
現(xiàn)在,我們希望我們能推一些天氣預(yù)報預(yù)警。還有一些生活有用信息,比如家裝。這些東西都推的話,有可能給線上的體驗帶來改變,這個改變有可能是正向的,有可能是負(fù)向的。它是不是好呢,我們要試了才知道。
第二個是召回模塊的改進和增加。
有些事拿不準(zhǔn),讓高級的人去判研一下。另外一個是增加人手。
還有一個是推薦特征的增加。
剛才講到我們有幾百億特征了,可能涵蓋了目前能想到的對推薦有影響的所有的因素。但是是不是窮盡呢?這肯定是沒有窮盡的,加進去好不好呢?也不一定,讓系統(tǒng)復(fù)雜性變高了。計算機算要花時間的,一秒鐘過去了,都沒算出來,用戶體驗可能變差。
另外就是規(guī)則策略,所有的線上產(chǎn)品涉及到機器學(xué)習(xí)的,大數(shù)據(jù)的,不可能完全用模型解決,要有人干預(yù)的。
最好有一個溝通機制,實驗太多了,我們需要高效的管理和分配流量。
還有特殊的過濾條件,有的人說你不能隨機給我流量,我就是看女性用戶變化的。
這個是我們實際的A/B測試系統(tǒng)的工作流程,非常直觀。首先我們會把流量進行分桶,我們降低系統(tǒng)的復(fù)雜性。如果你每次要考慮三億用戶怎么分,復(fù)雜度太高了。
然后就是實驗分組,這些桶還分兩組,有實驗組和測試組,像這個就是四個桶分了,黃色的是對照組,綠色的你把改進在綠色的用戶身上可以起到效果。
這個PPT就是講了我們這個數(shù)據(jù)實驗是怎么分析的,先把數(shù)據(jù)拿過來,再做日志處理,存到日志,發(fā)到服務(wù)端,我們會有一個分布式的文件系統(tǒng),保證這個東西不丟。
結(jié)果出來之后,我們寫入數(shù)據(jù)庫,我們需要一個很好的數(shù)據(jù)可視化的系統(tǒng),因為你都出來數(shù)字,大家看著也不方便。給產(chǎn)品經(jīng)理給高層老板看一堆數(shù)字很煩,就看曲線就行了。
快速迭代,但怎么保證方向正確?
用數(shù)據(jù)實驗,去測試需求
數(shù)據(jù)思維可以幫你把每一項能力發(fā)揮到極致
頭條從上線以來,經(jīng)歷了幾十個版本的更新。產(chǎn)品的發(fā)展肯定要不斷迭代的,我們怎么讓迭代快,而且朝著正確的方向走呢?這是一個很大的問題。
大家都知道需求從哪來,有一類的需求其實很簡單,我們叫戰(zhàn)略需求。以我們頭條自己來說,我們最終要實現(xiàn)一切都可以推薦。
第二件事叫確定性需求。這是常識。不能卡,用戶用低端的機器也能很流暢的跑。省流量,還有記錄更精細(xì)的用戶動作。
剩下的需求從哪里來?其實就是怎么把提高用戶粘性,提高用戶體驗,怎么提煉出更多具體的需求,去支撐上面的這個戰(zhàn)略。頭條收集剩下需求,最重要的一個方向就是從用戶反饋中去收集。
有一個專門的用戶反饋組,會選一些非常有產(chǎn)品想法的年輕人,不斷和用戶做溝通。
用戶有可能提出一個新的東西,不在你原來的需求列表里。你改變之后是不是傷害了那些不反饋的用戶呢?不知的,只能做實驗的需求池。
我們產(chǎn)品每個需求都要做A/B測試,移動客戶端有兩類,一類是原生的功能,這個實現(xiàn)起來成本比較高,另一類是WAP需求,這些頁面的改動不用發(fā)版,效率會更高。
我們說前者,第一我們會發(fā)小渠道的版本測試,比如特別小的應(yīng)用市場,我們先放上去,跟老版本比比,看看效果怎么樣。如果沒有大問題,因為這種小流量你是測不出來精確改變的,你保證不要出錯。如果說波動正負(fù)1之間,這個東西可能有用,我們現(xiàn)在大流量的試一下。
大渠道發(fā)版A/B測,像360助手我們統(tǒng)一發(fā)一版,我們通過客戶端自己的代碼來調(diào)整。從應(yīng)用市場提交同一個版本,用戶下載之后,通過遠(yuǎn)程控制,讓每個人看到的界面是不一樣的。
這邊有一個典型的例子,其實現(xiàn)在視頻推薦是有兩種界面。一種是有贊有踩有評論,另一種我們更強調(diào)視頻的PC作者,我們希望給他導(dǎo)更多的流量,刺激他的訂閱。
我們對比這兩種哪個效果更好,這些都是客戶端實現(xiàn)的,遠(yuǎn)程一鍵可以讓這些用戶全部從左邊換到右邊。
這個是成本比較高的,因為相當(dāng)于客戶端要實現(xiàn)不同的素材,不同的代碼。會影響你的下載和轉(zhuǎn)化率,因為流量還是比較敏感的。一個11兆的東西和19兆的東西,轉(zhuǎn)化率會非常不一樣。
我們盡量用下面這個方法:直接去改WAP頁面,比如頭條的詳情頁,你點一篇文章進去了,下面評論是用客戶端原生實現(xiàn)的,中間文章那一段只是一個頁面而已,你可以靈活在里面調(diào)樣式。
這種改進比較簡單了。讓用戶到功能入口,看到的頁面是不一樣的。
有了實驗的結(jié)論,這個頁面改動很好,我們切入到全流量,讓所有的用戶都能看到這個頁面。
我們總結(jié)一下WAP頁的優(yōu)勢和劣勢,優(yōu)勢是開發(fā)試錯成本低,比發(fā)版簡單的多,很好改,一旦發(fā)現(xiàn)問題,直接把頁面換掉就好了。劣勢也很簡單,流暢度稍差,H5大家一直在說,但實際上大家都明白它的性能和原生的還是有差距。
第二WAP和客戶端通信比較復(fù)雜,有些很高級的交互H5是做不了的。另外緩存失效后體驗不好。
這是我們典型的一個case,這應(yīng)該是一個反面的例子。我們很早期還沒有大規(guī)模啟用客戶端的A/B測試,拍腦袋作出一個決策。頭條有一個頻道欄,除了推薦首頁之外,把科技、體育、視頻這些內(nèi)容分門別類標(biāo)簽,你想看科技新聞,到科技里面去。
這些分門別類的標(biāo)簽這里面的內(nèi)容也是個性化的,比如科技新聞,有的看O2O,有的看數(shù)碼產(chǎn)品。大家覺得有這個標(biāo)簽,這個界面會比較亂,不好看。我們能不能做的更好看一點呢,我把這個東西去掉,下面有四個按鈕,“推薦”第一個按鈕,單獨用一個“發(fā)現(xiàn)”,這個不是當(dāng)時最終原型,“發(fā)現(xiàn)”里面放各種各樣的頻道。
如果你想隨便看看,就到第一個里面看,今天就想特別看體育新聞,你給我推薦的體育新聞還不夠多,我就到第二個里面看。
結(jié)果教訓(xùn)是非常慘痛的,用戶的留存和用戶頻道的DEU都下降非常多。這算一個產(chǎn)品事故。如果我們有足夠的能量做客戶端的A/B測試,我們可以把影響放到最小,就不會造成那么大的損失,產(chǎn)品經(jīng)理也不會走,這就是一個慘痛的教訓(xùn)。
我們看一下交叉驗證在頭條是怎么實現(xiàn)的。交叉驗證用的最多的場景涉及到人工運營的場景,在頭條剛才提到有些業(yè)務(wù)需要人工的評估。因為你文章如果分類分不準(zhǔn)的話,可能就會影響你的推薦。有很多東西要人去審的,審核和評估都有一個問題,什么問題呢?它依賴人。
大家印象中人比機器靠譜的,從大的面上來說,機器比人更靠譜,機器不求回報。在互聯(lián)網(wǎng)公司,審核和評估投入這塊肯定比工程師低很多,這就造成兩個后果,第一個就是審核人員敬業(yè)或者他的能力上可能跟工程師相比,他會有一定的差距,這是客觀存在的。因為我們的人力成本也比較低。
第二個就是他的流動性可能比較大,另外標(biāo)準(zhǔn)經(jīng)常變來變?nèi)?。我們一定要用機器去監(jiān)控人的工作怎么樣,需要有一個預(yù)警。這塊我們需要引入一個雙盲的交叉驗證,幫助我們?nèi)タ催@些運營同學(xué)他們工作的穩(wěn)定性怎么樣,同時去激勵不斷提升自己的判斷力,得到機器更好的評估。
最后再強調(diào)一下,為什么創(chuàng)業(yè)者運用這個數(shù)據(jù)思維是如此重要,張一鳴說,初創(chuàng)公司產(chǎn)品的核心競爭力是一個乘積能力,產(chǎn)品核心競爭力=拉新能力×留存能力×變現(xiàn)能力。數(shù)據(jù)思維就是可以幫助團隊把每一項能力發(fā)揮到極致,增加了生存下來的概率。
聯(lián)系客服