加權(quán)平均成本計算中,“雙O”問題的解決方案

0 評論 1719 瀏覽 6 收藏 5 分鐘

編輯導(dǎo)語:加權(quán)平均是一種常見的動態(tài)成本算法,在它的算法框架下,當(dāng)庫存=0時,可能會造成“雙O”問題,這種情況下要怎么辦呢?本文作者就這個問題進行分析,提出了解決辦法,一起來看一下吧。

加權(quán)平均或移動加權(quán)平均,是一種常見的動態(tài)成本算法。用每次采購入庫成本和在庫成本加權(quán)平均,更新為新成本。加權(quán)平均成本計算公式:

(入庫產(chǎn)品的成本+在庫產(chǎn)品的成本)/(入庫產(chǎn)品數(shù)量+在庫產(chǎn)品數(shù)量)

在此算法框架下,有一些特例。比如:當(dāng)庫存=0時,產(chǎn)品成本價是否也應(yīng)該=0 ?

情況1

如果產(chǎn)品成本價=0,出現(xiàn)了無采購價格的入庫時(比如退貨入庫),會造成入庫成本計算=0的問題。

不管是基于算法還是基于常識,我們都很容易發(fā)現(xiàn)這個結(jié)論并不妥當(dāng)。但是加權(quán)平均和先進先出不同,并不依賴完整的歷史出入庫流水去獲取退貨產(chǎn)品的成本價。

所以在這種情況下(庫存=0,產(chǎn)品單價不能等于0,而是應(yīng)該保持加權(quán)計算為0之前的非零數(shù)值),這樣即可合理解決非采購入庫的入庫成本計算問題。

情況2

按照1的推理分析,庫存=0時,成本價不應(yīng)等于0。這時出現(xiàn)另一個特例,采購入庫供應(yīng)商贈送的產(chǎn)品(采購單價=0),這時成本應(yīng)該等于多少?這種情況就是“雙O”問題——加權(quán)平均產(chǎn)品,在庫存為0時,入庫0成本的產(chǎn)品。

注意,這種情況下沒有完美解。兩種算法:

  1. 產(chǎn)品成本加權(quán)平均計算=0,本次入庫產(chǎn)生的加權(quán)平均成本正確。但如果這時出現(xiàn)退貨入庫(無成本價來源的入庫),則會造成退貨入庫產(chǎn)品成本也=0(錯誤)。
  2. 產(chǎn)品成本保持最后的非0值,和本次入庫的加權(quán)平均計算沖突(錯誤)。

能不能找出一個徹底的方法解決呢?當(dāng)然可以,只要在加權(quán)平均算法基礎(chǔ)上增加對歷史出入庫流水的數(shù)據(jù)調(diào)用,永遠避免出現(xiàn)無成本來源的入庫,即可解決這個問題。但是這樣一來,加權(quán)平均算法的邏輯便捷就會消失。

根據(jù)各種情況出現(xiàn)的概率,把錯誤出現(xiàn)概率最低的情況排除掉,然后選定方案。

雖然不完美,但是經(jīng)過這種分析和比較,咱們距離完美又接近了一步。

一如微積分中引入的極限概念(如果我們想把全體實數(shù)視為一條連續(xù)的線,這些數(shù)字都必須是實數(shù)。盡管它們可能只是現(xiàn)實的近似值,但卻行之有效),引入一個假定條件,明確問題的邊界,把出錯概率降至最低,也是業(yè)務(wù)邏輯中常用的分析方法。

最后的結(jié)論,加權(quán)平均計算為0的情況,分析:在庫成本=0(庫存=0)且入庫成本=0(采購單價/成本=0),雙0邏輯。

處理方法,目前分為兩類:

  1. 采購入庫、直接入庫時,直接更新產(chǎn)品表成本字段=0
  2. 其他類型:裝配入庫、sku轉(zhuǎn)化入庫、訂單退貨入庫等,不更新產(chǎn)品表成本字段(保持原值)

 

本文由 @糨醬紫 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!