一级黄片免费在线播放_国产黄片在线免费看_日本8X无码毛片_日韩无码一级簧片_中日韩一级免费黄片_www.黄色视频.com_亚洲免费成人电影大全_韩国一级黄片在线免费看_一级免费黄片视频

羅戈網
搜  索
登陸成功

登陸成功

積分  

揭秘盒馬銷量預測核心算法的技術演進

[羅戈導讀]本文將揭秘盒馬銷量預測的整體框架介紹和技術演進過程。
銷量預測作為供應鏈域的核心算法,目前已服務于全國百家級店倉,每日百萬量級SKU的補貨作業,在提升人效、降低缺貨和損耗方面發揮了重要的價值。本文將揭秘盒馬銷量預測的整體框架介紹和技術演進過程。

一、背景介紹

盒馬圍繞用戶生活全場景發展出了豐富的業態,提供了線上線下一體化的高品質購物體驗。用戶可以通過移動互聯網便捷下單,享受最快30分鐘送到家的服務。為了追求極致的新鮮體驗,盒馬還推出了只售一天的日日鮮系列商品,涵蓋牛奶、蔬菜、肉禽等日常消費品類。即時的生鮮服務非常切合消費者需求,但對供應鏈提出了很高的要求。對此,盒馬供應鏈算法根據零售場景特點,搭建了包括預測、庫存、營銷和價格在內的算法能力。

揭秘盒馬銷量預測核心算法的技術演進

銷量預測作為供應鏈域的核心算法,目前已提供了包括盒馬鮮生、云超、X會員店、盒馬鄰里等業態在內的商品銷量預測能力。在全自動補貨中同時服務于盒馬、盒小馬、天貓校園、逸刻等多個商家的日常訂貨,在提升人效、降低缺貨和損耗方面發揮了重要的價值。

銷量預測從技術角度來看是一個重要且具有挑戰的問題。首先商品的銷量會受很多因素的影響,除了時序性規律以外,還包括促銷、調價、天氣、季節性、商品狀態等多方面因素;其次,銷量預測的消費場景通常是很多的,除了應用在全自動補貨之外,還可以作為一種基礎能力賦能更多的項目,例如生意計劃、SPT、品類規劃、庫配一體化等。另外,銷量預測所使用的數據范圍廣,上游依賴多,技術鏈路長,對于算法整體鏈路的穩定性也提出了很高的要求。

因此盒馬的銷量預測重點圍繞“預測結果準,整體鏈路穩,業務響應快”的思路進行搭建和迭代,本文主要聚焦于盒馬銷量預測的整體框架介紹。

二、整體思路

2.1 盒馬銷量預測特點

盒馬銷量預測的主要特點可以歸納為多業態、多品類、多場景三個方面:在業態上重點支持了盒馬鮮生、盒馬云超、盒馬鄰里,同時也包含一些外部商家;在品類上覆蓋了標品、生鮮、餐飲下的多個類目,商品豐富度高;在場景方面,主要針對影響商品銷量的關鍵因素進行單獨的建模和優化。

揭秘盒馬銷量預測核心算法的技術演進

考慮到盒馬業態的多樣性,為了讓銷量預測既能貼近業務又能有一定的通用性,所以在流程上進行了劃分:在數據預處理環節和結果后處理環節會盡量貼近業務特點,讓訓練數據和預測結果能更好的適配業務場景;然后在算法模型的設計上更加注重結構的通用性,這樣通過圈選特定數據單獨訓練就能夠快速地支持到不同業態和場景,同時也能提高開發效率。

2.2 銷量預測技術路線

銷量預測的整體技術路線可以分成以下14個步驟,其中前半部分是對問題的分析定義,以及數據的各種預處理,目的是將建模過程中的類似工作進行統一收口,保證數據口徑的一致性,方便后續模型的開發;中間部分是各種預測模型的構造;后半部分是對模型結果的校驗和融合,以及根據業務邏輯進行的后處理,目的是提高預測結果的實用性和靈活性,實現對業務需求的快速響應。具體模塊和對應的介紹章節如下:

揭秘盒馬銷量預測核心算法的技術演進

整個流程把數據、模型和業務規則進行解耦,邏輯上形成總-分-總的結構,各部分主要內容如下。

