根据以前的销售数据定义项目的市场需求

时间:2012-06-24 19:21:38

标签: php probability

我正在使用一个模块,该模块需要根据一组先前的销售排名数据来定义在亚马逊上列出的商品销售的可能性。如果您不熟悉亚马逊的销售排名,那么它实际上是一个定义为亚马逊上所有商品的数字,用于对商品当前与该类别中所有其他商品相关的先前销售进行排名。这是一个专有号码,但它实质上意味着销售排名#1目前在Amazon.com上销售最多的副本,而销售排名为1,000,000意味着有999,999个其他商品销售更多副本。

我有一个数据集,包括几个月以前的销售额;每天一个这样:

$previousranks = array(
    array('1/4/2010',567),
    array('1/5/2010',674),
    array('1/6/2010',505),
    array('1/6/2010',343),
    array('1/6/2010',578),
    array('1/6/2010',789),
    array('1/6/2010',1012),
);

我还得到了当前的销售排名。我想知道这个项目是否处于需求图的“低点”。如果您在X-Y轴上绘制这些等级,其中日期为X轴,销售线为Y轴,则参考“低倾角”。我需要这个函数来决定它是否属于过去历史的低销售额,如果这是有道理的。

编辑:从上面的数组中,我需要知道当前的销售排名是否介于505和578之间。这将是“低点”。我不太明白的是如何定义“低位”,因为范围不会一直相同。

1 个答案:

答案 0 :(得分:0)

我希望,我理解你的问题。您想确定项目是否具有比当前更高的销售排名(=更低的销售额)?

您可以按销售排名降序对数组进行排序。然后将第一个数组条目(具有最高销售排名)与当前销售排名进行比较。

要对多维数组进行排序(在这种情况下,按过去的销售排名降序),请使用usort,您可以在其中定义自己的比较函数:

function mySort($a, $b) 
{
    return $b[1] - $a[1];
}

usort($previousranks, 'mySort');
if($currentrank > $previousranks[0][1])
    // current sales rank highest, do something