加权平均或移动加权平均,是一种常见的动态成本算法。用每次采购入库成本和在库成本加权平均,更新为新成本。加权平均成本计算公式:
(入库产品的成本+在库产品的成本)/(入库产品数量+在库产品数量)
在此算法框架下,有一些特例。比如:当库存=0时,产品成本价是否也应该=0 ?
情况1
如果产品成本价=0,出现了无采购价格的入库时(比如退货入库),会造成入库成本计算=0的问题。
不管是基于算法还是基于常识,我们都很容易发现这个结论并不妥当。但是加权平均和先进先出不同,并不依赖完整的历史出入库流水去获取退货产品的成本价。
所以在这种情况下(库存=0,产品单价不能等于0,而是应该保持加权计算为0之前的非零数值),这样即可合理解决非采购入库的入库成本计算问题。
情况2
按照1的推理分析,库存=0时,成本价不应等于0。这时出现另一个特例,采购入库供应商赠送的产品(采购单价=0),这时成本应该等于多少?这种情况就是“双O”问题——加权平均产品,在库存为0时,入库0成本的产品。
注意,这种情况下没有完美解。两种算法:
能不能找出一个彻底的方法解决呢?当然可以,只要在加权平均算法基础上增加对历史出入库流水的数据调用,永远避免出现无成本来源的入库,即可解决这个问题。但是这样一来,加权平均算法的逻辑便捷就会消失。
根据各种情况出现的概率,把错误出现概率最低的情况排除掉,然后选定方案。
虽然不完美,但是经过这种分析和比较,咱们距离完美又接近了一步。
一如微积分中引入的极限概念(如果我们想把全体实数视为一条连续的线,这些数字都必须是实数。尽管它们可能只是现实的近似值,但却行之有效),引入一个假定条件,明确问题的边界,把出错概率降至最低,也是业务逻辑中常用的分析方法。
最后的结论,加权平均计算为0的情况,分析:在库成本=0(库存=0)且入库成本=0(采购单价/成本=0),双0逻辑。
处理方法,目前分为两类:
给作者点赞,鼓励TA抓紧创作!
来源:http://www.woshipm.com/pd/5366728.html
本站部分图文来源于网络,如有侵权请联系删除。