2.2.1 問題定義與數據處理

  • 預測問題定義:包括預測的維度(sku/類目;銷量/單量/GMV;小時/天/周);預測的口徑(交易口徑、履約口徑);預測的范圍(哪些店、倉、商品需要預測);預測的渠道(APP、POS、全渠道);預測的時長(7天、30天、3個月等)。
  • 考慮的各種因素:結合業務場景,分析目標變量受哪些因素影響,例如營銷活動、采購調價、季節性、天氣、流量、關聯替代性、競對、新品、節假日、大促等。
  • 數據源選擇:明確數據口徑,確保數據來源與既定的維度嚴格保持一致;確保數據實時性滿足業務要求。
  • 基礎數據加工:對DW層的原始數據做進一步加工,生成適用于算法的數據,例如組合商品交易拆分到單品,未來調價/促銷活動解析,天氣類型打標,日清商品圈選等。
  • 數據業務處理:結合業務規則對數據進行處理,例如出清銷量還原,大訂單識別等。
  • 數據異常處理:對歷史數據中的異常點進行削峰填谷,例如異常值檢測和時序補缺。
  • 通用特征提取:構造銷量預測使用的基礎特征,沉淀到特征寬表,統一數據口徑,便于管理,提高后續模型的開發效率。

2.2.2 模型構造

  • 算法模型構造:銷量預測模型從不同角度可以劃分成不同類型,按建模方式的不同可以分為傳統時序方法、機器學習方法、深度學習方法和時空圖網絡方法;按照預測步長的不同可以分為單步預測和多步預測;按照輸出結果的不同可以分為點預測和概率預測;按照目標個數的不同可以分為一元和多元預測等。模型構造環節主要聚焦在預測方法本身的研究,不同場景和業務問題的建模,以及銷量預測準確率的提升上。

2.2.3 結果后處理

  • 預測結果修正:為了防止極端值對業務造成的負面影響,需要對模型結果進行異常值攔截和區間約束。
  • 算法模型融合:根據預測目標的特性選擇最合適的模型或模型組合,并基于一定策略對不同模型的預測結果進行融合。
  • 預測結果算法處理:基于算法邏輯調整預測結果,包括季節性、節假日、惡劣天氣lift等。
  • 預測結果業務處理:基于業務邏輯調整預測結果,包括BOM轉化,店倉關系映射,大倉銷量匯總等。
  • 效果評價與分析:設定算法指標(如WMAPE)和業務指標(如采納率、自動提交占比),監控整體趨勢的變化情況;對具體問題進行分析診斷,并不斷完善流程中的各步驟。
  • 提示與使用建議:預測結果對外提供服務時,友好的提示可以給業務更好的指導,例如是否需要人工審核,白盒化中展示算法考慮的因素等。

三、數據處理

3.1 整體框架

信息的準確性和完整性對于預測模型的效果起到了至關重要的作用,因此需要精細打磨和持續迭代。為了保證數據口徑的一致性,需要對建模過程中的數據處理相關工作進行統一收口,包括數據源選擇、基礎數據加工、數據業務處理、數據異常處理、以及通用特征提取。這部分最終沉淀下來的是標準化的特征寬表,便于后續模型的使用。數據處理各步驟的具體內容如下:

揭秘盒馬銷量預測核心算法的技術演進

揭秘盒馬銷量預測核心算法的技術演進

需要注意的是,基礎數據加工和數據業務(異常)處理的區別在于,前者生成的是客觀數據,即只會在數倉基礎上對數據進行拆分、匯總、打標等操作,不會改變原始信息;而后者生成的是主觀數據,例如經過缺貨補全將實際銷量由0變成10,目的是方便模型更好地進行學習,提升預測結果的準確性和穩定性。

3.2 數據業務處理

該環節需要結合具體的業務場景進行處理,目的是讓數據能更好地適配各種業務場景,提高最終銷量預測結果的實用性。下面列舉了一些典型場景:

  • 智能調控還原:智能調控會基于小時銷量預測實時計算當天可能產生損耗或者缺貨的商品,通過流量傾斜、折扣清倉等手段對庫存進行調整和優化,降低當天的缺貨和損耗。該環節需要對調控產生的交易進行還原(通過轉化率/UV價值、量價關系等方式),從而確保在下一個預測周期所參考的歷史銷量更加準確。
  • 特殊交易剔除:主要是根據業務邏輯和交易數據打標規則進行處理,包括對團購訂單和折扣碼的過濾、以及大訂單的識別和剔除等(包括同一用戶多次下單,以及同時購買組合品和單品形成的大訂單)。
  • 基礎數據修正:例如調價或活動審批通過時間晚于期望的生效時間,需要以審批通過時間作為實際生效時間;另外遇到當天的生效時間較晚時(例如23點生效),需要將新價格打標成第二天生效。

