電商場景下,多種優(yōu)惠疊加時的商品平攤和退款規(guī)則
每到大促時,各種優(yōu)惠疊加算到我們頭疼。那么對于產(chǎn)品經(jīng)理而言,電商場景下存在一個訂單中使用了多種優(yōu)惠的場景,會涉及到退款和優(yōu)惠平攤的規(guī)則,這時候該怎么設(shè)計才合適?作者結(jié)合具體案例,談?wù)勂渲械倪壿嫛?/p>
在電商下單時,存在一個訂單中使用了多種優(yōu)惠的場景,當(dāng)多種優(yōu)惠疊加時,涉及到商品的優(yōu)惠平攤計算規(guī)則以及退款場景下的退款金額計算邏輯,本文用具體案例與大家分享多種優(yōu)惠疊加時的詳細(xì)計算邏輯。
一、前提
- 價格為1分錢的商品不參與抵扣
- 系統(tǒng)保留2位小數(shù),向上取整
- “部分退款” 時優(yōu)惠券不退;“全部退款” 時優(yōu)惠券可退
二、退款分?jǐn)傄?guī)則
1. 優(yōu)惠券 + 用戶金額合并支付
A:全額退款:
訂單銷售價8.99 = 商品A銷售價5.01 + 商品B銷售價3.42 + 商品C銷售價2.13 – 優(yōu)惠券抵扣金額1.57
此時,用戶發(fā)起全額退款,則:用戶實際獲得:商品原價(5.01+3.42+2.13)* 100% = 10.56元( 實付8.99元+優(yōu)惠券1.57元)
B、部分退款(抵扣金額平攤法):
訂單銷售價8.99 = 商品A銷售價5.01 + 商品B銷售價3.42 + 商品C銷售價2.13 – 優(yōu)惠券抵扣金額1.57
備注:在優(yōu)惠平攤時,需要按照商品價格進行正序排列,使得商品價格高的排到最后,避免發(fā)生最后一個商品的價格不足抵扣的情況
此時,將優(yōu)惠券抵扣金額平攤到各商品上,各商品的實付價格為:
- 商品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(特別注意:由于精度問題,最后一個商品要用該商品的價格減去各商品優(yōu)惠的價格)
商品實付金額計算公式:
①非最后一個商品的銷售價 = 該商品銷售價 – (優(yōu)惠券抵扣金額 * (該商品銷售價/各商品銷售總價的比例))
②最后一個商品銷售價 = 該商品銷售價 – (優(yōu)惠券總金額 – 第一個商品的優(yōu)惠券承擔(dān)金額 – 第二個商品的優(yōu)惠券承擔(dān)金額)
當(dāng)對商品進行退款時,會涉及到退款比例,以退款比例80%為例。
(原則:為防止被薅羊毛,商品實付金額和優(yōu)惠金額同時乘以退款比例):
①用戶實付:商品實付金額乘以退款比例
退商品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元)
②優(yōu)惠模塊:部分退款時,優(yōu)惠券不退
2. 紅包 + 優(yōu)惠券 + 用戶金額合并支付:
A:全額退款:
將紅包、優(yōu)惠券、用戶余額原路退回
訂單銷售價8.00 = 商品A銷售價5.01 + 商品B銷售價3.42 + 商品C銷售價2.13 – 優(yōu)惠券抵扣金額1.57 – 紅包抵扣金額0.99
此時,用戶發(fā)起全額退款,則:用戶實際獲得:商品原價10.56 * 100% = 10.56元( 實付8元+優(yōu)惠券1.57元+紅包抵扣金額0.99元)
B、部分退款:
平攤順序:優(yōu)惠券 > 紅包 > 用戶支付金額
優(yōu)先判斷是否滿足優(yōu)惠券使用門檻
訂單銷售價8.00 = 商品A銷售價5.01 + 商品B銷售價3.42 + 商品C銷售價2.13 – 優(yōu)惠券抵扣金額1.57 – 紅包抵扣金額0.99
此時,將優(yōu)惠券抵扣金額平攤到各商品上,各商品的實付價格為:
商品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(正確算法)
使用優(yōu)惠券的商品實付金額計算公式:
①非最后一個商品的銷售價 = 該商品銷售價 – (優(yōu)惠券抵扣金額 * (該商品銷售價/各商品銷售總價的比例))
②最后一個商品銷售價 = 該商品銷售價 – (優(yōu)惠券總金額 – 第一個商品的優(yōu)惠券承擔(dān)金額 – 第二個商品的優(yōu)惠券承擔(dān)金額)
最后,再將紅包抵扣金額平攤到各商品上,各商品的實付價格為:
商品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
使用紅包的商品實付金額計算公式:
①非最后一個商品的銷售價 = 該商品用完優(yōu)惠券的銷售價 – (紅包抵扣金額 * (該商品銷售價/各商品銷售總價的比例))
②最后一個商品銷售價 = 該商品用完優(yōu)惠券的銷售價 – (紅包總金額 – 第一個商品的紅包承擔(dān)金額 – 第二個商品的紅包承擔(dān)金額)
a、當(dāng)對商品進行退款時,需要判斷退款比例,以退款比例50%為例:
暫不考慮部分退款后,付款金額不滿足優(yōu)惠券使用門檻的場景
①用戶實付:商品實付金額乘以退款比例
退商品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元)
②紅包模塊:優(yōu)惠金額乘以退款比例
退商品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.11(故C商品退0.11元紅包)
③優(yōu)惠券模塊:部分退款時,優(yōu)惠券不退
A商品實退金額:可退紅包0.23 + 可退金額1.91 = 2.14
B商品實退金額:可退紅包0.15 + 可退金額1.30 = 1.45
C商品實退金額:可退紅包0.11 + 可退金額0.78 = 0.89
b、用戶再次申請部分退款(再退50%,產(chǎn)生全部退款的效果):
當(dāng)判斷退款比例達到100%時(也就是最后一次退款),用各支付方式的實付金額減去上一次的退款金額(防止精度丟失問題造成的金額錯誤)
故:
A商品再退金額:紅包0.23 + 退金額1.91 = 2.14
B商品再退金額:紅包0.16 + 退金額1.31 = 1.47
C商品再退金額:紅包0.11 + 退金額0.79 = 0.90
以及退出一張:0.73 + 0.5 + 0.34 = 1.57的一張優(yōu)惠券
三、總結(jié)
1、價格為1分錢的商品不參與抵扣
2、在優(yōu)惠平攤時,需要按照商品價格進行正序排列,將商品價格高的排到最后,避免發(fā)生最后一個商品的價格不足抵扣的情況
3、最后一個商品的實付價 = 該商品銷售價 – (優(yōu)惠券總金額 – 第一個商品的優(yōu)惠券承擔(dān)金額 – 第二個商品的優(yōu)惠券承擔(dān)金額)
4、在退款時,商品實付金額和優(yōu)惠金額同時乘以退款比例(不可先退實付金額后退券,否則在部分退款場景下會被用戶薅羊毛)
本文由 @我是PM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理 ,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
你好。如果商品支付總額等于優(yōu)惠額度 那么部分退款怎么處理。
如果一個訂單有多件商品,其中一個商品買2件,那這個商品是按單件計算優(yōu)惠均攤,還是按單個商品計算優(yōu)惠均攤呢
你好,文章寫得很棒,但是文中的這段話我不是很明白,可以指導(dǎo)解釋一下嗎?
[備注:在優(yōu)惠平攤時,需要按照商品價格進行正序排列,使得商品價格高的排到最后,避免發(fā)生最后一個商品的價格不足抵扣的情況]
如果不做排序,可能最后一個商品的價格是0.02,但是最終需要他平攤的優(yōu)惠金額是0.04,就會導(dǎo)致最后一個商品不夠減了(本質(zhì)原因是為了防止優(yōu)惠的精度丟失,最后一個商品的優(yōu)惠金額是用總優(yōu)惠減去其他商品的優(yōu)惠得出來的,但是這個優(yōu)惠并沒有跟商品的金額做關(guān)聯(lián)綁定,如果恰巧朋友最后一個商品的價格過低,就會發(fā)生優(yōu)惠金額反而大于最后一個商品金額的問題)
如果不做排序,可能最后一個商品的價格是0.02,但是最終需要他平攤的優(yōu)惠金額是0.04,就會導(dǎo)致最后一個商品不夠減了(本質(zhì)原因是為了防止優(yōu)惠的精度丟失,最后一個商品的優(yōu)惠金額是用總優(yōu)惠減去其他商品的優(yōu)惠得出來的,但是這個優(yōu)惠并沒有跟商品的金額做關(guān)聯(lián)綁定,如果恰巧碰到最后一個商品的價格過低,就會發(fā)生優(yōu)惠金額反而大于最后一個商品金額的問題)
如果訂單中有多個不同的商品,每個sku買2件,這個最后一個商品是按單件算還是按單個商品
退款比例怎么理解?比如買了A B C三種商品時,如果全退了A,對A是100%,B C都是0%,只需要將A分到的都退就可以,A部分退款時也要考慮退比例
是這意思
很全,先收藏以備不時之需