摘 要:本研究旨在分析和研究店鋪銷量預測的方法,通過介紹一般的預測步驟,以及利用圖表趨勢預測法、時間序列預測法(指數(shù)平滑法)和機器學習方法建立模型對店鋪銷量進行預測時發(fā)現(xiàn):圖表趨勢預測法和時間序列預測法(指數(shù)平滑法)適用于簡單的銷量預測,而機器學習方法在處理復雜關系和大規(guī)模數(shù)據(jù)時更具優(yōu)勢。因此,選擇合適的方法取決于數(shù)據(jù)的特點和預測的需求。本研究為店鋪銷量預測提供了重要的指導和參考,幫助企業(yè)做出準確的銷量預測,并為庫存管理、生產(chǎn)計劃和業(yè)務決策提供支持。
關鍵詞:店鋪銷量預測;圖表趨勢預測法;時間序列預測法;指數(shù)平滑法;機器學習方法
一、引言
在競爭激烈的市場環(huán)境中,商家需要根據(jù)市場需求合理安排產(chǎn)品的生產(chǎn)和銷售,以增加利潤并保持競爭優(yōu)勢。然而,銷量的波動性和不確定性經(jīng)常使商家面臨挑戰(zhàn),因此準確地預測店鋪銷量成為了迫切需要解決的問題。過去幾十年來,學術界和業(yè)界對店鋪銷量預測進行了廣泛的研究和實踐,提出了許多不同的方法和模型。為了更好地應對市場變化和提高企業(yè)的運營效率,通過分析歷史數(shù)據(jù)和相關因素,實現(xiàn)店鋪銷量的準確預測可以幫助企業(yè)做出更加科學的決策。本文將從店鋪進行銷量預測的步驟,銷量預測的不同方法為例,比較各種預測方法的特點,提出銷量預測模型,以期為企業(yè)決策提供輔助參考依據(jù)。
二、店鋪進行銷量預測的一般步驟
1.數(shù)據(jù)收集和預處理
首先,需要從各個來源收集店鋪銷售數(shù)據(jù),如歷史銷售記錄、網(wǎng)上購物平臺數(shù)據(jù)、市場調(diào)查數(shù)據(jù)等。然后對這些數(shù)據(jù)進行清洗、轉(zhuǎn)換和歸一化處理,以消除噪聲和異常值,并確保數(shù)據(jù)格式統(tǒng)一和可用。
2.特征選擇和提取
在準備好的數(shù)據(jù)中,需要挑選出對銷售額有影響的關鍵特征,例如商品類別、價格、促銷活動、季節(jié)因素等。通過使用特征提取方法,可以將這些特征轉(zhuǎn)換成為可以處理的數(shù)值型數(shù)據(jù)。
3.建立模型
經(jīng)過數(shù)據(jù)預處理和特征提取之后,可以開始建立預測模型。常見的預測模型有回歸模型、時間序列模型、基于機器學習的方法等。
4.訓練和評估模型
使用歷史銷售數(shù)據(jù)來訓練模型,交叉驗證方法評估模型的性能,若模型顯示較好的性能,便可以用來預測未來的銷售額。
5.應用模型
在收集和清洗新數(shù)據(jù)后,可以將其輸入到訓練好的模型中,以預測未來的銷售額。同時,也需要對模型進行后續(xù)跟蹤和優(yōu)化,根據(jù)實際情況不斷更新模型。
步驟如圖1(店鋪銷量預測步驟):
三、利用工具建立模型對店鋪銷量進行預測
店鋪產(chǎn)品銷售數(shù)量往往決定著庫存存量,進貨量的需求及資金的準備等,一般來說,銷售數(shù)量與銷售額成正比關系,利用科學的方法與手段,對未來一定時期內(nèi)的市場需求、發(fā)展趨勢和營銷影響因素做預判,可以為店鋪營銷決策提供服務。
店鋪銷量進行預測的方法有很多種,通??梢岳猛ㄓ玫腅xcel工具進行輔助的預測分析,此工具中可以采用圖表趨勢預測法、時間序列預測法、德爾菲法、GROWTH函數(shù)等進行店鋪銷量預測。
本文采集了某店鋪2010—2021年的銷售數(shù)據(jù),采用圖表趨勢預測法、時間序列預測法對店鋪未來一年的銷量進行預測。從而對模型預測的準確性做一些對比。
以下(表1:店鋪2010—2021年服裝銷量統(tǒng)計表)是某店鋪在收集和清洗新數(shù)據(jù)后,得出的2010—2021年銷量數(shù)據(jù),運用各種模型,預測店鋪2022年的銷量數(shù)據(jù):
使用 Excel打開表1,選中2010—2021年的年份和服裝銷量數(shù)據(jù),利用“圖表”組中“折線圖”工具完成12年的折線圖制作,如圖2(店鋪2010—2021年銷量變化趨勢圖)所示:
1.利用圖表趨勢預測法來預測店鋪銷量
圖表趨勢預測常用方法包括:線性趨勢線預測、指數(shù)趨勢線預測、多項式趨勢線預測等;本文先采用線性趨勢線進行銷量預測,基本流程為:通過給定數(shù)據(jù)制作折線圖,觀察圖表形狀來添加線性趨勢線,利用趨勢線外推計算預測值,具體步驟是:在“分析”組中選擇“線性趨勢線”工具,做前推1年的銷量預測,畫出趨勢線如圖3(店鋪銷量折線圖添加線性趨勢線)所示:
通過查看預測公式,通過添加線性趨勢線后得出一次方程y=2506,x=2977.9,把2022年x為第13個年份代入方程計算,得出銷量y=29600.1,結(jié)果取整后得出2022年銷量預測值,把銷量預測結(jié)果填入表2(2022年銷量預測值)中,預測2022年銷量為29600(單位:件)。
2.利用時間序列預測法(指數(shù)平滑法)預測店鋪銷量
時間序列預測法是一種用來預測未來發(fā)展趨勢的方法,它有兩個基本原理:首先,考慮到事物的發(fā)展是有連續(xù)性的,通過分析過去的時間數(shù)據(jù),可以推測出未來的發(fā)展趨勢;其次,還考慮到了偶然因素引起的隨機波動。為了消除這些隨機波動的影響,可以使用歷史數(shù)據(jù)進行統(tǒng)計分析,并對數(shù)據(jù)進行適當?shù)奶幚?,以便更好地預測未來的趨勢。常用的方法包括預測季節(jié)性波動、使用移動平均公式,以及使用指數(shù)平滑法進行預測等。
對表1中的店鋪銷售數(shù)據(jù)預測,采用指數(shù)平滑法預測,通過計算指數(shù)平滑值,并結(jié)合適當?shù)臅r間序列預測模型,可以對某個現(xiàn)象的未來進行預測。指數(shù)平滑是一種方法,先使用過去的數(shù)據(jù)平均計算一個平滑值,然后將這個平滑值與其他預測模型結(jié)合起來,以得出對未來的估計。這種方法考慮了過去數(shù)據(jù)的權重,更加重視最近的數(shù)據(jù),因此在預測未來時更加注重最新的趨勢。通過這種方式,可以更好地預測未來趨勢,并做出相應的決策,重點是需要設置出合理的平滑系數(shù),因為不合理的平滑系數(shù)預測出的結(jié)果,與實際值相比會相差很多。本文中首先對店鋪預測銷量設置平滑系數(shù)為經(jīng)驗值0.3,然后使用“規(guī)劃求解”工具再分析出最佳平滑系數(shù),計算出最優(yōu)解,從而預測出2022年的店鋪銷量:
首先,在Excel中設計出利用指數(shù)平滑法預測銷量需要的表格內(nèi)容,如圖4(店鋪2010—2021年服裝銷量表)所示。
然后計算圖4中表格各項內(nèi)容:
圖4左側(cè)C列銷售預測值計算:首先用Average函數(shù)計算出2010年的銷量預測值,為2010—2017年的算術平均值,2011年開始,插入公式“=$H$1*B2+(1-$H$1)*C2”進行銷量預測值計算,并用公式填充向下填充至2022年銷售預測值;
圖4左側(cè)D列預測誤差計算:預測誤差均為銷量預測值與銷量實際值之間的差額;
圖4右側(cè)H列中實際銷售量的平均值計算:為2010—2021年銷售實際值的算術平均值;
圖4左側(cè)E列預測誤差平方和計算:用公式“=(D2^2+(C2-$H$2)^2)/12”計算出2010年預測誤差平方和,拖動填充柄至E13單元格,填充數(shù)據(jù);
圖4右側(cè)E列預測誤差的總平方和計算:用求和函數(shù)計算出E列2010—2021年預測誤差平方和得出結(jié)果。
以上計算結(jié)果如圖5(店鋪2022年服裝銷量預測表)所示:
選取年份、銷量實際值和銷量預測值,最終形成折線圖可視化效果,如圖6(店鋪2010—2021年實銷與預測對比圖1)所示:從圖5可以看出,店鋪預測銷量設置平滑系數(shù)為經(jīng)驗值0.3時,銷量預測值與銷量實際值差距較大。
3.使用“規(guī)劃求解”工具分析出最佳平滑系數(shù),計算最優(yōu)解,預測2022年店鋪銷量
Excel中,有一個功能叫作“規(guī)劃求解”,它不是默認顯示在Excel工具欄上的,需要手動加載。通過使用“規(guī)劃求解”,可以找到工作表上某個單元格(稱為目標單元格)中公式的最佳值。這里的公式指的是單元格中的一系列數(shù)值,可以是單元格引用、名稱或者運算符的組合,它們可以生成新的值。
“規(guī)劃求解”會根據(jù)目標單元格公式的相關性,對一組與其直接或間接相關的單元格中的數(shù)值進行調(diào)整。通過改變這些數(shù)值,最終可以得到目標單元格公式所期望的結(jié)果。在創(chuàng)建模型的過程中,可以給“規(guī)劃求解”中的可變單元格應用約束條件。約束條件是一些限制條件,可以被應用于可變單元格、目標單元格或者與目標單元格直接或間接相關的其他單元格。這些約束條件可以引用其他會影響目標單元格公式的單元格。使用“規(guī)劃求解”,可以通過改變其他單元格的數(shù)值,確定某個單元格的最大值或最小值。之前在預測銷量時使用的平滑系數(shù),是按經(jīng)驗值0.3,現(xiàn)在需要用到規(guī)劃求解解出店鋪最佳的平滑系數(shù)值,從而達到更精確預測銷量的目的。
具體步驟實施如下:
在Excel中選擇加載宏,選中“規(guī)劃求解加載項”,如圖7(加載規(guī)劃求解加載項)所示:
加載成功后,在Excel數(shù)據(jù)菜單選項卡“分析”組中就能見到“規(guī)劃求解”選項;
在“規(guī)劃求解參數(shù)”對話框中,設置目標單元格為“預測誤差總平方和單元格$H$3”,設置可變單元格為“平滑系數(shù)單元格$H$1”,需要預測誤差總平方和此時為最小,因此選中“最小值”單選按鈕,添加約束條件分別設置可變單元格$H$1<=1和$H$1>=0,點擊求解后,如圖8(規(guī)劃求解參數(shù)設置)所示:
在彈出的“規(guī)劃求解結(jié)果”對話框中,選中“保留規(guī)劃求解的解”,單擊“確定”,如圖9(規(guī)劃求解結(jié)果)所示。
求解以后的結(jié)果得出最佳平滑系數(shù)應為0.72,預測誤差的總平方和為71289641.69,得出2022年銷售預測值為26733.61745(約為26734件,取整數(shù)值),如圖10(2022年銷量預測值結(jié)果)所示。
選取年份、銷量實際值和銷量預測值,最終形成折線圖可視化效果,如圖11(店鋪2010—2021年實銷與預測對比圖2)所示:從圖11可以看出,通過“規(guī)劃求解”分析出的平滑系數(shù)更加合理,銷量預測值與銷量實際值差距較小,通過此法,能達到更精確的預測銷量的目的。
4.使用機器學習方法預測2022年的銷售數(shù)量
將2010—2021年的歷史銷售數(shù)據(jù)作為訓練集,并利用這個訓練集建立一個回歸模型,以預測2022年的銷售數(shù)量。
以下是使用Python中的scikit-learn庫進行線性回歸的實現(xiàn):
import numpy as np
from sklearn.linear_model import LinearRegression
#歷史銷售數(shù)據(jù)
years = np.array([2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021])
sales = np.array([2056,3055,4800,5600,7900,9600,13560,16530,19600,23800,25780,27450])
#將年份轉(zhuǎn)換為二維數(shù)組
X = years.reshape(-1,1)
#創(chuàng)建線性回歸模型并進行訓練
model = LinearRegression()
model.fit(X,sales)
#預測2022年的銷售數(shù)量
predicted_sales_2022 = model.predict([[2022]])
print("2022年銷售預測數(shù)量:",predicted_sales_2022)
根據(jù)運算結(jié)果,預測2022年的銷售數(shù)量為:28268.75件(約為28269件,取整數(shù)值)。此模型是基于線性回歸模型的簡單預測,并且假設銷售數(shù)據(jù)具有一定的線性趨勢。實際的銷售預測可能需要考慮更多特征和復雜的模型,以及其他影響因素,如市場趨勢、競爭情況和宏觀經(jīng)濟因素等。
四、結(jié)語
通過數(shù)據(jù)分析預測店鋪未來銷量是一種可行的手段,通過銷量預測可以進一步預測成本和銷售額及利潤,從而對店鋪目前影響銷量的各種因素進行分析,最終找到提升銷量、銷售額、利潤的各種方式及手段,利潤最大化,也是每個店鋪經(jīng)營者的最終目標。
采用圖表趨勢預測法中線性趨勢線預測和采用時間序列預測法(指數(shù)平滑法)預測店鋪銷量是常用的兩種預測方法,各有利弊。
(1) 采用線性趨勢線預測法預測銷售量,線性趨勢線是用于簡單線性數(shù)據(jù)集的最佳擬合直線,線性趨勢線預測法較簡單,只需通過已產(chǎn)生年份銷量畫出銷量折線圖,添加趨勢線,顯示公式,通過查看預測公式,將預測年份和已知開始年份相減的差值帶入公式計算,即可得出預測年份的銷量預測值,是一種簡單的一次方程計算。
(2) 采用時間序列預測法(指數(shù)平滑法)預測,指數(shù)平滑法是一種常用時間序列預測方法,原理是通過計算指數(shù)平滑值,結(jié)合適當?shù)臅r間序列預測模型預測未來現(xiàn)象的發(fā)展趨勢。在指數(shù)平滑法中,每一期的指數(shù)平滑值都是本期實際觀察值與前一期指數(shù)平滑值的加權平均值。平滑系數(shù)是指數(shù)平滑中的一個常數(shù),可以將其記作β。通過選擇適當?shù)钠交禂?shù)β值,進行指數(shù)平滑預測,以使預測值與實際值之間的平均誤差最小化。平滑系數(shù)β的取值范圍通常在0到1之間(0<β<1),不同的取值將會對預測結(jié)果產(chǎn)生不同影響。
(3) 通過指數(shù)平滑法,可以對未來趨勢進行預測,并根據(jù)實際情況選擇適當?shù)钠交禂?shù),以獲得更準確的預測結(jié)果。理論上來說,平滑系數(shù)β越趨近于0,預測得出的結(jié)果會與實際值越接近,得到的結(jié)果也越理想,β到底取值為多少,最簡單直接的手段之一,是采用經(jīng)驗判斷進行β取值,憑借數(shù)據(jù)分析預測人員的個人經(jīng)驗,選擇適當?shù)钠交禂?shù)β值很重要。如果β值較小,平滑作用會更強,這意味著對預測結(jié)果的調(diào)整會比較小,對實際數(shù)據(jù)的變動反應會比較遲緩。換句話說,會更加穩(wěn)定,更不容易受到短期波動的影響。相反,如果β值較大,對實際值的變化就會更敏感,這意味著對預測結(jié)果的調(diào)整會比較大。同時,對近期的數(shù)據(jù)更加依賴,更容易受到短期波動的影響。
(4) 因此,選擇合適的平滑系數(shù)β值,需要權衡穩(wěn)定性和敏感性之間的關系,較小的β值適用于平穩(wěn)的數(shù)據(jù),對長期趨勢有更好的預測能力;而較大的β值適用于快速變化的數(shù)據(jù),能夠更快地反應最新的變動情況。根據(jù)具體情況,可以選擇適合的β值進行預測,并根據(jù)實際結(jié)果進行調(diào)整。采用經(jīng)驗值判斷的依據(jù)是,當時間序列相對平穩(wěn)時,可取較小的平滑系數(shù);當時間序列波動較大時,應取較大的平滑系數(shù)。本文以年份的連續(xù)自然年度為時間序列,照理來說是時間序列是較平穩(wěn),可以采用經(jīng)驗判斷進行取值。年份時間序列為自然年,變化規(guī)律平穩(wěn),β取值可以在0.1~0.4,所以最初取值平滑系數(shù)β值為經(jīng)驗值0.3,進行銷量預測的計算,但是實際計算出的結(jié)果對比發(fā)現(xiàn),銷量預測值與銷量實際值差距較大,通過實際計算,選擇誤差最小的年份2012年,誤差最大的年份2019年為區(qū)間范圍計算,得出結(jié)果誤差范圍在15.8%~42.5%,實際與預測值誤差非常大,所以在實際操作店鋪過程中僅能參考,并不能作為銷售目標下達任務的依據(jù)。
(5) 之后,采用“規(guī)劃求解”方法求解最合理的β值,通過規(guī)劃求解,求出最佳平滑系數(shù)為0.7之后進行預測銷量,選擇誤差最小的年份2011年,誤差最大的年份2019年,進行區(qū)間范圍計算,得出結(jié)果誤差范圍在1.7%~22.5%,誤差明顯減小,那么預測未來年度銷量選擇在誤差范圍銷量區(qū)間之間,就有實際參考價值,可作為未來年度銷量完成任務下發(fā)及銷售額考核依據(jù)。
最后,用機器學習方法預測2022年的銷售數(shù)量,發(fā)現(xiàn)預測數(shù)據(jù)和前面指數(shù)平滑法的預測結(jié)果有較大差別,造成的原因可能為以下兩點:其一,機器學習方法通常需要大量的數(shù)據(jù)進行訓練,數(shù)據(jù)需求量較大,才能獲得準確的預測結(jié)果,如果可用的歷史銷售數(shù)據(jù)較少,可能會對預測的準確性造成影響。其二,機器學習方法的預測結(jié)果會受限于數(shù)據(jù)質(zhì)量和特征選擇,數(shù)據(jù)質(zhì)量的影響包括缺失值、異常值和噪聲等。此外,正確選擇和提取相關的特征也是影響預測準確性的重要因素。
綜合來說,機器學習方法在預測銷售數(shù)量方面具有較高的靈活性和準確性,但需要充分的數(shù)據(jù)支持和專業(yè)知識指導,同時也要注意數(shù)據(jù)質(zhì)量和特征選擇的問題。
參考文獻:
[1]北京博導前程信息技術股份有限公司.電子商務數(shù)據(jù)分析概論[M].北京:高等教育出版社,2020.
[2]ZHANG,J.,LI,Y.,&LIU,Y.Sales forecasting of retail stores based on ARIMA and LSTM.International Journal of Computational Intelligence Systems,2020,13(1),1745-1757.
作者簡介:段亞楠(1979— ),女,碩士,昆明工業(yè)職業(yè)技術學院,副教授,教研室主任,研究方向:計算機應用,電子商務數(shù)據(jù)分析。