揭秘盒馬銷量預測核心算法的技術演進

揭秘盒馬銷量預測核心算法的技術演進

3.3 數據異常處理

3.3.1 異常值檢測

異常值檢測可以分為新穎點檢測(Novelty Detection)和離群點檢測(Outlier Detection)。新穎點檢測假設訓練數據中不包含異常值,即通過學習歷史數據,使模型學習“正常數據”的特征及其分布,并且以此檢測新數據是否符合“正常數據”的特征。例如在One-Class SVM中尋找出數據的邊界,并以此邊界作為衡量標準,在邊界外的數據點就認為是異常值。離群點檢測假設訓練數據中包含異常值,即通過模型找到訓練數據的中心模式,并且把訓練數據中遠離中心模式的數據點定義為異常數據。例如Isolation Forest中將分布稀疏且離高密度群體較遠的點視為異常點,然后通過對數據空間進行不斷切割確定孤立點。

3.3.2 缺失值補全

現實場景中,由于數據采集或者業務操作等原因,數據中往往存在缺失和斷點的情況。為了確保建模過程中時序數據的完整性,減少后續銷量預測的badcase,需要對數據中的缺失值進行填充,常見的缺失值補全方法有三類:

  1. 基于統計的方法
  2. 舉例:線性插值、就近填充、均值/中位數
  3. 特點:實現簡單,計算復雜度低,準確率一般
  4. 傳統機器學習方法
  5. 舉例:KNN、GBDT
  6. 特點:用缺失點附近的數據作為特征,預測缺失數據,需手工做特征工程
  7. 深度學習方法
  8. 舉例:RNN、GAN
  9. 特點:端到端的學習,無需人工進行特征處理,具有一定通用性

盒馬缺失值補全的整體思路如下:方法上使用了GBDT和GAN兩類模型,并根據當日的缺貨時段數據、促銷和價格信息,以及歷史相同時段的銷量等信息分別對APP和POS渠道的缺貨時段銷量進行補全(下圖給出了兩個商品補全的例子)。此外,基于補全銷量和當日價格信息可進一步預估缺貨造成的GMV損失,該數據可提供給業務進行缺貨影響分析:

揭秘盒馬銷量預測核心算法的技術演進

其中GBDT屬于監督學習方法,主要思路是篩選當日不缺貨的樣本,隨機生成缺貨打點時段,并將對應時段的真實銷量作為label,然后用歷史相關數據構造特征進行模型訓練。跟統計方法相比,GBDT的補全準確率能有大幅提升。

GAN屬于無監督學習方法,其在沒有label的數據集中也能適用,因此通用性更強。這里采用了SSGAN模型,SSGAN中包含三個角色:生成器的任務是輸入包含缺失值的時間序列,輸出補全后的完整時序;判別器的任務是判斷每個時刻的數據是真實的還是算法生成的;分類器的任務是對原始時序和算法補全的時序進行分類打標,幫助生成器關注于缺失時刻的補全。訓練的過程主要是讓生成器和判別器進行對抗,最終希望生成器能夠產生以假亂真的補全數據。考慮到GAN的訓練需要多個模型共同參與,訓練過程不穩定,所以將模型調優拆解成了4個步驟,并對網絡結構、訓練策略、模塊選擇等進行了優化。從補全效果來看,SSGAN的準確率比GBDT更高,并且將兩類模型融合后能進一步提升準確性和穩定性,具體內容如下:

揭秘盒馬銷量預測核心算法的技術演進

3.4 通用特征提取

特征工程在銷量預測中,特別是在基于傳統機器學習的建模方法中是比較關鍵的一個步驟。這部分往往需要結合數據的內在規律和業務場景的經驗進行處理。目前盒馬預測使用的基礎特征包括商品屬性、門店屬性、促銷信息、日期信息、天氣信息、流量信息、歷史銷量和競對信息八大類。

在基礎特征之上進行空間維度的交叉組合,以及時間維度對齊操作可以生成各種衍生特征。進一步對衍生特征進行加權組合可產生更加豐富的特征,交叉的因素越多,特征也越復雜,涵蓋的信息就越多。最后再通過特征重要性評估方法篩選出較為重要的特征進行使用。

揭秘盒馬銷量預測核心算法的技術演進

四、模型構造

盒馬銷量預測涵蓋了多種方法與多種場景,按照方法維度可以分為業務規則模型、傳統機器學習模型、深度時序模型、時空圖網絡模型四大類。每類方法具有各自的特點,通過相互結合,一方面可以確保業務需求的快速響應,提高應對各種問題的靈活性,另一方面可以兼顧前沿技術的探索和建模方法的創新。

