本帖最后由 热传网 于 2024-9-16 09:54 编辑
优惠分摊的尾差不只是在优惠券,包括促销活动 在多种商品需要分摊到每种商品,或者只有一种商品需要分摊到每个商品时,都会遇到同样的问题。
A商品9.6元/个,数量3个
B商品6.8元/个,数量6个
C商品8.7元/个,数量7个
ABC共用优惠券面值20元
如何平摊20元到每个商品,计算成交价?
一、分摊方式
有两种分摊方式:
1. 按最终成交价分摊按照订单成交的商品 最终成交价,按比例分摊,再四舍五入(一般为小数点后两位)
订单总金额 = 9.6 * 3+6.8 * 6+8.7 * 7 = 130.5
A的分摊金额 = ( 9.6 * 3 / 130.5 ) * 20 ≈ 4.41
B的分摊金额 = ( 6.8 * 6 / 130.5 ) * 20 ≈ 6.25
C的分摊金额 = ( 8.7 * 7 / 130.5 ) * 20 ≈ 9.33
分摊金额的总和:4.41 + 6.25 + 9.33 = 19.99
这个案例19.99 是小于 总优惠金额 20,还会遇到 大于20的情况。
所以计算出来的余数(尾差)20 – 19.99 = 0.01
2. 按毛利额分摊按照订单成交商品 毛利额,按比例分摊,再四舍五入
计算方法和按成交价相同,只是把计算比例的分子、分母 替换为毛利额。
方法2的使用有一定的局限性:如果先进先出的批次管理,没有成交前很多信息系统无法计算商品的成本。
同时方法2的计算量要大于方法1,余数(尾差)的值一般都不大,所以一般采用方法1。
二、余数的处理
余数(尾差)有两种处理方法:
1. 统计到最后一个商品将剩余的余数(尾差)0.01统计到 最后一个商品(按照商品编码 或者 购买数量 排序)
假如C是最后一个商品
C的分摊金额 = 9.33 + 0.01 =9.34
如果确定要让C承担余数(尾差),可以用另一个更高效的算法:
C的分摊金额 = 20 – A的分摊金额 – B的分摊金额 = 20 – 4.41 – 6.25 = 9.34
如何计算每个商品的成交单价?
A的分摊金额 = 4.41
B的分摊金额 = 6.25
C的分摊金额 = 9.34
商品A的成交单价 = 9.6 – 4.41/3 = 8.13
商品B的成交单价 = 6.8 – 6.25/6 ,这时又遇到一个问题 6.25/6 也有余数
商品C的成交单价 = 8.7 – 9.34/7 ,同样 9.34/7 也有余数
单价的余数怎么解决,也是同理将余数(尾差)到最后一个B和C
商品B 前5个商品的成交价 = 6.8 – 6.25/6 = 6.8 – 1.04 = 5.76
商品B 第6个商品的成交价 = 6.8 -(6.25 – 1.04 * 5)= 5.75
商品C同理
2. 统计到毛利最高的商品将剩余的余数(尾差)0.01统计到 毛利最高的商品
假如毛利最高的是B
B的分摊金额 = 6.25 + 0.01 = 6.26
同样有更高效的算法:
B的分摊金额 = 20 – A的分摊金额 – C的分摊金额 = 20 – 4.41 – 9.33 = 6.26
计算每个商品的成交单价和方法1相同。
以上是余数(尾差)为正的计算逻辑,余数(尾差)为负时则相反统计到毛利最低的商品。
活动、券的叠加会让计算逻辑更复杂,底层的逻辑是相同的,只要识别参与优惠的范围,按照此方法计算即可。
不管那种方法都不是绝对公平的,要因地制宜 考虑不同的行业 和 不同的财务要求。 以及对商品毛利率的影响,会影响到商品运营部门 对商品的考核。如果运营部门对费用的统计有要求,还涉及到费用统计的问题,是另一体系单独和大家探讨。
本文来源@杰记,未经许可,禁止转载
|