在数据集的预期范围之外查找值

时间:2014-04-07 16:27:42

标签: statistics analytics business-intelligence

我有一个包含以下信息的数据集:SaleDate, ItemId, QuantitySold(在MSSQL数据库中,但欢迎提出一般性建议)。

我希望能够在商品销售突然增加或减少时生成“提醒”,例如Item #54321 was expected to sell between 12,000 and 15,000 in the last month but sold 18,000 pieces

计算“预期范围”或应触发警报的异常值的好方法是什么?

平均值?中位数?四分位数?标准偏差? Box和Whisker情节看起来很有趣,但这是要走的路吗?还有更好的方法吗?

TIA

1 个答案:

答案 0 :(得分:1)

这是一个难题。我真的没有一个好的建议,只是在全球家居公司处理零售数据的许多警告:)

<强>挑战: 沙发或厨房每天的平均销售量与每天销售的蜡烛或餐巾纸的数量有很大不同。这使得很难想出一个“固定的”nr。

一个国家/地区的任何产品的平均销售量在另一个国家/地区可能完全不同。

在一个受欢迎的地点,任何特定产品的平均销售量可能与某个不太受欢迎的地点的同一产品的平均数量完全不同,即使在同一地区也是如此。

添加或删除销售地点会对总数产生绝对影响。

季节性产品在一年中的大部分时间里几乎全无卖,然后一年中的所有产品都会在某一特定时刻出现。看看典型的“夏季”或“冬季”产品,各国和一年中的时间也各不相同。

促销产品可能很容易显示异常(但预期)的销售模式。

根据外部因素,产品可能会或多或少地出售,例如天气,星期几,或取决于人口在哪一天接受工作检查。

取决于您要对警报执行的操作: 如果您打算删除异常数据,请确保您有一个非常好的方法将其恢复,以防您标记为“误报”。

同样,如果你打算只是标记但留下异常数据,请确保你有一个可靠而快速的方法来删除它们。

如果您计划将异常数据放入某种“隔离区”中,那么如果您每天标记的记录过多,则没有人会有时间对其进行验证。

我认为这一切归结为你想要识别异常模式的原因。 如果它是关于检测错误和坏数据,这是一回事。如果是为了确定销售模式最近变化的潜力,那就是另一回事。