2016-12-05 45 views
-2

如何知道某產品是否熱銷。例如,我想在熱賣中的產品圖像旁邊顯示「Hot」圖標,如下圖所示。 enter image description here 我的想法是計算在近7天產品的銷售率的速度,如果結果低於某個值以上,那麼這個項目可以被標記爲「熱銷」如何檢查物品是否熱賣

所以

  • 有什麼更好的辦法可以實現這樣的要求。
  • 是否有任何計算公式...
  • 最後我們需要什麼參數來計算最佳結果,例如 訪問時間,添加到最愛時間,購買時間等。

在此先感謝!

+2

「是否有任何公式可以計算......」 - 你已經描述過了。這是不是很清楚你在這裏問什麼 - 你有一個想法,所以實施它。除此之外,我會說它太寬泛了。 –

+0

@JonSkeet我知道它太過委員會了,無論如何,我真的是時間問這個問題,但是我沒有滿足我的自我,我的想法很好,所以我來到這裏與朋友分享。 –

+0

如果你意識到問題太廣泛,恐怕問問它並不是一個好主意。 –

回答

0

嗯,如果你願意的話,你可以隨時沿着兔子的另一個高度穿過。

作爲第一個開始,很容易就可以很容易地將銷售量最高的10%左右的商品標記爲「熱銷」。硬編碼門檻的一個問題是,如果你的需求變化很大,你將不得不不斷更新它們。

另一種選擇可能是看看Reddit's ranking algorithm的靈感。

# Rewritten code from /r2/r2/lib/db/_sorts.pyx 

from datetime import datetime, timedelta 
from math import log 

epoch = datetime(1970, 1, 1) 

def epoch_seconds(date): 
    td = date - epoch 
    return td.days * 86400 + td.seconds + (float(td.microseconds)/1000000) 

def score(ups, downs): 
    return ups - downs 

def hot(ups, downs, date): 
    s = score(ups, downs) 
    order = log(max(abs(s), 1), 10) 
    sign = 1 if s > 0 else -1 if s < 0 else 0 
    seconds = epoch_seconds(date) - 1134028003 
    return round(sign * order + seconds/45000, 7) 

您不必在這種情況下,跌宕起伏,但可以通過與總銷售額更換score(),例如啓動。當然,這隻適用於由於時間因素而產生大量新產品的情況。

相關問題