2009-09-26 56 views
0

可以说我有一个销售小部件的网站。我想做一些类似于追踪畅销品的标签云。但是,由于不断出售新的小部件,我希望销售额每周都会衰减。跟踪一周/月的销售情况并找到畅销产品

我遇到的问题困扰了如何存储和操作这些数据,并使它随着时间的推移正常衰减,使得2个月前是超热门项目,但从此渐渐淡出的东西不显示在列表的顶部超过当前畅销书。这将是什么逻辑和数据库设计?

回答

2

第1部分:您必须有用于存储要报告的数据的表格。销售日期/时间显然是关键。如果您需要处理衰减因素,那么会产生这样的问题:数据的好坏和相关时间有多长?在数据的“价值”衰减得如此之多以至于你不再关心它的时候,在什么时候?对于数据库中的任何给定条目,如果达到这一点,你会做什么 - 将它保留在那里,但确保它在所有后续计算中被分解出来?还是将其归档 - 将其复制到“历史记录”表中并从主“销售”表中删除它?这是相关的,因为它必须考虑到你的衰变公式(以及你的容量规划,年度报告的要求,谁知道别的什么)。

第2部分:对衰变有多少想法你想使用的公式?没有细节可以解决这个问题。选项和要通过的因素包括但不限于:

  • 简单的基于年龄的。截止日期之前的所有内容都计为1;之后的所有数据计为0.总和,你就完成了。
  • 什么是截止日期?精确14天前,到分钟?从现在起两个星期六的午夜?
  • 截止日期取决于销售的物品吗?如果有些项目很热,但有些项目不是,那会影响事情吗?如果你想强调某些东西(昂贵/难以卖出的东西)而不是其他东西(你会卖出的绒毛)?

简单的基于年龄的衰变是微不足道的,但可能不足。时间去核。

  • 也许你想要某种半衰期,弗里曼博士?
  • 出售的所有商品都是“值得”X,其中X的价值总是相同的或者在出售的商品上有所不同。随着时间的推移,X的价值可能会衰退。
  • 也许X的价值每周下降一半。或者每一天。或每个月。或(再次)它可能会有所不同,取决于项目。
  • 如果你做了半年,X的值可能永远不会达到零,并且你永远不能追踪它(这就是为什么我先写了“第1部分”)。在某些情况下,你可能需要某种截断点,在某些点之后,你根本不在乎。 X已经下降到初始值的十分之一?三个月过去了?或者或者“范围”取决于物品的内在价值?

我在这里的真正意义在于,您如何计算衰减率比您将其存储在数据库中的方式重要得多。只要数据在那里formalu需要做计算,你应该是好的。如果你只需要上个月的数据来做到这一点,那么你应该把所有旧的数据移动到某种归档表中。

2

你可以只算上个月/周/不管,并按照在根据该项目的销售。如果你愿意,你可以随时添加销售的项目的总amonut到您的公式

+0

我猜想我想弄清楚的是如何让他们在一周或一个月的滚动过程中衰减。 – 2009-09-26 16:27:32

+0

@Chris:在确定的日期内对销售进行计数。 – 2009-09-26 16:48:41

+0

你说的是,每当一个单位出售以及它的销售日期时,都会进行一次数据库录入,然后对它们进行计数? 我想这会起作用,比我想出来的要容易得多! – 2009-09-26 16:56:50

1

你可能已经包含了指向标准的定义的表(销量最多,最这一点,大多数等),然后在一定时间内,存放于另一个表点每个标准的归属在标准表中定义。显然,一个历史表将被用来存储每个卖家在给定时期或促销活动中的得分,可以随意调用它。

有帮助吗?

+0

如果我只能选择两个答案。你和菲利普凯利都帮助过TON。 – 2009-09-26 22:56:53

+0

谢谢克里斯!你至少提到我帮忙!当你知道你帮助了另一位程序员时,这很好。 :-)感谢您的投票! :-) – 2009-09-26 23:02:26