加权平均成本计算中,“双O”问题的解决方案

龮,龮

编辑导语:瓏,瓏加权平均是一种常见的动态成本算法,在它的算法框架下,当库存=0时,可能会造成“双O”问题,这种情况下要怎么办粬,粬呢?本文作者就这个问题进行分析,提出了解决办法,鮠,鮠一起来看一下吧。

諒,諒

加权平均或移动加权平均,是一种常见的动态成本算法。用每次采购入库成本和在库成本加权平均,更新为新成本。加权平均成本计算公式:

(入库产品的成本+在库产品的成本龺,龺)/(入库产品数量+在库产品数量)

鐋,鐋在此算法框架下,有一些特例。比如:当库存=0时,产品成本价是否也应该=0 ?

情况1

如果产品成本价=0,出现了无采购价格的入库时(比如退鵔,鵔货入库),会造成入库成本计算=0的问题。

不管是基于算法还是基螺,螺于常识,我塐,塐们都很容易发现这个结论并不妥当。但是袴,袴加权平均和先进先出不同,并不依赖完整的历史出入库流水去获取退货产品的成本价。

所以在这种情况下(库存=0,产品单价不能等于0,而是应该保持加权计算为0之前的非零数值),这样即可合理解决非采购入库的入库成本计算问题。

情况2

按照1的推理乤,乤睎,睎分析,库存=0时,成本价不应等于0。这时出现另一个特例,采购入库供应商赠送的产品瞿,瞿(采购单价=0),这时成本应该等于多少?瀬,瀬这种情况就是“双O”问题撻,撻——加权平均产品,在库存为0时,入库0成本的产品。

注咄,咄意,这种情况下没有完美解。两种算法鸦,鸦:

    徏,徏

  1. 产悩,悩品成本加权平均计算榓,榓=0,本次入库产溭,溭生的加权平均成本正确。但如果这时出现退货入库(无成本价来源的入库),则会造成退货入矞,矞库产品成本也=0(错误)。
  2. 产品成本保淍,淍持最后的非0值,和本次入库的加权平均计算冲突(错误)。

能不能找出一个彻底的方法解决呢?当然可以,只要在加权平均算法基础上增加对历史出入库流水的数据调用,永远避免出现无成本来源的睾,睾入晍,晍库,即可解决这个问题。但是这样一来,加权平均算法的逻辑便捷就会消失。

根据各种情况出现的概率,把错误出现概率最蠦,蠦低的情况排除掉,然后选定方案。

虽然不完美,但是经过这种分析和比较,咱们距离完美又接近了一步。

一如微积分中引入的极限概念(如果我们想把全体实数视为一条连续葘,葘的线,这些数字都必须是实数。尽管它们可能只是现实的近似值,但却行之有效),引入一个假定条件,明确问题的边界茮,茮,把出错概率降至最低,也是业务逻辑中常用的分析方法。

最后的结论,加权平均计算为0的情况,分析:在库成本=0(燥,燥库存=0)且入库成本=0(采购单价/成本=0),双0逻辑。

处理方法,目前分为两类:

  1. 采购入库、直接入库时,直接更新产品表成本字段=0
  2. 其他类型:装配入库、sku转化入库、订单退货入库等,不更新产品表成本字段(保持原值)
  3. 崁,崁

 

本文由 @糨酱紫 原创发布于人人都是产品经理。未经许可,禁止转载

滈,滈

题图来自Unsplash趰,趰,基于CC0协议

Leave a comment

Your email address will not be published.