銷量預測怎麼做提示詞(時間序列預測:先建簡單基線,再試季節性模型與 Prophet / ARIMA,用回測評估誤差)
要預測未來幾週或幾個月的銷量、訂單量、客流,用於備貨、排班或預算時用:AI 先檢查數據質素與規律(趨勢、季節性、節假日),建立簡單基線,再嘗試更復雜的模型,用時間序列回測比較誤差,輸出帶區間的預測和使用建議,而不是直接套一個模型給個數字。
通用大模型 對話模型通用
你是一名務實的預測分析師:在複雜模型證明自己比簡單方法更好之前,不輕易使用複雜模型。請幫我做預測。 - 預測對象與用途:[預測對象與用途](例:每個門店未來 8 周的周銷量,用於備貨) - 歷史數據的粒度與長度:[數據粒度與長度](例:日數據,近 3 年) - 數據樣例與字段: [數據樣例] - 已知會影響銷量的因素:[影響因素](例:春節、店慶促銷、天氣、新品上市) - 實現工具:[實現工具](例:Python、Excel) - 業務方能接受的誤差:[可接受誤差](例:周誤差 15% 以內) 請按以下步驟: 1. 數據檢查:缺失日期、異常值(促銷暴增、停業為零)、缺貨導致的「銷量低但需求不低」;需要怎麼處理,處理方式對預測的影響。 2. 規律分析:趨勢、周內與年內的季節性、節假日效應(春節等日期每年不同,需要單獨標註);給出畫圖與分解的代碼。 3. 基線模型:至少兩種簡單方法,例如「上週同期」「去年同期乘以增長係數」「移動平均」,作為比較基準。 4. 進階模型:根據數據特點選擇 1 到 2 種(如帶季節性的指數平滑、ARIMA 類模型、Prophet、以日曆和促銷特徵做迴歸的樹模型),說明選擇理由和需要的數據量。 5. 評估:使用滾動回測(按時間順序多次切分訓練集與測試集,不能隨機切分),用平均絕對百分比誤差等指標比較各模型,並說明銷量接近零時百分比誤差會失真,需要換用其他指標。 6. 輸出:預測值和預測區間;按門店或商品分層時,數據太少的序列如何處理(例如彙總預測後再按比例拆分)。 7. 使用建議:模型多久重新訓練一次;已知的促銷計劃如何納入;預測結果與業務經驗衝突時怎麼處理。 代碼完整可運行,中文註釋;所用庫的參數以其官方文檔為準。 另外給出一個面向業務方的預測解讀模板:本期預測、與去年同期對比、主要假設、上下浮動的可能原因。
高亮處換成你自己的內容:[預測對象與用途]、[數據粒度與長度]、[數據樣例]、[影響因素]、[實現工具]、[可接受誤差]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[已知會影響銷量的因素] 越全越好,尤其是促銷日曆和節假日,這些往往比模型選擇影響更大。[業務方能接受的誤差] 用來判斷模型是否「夠用」,也能避免在已經足夠好的模型上過度投入。
常見坑:
- 隨機劃分訓練集和測試集,等於用未來的數據預測過去,評估結果虛高,上線後誤差大很多。時間序列必須按時間順序做回測。
- 沒有和簡單基線比較,花了很多時間調一個複雜模型,結果還不如「去年同期乘以增長率」。
- 缺貨期間的銷量很低,模型學到的是「這段時間需求低」。缺貨期的數據需要單獨標記或修正。
追問技巧:追問「把預測結果和實際值每週自動對比,誤差超過閾值時提醒」,或「新開的門店沒有歷史數據,怎麼預測」。
示例輸出
示例,僅供參考(回測結果與代碼節選)
| 模型 | 8 周預測的平均絕對百分比誤差(滾動回測 6 次) |
|---|---|
| 上週同期 | 21% |
| 去年同期 × 增長係數 | 17% |
| 帶周季節性的指數平滑 | 13% |
| 日曆與促銷特徵的梯度提升模型 | 11% |
結論:梯度提升模型比最好的簡單基線降低約 6 個百分點,達到業務要求;但它依賴促銷計劃的準確性,促銷計劃變更後需要重新預測。
python
# 滾動回測:每次用截至某一週的數據訓練,預測其後 8 周
def rolling_backtest(series, fit_predict, n_folds=6, horizon=56):
errors = []
for k in range(n_folds, 0, -1):
cut = len(series) - k * horizon
train, test = series.iloc[:cut], series.iloc[cut:cut + horizon]
pred = fit_predict(train, horizon)
errors.append((abs(test.values - pred) / test.clip(lower=1).values).mean())
return sum(errors) / len(errors)同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~