按照場景維度可以劃分為替代品、時令品、日清品、促銷、流量、X會員等一系列場景,細分場景進行建模,一方面可以有效提高特定場景下的預測準確率,更好的支持業務應用,另一方面有助于提煉盒馬銷量預測的算法特色。

盒馬預測算法的迭代路徑如下,本節主要對銷量預測的常見方法進行介紹。

揭秘盒馬銷量預測核心算法的技術演進

4.1 傳統時序方法

傳統時序方法主要是在確定數學模型的基礎上求解出模型參數,并利用求解出的模型進行預測。常見的模型例如MA(Moving Average)、ARIMA(Auto-Regressive Integrated Moving Average)、Prophet等。

MA是一個實現簡單且效果往往還不錯的方法,因此經常作為baseline與其他方法進行比較。例如SMA(Simple Moving Average)是直接對歷史一段時間的觀測值求等權重均值,但該方法存在的問題是滯后性較為明顯,對近期數據不夠敏感。因此進一步的改進思路是對歷史數據求加權平均,即距離當前時間越近的數據權重越高。WMA(Weighted Moving Average)和EMA(Exponential Moving Average)均屬于此類方法,區別主要在于WMA的權重是按照線性遞減,而EMA是按照指數遞減。ARIMA在傳統時序方法中有著很高的知名度,其主要過程是先通過d階差分運算將非平穩時間序列轉化為平穩時間序列,然后再根據平穩時序的自相關系數ACF和偏自相關系數PACF確定自回歸項p和移動平均項數q,并對模型誤差進行隨機性檢驗確定最終模型。Prophet是Facebook在2017年開源的模型,其主要思路是對時間序列進行分解(包括趨勢項、季節項、節假日項和誤差項)。其中趨勢項表示時序非周期性的變化趨勢,季節項表示周期性變化(一般以周或年為單位),節假日項表示時序中存在的特殊節日。Prophet就是通過擬合這幾項,然后把它們累加起來作為最終的預測值。

傳統時序方法的主要優點是建模過程簡單,并且可解釋性強。但局限性在于無法有效利用外生變量,信息存在缺失,因此預測準確率難以達到比較高的水平;另外在使用時需要對每一條時序單獨擬合和預測,對于數據量較大的場景,在執行上需要花費很長的時間。

4.2 傳統機器學習方法

機器學習方法是銷量預測普遍采用的建模方式,常見的模型包括線性回歸、支持向量回歸、決策樹模型(GBDT、LightGBM)等。其基本流程包括數據集構造+特征工程+模型訓練,并通過監督學習從歷史數據中得到特征與目標之間的映射關系,從而進行時序預測。

這類方法彌補了傳統時序模型無法考慮外生變量的問題,在信息豐富的情況下模型效果能有顯著提升,并且能夠應對大數據量的場景。不過在這類方法中,特征工程的質量往往決定了預測模型的上限,因此需要花費大量時間在特征構造環節。特征工程要求算法同學對業務場景有很好的理解,并能構造出和目標具有較高相關性的特征,這對于預測準確率的提升會帶來直接幫助。另外為了確保預測結果的穩定性,特征構造時還需要考慮不同場景的對齊策略,特征值計算時的降級邏輯,特殊時間點的特征轉換,以及歷史特殊日期的自動還原或剔除等。除了人工構造特征的方式之外,也可以利用一些特征自動生成工具來產生更多的特征,例如tsfresh、Featuretools等。通常情況下,將自動生成的特征和人工經驗的特征進行結合,效果會更佳。

一個值得注意的點是,不同于傳統時序方法對每一條時序單獨構建模型來預測,機器學習方法是把多種數據放在一起訓練,得到一個全局的模型。但在實際場景中,不同時序表現出來的規律可能本身就不一樣,例如不同類目或不同品牌的商品銷量呈現不同的趨勢性和周期性。因此將所有數據放在一起訓練可能導致整體預測效果下降,所以通常還需要對數據進行適當分層后,再對每層數據單獨訓練模型。

4.3 深度學習方法

基于深度學習的時序預測方法是近年來的研究熱點,由于深度學習在語音識別、計算機視覺和自然語言處理等領域已取得重要突破,相關方法也應用到了時間序列預測上。其主要思路是采用端到端的學習方式,輸入較為原始的數據,并通過不同模型結構自動提取特征進行學習。這類方法的優化重點主要放在模型結構設計和參數調優上面。下面列舉了一些經典的深度時序模型,包括WaveNet、DeepAR、N-Beats、TFT。

