华人澳洲中文论坛

热图推荐

    电商场景下,多种优惠叠加时的商品平摊和退款规定

    [复制链接]

    2023-3-10 21:26:03 30 0

    每到大促时,各种优惠叠加算到咱们头疼。那末关于产品经理而言,电商场景下存在一个定单中使用了多种优惠的场景,会波及到退款和优惠平摊的规定,这时候候该怎么设计才适合?作者结合详细案例,谈谈其中的逻辑。

    在电商下单时,存在一个定单中使用了多种优惠的场景,当多种优惠叠加时,波及到商品的优惠平摊计算规定以及退款场景下的退款金额计算逻辑,本文器具体案例与大家分享多种优惠叠加时的具体计算逻辑。
    一、条件
    价钱为1分钱的商品不参预抵扣零碎保存2位小数,向上取整“部份退款” 时优惠券不退;“整个退款” 时优惠券可退A:全额退款:
    定单销售价8.99 = 商品A销售价5.01 + 商品B销售价3.42 + 商品C销售价2.13 – 优惠券抵扣金额1.57
    此时,用户发动全额退款,则:用户实际获取:商品原价(5.01+3.42+2.13)* 100% = 10.56元( 实付8.99元+优惠券1.57元)
    B、部份退款(抵扣金额平摊法):
    备注:在优惠平摊时,需求根据商品价钱进行正序摆列,使得商品价钱高的排到最初,防止产生最初一个商品的价钱缺乏抵扣的状况
    此时,将优惠券抵扣金额平摊到各商品上,各商品的实付价钱为:
    商品A实付价钱= 5.01 – (1.57 * (5.01/(5.01+3.42+2.13)))= 5.01 – (1.57 * 0.47) = 5.01 – 0.73= 4.28商品B实付价钱= 3.42 – (1.57 * (3.42/(5.01+3.42+2.13)))= 3.42 – (1.57 * 0.32) = 3.42 – 0.50= 2.92商品C实付价钱= 2.13 – (1.57 * (2.13/(5.01+3.42+2.13)))= 2.13 – (1.57 * 0.20) = 2.13 – 0.31 = 1.82(特别留意:这是过错计算办法)商品C实付价钱= 2.13 – (1.57 – 0.73 – 0.50)= 2.13 – 0.34 = 1.79(特别留意:因为精度问题,最初一个商品要用该商品的价钱减去各商品优惠的价钱)商品实付金额计算公式:
    ①非最初一个商品的销售价 = 该商品销售价 – (优惠券抵扣金额 * (该商品销售价/各商品销售总价的比例))
    ②最初一个商品销售价 = 该商品销售价 – (优惠券总金额 – 第一个商品的优惠券承当金额 – 第二个商品的优惠券承当金额)
    当对商品进行退款时,会波及到退款比例,以退款比例80%为例。
    (准则:为避免被薅羊毛,商品实付金额和优惠金额同时乘以退款比例):
    ①用户实付:商品实付金额乘以退款比例
    退商品A时,退款金额 = A商品实付金额*80% = 4.28*80% = 3.42 (故A商品退3.42元)
    退商品B时,退款金额 = B商品实付金额*80% = 2.92*80% = 2.33 (故B商品退2.33元)
    退商品C时,退款金额 = C商品实付金额*80% = 1.79*80% = 1.43(故C商品退1.43元)
    ②优惠模块:部份退款时,优惠券不退
    2. 红包 + 优惠券 + 用户金额合并领取:
    A:全额退款:
    将红包、优惠券、用户余额原路退回
    定单销售价8.00 = 商品A销售价5.01 + 商品B销售价3.42 + 商品C销售价2.13 – 优惠券抵扣金额1.57 – 红包抵扣金额0.99
    此时,用户发动全额退款,则:用户实际获取:商品原价10.56 * 100% = 10.56元( 实付8元+优惠券1.57元+红包抵扣金额0.99元)
    B、部份退款:
    平摊程序:优惠券 > 红包 > 用户领取金额
    优先判别是不是知足优惠券使用门坎
    商品A实付价钱= 5.01 – (1.57 * (5.01/(5.01+3.42+2.13)))= 5.01 – (1.57 * 0.47) = 5.01 – 0.73 = 4.28
    商品B实付价钱= 3.42 – (1.57 * (3.42/(5.01+3.42+2.13)))= 3.42 – (1.57 * 0.32) = 3.42 – 0.50 = 2.92
    商品C实付价钱= 2.13 – (1.57 * (2.13/(5.01+3.42+2.13)))= 2.13 – (1.57 * 0.20) = 2.13 – 0.31 = 1.82(过错算法)
    商品C实付价钱= 2.13 – (1.57 – 0.73 – 0.50) = 2.13 – 0.34 = 1.79(正确算法)
    使用优惠券的商品实付金额计算公式:
    最初,再将红包抵扣金额平摊到各商品上,各商品的实付价钱为:
    商品A实付价钱= 4.28 – (0.99 * (5.01/(5.01+3.42+2.13)))= 4.28 – (0.99 * 0.47) = 4.28 – 0.46 = 3.82
    商品B实付价钱= 2.92 – (0.99 * (3.42/(5.01+3.42+2.13)))= 2.92 – (0.99 * 0.32) = 2.92 – 0.31 = 2.61
    商品C实付价钱= 1.79 – (0.99 – 0.46 – 0.31) = 1.79 – 0.22 = 1.57
    使用红包的商品实付金额计算公式:
    ①非最初一个商品的销售价 = 该商品用完优惠券的销售价 – (红包抵扣金额 * (该商品销售价/各商品销售总价的比例))
    ②最初一个商品销售价 = 该商品用完优惠券的销售价 – (红包总金额 – 第一个商品的红包承当金额 – 第二个商品的红包承当金额)


    a、当对商品进行退款时,需求判别退款比例,以退款比例50%为例:
    暂不斟酌部份退款后,付款金额不知足优惠券使用门坎的场景
    ①用户实付:商品实付金额乘以退款比例
    退商品A时,退款金额 = A商品实付金额*50% = 3.82*50% = 1.91(故A商品退1.91元)
    退商品B时,退款金额 = B商品实付金额*50% = 2.61*50% = 1.30(故B商品退1.30元)
    退商品C时,退款金额 = C商品实付金额*50% = 1.57*50% = 0.78(故C商品退0.78元)
    ②红包模块:优惠金额乘以退款比例
    退商品A时,红包金额 = A商品红包抵扣金额*50% = 0.46*50% = 0.23(故A商品退0.23元红包)
    退商品B时,红包金额 = B商品红包抵扣金额*50% = 0.31*50% = 0.15(故B商品退0.15元红包)
    退商品C时,红包金额 = C商品红包抵扣金额*50% = 0.22*50% = 0.十一(故C商品退0.十一元红包)
    ③优惠券模块:部份退款时,优惠券不退


    A商品实退金额:可退红包0.23 + 可退金额1.91 = 2.14
    B商品实退金额:可退红包0.15 + 可退金额1.30 = 1.45
    C商品实退金额:可退红包0.十一 + 可退金额0.78 = 0.89
    b、用户再次请求部份退款(再退50%,发生整个退款的成果):
    当判别退款比例达到100%时(也就是最初一次退款),用各领取形式的实付金额减去上一次的退款金额(避免精度丧失问题酿成的金额过错)


    故:
    A商品再退金额:红包0.23 + 退金额1.91 = 2.14
    B商品再退金额:红包0.16 + 退金额1.31 = 1.47
    C商品再退金额:红包0.十一 + 退金额0.79 = 0.90
    以及退出一张:0.73 + 0.5 + 0.34 = 1.57的一张优惠券
    三、总结
    1、价钱为1分钱的商品不参预抵扣
    2、在优惠平摊时,需求根据商品价钱进行正序摆列,将商品价钱高的排到最初,防止产生最初一个商品的价钱缺乏抵扣的状况
    3、最初一个商品的实付价 = 该商品销售价 – (优惠券总金额 – 第一个商品的优惠券承当金额 – 第二个商品的优惠券承当金额)
    4、在退款时,商品实付金额和优惠金额同时乘以退款比例(不成先退实付金额前进券,不然在部份退款场景下会被用户薅羊毛)
    本文由 @我是PM 原创公布于人人都是产品经理 ,未经许可,阻止转载。
    题图来自 Unsplash,基于 CC0 协定。
    该文观念仅代表作者自己,人人都是产品经理平台仅提供信息存储空间办事。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    中级会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题36

    帖子54

    积分236

    图文推荐