什麼樣的一個內容是熱門的呢?這實際上是一個相對的概念,面對不一樣的需求,它的表達是不一樣的。測試
其中:優化
能夠看到熱度 在這樣的公式中有 4 個變量即 ,此公式與 Hacker News、Reddit 相同,只是定義內容質量 時用的邏輯不同。3d
首先,咱們看一個比較簡單的關係,就是熱度與時間的關係:code
很清楚,時間越大,熱度越低。cdn
咱們可以看到,對於不一樣的初始質量 ,內容的初始熱度是不一樣的,在後續的時間衰減中,若是其餘數值不變,那麼初始質量越高則內容熱度越大。blog
面對不一樣的重力,即便初始質量高,重力大時其熱度衰減很快。產品
咱們看到三個交點:it
解釋:一個內容質量 90 的內容,在 交點,即約 3.64 單位時間以後其熱度低於一個全新的初始熱度爲 10 的內容。io
解釋:一個內容質量 190 的內容,在 6.36 單位時間以後,其熱度低於任意新內容。而一個內容質量爲 90 的內容,若是重力爲 1.8,那麼僅在 2.59 單位時間後其熱度低於任意新內容。社區
咱們能夠看到以下結論:
所以,在肯定的初始質量 及重力 下,一個內容能夠得到的 決定了其熱度及被新內容超越的時間。
假設一個內容質量的數值表達與時間正相關,例如咱們用一個文章的點贊量表達其質量,那麼在一個限定的時間裏,其時間越長,點贊量越高:
而 表明了一個新內容得到質量 的速度,也就是一個新內容得到點讚的速度,那麼
其中咱們測試了三個 分別是:20、2五、30
咱們看到三個交點:
解釋: 越大,說明單位時間裏一個內容能夠得到的質量越高,也就是說明這個內容自己更受歡迎。對於交點 來說,此內容在 1.62 個單位時間後,即便保持着 增加質量的速度,依然會被一個新內容的熱度超越。而從 交點能夠看到,若是其 增加速度爲 ,那麼在 6.46 個單位時間後纔會被新內容的熱度超越。
固然上面的假設有一個問題是,一個文章的質量表達很難和時間長期正相關,也就是說,文章存在時間越長,每每後續得到的點贊會下降。所以,咱們能夠假設與是對數相關的關係:
咱們看到三個交點:
解釋:對比 與 咱們能夠看到,由於質量數值的增加隨着時間變少,於是 內容更快地被新內容超越。
rankIndexArticle
hotIndexArticle
是一個文章閱讀數、評論數、點贊數加權求和的數值rankIndexUser
是文章做者的影響因子
做爲掘金社區,咱們但願將更多好內容帶給讀者,從數值上,咱們但願總和的 變高,同時平衡其與 之間的關係,即新內容得到的流量,與一個好內容得到流量之間交點的時間長度。
說人話:一個得到了 1000 個點贊、10000 個閱讀、100 個評論的內容,在計算規則下什麼狀況會被一篇新文章的熱度超越。而整個社區的熱度計算,是一個動態優化的問題。