WaveNet是Google DeepMind在2016年提出的基于CNN結構的模型,一般CNN應用于長序列的局限性在于卷積提取的是局部信息,想要擴大感受野需要增大卷積核或增加模型層數。而WaveNet引入了空洞因果卷積(dilated causal convolution),一方面可以確保每個時刻不會接觸到未來的信息,另一方面通過跳過一定長度的輸入,可以在不增大模型層數的情況下獲得更大感受野。DeepAR是Amazon在2017年提出的基于自回歸循環神經網絡的概率預測模型,其學習的是概率分布的參數,輸出為每個時刻目標值的概率分布。DeepAR的一個亮點是可以在幾乎沒有歷史數據的情況下執行冷啟動預測,但受限于RNN結構,對于較長時間的周期季節等信息則難以補獲。N-BEATS是Bengio團隊于2020年發表的基于時序分解思想的深度網絡模型,其基本計算單元是Block,多個Block通過堆疊形成一個Stack,整個模型就是由多個Stack進一步堆疊而成。每個Block會輸出前向和后向殘差,后向殘差作為下一個Block的輸入進行擬合,前向殘差之和作為對應Stack的預測值,將所有stack的預測值求和便得到最終的預測結果。TFT是Google提出的多變量時間序列預測模型,其在輸入數據的處理和網絡結構的設計上考慮較為全面。在數據處理方面,TFT采用Variable Selection Network計算每個特征的重要性,通過加權融合減少無關變量帶來的影響;另外對類別特征進行單獨建模,能更加有效利用ID類信息。在網絡結構方面,TFT同時考慮長短周期的時序信息(LSTM提取局部時序信息,Self-attention提取長期時序信息);并通過門控單元機制過濾掉不必要的模塊信息,對于不同數據集實現網絡結構的自適應。

揭秘盒馬銷量預測核心算法的技術演進

總體來說,深度學習方法更加靈活,且端到端的學習方式能減少人工處理,具有更強的通用性。另外考慮到長距離的信息在RNN這類模型中會被弱化或遺忘,且RNN不能并行計算,所以在實際場景中更多會采用基于attention的方法。另一個值得注意的點是,由于機器學習方法大多采用的是聚合特征,對于時序信息的把握不足,而深度時序模型在這方面有天然優勢,因此將深度時序模型和機器學習模型的結果進行融合往往能進一步提升效果。

4.4 時空圖網絡方法

一些場景中,數據在時間維度和空間維度并非獨立,算法一方面需要學習時間維度的相關性,另一方面也需要考慮不同時間序列在空間維度的關聯關系。例如在商品替代性場景中,當某一款雞蛋降價或缺貨時,會導致其他雞蛋的銷量出現波動;又或者在營銷活動配置場景中,每個商品所疊加的活動類型,以及每個活動的商品池范圍均會影響商品最終的到手價。考慮到上面提到的方法在這類情況下存在局限性,因此需要引入時空圖網絡對具有空間相關性的時間序列進行建模。時空圖網絡方法目前已廣泛應于交通規劃、行人軌跡預測、金融分析等領域,并且在盒馬的預測場景也取得了一些應用,例如關聯替代性商品銷量預測模型和營銷到手價預估模型。

目前較為常用的是STGAT模型,STGAT包含Encoder和Decoder兩部分,在Encoder中首先利用M-LSTM對歷史時序特征進行編碼,得到每一個時刻的隱層特征;然后用GAT捕獲每一時刻關系圖中目標sku與鄰居sku的空間關聯性;再將GAT輸出的隱層特征輸入G-LSTM進行時序傳導。中間態是將M-LSTM和G-LSTM輸出的隱層特征和高斯噪聲Concat起來,加入高斯噪聲的目的是防止網絡過擬合。Decoder是一個雙層LSTM結構,下層D-LSTM將中間態的隱層狀態進行傳導,上層Cond-LSTM加入了商品外生變量在未來時刻的變化信息,并將前一步的輸出作為后一步的輸入,實現多步預測。

揭秘盒馬銷量預測核心算法的技術演進

五、結果后處理

