楽天倉庫、Amazon倉庫の簡易料金比較ツールを無料ツールとして公開しました
- 2019.12.29
- 2. 実行
- Amazon, Amazon倉庫, ECシステム, JavaScript, Laravel, スクリプト備忘録, ネットショップ, ロジティクスサービス, 楽天倉庫, 楽天市場, 経費比較
楽天倉庫、Amazon倉庫の簡易料金比較ツールを無料ツールとして公開しました
【楽天市場倉庫】や【Amazon倉庫】と呼ばれるロジスティクスサービスがあります。
全部の商品を倉庫に預ける事が出来れば、出荷は全てAmazonや楽天任せにできるので、時間の創出につながりますが、費用面の悩みがついて回ります。
『だったら、どんな状態になれば倉庫預けにできるのか、データ検証してみよう!』という事で作成したツールを公開します。
楽天倉庫とAmazon倉庫の料金体系
※Amazonは画像にリンクを張ってあります。
特徴をまとめるとこんな感じです。
- Amazon倉庫:条件分岐が細かい、請求はざっくり
- 楽天倉庫:条件分岐がざっくり、請求は細かい
計算してみるとよくわかる事
どんなシーンでも自社発送の方が安いとついつい思ってしまいますが、意外とそうではないのだと気付かされます。
倉庫預けの方が安くなる条件は次の通りです。
- 商品のカートン入数が多い時、かつ、月間でカートン入数×n に近い数が出荷されるとき
- 倉庫納入送料を安価に手配できるとき
- 商品サイズが60サイズ以下の時
商品1つあたりで計算すると楽天とAmazonではさほど大きな違いは出てきません。しかし、この2社で大きく考え方の違うポイントもあります。
まとめて複数ご購入いただける場合は楽天倉庫の方が安価となる可能性が高い。
楽天倉庫は【配送費】と【ピッキング作業費】を分けて算出するため、複数購入いただくと『送料×1 + ピッキング料×n 』(※購入個数n個の場合)となり、安価なピッキング料にnが乗算されます。Amazon倉庫は送料とピッキング料が合算された値に対しnを乗算するため、購入個数が複数になった場合、楽天倉庫の方がかなり割安となります。
預けた方が得になる場合があるのは、結局それだけ一般の店舗とロジスティクスサービスの間に送料の差があるという事です。
弊社の場合で言えば地区によっては500円以上の送料差があります。沖縄への配送の場合なんて言ったら3000円も差があります。
この500円差の巻き返しは安価な商品ではなかなかつらい所です。
ロジスティクスサービスを使うと検索で優遇される?
Amazonではすでに『FBAを利用していない商品の場合は検索結果に表示されにくくなる』という仕組みが動いています。
楽天市場ではこのような検索優位性の操作ついて公言していません。しかし今後、同様の組み込まれる可能性は大いにあると思われます。
となると、どちらの倉庫に入れた方が得かという損得勘定も出てきますよね。面倒くさいですけど…。
まとめ
配送会社の企業契約運賃はこれから益々値上げする方向に動きそうです。
そうなると、Volumeメリットで安価な送料を期待できる『楽天倉庫』や『Amazon倉庫』の活用が戦略のカギになる可能性が大いにあります。
実際計算してみて驚いたのは、月間出荷個数の多い商品の場合、倉庫に預けた方が安くなるという事です。
逆に、月間1個しか出ないような商品は倉庫預けにしてもあまりメリットがないと言えます。
ロングテールの裾野は自社出荷、山はロジ倉庫出荷などの使い分けがどうしても必要になってきそうです。
でもねぇ、検索優位性を盛り込まれると売れない商品と売れる商品の差が更に拡大するという事態になるので、マイナー商品の取り扱いは結構つらい状態になるかもしれませんね。
コード
今回書いたコードです。PHPとJavaScriptを分けて記載しておきます。
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
<form name="profit_calculation"> <div class="col-lg-12 col-lg-offset-0"> <div class="col-lg-6 col-lg-offset-0"> <div class="col-lg-12 col-lg-offset-0 smallfont">■商品情報</div> <br class="float_clear"> <hr class='hr02' style="margin-bottom: 10px;"> <div class="col-lg-12 col-lg-offset-0">商品詳細サイズ</div> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-2 col-lg-offset-0">横幅</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="wideth" onChange="calc_menu()" class="form-control td_number" placeholder="45"> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">cm</div> </div> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-2 col-lg-offset-0">奥行</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="depth" onChange="calc_menu()" class="form-control td_number" placeholder="35"> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">cm</div> </div> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-2 col-lg-offset-0">高さ</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="hight" onChange="calc_menu()" class="form-control td_number" placeholder="20"> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">cm</div> </div> <br class="float_clear"> <div class="col-lg-12 col-lg-offset-0 smallfont" style="margin-top:10px;margin-bottom: 20px;">※梱包サイズの記載のみでもOKです。その場合、三辺等サイズとして体積計算します。</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">梱包サイズ</div> <div class="col-lg-6 col-lg-offset-0"> <select id="shipsize" onChange="calc_menu()" class="form-control"> <option value="">選択ください</option> <option value="Mail">Mail</option> <option value="60">60</option> <option value="80">80</option> <option value="100">100</option> <option value="120">120</option> <option value="140">140</option> <option value="160">160</option> </select> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">サイズ</div> <div class="col-lg-4 col-lg-offset-0">商品原価</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="item_cost" onChange="calc_menu()" class="form-control td_number" placeholder="1個あたりの原価"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円</div> <div class="col-lg-4 col-lg-offset-0">月間出荷数</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="ship_value" value=20 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">個</div> <div class="col-lg-4 col-lg-offset-0">安定在庫数</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="stock_value" value=24 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">個</div> <div class="col-lg-4 col-lg-offset-0">カートン入数</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="carton_quantity" value=12 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">個</div> <br class="float_clear"> <div class="col-lg-12 col-lg-offset-0 smallfont" style="margin-top:30px;">■配送/倉庫維持関連費用</div> <br class="float_clear"> <hr class='hr02' style="margin-bottom: 10px;"> <div class="col-lg-4 col-lg-offset-0">通常配送費</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="shipcost_average" value=800 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円/個口</div> <div class="col-lg-4 col-lg-offset-0">梱包資材費</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="material_cost" value=110 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円/個口</div> <div class="col-lg-4 col-lg-offset-0">倉庫納入費</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="warehouse_delivery_cost" value=800 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円/個口</div> <div class="col-lg-4 col-lg-offset-0">作業人件費</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="delivery_labor_cost" value=200000 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円/月</div> <br class="float_clear"> <div class="col-lg-12 col-lg-offset-0 smallfont" style="margin-top:30px;">■その他、計算用情報</div> <br class="float_clear"> <hr class='hr02' style="margin-bottom: 10px;"> <div class="col-lg-4 col-lg-offset-0">希望利益率</div> <div class="col-lg-6 col-lg-offset-0"> <input type="number" name="desired_profit" value=30 onChange="calc_menu()" class="form-control td_number"> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">%</div> </div> <div class="col-lg-6 col-lg-offset-0"> <div class="col-lg-12 col-lg-offset-0 smallfont" style="margin-top:50px;font-size:x-large;">■算出結果</div> <br class="float_clear"> <hr class='hr02' style="margin-bottom: 10px;"> <div class="col-lg-5 col-lg-offset-0">自社出荷での月間費用</div> <div class="col-lg-5 col-lg-offset-0"> <input type="number" name="self_monthly_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-4 col-lg-offset-0">配送費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="self_ship_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">梱包業務経費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="self_stock_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">希望利益率販売金額</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="self_sales_price" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> </div> <div class="col-lg-5 col-lg-offset-0" style="margin-top:20px;">楽天ロジティクス月間費用</div> <div class="col-lg-5 col-lg-offset-0" style="margin-top:20px;"> <input type="number" name="rakuten_monthly_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:30px;">円</div> <br class="float_clear"> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-4 col-lg-offset-0">配送費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="rakuten_ship_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">ピッキング費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="rakuten_picking_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">保管費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="rakuten_stock_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">倉庫納品費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="rakuten_warehouse_delivery_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">希望利益率販売金額</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="rakuten_sales_price" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> </div> <div class="col-lg-5 col-lg-offset-0" style="margin-top:20px;">Amazonロジティクス月間費用</div> <div class="col-lg-5 col-lg-offset-0" style="margin-top:20px;"> <input type="number" name="amazon_monthly_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-2 col-lg-offset-0" style="margin-top:30px;">円</div> <br class="float_clear"> <div class="col-lg-10 col-lg-offset-2"> <div class="col-lg-4 col-lg-offset-0">配送費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="amazon_ship_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">保管費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="amazon_stock_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">倉庫納品費</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="amazon_warehouse_delivery_cost" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> <div class="col-lg-4 col-lg-offset-0">希望利益率販売金額</div> <div class="col-lg-4 col-lg-offset-0"> <input type="number" name="amazon_sales_price" class="form-control td_number" disabled='disabled'> </div> <div class="col-lg-4 col-lg-offset-0" style="margin-top:10px;">円</div> <br class="float_clear"> </div> </div> </div> <br class="float_clear"> </form> |
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
<script language="javascript"> function calc_menu() { $Wideth = Math.round(profit_calculation.wideth.value * 100) / 100;//横幅 $Depth = Math.round(profit_calculation.depth.value * 100) / 100;//奥行 $Hight = Math.round(profit_calculation.hight.value * 100) / 100;//高さ $Shipsize = (profit_calculation.shipsize.value);//配送サイズ $Item_cost = Number(profit_calculation.item_cost.value);//商品原価 $Ship_value = Number(profit_calculation.ship_value.value);//月間出荷数 $Stock_value = Number(profit_calculation.stock_value.value);//安定在庫数 $Carton_quantity = Number(profit_calculation.carton_quantity.value);//カートン入数 $Shipcost_average = Number(profit_calculation.shipcost_average.value);//通常配送費 $Material_cost = Number(profit_calculation.material_cost.value);//梱包資材費 $Warehouse_delivery_cost = Number(profit_calculation.warehouse_delivery_cost.value);//倉庫納入費 $Delivery_labor_cost = Number(profit_calculation.delivery_labor_cost.value);//人件費 $Desired_profit = Number(profit_calculation.desired_profit.value)/100;//希望利益率 //消費税※Amazon金額は税込み情報のため算出用に用意 $tax = 1.1; //月間倉庫保管料(固定値:30サイズ × 1個当たりとして算出) $R_Warehouse = 7.5; $A_Warehouse = 6.1625/$tax;;//1年間の価格に平均化したもの //梱包サイズから月間保管費用を算出する if(($Wideth > 0)&&($Depth > 0)&&($Hight > 0)){ //$ConversionVolume => 保管費算出用の乗数 $ConversionVolume = ($Hight * $Wideth * $Depth)/1000; }else{ switch($Shipsize){ case 'Mail': $ConversionVolume = 1;//標準値となるため 1 とする break; case '60': $ConversionVolume = 8;//20×20×20÷1000 break; case '80': $ConversionVolume = 18.963;//26.6×26.7×26.7÷1000 break; case '100': $ConversionVolume = 37.037;//33.3×33.3×33.4÷1000 break; case '120': $ConversionVolume = 64;//40×40×40÷1000 break; case '140': $ConversionVolume = 101.629;//46.6×46.7×46.7÷1000 break; case '160': $ConversionVolume = 151.704;//53.3×53.3×53.4÷1000 break; default: $ConversionVolume = 37.037;//100を採用 break; } } //Amazon保管費用 $A_Warehouse_Monthly_Pay = $A_Warehouse * $ConversionVolume *$Stock_value; //楽天保管費用 $R_Warehouse_Monthly_Pay = $R_Warehouse * $ConversionVolume *$Stock_value; //梱包サイズからロジスティクスサービスの価格を決定する switch($Shipsize){ case 'Mail': $R_ShipCost = 180; $R_PickCost = 50; if(($Hight <= 20)&&($Wideth <= 35)&&($Depth <= 45)){ $A_PickCost = 282/$tax; }else{ $A_PickCost = 381/$tax; } break; case '60': $R_ShipCost = 380; $R_PickCost = 80; if(($Hight <= 20)&&($Wideth <= 35)&&($Depth <= 45)){ $A_PickCost = 421/$tax; }else{ $A_PickCost = 589/$tax; } break; case '80': $R_ShipCost = 380; $R_PickCost = 80; if(($Hight <= 20)&&($Wideth <= 35)&&($Depth <= 45)){ $A_PickCost = 467/$tax; }else{ $A_PickCost = 712/$tax; } break; case '100': $R_ShipCost = 380; $R_PickCost = 80; if(($Hight <= 20)&&($Wideth <= 35)&&($Depth <= 45)){ $A_PickCost = 548/$tax; }else{ $A_PickCost = 815/$tax; } break; case '120': $R_ShipCost = 500; $R_PickCost = 100; $A_PickCost = 975/$tax; break; case '140': $R_ShipCost = 850; $R_PickCost = 200; $A_PickCost = 1020/$tax; break; case '160': $R_ShipCost = 850; $R_PickCost = 200; $A_PickCost = 1100/$tax; break; default : $R_ShipCost = 850; $R_PickCost = 200; $A_PickCost = 1100/$tax; break; } //Amazon配送費+倉庫作業費 $A_Monthly_Ship_Pay = $A_PickCost * $Ship_value; //楽天配送費+倉庫作業費 $R_Monthly_Pick_Pay = $R_PickCost * $Ship_value; $R_Monthly_Ship_Pay = $R_ShipCost * $Ship_value; //梱包業務費用 $Self_Monthly_Ship_Pay = $Shipcost_average * $Ship_value; $Self_OneTime_Warehouse_Cost = ((($Delivery_labor_cost/28/480)*5)+$Material_cost);//稼働28日、8時間勤務、1梱包所要時間5分 //納入回数 $Monthly_Warehouse_Delivery_Pay = (Math.ceil($Ship_value / $Carton_quantity))*$Warehouse_delivery_cost; //希望利益率売価 $R_Sales_Price = ((($R_Monthly_Ship_Pay + $R_Warehouse_Monthly_Pay + $R_Monthly_Pick_Pay + $Monthly_Warehouse_Delivery_Pay)/30)+$Item_cost)/(1-($Desired_profit)); $A_Sales_Price = ((($A_Monthly_Ship_Pay + $A_Warehouse_Monthly_Pay + $Monthly_Warehouse_Delivery_Pay)/30)+$Item_cost)/(1-($Desired_profit)); $Self_Sales_Price = ($Shipcost_average + $Self_OneTime_Warehouse_Cost + $Item_cost)/(1-($Desired_profit)); //自社配送の場合 profit_calculation.self_monthly_cost.value = Math.round($Self_Monthly_Ship_Pay + ($Self_OneTime_Warehouse_Cost*$Ship_value)); profit_calculation.self_ship_cost.value = Math.round($Self_Monthly_Ship_Pay); profit_calculation.self_stock_cost.value = Math.round($Self_OneTime_Warehouse_Cost*$Ship_value); profit_calculation.self_sales_price.value = Math.round($Self_Sales_Price);//原価÷(1-希望利益率) //楽天倉庫の場合 profit_calculation.rakuten_monthly_cost.value = Math.round($R_Monthly_Ship_Pay + $R_Warehouse_Monthly_Pay + $R_Monthly_Pick_Pay + $Monthly_Warehouse_Delivery_Pay); profit_calculation.rakuten_ship_cost.value = Math.round($R_Monthly_Ship_Pay); profit_calculation.rakuten_stock_cost.value = Math.round($R_Warehouse_Monthly_Pay); profit_calculation.rakuten_picking_cost.value = Math.round($R_Monthly_Pick_Pay); profit_calculation.rakuten_warehouse_delivery_cost.value = Math.round($Monthly_Warehouse_Delivery_Pay); profit_calculation.rakuten_sales_price.value = Math.round($R_Sales_Price);//原価÷(1-希望利益率) //Amazon倉庫の場合 profit_calculation.amazon_monthly_cost.value = Math.round($A_Monthly_Ship_Pay + $A_Warehouse_Monthly_Pay + $Monthly_Warehouse_Delivery_Pay); profit_calculation.amazon_ship_cost.value = Math.round($A_Monthly_Ship_Pay); profit_calculation.amazon_stock_cost.value = Math.round($A_Warehouse_Monthly_Pay); profit_calculation.amazon_warehouse_delivery_cost.value = Math.round($Monthly_Warehouse_Delivery_Pay); profit_calculation.amazon_sales_price.value = Math.round($A_Sales_Price);//原価÷(1-希望利益率) } </script> |
-
前の記事
EC事業の利益率。ちゃんと計算してみたら恐ろしい結果が待っていた…。 2019.12.27
-
次の記事
Wowma!は【商品情報枠の細かさ】が商品出品システム作成のネックです。 2020.01.06
コメントを残す