如何分摊券或者活动的优惠金额到单品,计算成交价

  • 产品经理
  • Rss
产品经理·
3 天前
阅读数99770

在促销活动中,经常需要计算商品的成交价、利润等问题。这篇文章,作者从案例出发,为大家分享了如何计算成交价的办法,供大家参考。

优惠分摊的尾差不只是在优惠券,包括促销活动 在多种商品需要分摊到每种商品,或者只有一种商品需要分摊到每个商品时,都会遇到同样的问题。

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相同。

以上是余数(尾差)为正的计算逻辑,余数(尾差)为负时则相反统计到毛利最低的商品。

活动、券的叠加会让计算逻辑更复杂,底层的逻辑是相同的,只要识别参与优惠的范围,按照此方法计算即可。

不管那种方法都不是绝对公平的,要因地制宜 考虑不同的行业 和 不同的财务要求。 以及对商品毛利率的影响,会影响到商品运营部门 对商品的考核。如果运营部门对费用的统计有要求,还涉及到费用统计的问题,是另一体系单独和大家探讨。

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

题图来自 Unsplash,基于 CC0 协议

收藏
分享
别默默的看了,快来和大家聊聊吧,登录后发表评论~ 登录 立即注册
打赏
产品经理
打赏金额(金额:¥0)
给Ta留言
赏金已入袋,多谢!(*^__^*)
赛氪APP全新升级

下载赛氪APP

参加有趣活动,获得赛程提醒

分享大学生活,获得前辈指点

意见反馈

产品建议、功能吐槽、使用问题…

欢迎提出关于赛氪网的问题和建议 :)

微信公众号
关注赛氪订阅号
微信服务号
关注赛氪服务号
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题