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