詳解訂單多商品多運費模板的運費計算規則
編輯導語:如今電商行業的發展迅速,物流跟電商的關系也密不可分;在電商系統中,如果一次購買多件商品應該如何計算運費?本文作者詳細分析了訂單多商品多運費模板的運費計算規則,我們一起來看一下。
對于電商系統來說,配送方式和運費配置無疑是訂單閉環中重要的模塊之一。
現主流的電商平臺大部分商品都是采用全國(港澳臺除外)包郵,你沒聽錯,偏遠地區有些商家也采用包郵模式(里面我就看破,不說破,哈哈~)。
當然,電商系統后臺肯定會支持商家自行配置運費模板,當商戶在上傳商品的時候,需要選擇或新建運費模板;然后用戶將商品加入購物車進行結算時,系統自動計算出運費多少。
這時候就會引發一個問題:當用戶結算多件商品,其捆綁了不同的運費模板,比如有按件計費、按重量計費,甚至同種類型模板也有不同配置參數;此時這么運費該如何做合理的計算,肯定不能簡單運費添加的,那如何做到一個商家和用戶比較均衡,盡量讓雙方都不吃虧呢?
因此,我特意研究了淘寶的運費配置,總結其運費計算方式;本文主要針對按件計費、按重量計費方式,對運費計算進行詳細說明,按體積計費大家可按照本文說明,同理可得,自行研究。
一般在電商后臺設置運費模板時,會涉及到以下幾個參數:配送區域、計價規則、首費標準、首費(元)、增費標準、增費(元)、免郵條件等等。
開始我咨詢淘寶客戶:“一個訂單里包含多個商品多個運費模板,運費是怎么計算?”
客服反饋如下:
如一個訂單里包含多個商品多個運費模板時,運費計算邏輯是:根據首費最高、增費最低的原則選擇首費模板,其余的商品只計算增費。
舉一個例子:
第一步:商品按照運費模板分組,三個商品分數不同的的運費模板,所以共三個計算分組。
第二步:計算首費,從三個分組里根據首費最高增費最低原則,選擇A的運費模板作為首費,所以首費為5元。
第三步:計算增費,遍歷這三個分組計算增費;A的增費——因為A滿足首費,需要扣除首費資源后在計算增費,其增費為(ceil(double(3-2)/2))x1 = 1;B的增費為1×2=2元;C滿足包郵條件,也需要扣除資源,其增費為(6-5)x2=2元。
總運費=首費+增費:5+1+2+2 = 10元
好了,官方例子大家可能朦朦朧朧的看明白,也有可能云里霧里的,其中還是涉及到好多細節沒有講到,接下來我們一起來深扒深扒。
運費計算步驟:
步驟一:按照運費模板不同進行分組:其中相同商品同一個模板也應歸為一組,后面計算增費均以分組維度來計算的。
步驟二:計算首費:根據首費最高,增費最低的原則,選擇首費模板:
- 首先排除運費為0,包郵的分組,其不參與被選擇;
- 若存在兩組首費和增費一樣的分組,按默認順序選擇其中一組作為首費模板;
- 排除包郵的分組后,只剩下一組分組時,直接按默認運費計算規則計算,無需選擇首費模板,也沒有步驟三的操作。
步驟三:計算增費:遍歷不同分組,計算各自增費。
- 首費所在分組計算增費,需要考慮收費標準;
- 增費數量(超出部分需要繳納的郵費的件數或者重量)公式如下,且增費數量計算結果要向上取整。
每一分組子訂單運費公式:子訂單運費 = 增費數量 * 增費(元)
計算運費的前,應考慮以下重要兩點:
- 分組所在的運費模板是否是首費模板;
- 分組內是否滿足免郵條件;
按件計費和按重量計費各有差異,請繼續往下看。
按件計費:
- 有滿n件免郵條件,購買件數大于等于n,免郵,運費為 0;
- 有滿n件免郵條件,購買件數小于n,不免郵;
若分組所在運費模板是首費模板,增費數量公式如下:
公式1
注意:不免郵情況下,此時包郵數量取值為 0。
若不是首費模板的時候,購買件數無需和首費標準件數相比較,增費數量公式如下:
公式2
注意:此時首重標準、包郵數量均取值為 0。
無免郵條件,計算增費數量時,增費數量如下情況:
- 若分組所在運費模板是首費模板,增費數量公式如(公式1);
- 若不是首費模板的時候,購買件數無需和首費標準件數相比較,增費數量公式如(公式2);
按重量計費:
- 有在 n (KG)內免郵條件,購買商品重量小于等于n,免郵;
- 有在 n (KG)內免郵條件,購買商品重量大于等于n,n 部分免郵;大于n部分按增費計算;
若分組所在運費模板是首費模板,增費數量公式如下:
公式3
注意:符合免郵條件情況下,此時首費標準取值為 0。
不是首費模板的時候,增費數量公式如(公式3)
無免郵條件,購買商品重量 m。
若分組所在運費模板是首費模板,增費數量公式如下:
公式4
注意:無免郵條件情況下,此時包郵重量取值為 0。
不是首費模板的時候,增費數量公式如下:
公式5
注意:無免郵條件情況下,此時首費標準、包郵重量取值為 0。
步驟四:總運費 = 首費 + 分組子訂單增費合計
舉個例子
例子1:多個商品,存在相同運費模板(按件),且滿足免郵條件:
按照步驟一規則運費模板分組:A、B同一組,C一組。
計算首費:
- 按照首費最高,增費最低的原則,有包郵分組要先剔除掉;
- 顯然A、B同一模板,合為一組,總計 5 件,滿足免郵條件,因此A、B運費為 0,剔除選首費模板資格;
- 目前只留守C組這一個分組,按照規則該訂單無需選擇首費模板,按照默認規則計算運費即可;
計算運費:
C 購買重量 7 KG,滿足免郵條件,因此 5 KG 無需手續費用,增費為:
總運費 = 4 元
例子2:多個商品,存在相同運費模板(按重量),且不滿足免郵條件
- 按照步驟一規則運費模板分組:A、B一組,C一組;
- 計算首費:按照步驟二規則選擇A、B分組運費模板a作為首費,首費為5元;
計算增費:
A、B同一模板,合為一組,總計 4 件,不滿足免郵條件,且為首費模板,因此利用公式1計算A、B分組增費:
C分組購買的商品重量為3千克,符合包郵條件, 增費為0。
總運費 = 5 + 1 +0 = 6 元
例子3:多個商品,不同運費模板:
- 按照步驟一規則運費模板分組:A一組、B一組,C一組;
- 計算首費:按照步驟二規則選擇A分組運費模板a作為首費,首費為5元;
計算增費:
A分組商品購買3件,不滿足免郵條件,且為首費模板,因此利用公式1計算其增費:
B分組商品購買1件,無免郵條件,利用公式2計算其增費:
C分組商品重量為6千克,滿足包郵有條件,5千克無需付郵費,超出的1千克,利用公式3:
總運費 = 5 + 1 + 2 + 2 = 10 元。
運費模板組合的方式遠遠不止上面3種,其他的組合大家可以按照上述運費計算步驟自己去研究技術,不過這可能也增加了技術伙伴的開發難度;但是合理、貼切真實的運費計算規則,在用戶購買多件商品時,不會造成運費過高導致用戶的流失,
若發現有地方寫的不對,歡迎留言,互相探討,
最后還有點內容沒有寫到,比如運費的逆向流程,就是用戶發起售后的時候,運費怎么退的問題;后臺運費配置的原型設計說明;這些后續都會補充,敬請期待。
作者:道三,電商PM;公眾號: 產品大秘籍
本文由 @道三 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
有疑問的,需互相溝通,可關注公叢號【 產品大秘籍】
cell這個向上取整的函數是開發中的嗎,excel中好像不是這個意思呢
這里面有個問題,這三個商品應該都是同一個商家的吧
我感覺是這樣的,分別商家分別計算
您好,請教個問題。 A商品 ,按運費模板a計算 , B商品也按運費模板a計算,運費模板按照商品重量計算運費。運費首公斤7元,每增加一公斤多收1元?,F在A商品有一張滿6元運費減2元的運費優惠券券。 假設A+B商品總重量2公斤,運費經過重量計算是8塊錢,請問怎么判斷A商品是否有資格使用這個滿6元減2元的運費優惠券?
券就不應該在這里參與進來
漲知識了,感謝
為什么運費規則分商品和商家呢
寫的很棒!
謝謝啦,歡迎關注
學習了??
謝謝