我试图根据迄今为止的整体销售情况以及过去x天的销售情况(显示趋势,热门产品),找出对某些产品进行排名的最佳方式
我想做的就是同时使用两者,以便最畅销的产品排名很高,但如果它们已经售罄,它们会被拆除(最近没有销售),或者如果它们的近期销售额特别高跳了起来。
由于它是销售,数字可能是产品的10倍不同,所以我假设我们需要一个对数比例。将两者结合起来的最佳方法是什么?
答案 0 :(得分:3)
我想做的是同时使用两者,以便最畅销的产品排名很高,但如果它们已经售罄,它们会被拆除(最近没有销售),或者如果它们的近期销售额特别高,它们就会被提升
这样做的一个特别简单的方法是为每个产品维护两个exponential moving averages,一个具有短因子,一个具有长因子。请注意,每个这样的平均值只是通过将平均值乘以某个因子乘以一天来更新,并将当天的数字乘以补充因子。
您需要根据您的问题设置这两个因素,但请参阅here有关此因素与平均有效时间之间关系的解释。
考虑到这两种平均值,产品的总分将是一些总分。
由于它是销售,数据可能是产品的10倍不同,所以我假设我们需要一个对数比例。将两者结合起来的最佳方法是什么?
没有最好的方法 - 你需要尝试不同的选项,然后调整它们直到你对结果感到满意为止。
如果长和短平均值 l 和 s ,则一般的平均方法(不是唯一的!)是αf(l) +(1 - α)f(s),其中α在 [0,1] 和 f 中是一些常数是阻尼函数。你已经提到了对数作为阻尼函数,但是你可能会发现,例如,平方根对你的情况更有效(它对小参数或零参数的问题也较少)。