結果后處理從計算方式上面可以歸納為以下五種類型,本節會對其中的主要模塊進行介紹:

  • 預測結果融合:包括模型預測結果的異常值識別與攔截;多個模型的結果融合。
  • 預測結果調整:針對惡劣天氣、特殊節假日的lift系數;連續缺貨拉伸;預估白盒化干預等。
  • 預測結果轉換:根據加工品和原料品的轉換關系生成原料品的預測結果;日清商品交易口徑轉履約口徑;切品時新老品的需求繼承等。
  • 預測結果匯總:基于供貨路由網絡和店倉映射關系,匯總生成倉端銷量預測結果,包括FDC,B2C倉,NB倉、CDC等,支持倉端自動補貨。
  • 預測結果拆分:一店多倉場景下基于分倉比的預測結果拆分;基于銷量預測的通用拆分能力,提供拆店、拆天、拆渠道的能力,支持倉端銷售計劃和生意計劃的目標拆分等。

5.1 預測多模型融合

由于業務場景和建模方法都具有多樣性,在兩者的疊加影響下往往就會出現預測模型的多樣性,例如下面列舉出來的盒馬銷量預測常規模型和特殊場景模型總共就有十多個。所以這部分重點需要考慮的是:

1)如何有效的使用這些模型,讓最終的預測結果能穩定提升;

2)如何讓模型的管理更加便捷。這里主要從模型的融合策略和模型的上線流程兩個方面進行設計:

揭秘盒馬銷量預測核心算法的技術演進

在模型的融合策略方面,首先是根據預測目標篩選合適的模型組合,主要考慮的因素包括商品特性、是否特殊節假日、是否X會員日、是否有促銷活動等。然后需要對模型的異常結果進行識別和攔截,這里主要采用的方法包括:

1)對比不同模型的預測結果,通過投票機制淘汰明顯異常的模型;

2)對比同一個模型在當前周期和上一周期預測同一天的波動情況,對于出現異常波動的模型進行過濾;

3)基于歷史統計指標的異常值過濾,例如均銷,方差,周同期值等。

最后是對多個模型的預測結果進行融合,這里的方法包括基于固定權重的融合策略、基于歷史準確率的融合策略,以及基于元學習的融合方法。

在模型的上線流程方面,需要考慮的問題包括:

1)降低維護成本,即減少每次增減模型在后處理環節的開發工作量;

2)能夠方便地對不同模型和不同處理策略進行效果評估;

3)預測模型和后處理策略在上線過程中的風險控制。

具體做法是:首先需要選擇合適的數據結構來保存所有模型結果,避免每次增減模型對下游表字段的頻繁變更,另外可以通過編寫統一的udf函數來實現各種策略,提高通用性。在新模型上線時,首先會將其加入到離線全量結果表中,該表包含所有模型的結果,便于對不同模型和融合策略的效果進行分析;接下來會篩選合適的模型和融合策略加入到離線仿真結果表中,該表按線上調度時間獲取模型結果,并通過消融實驗和線上結果進行對比,評估效果穩定后再更新到線上。

5.2 預測結果算法處理

5.2.1 季節性和節假日

盒馬商品銷量受季節性和特殊節假日的影響顯著,例如端午的粽子,冬至的餃子,圣誕節的牛排和紅酒,另外還包括各種應季的水果蔬菜等。季節性和節假日這兩類場景的共同點在于:

1)消費者行為存在較大不確定性,商品維度的銷量波動大;

2)歷史近期數據無法反應未來銷量趨勢,需要考慮較長時間的信息;

3)部分建模方法需要對歷史特殊點進行平滑,避免對預測造成負面影響。


此外,兩者在結果上的不同點是:特殊節日的商品銷量呈現單點脈沖式變化,而季節性商品的銷量變化趨勢具有連續性,幅度相對平緩。下面列舉了常見的特殊日期:

揭秘盒馬銷量預測核心算法的技術演進

針對季節性和節假日場景,算法上一般有兩種思路:

  • 第一種是在預測模型層面去學習歷史趨勢,例如在N-BEATS中分別采用多項式函數和傅里葉級數對趨勢性和季節性進行建模;或者利用日期和類別編碼+attention學習歷史相似情況的銷售趨勢;或是將商品維度和類目維度的銷量預測進行多任務學習,帶動商品響應季節性趨勢;另外在傳統機器學習方法中可以通過特征構造來實現節假日特征的自動轉換,以及歷史數據中特殊日期的特征還原。
  • 第二種是在后處理環節對銷量預測結果進行調整,首先通過一定方法計算出商品的季節性/節假日系數(例如統計歷史特殊日期銷量相較于平日的漲幅,或者計算類目銷量預測值相較于商品預測值聚合到類目后的差異),然后直接作用在預測結果上。

