2012-06-24 27 views
0

我正在開發一個應用程序,該模塊需要定義在基於一組以前銷售排名數據在亞馬遜上列出項目時銷售的可能性。如果您不熟悉亞馬遜的銷售排名,它基本上是一個數字,它定義了亞馬遜上的所有商品,該排名將該商品當前正在查看的與該類別中所有其他商品相關的以前的銷售量進行排名。這是一個專有號碼,但它基本上意味着銷售排名第一的銷售目前在亞馬遜上銷售最多的副本,而銷售排名爲1,000,000意味着有999,999其他銷售更多副本的產品。根據以前的銷售數據定義項目的市場需求

我有一個數據集,其中包括幾個月前的salesranks;像這樣的一天:

$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軸,將salesranks作爲Y軸,則我指的是「低傾角」。如果這是有道理的,我需要這個功能來決定它是否屬於過去歷史的低銷售額行列。

編輯:從上面的數組中,例如,我需要知道當前的銷售排名是否在505和578之間。那將是「低谷」。我不太明白的是如何定義「低谷」,因爲這個範圍不會一直是一樣的。

+0

我不得到,當一個項目在「低谷」。 –

+0

我試圖得到市場需求的良好感覺的項目是教科書。教科書的需求是週期性的,因爲它與學校的學期需求一起上下。低潮可以定義爲教科書目前的銷售排名與之前下降的銷售排名相同或更低。 –

+1

你知道排名是如何計算的嗎?我認爲這是針對「類似性質」的項目,它是一個移動期間的排名嗎?詢問是因爲基於一天的數據的排名可能是不穩定的,但是在滑動窗口上的排名會隨着延遲效應來選擇變化。 – Mathias

回答

0

我希望我明白你的問題。你想確定,如果該商品的銷售等級(=銷售額下降)高於當前?

您可以按降序排列排列數組。然後將第一個陣列條目(具有最高銷售排名)與當前銷售排名進行比較。

排序多維數組(在這種情況下,由以往的銷售隊伍降序),使用,在那裏你可以定義自己的比較函數:

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

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

我不認爲這就是我要找的。但是,我也不認爲我可能已經很好地指出了我需要的東西。我已經更新了這個問題。 –