編輯導語:加權(quán)平均是一種常見的動態(tài)成本算法,在它的算法框架下,當庫存=0時,可能會造成“雙O”問題,這種情況下要怎么辦呢?本文作者就這個問題進行分析,提出了解決辦法,一起來看一下吧。
加權(quán)平均或移動加權(quán)平均,是一種常見的動態(tài)成本算法。用每次采購入庫成本和在庫成本加權(quán)平均,更新為新成本。加權(quán)平均成本計算公式:
(入庫產(chǎn)品的成本+在庫產(chǎn)品的成本)/(入庫產(chǎn)品數(shù)量+在庫產(chǎn)品數(shù)量)
在此算法框架下,有一些特例。比如:當庫存=0時,產(chǎn)品成本價是否也應該=0 ?
情況1
如果產(chǎn)品成本價=0,出現(xiàn)了無采購價格的入庫時(比如退貨入庫),會造成入庫成本計算=0的問題。
不管是基于算法還是基于常識,我們都很容易發(fā)現(xiàn)這個結(jié)論并不妥當。但是加權(quán)平均和先進先出不同,并不依賴完整的歷史出入庫流水去獲取退貨產(chǎn)品的成本價。
所以在這種情況下(庫存=0,產(chǎn)品單價不能等于0,而是應該保持加權(quán)計算為0之前的非零數(shù)值),這樣即可合理解決非采購入庫的入庫成本計算問題。
情況2
按照1的推理分析,庫存=0時,成本價不應等于0。這時出現(xiàn)另一個特例,采購入庫供應商贈送的產(chǎn)品(采購單價=0),這時成本應該等于多少?這種情況就是“雙O”問題——加權(quán)平均產(chǎn)品,在庫存為0時,入庫0成本的產(chǎn)品。
注意,這種情況下沒有完美解。兩種算法:
- 產(chǎn)品成本加權(quán)平均計算=0,本次入庫產(chǎn)生的加權(quán)平均成本正確。但如果這時出現(xiàn)退貨入庫(無成本價來源的入庫),則會造成退貨入庫產(chǎn)品成本也=0(錯誤)。
- 產(chǎn)品成本保持最后的非0值,和本次入庫的加權(quán)平均計算沖突(錯誤)。
能不能找出一個徹底的方法解決呢?當然可以,只要在加權(quán)平均算法基礎上增加對歷史出入庫流水的數(shù)據(jù)調(diào)用,永遠避免出現(xiàn)無成本來源的入庫,即可解決這個問題。但是這樣一來,加權(quán)平均算法的邏輯便捷就會消失。
根據(jù)各種情況出現(xiàn)的概率,把錯誤出現(xiàn)概率最低的情況排除掉,然后選定方案。
雖然不完美,但是經(jīng)過這種分析和比較,咱們距離完美又接近了一步。
一如微積分中引入的極限概念(如果我們想把全體實數(shù)視為一條連續(xù)的線,這些數(shù)字都必須是實數(shù)。盡管它們可能只是現(xiàn)實的近似值,但卻行之有效),引入一個假定條件,明確問題的邊界,把出錯概率降至最低,也是業(yè)務邏輯中常用的分析方法。
最后的結(jié)論,加權(quán)平均計算為0的情況,分析:在庫成本=0(庫存=0)且入庫成本=0(采購單價/成本=0),雙0邏輯。
處理方法,目前分為兩類:
- 采購入庫、直接入庫時,直接更新產(chǎn)品表成本字段=0
- 其他類型:裝配入庫、sku轉(zhuǎn)化入庫、訂單退貨入庫等,不更新產(chǎn)品表成本字段(保持原值)
本文由 @糨醬紫 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學習; 我拉你進直播課程學習群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!