盒馬銷量預測對于季節性和節假日的處理方法結合了上面兩種思路,在后處理環節再次進行調整的目的是讓預測結果更加靈活,可以快速響應業務的需求,另外該方法也具有較好的解釋性。該環節引入了類目銷量預測的能力,原因是類目銷量預測的回看天數和預測天數均更長,能夠更好的反應年維度的變化趨勢,并且相較于sku維度銷量波動大的問題,類目維度會更加穩定。具體方法是首先計算類目銷量預測結果和商品預測結果聚合到類目后的差異,并計算出類目維度的調整系數;然后對同類目下的商品進行分層,并將類目系數按照分層拆分(例如頭部品爆發力度可能大于尾部品),從而兼顧不同商品分層下銷量爆發的差異性;最后就是將拆分后的系數作用在預測結果上。

5.2.2 惡劣天氣

在遇到降雨/降雪,或者是溫度突然下降的情況時,盒馬的線上銷量往往會出現明顯增長,為了避免缺貨,算法需要提前感知未來的天氣情況,并在遇到特殊天氣時調整預測結果。從下圖的歷史數據統計來看,降雨主要集中在夏季的7-9月份,而降溫主要集中在11-2月份,并且這類天氣對于銷量有普遍的促進作用。目前對于天氣的響應方案結合了業務的實際處理經驗,主要思路是統計每個門店歷史相似天氣情況下的類目銷量增長情況,計算出類目維度的天氣系數,然后在后處理階段作用到銷量預測結果上。

揭秘盒馬銷量預測核心算法的技術演進

5.2.3 特殊事件

當遇到特殊事件時往往需要人工介入處理。例如新冠疫情在全國各地頻發,一方面業務需要手工干預接管補貨,并且協同供應商、物流和采購進行攔截、改配和調撥等操作,工作量大且人手不足;另一方面算法遇到特殊事件時,難以跟蹤和評估區域的影響情況,而且需要手動對臟數據進行打標處理,因此無法沉淀標準化的數據進行自動響應。特殊事件管理的目的就是為了更好的拉通從計劃到執行各環節,沉淀出一套自動干預的方案,在特殊事件發生時能夠有條不紊的應對。

盒馬銷量預測依托特殊事件供應鏈管理產品,針對異常事件進行處理和干預。當特殊事件發生時,區域業務同學可以錄入事件類型、影響時間、恐慌程度、影響范圍等信息。算法消費以上數據,一方面可以從全鏈路自動剝離特殊事件的影響,保障后續預測結果的穩定性,另一方面根據歷史相同事件發生時的商品銷售情況(例如疫情爆發時民生品的銷量會大幅上漲),以及業務錄入的需求、產能、履約影響等信息,計算商品的特殊事件影響因子,從而在預測上進行自動響應。

5.3 預測結果業務處理

該環節主要是根據業務規則對銷量預測結果進行處理,包括按照BOM關系中的用量、出品率、成本換算率計算原料品的預測結果,并在補貨推單的時候扣減成品和原料庫存。比如下面這個例子中,原料“商品C”有兩個產成品“【鮮果切】商品A”和“【鮮果切】商品B”,并且原料品和產成品均可售,因此在對“商品C”進行補貨的時候,需同時考慮產成品和其本身的需求量:

揭秘盒馬銷量預測核心算法的技術演進

此外,根據盒馬供貨路由網絡和店倉映射關系,可將店銷量預測結果進行匯總,生成FDC和CDC等倉端的需求預測結果,進一步支持倉端自動補貨。

5.4 效果評估與分析

評估指標可以分為算法指標和業務指標兩類,算法指標包括MAE、RMSE、WMAPE等,用于衡量預測準確率;業務指標包括采納率、缺貨率、損耗率、周轉等。其中算法指標偏向于過程,用于跟蹤模型在不同品類和不同時間點上的變化趨勢,分析診斷問題,并通過不斷完善算法模型,最終帶來業務價值;而業務指標更偏向于結果,是算法和業務同學共同希望達到的最終目標。

由于預測準確率本身會受計算口徑、業態差異、商品銷售量級等影響,因此不建議用單一指標來衡量所有業態和場景的預測效果。在算法指標設計時需盡量貼近業務場景,這樣能更好的衡量算法提升對業務的影響。例如在計算準確率時考慮不同商品的vlt,或是根據補貨的具體場景BY店/BY倉、BY天/BY周進行統計,另外也需要關注預測值的上偏和下偏情況。

