跟踪销售周/月,找到最畅销的产品

时间:2009-09-26 16:19:35

标签: sql database-design data-modeling

假设我有一个销售小部件的网站。我想做类似于跟踪畅销书的标签云。但是,由于不断询问和销售新的小部件,我希望销售额每周都会减少。

我遇到了困扰如何存储和操纵这些数据并让它随着时间的推移而正确衰减的问题,以便2个月之前的某个超热门产品但已逐渐减少并未显示在列表的顶部目前畅销的畅销书。这将是什么逻辑和数据库设计?

3 个答案:

答案 0 :(得分:2)

您可以计算过去一个月/一周/不同的销售额,并根据该项目对您的商品进行排序。

如果您愿意,可以随时将已售商品的总数添加到公式中。

答案 1 :(得分:2)

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

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

  • 基于年龄的简单。截止日期之前的所有内容都计为1;一切都计为0.总和,你已经完成了。
  • 截止日期是什么时候? 14天前,到现在为止?从(现在)两个星期六前的午夜?
  • 截止日期是否取决于销售的商品?如果有些物品很热但有些物品不热,这会影响到什么吗?如果你想强调某些东西(昂贵/难以销售的东西)而不是其他东西(你还会出售的东西)会怎么样?

简单的基于年龄的衰退是微不足道的,但可能是不够的。是时候去核了。

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

我的真正观点是,如何计算衰减率远比将其存储在数据库中更为重要。只要数据存在,即formalu需要进行计算,你应该是好的。如果您只需要上个月的数据来执行此操作,您可能应该将旧的所有内容移动到某种存档表中。

答案 2 :(得分:1)

您可能有一个表格,其中包含指向标准的定义(大多数销售,大多数此类,大多数等),然后在给定时间段内,在另一个表格中存储每个定义的标准的点的归属在标准表中。显然,历史表将用于存储每个卖家在给定时期或促销中的分数,并随意调用它。

它有点帮助吗?