人人都是產品經理是中國最大最活躍的產品經理學習、交流、分享社區。集媒體、社區、招聘 、教育、社群活動為一體,全方位服務產品經理。本文由人人都是產品經理社區 作者:潘一鳴 原創發布。轉載請聯繫人人都是產品經理。
0.前言首先,什麼是Feed流?
Feed是一個網際網路早期的概念,本意是RSS中用來接收信息來源更新的接口。現在的定義比較寬泛,一般而言,持續更新並呈現給用戶的內容都叫做Feed流。朋友圈是feed流,微博首頁是feed流,知乎首頁是feed流,各種門戶的內容也是feed流。換句話說,我們大量的在線時間和視線,實際上都被Feed流掌控。
早期的Feed流主要是把用戶關注的內容以Timeline的形式展開。但是隨著用戶場景的豐富,Feed流也有了更多的變種。本篇文章主要討論如何設計一個Feed流,以及Feed流背後的設計邏輯。
1. Feed流設計的要核心問題之前提到,對於搜索而言,基本上是召回用戶感興趣的內容,然後進行篩選排序。其實Feed的設計也是如此。一個Feed流永遠是在解決兩個核心問題:
不同的Feed流其實是在給出這兩個問題不同的答案。不同的答案也沒有絕對的對與錯,更多的是場景是否合適。
2. 永恆的經典——TimelineTimeline,一般而言,不對用戶主動要求獲取的內容進行篩選,同時所有的內容按照時間排序。最經典的案例就是朋友圈。關於Feed流設計的兩個核心問題,微信朋友圈的回答是這樣的:
應該展示給用戶什麼內容:用戶好友發的內容
這些內容該怎麼排序:按照時間先後順序
Timeline簡單的內容選取和排序非常易於用戶理解,充滿了極簡主義的哲學:隨時更新,吸引用戶隨時打開使用,而每次更新的部分都有限也保證了大部分用戶不會錯過任何消息。微信也用這個設計,獲取了用戶大量的時間。
既然Timeline有這麼多優點,那麼Feed流為什麼還會迭代衍生出來其他的設計?
其實這裡也牽扯到一個問題,Timeline有一個致命的缺點——內容呈現效率最為低下。需要內容提供方非常克制,同時也需要用戶對這些內容足夠關注。
微信朋友圈的內容是用戶自己的個人展示,註定不會大量更新;同時選擇都是基於熟人關係,能引起用戶足夠的關注。正是這兩個原因,保證了朋友圈內容雖然效率低下,但是還是極具吸引力。如果動輒每天上千條陌生人更新的內容,使用Timeline的形式呈現出來,想見一下,這是一個多麼缺乏思考的設計。
2. 重力排序算法——兼顧熱度和更新時間如果每天有更新量很大的Feed流,同時大部分內容沒有太大用戶價值,這種情況下我們該怎麼排序?這個場景其實也很常見,也是一些PM在實際工作中遇到的棘手問題。答案就是重力排序算法。
重力排序算法中,對於一個在Feed流中的內容而言,有兩種力量:重力和拉力。重力是持續讓內容往下掉的力,這個重力就是時間,因為新的內容會把老的內容刷下去;同時拉力則是讓內容排序往前的力,比如知乎的贊,貼吧的回覆。
這樣的排序算法實現方式有很多,這裡可以簡單介紹一種,也是來自Reddit的核心排序算法:
其中:H表示能代表內容熱度的值:比如說收到的贊,比如說瀏覽量,也可以是綜合類似的指標,加權求和得到的值。
T代表內容發布的時間,代表一個時間的起始值,只要比最早發布的內容早就行了(比如用公司創立時間)。T-T0用來衡量一個內容的新舊程度,單位為秒,T-T0越大,則代表內容越新。
A也是設立的參數,A越大,T-T0的影響力越小,則內容更新的越慢。一般而言初始值可以用36000,10個小時的秒數,後續不斷迭代。
關於Feed流設計的兩個核心問題,重力排序算法的回答是這樣的:
應該展示給用戶什麼內容:用戶表現出喜好的內容都推給用戶,雖然用戶不一定看得見後面的。
這些內容該怎麼排序:按照時間衰減因素和內容受歡迎程度綜合排序。
3. 智能排序——雙刃劍Facebook使用智能排序之後據稱效果拔群,於是我們看到越來越多的社交網絡放棄使用Timeline排序,轉入智能排序的陣營,國外的Twitter,國內的微博和知乎。
智能排序牽扯到複雜的模型構建和機器學習,這裡只闡述下簡單的原理。
首先,系統需要知道什麼是一個內容被展示的目標值。比如微博,一個內容被展示的目標值是轉發,評論,點讚的次數。那麼通過大量的樣本的機器學習,系統對於什麼是好的內容會有一個預測。這個對於一個內容的預測,則是的智能排序的基礎。
接下來,系統會屏蔽掉一些違規的內容,比如Facebook處罰標題黨,知乎處罰抱團點讚。
其次,為了用戶內容的質量,系統會在用戶的Feed中增加一些熱門的內容。
最後,考慮內容和用戶的親密度、系統認為內容受歡迎的程度、內容時間衰減性等因素後,系統進行綜合排序。
聽起來智能排序是一個很好的主意。但是,智能排序也是一把雙刃劍。
算法質量的高要求,導致一些技術比較差的公司,使用智能排序效果不佳。另一方面,因為智能排序的不透明性和擴展性,過度的商業化更是成為了用戶體驗的頭號兇手。
有的內容因為用戶買了粉絲頭條而可以排在Feed流前面,有的內容只要有足夠的推廣費,可以繞過關注關係,呈現在用戶面前。智能排序如果被過度商業化,那麼Feed流的用戶體驗也會越來越差。
4. 總結Feed流的設計原理其實講起來比較簡單,如果需要成型的排序算法,也可以找到很多,但是更重要的是,什麼是真正適合的選擇。
如果選擇Timeline的排序,那麼就需要考慮用戶關注的內容是否足夠有吸引力。
如果選擇重力排序算法,那麼就需要考慮該如何選擇參數保證最後的展示效果。
如果加入不斷壯大的智能排序大軍,那麼就需要考慮是否有足夠的技術實力和產品自制力。
重要的是思考清楚兩個問題:
Don’t waste life in doubts and fears,just make a choice.