在預測case的分析方面,首先需要及時發現問題,例如識別出每日高缺高損或預測誤差較大的商品,以及業務訂貨時大幅改量且修改合理的case;其次需要對影響商品銷量的系統性因素進行分析,定位問題,并明確在14個步驟中的哪個模塊進行優化解決。例如將影響銷量的主要因素進行可視化展示,方便在case分析時快速定位原因,并且支持多模型下鉆,方便比較各模型的預測情況。

5.5 提示與使用建議

該環節包括基于算法的歷史預測良好率、商品特性以及未來大促等信息提示業務是否需要進行人工審核。另外通過在白盒化中展示算法考慮的因素,可實現與業務的有效協同。本章主要對預估白盒化進行介紹。

5.5.1 預估白盒化

預估白盒化的主要目的是將預測算法考慮的因素展示出來,并給業務提供干預銷量預測值的能力。在遇到切區、大促等情況時,業務可以參考未來算法預測總量和業務預算之間的差異,結合算法對于各種因素的響應幅度來調整指定范圍的商品預測值,從而在總量上達到業務預期。計劃協同也是全自動補貨的重要一環。

為了便于理解和分析,這里僅選擇業務重點關心的因素進行展示,而不是羅列出所有特征的重要性。目前選取了促銷、流量、天氣、假日四種因素。白盒化系數的計算邏輯如下:算法依次在原始銷量預測上剝離額外流量、促銷、天氣、節假日因素,得到剝離各個因素后的預測結果,然后再計算各預測結果的相對系數,從而得到算法對于特定因素的響應幅度。例如下面這個例子中,原始銷量預測結果為200,剝離額外流量的預測結果為160,因此流量因素的系數就是1.25,進一步剝離促銷因素后的預測結果為100,所以促銷因素的系數就是1.6,以此類推可計算出所有因素的影響:

揭秘盒馬銷量預測核心算法的技術演進

六、鏈路穩定性與靈活性

盒馬銷量預測目前已服務于全國百家級店倉,每日百萬量級SKU的補貨作業,為了保障日常補貨的穩定性,應對門店的快速擴張以及新業態的產生,銷量預測整體鏈路沉淀了相應的降級策略和響應方案:

穩定性方面,除了保障任務本身的穩定性之外,針對異常突發情況制定了相應降級策略,目前降級分為四個等級:數據降級主要應對上游數據產出延遲的情況,部分數據可以取前一天分區;特征降級主要是在特征構造時可舍棄最近一天的信息,避免整體鏈路被單點阻塞;模型降級主要是針對個別模型運行出現問題的時候,有其他模型的結果可替用;在最后結果降級部分,算法每天會回流T-1的預測結果作為當天的備份數據,假如遇到更為嚴重的問題就會切換備份數據,進而從整體上提高抗風險的能力。

靈活性方面,包括兼容業務端的變更操作,例如商品的類目切換和部門切換,以及門店所屬子公司的變換,切換前后的相關數據能夠自動關聯,避免對模型預測造成影響;另外,對于外部突發因素也可方便地進行干預,例如公共衛生事件,自然災害等,實現結果的快速調整響應。

揭秘盒馬銷量預測核心算法的技術演進

七、結束語

盒馬業務目前處于持續快速發展當中,豐富的場景和業態對銷量預測也提出了更高的要求,需要同時在具體場景和整體框架上進一步打磨:一方面銷量預測需要更加貼近業務,發掘并深入研究其中的關鍵問題,讓算法能更好的服務業務;另一方面需要研究更加通用的銷量預測框架,流程上更加標準化,沉淀一套完善的解決方案。

免責聲明:羅戈網對轉載、分享、陳述、觀點、圖片、視頻保持中立,目的僅在于傳遞更多信息,版權歸原作者。如無意中侵犯了您的版權,請第一時間聯系,核實后,我們將立即更正或刪除有關內容,謝謝!
上一篇:柔性倉儲自動化技術在家居建材行業中的應用
下一篇:卷煙智能自助迷你倉配送服務模式探索與應用
羅戈訂閱
周報
1元 2元 5元 10元

感謝您的打賞

登錄后才能發表評論

登錄

相關文章

2025-02-05
2025-02-05
2025-01-28
2025-01-28
2025-01-26
2025-01-24
活動/直播 更多

2.22北京【線下公開課】倉儲精細化管理:從混亂到有序

  • 時間:2025-02-22 ~ 2025-02-23
  • 主辦方:馮銀川
  • 協辦方:羅戈網

¥:2580.0元起

報告 更多

2024年12月物流行業月報-個人版

  • 作者:羅戈研究

¥:9.9元