季節限定如何預測 ?
極端的季節性發生在一件品項只在一年的特定時間銷售,其餘時間零銷售[季節限定型的產品]。這對於零售商來說是一種熟悉的情況,他們只是“按季節”存儲某些品項。請注意,極端季節性與間歇性需求的正常模式截然不同,在間歇性需求這種模式中,零銷售頻繁的期間會穿插非零銷售期。
傳統的時間序列預測方法,即使通過使用事件標記確定銷售時間而得到增強,但也會受到銷售期間以外的所有零值的嚴重影響,並因此表現不佳。
Udo Sglavo描述了一種在極端季節性情況下產生預測的新方法。使用時間壓縮方法,銷售季節之外的所有觀察結果都被壓縮成一個銷售額為零的觀測值。例如,如果某件商品每年銷售10週,則將該年的序列壓縮為 12 個觀察值。此時,可以將常規時間序列方法應用於壓縮後的每週序列,將“季節性”參數設置為12(而不是52,因為它通常與每週數據一起)。在選擇模型並生成預測後,結果將得到解壓縮,並在所有零售週內重新恢復到52週的一年。這種方法可以提供優於使用傳統方法的預測精度。
介紹
需求預測是一項具有挑戰性的活動。對於零售行業尤其如此,在那裡更嚴格的預測和規劃流程以及統計工具正在開始擴大商品銷售和補貨的“藝術”。
零售商想要知道會出售什麼在哪些價格,而哪些促銷活動最有效,以及當產品不合時宜時,什麼是最好的通關策略。這些問題的基礎都是預測。
預測被認為是一個重要的功能。隨著每個預測週期和規劃週期,它遵循與相同的迭代過程。該過程通常包括根據最新數據更新所生成的預測,以組織分層的方式調整預測,識別和修復有問題的預測,根據業務知識將判斷意見添加覆蓋到預測中,並將預測發佈到其他系統或報告。但是,許多組織仍然僅僅依靠員工熟悉的現成工具,而不是使用專門的預測軟件。
由於大多數組織的預測人員人數相對較少,因此通常在每個規劃週期的可用時間內需要大量的自動化來完成預測過程。零售商仍可能面臨需要特別考慮的某些類型的預測,例如預測僅在一個季節或節假日期間銷售的產品的需求。
本文將提出一種處理這種高度季節性預測的方法。它提供了基於實際數據的說明性示例。
挑戰
零售商通常面臨著僅在一年中的特定時間銷售的物品的預測。一個典型的例子是只在短時間內可用的特殊項目,例如假期。典型零售商面臨的挑戰是對這些類型的物品進行預測,因為他們需要讓供應商提前知道他們需要多少物品。交付時間有時可能長達六個月或更長。訂購太少的項目會導致缺貨,導致收入損失和客戶不滿。同時,訂購太多物品會導致庫存過剩,導致浪費或昂貴的降價。
從統計預測的角度來看,應對這一挑戰是困難的。基本時間系列的大部分價值將為零(當產品不適應季節時) - 但產品在旺季銷售旺盛。下圖提供了這種物品的典型圖形表示。在這種情況下,我們試圖塑造一種特殊飲料,這種飲料僅在復活節期間銷售。手頭的數據採用日常格式 - 從2005年8月1日星期一開始,到2008年7月31日星期四結束。我們的任務是提供2009年復活節期間對每週數字的預測。
傳統的時間序列預測方法,即使通過使用事件標記確定銷售時間而得到增強,但也會受到銷售期間以外的所有零值的嚴重影響,並因此表現不佳。
Udo Sglavo描述了一種在極端季節性情況下產生預測的新方法。使用時間壓縮方法,銷售季節之外的所有觀察結果都被壓縮成一個銷售額為零的觀測值。例如,如果某件商品每年銷售10週,則將該年的序列壓縮為 12 個觀察值。此時,可以將常規時間序列方法應用於壓縮後的每週序列,將“季節性”參數設置為12(而不是52,因為它通常與每週數據一起)。在選擇模型並生成預測後,結果將得到解壓縮,並在所有零售週內重新恢復到52週的一年。這種方法可以提供優於使用傳統方法的預測精度。
介紹
需求預測是一項具有挑戰性的活動。對於零售行業尤其如此,在那裡更嚴格的預測和規劃流程以及統計工具正在開始擴大商品銷售和補貨的“藝術”。
零售商想要知道會出售什麼在哪些價格,而哪些促銷活動最有效,以及當產品不合時宜時,什麼是最好的通關策略。這些問題的基礎都是預測。
預測被認為是一個重要的功能。隨著每個預測週期和規劃週期,它遵循與相同的迭代過程。該過程通常包括根據最新數據更新所生成的預測,以組織分層的方式調整預測,識別和修復有問題的預測,根據業務知識將判斷意見添加覆蓋到預測中,並將預測發佈到其他系統或報告。但是,許多組織仍然僅僅依靠員工熟悉的現成工具,而不是使用專門的預測軟件。
由於大多數組織的預測人員人數相對較少,因此通常在每個規劃週期的可用時間內需要大量的自動化來完成預測過程。零售商仍可能面臨需要特別考慮的某些類型的預測,例如預測僅在一個季節或節假日期間銷售的產品的需求。
本文將提出一種處理這種高度季節性預測的方法。它提供了基於實際數據的說明性示例。
挑戰
零售商通常面臨著僅在一年中的特定時間銷售的物品的預測。一個典型的例子是只在短時間內可用的特殊項目,例如假期。典型零售商面臨的挑戰是對這些類型的物品進行預測,因為他們需要讓供應商提前知道他們需要多少物品。交付時間有時可能長達六個月或更長。訂購太少的項目會導致缺貨,導致收入損失和客戶不滿。同時,訂購太多物品會導致庫存過剩,導致浪費或昂貴的降價。
從統計預測的角度來看,應對這一挑戰是困難的。基本時間系列的大部分價值將為零(當產品不適應季節時) - 但產品在旺季銷售旺盛。下圖提供了這種物品的典型圖形表示。在這種情況下,我們試圖塑造一種特殊飲料,這種飲料僅在復活節期間銷售。手頭的數據採用日常格式 - 從2005年8月1日星期一開始,到2008年7月31日星期四結束。我們的任務是提供2009年復活節期間對每週數字的預測。
方法1:傳統預測
作為第一步,我們將嘗試擬合傳統的統計預測模型。由於我們需要提供每週預測,因此我們首先將每日數據匯總為每週數據(參見下圖)。這將刪除數據中的一些隨機雜訊。我們還會在我們的時間序列中添加附加值以獲取完整的年度信息。這可以很容易地完成,因為我們知道復活節銷售期間前後的銷售額為零。
由於2005年復活節沒有提供任何銷售信息,因此我們將從分析中刪除2005年。這樣做後,我們可以使用預測軟件來提出一個體面的預測模型。此外,我們將定義一些標誌復活節假期的活動 - 希望這些信息能夠改善模型。對於這家零售商來說,復活節飲料的銷售模式總是在復活節前三週開始,並在復活節後一周持續。
使用這些步驟後,我們發現雖然預測軟件能夠識別復活節模式(如下圖),
但它並不能準確地確定銷售增長(下圖顯示配適誤差)。這種行為是由我們的數據的特定結構引起的,其中大部分為零。
方法2:通過時間壓縮進行預測
我們不想試圖通過對初始模型進行微調來想出更好的統計預測模型,而是嘗試一種替代方法。我們的想法是通過將所有日期為零的數據壓縮到一個時點(time bucket)中來壓縮數據。然後,我們要創建一個基於這個新時間序列的預測模型。預測完成後,我們會將數據轉換回原始格式。
步驟1:壓縮原始系列的時間維度
為了壓縮我們的原始時間序列,我們需要首先標記復活節事件,然後將在復活節事件期間不發生的所有觀測值合併到另一個觀測值(零卷)。由於銷售模式的結構(銷售發生在復活節前三週,復活節周和復活節後一周),我們的“復活節事件”時點將包括五點。然後,我們將復活節事件之前一年中的所有時間段壓縮到一個時點(值為零),並將該年之後的所有時間段壓縮到一個時點(值為零)。這導致每年有七次觀測(如下圖)。請注意,這也表明我們的季節性模式(這是七個)。
第2步:創建預測模型和預測
在創建新系列之後,我們可以使用我們的預測軟件來擬合傳統的統計預測模型。在我們的例子中,加法冬季指數法給出了最合適的擬合(如下圖)。
步驟3:將預測轉換回原始時間格式
因為我們知道未來的復活節期間,所以將數據轉換回原始格式相當容易。我們再次假設在銷售期之外沒有銷售,我們將在預測期內將這些值設置為零。正如我們所看到的(上圖),我們的新預測不僅可以確定我們的銷售模式,這次我們對歷史有更好的總體適應性,更重要的是,與我們的第一種方法相比,我們可以更好地估計銷售高峰。
結論
預測高度季節性項目的數據(在一年中僅銷售很短時間但銷量很大的項目)是一項具有挑戰性的任務。使用本文介紹的壓縮方法,傳統的預測技術可以應用於變換的時間序列。初步結果似乎表明,這種方法的準確性可能優於更為標準的時間序列建模方法。
留言
張貼留言