eBay手数料・広告費 計算問題の分析
一括シートApps v2 - 収束計算による完全解決策
1
問題の概要
一括シートApps v2において、eBay手数料と広告費の計算基準が間違っています。
❌ 現在の計算
計算基準
販売価格(DDU)
R列の値を使用
✅ 正しい計算
計算基準
関税込み価格(DDP)
S列の値を使用すべき
⚠️
重要: eBayの手数料・広告費は、購入者が支払う関税込み価格(DDP)に対して課されます。
現在の計算では関税分に対する手数料が考慮されておらず、利益が過大に計算されています。
2
計算に使用する変数
| 変数 |
セル |
説明 |
例 |
f |
V列 + F2 |
手数料率 + 広告費率 |
0.28 (28%) |
p |
Z2 |
Payoneer手数料率 |
0.02 (2%) |
t |
AF2 |
関税率 |
0.15 or 0.39 |
g |
AG2 |
関税処理手数料率 |
0.021 (2.1%) |
C |
I列 + T列 + U列 |
仕入れ + 送料 + 利益額 |
(商品による) |
E |
C2 |
為替レート |
150 |
3
現在の計算式(問題あり)
❌ 現在の販売価格計算式
R = (仕入れ + 送料 + 利益額) ÷ (1 - 手数料 - 広告 - Payoneer) ÷ 為替
R = C ÷ E ÷ (1 - f - p)
💡
問題点: 手数料・広告費 f がDDU価格ベースで計算されている。
実際はDDP価格(= DDU + 関税)に対して課されるため、f の影響が過小評価されている。
4
収束計算の数学的導出
Step 1: 関係式の整理
DDP = R × (1 + t × (1 + g))
手数料・広告 = DDP × f = R × (1 + t × (1 + g)) × f
Step 2: 正しい利益の方程式
R × E - DDP × f × E - R × E × p - (仕入れ + 送料) = 利益額
R × E × (1 - p) - R × (1 + t(1+g)) × f × E = 仕入れ + 送料 + 利益額
R × E × [(1 - p) - (1 + t(1+g)) × f] = C
Step 3: 販売価格Rを解く
// 収束後の正しい販売価格計算式
R = C ÷ E ÷ [(1 - p) - (1 + t(1+g)) × f]
R = C ÷ E ÷ [1 - p - f - t(1+g) × f]
🔑
ポイント: 現在の分母 (1 - f - p) に対して、
正しい分母は (1 - f - p) - t(1+g) × f
つまり t(1+g) × f の分だけ分母が小さくなり、Rが大きくなる。
5
具体的な数値での検証(関税15% vs 39%)
前提: 手数料率+広告費率 = 28%、Payoneer = 2%、関税処理手数料率 = 2.1%
📦 関税率 15% の場合
t × (1 + g)
0.15 × 1.021 = 0.153
t(1+g) × f
0.153 × 0.28 = 0.0428
現在の分母
1 - 0.28 - 0.02 = 0.70
正しい分母
0.70 - 0.0428 = 0.6572
販売価格の上昇率
0.70 ÷ 0.6572 = 1.065 (+6.5%)
📦 関税率 39% の場合
t × (1 + g)
0.39 × 1.021 = 0.398
t(1+g) × f
0.398 × 0.28 = 0.1115
現在の分母
1 - 0.28 - 0.02 = 0.70
正しい分母
0.70 - 0.1115 = 0.5885
販売価格の上昇率
0.70 ÷ 0.5885 = 1.189 (+18.9%)
💰
月間影響($100商品を100個販売、為替150円):
・関税15%: 約 ¥97,500/月 の利益過大計算
・関税39%: 約 ¥283,500/月 の利益過大計算
6
最終的な修正計算式(収束解)
✅ 修正後の販売価格計算式
R = (仕入れ + 送料 + 利益額) ÷ 為替 ÷ [(1 - Payoneer) - (1 + 関税率 × (1 + 関税処理手数料率)) × (手数料 + 広告)]
R = (I + T + U) ÷ $C$2 ÷ [(1 - $Z$2) - (1 + $AF$2 × (1 + $AG$2)) × (V + $F$2)]
スプレッドシート用の数式(利益額モード)
=ROUND(
(I{row} + T{row} + U{row})
/ $C$2
/ ((1 - $Z$2) - (1 + $AF$2 * (1 + $AG$2)) * (V{row} + $F$2))
* 100
) / 100
スプレッドシート用の数式(利益率モード)
=ROUND(
(I{row} + T{row})
/ $C$2
/ ((1 - $Z$2) - (1 + $AF$2 * (1 + $AG$2)) * (V{row} + $F$2) - W{row})
* 100
) / 100
7
具体例での検証
検証1
利益額モード(目標利益 ¥2,000)
❌ 現在の式
分母 = 1 - 0.28 - 0.02 = 0.70
R = 15,000 / 155 / 0.70 = $138.25
実際の利益計算:
| 売上 | $138.25 × 155 = ¥21,429 |
| DDP | $138.25 × 1.153 = $159.42 |
| 手数料+広告 | -¥6,919 |
| Payoneer | -¥429 |
| 仕入れ+送料 | -¥13,000 |
| 実際の利益 |
¥1,081 |
目標 ¥2,000 に対して ¥919 不足
✅ 修正後の式
分母 = 0.98 - 1.153 × 0.28 = 0.65712
R = 15,000 / 155 / 0.657 = $147.27
実際の利益計算:
| 売上 | $147.27 × 155 = ¥22,827 |
| DDP | $147.27 × 1.153 = $169.82 |
| 手数料+広告 | -¥7,370 |
| Payoneer | -¥457 |
| 仕入れ+送料 | -¥13,000 |
| 実際の利益 |
¥2,000 ✓ |
目標利益を正確に達成
検証2
利益率モード(目標利益率 20%)
❌ 現在の式
分母 = 1 - 0.28 - 0.20 - 0.02 = 0.50
R = 13,000 / 155 / 0.50 = $167.74
実際の利益計算:
| 売上 | $167.74 × 155 = ¥26,000 |
| DDP | $167.74 × 1.153 = $193.45 |
| 手数料+広告 | -¥8,396 |
| Payoneer | -¥520 |
| 仕入れ+送料 | -¥13,000 |
| 実際の利益 |
¥4,084 |
| 実際の利益率 |
15.7% |
目標 20% に対して 4.3% 不足
✅ 修正後の式
分母 = 0.98 - 1.153 × 0.28 - 0.20 = 0.45712
R = 13,000 / 155 / 0.457 = $183.48
実際の利益計算:
| 売上 | $183.48 × 155 = ¥28,439 |
| DDP | $183.48 × 1.153 = $211.57 |
| 手数料+広告 | -¥9,180 |
| Payoneer | -¥569 |
| 仕入れ+送料 | -¥13,000 |
| 実際の利益 |
¥5,690 |
| 実際の利益率 |
20.0% ✓ |
目標利益率を正確に達成
📊 検証結果まとめ
| モード |
設定値 |
現在の式 |
修正後 |
損失額 |
| 利益額モード |
¥2,000 |
¥1,081 |
¥2,000 ✓ |
¥919/個 |
| 利益率モード |
20% |
15.7% |
20.0% ✓ |
4.3%/個 |
8
コード修正の差分(コピペ用)
利益額モード
行 669-672
❌ 現在の式:
'=ROUND(((I' + row + '+T' + row + '+U' + row + ')/(1-(V' + row + '+$F$2+$Z$2))/$C$2)*100)/100'
↓
✅ 修正後の式:
'=ROUND(((I' + row + '+T' + row + '+U' + row + ')/((1-$Z$2)-(1+$AF$2*(1+$AG$2))*(V' + row + '+$F$2))/$C$2)*100)/100'
変更点:
(1-(V+$F$2+$Z$2)) |
→ |
((1-$Z$2)-(1+$AF$2*(1+$AG$2))*(V+$F$2)) |
利益率モード
行 646-649
❌ 現在の式:
'=ROUND(((I' + row + '+T' + row + ')/(1-(V' + row + '+W' + row + '+$F$2+$Z$2))/$C$2)*100)/100'
↓
✅ 修正後の式:
'=ROUND(((I' + row + '+T' + row + ')/((1-$Z$2)-(1+$AF$2*(1+$AG$2))*(V' + row + '+$F$2)-W' + row + ')/$C$2)*100)/100'
変更点:
(1-(V+W+$F$2+$Z$2)) |
→ |
((1-$Z$2)-(1+$AF$2*(1+$AG$2))*(V+$F$2)-W) |
📁 修正対象ファイル
| ファイル |
行番号 |
内容 |
コード_Part1_価格計算・バッチ処理.gs |
646-649 |
利益率モードの販売価格計算式(R列) |
コード_Part1_価格計算・バッチ処理.gs |
669-672 |
利益額モードの販売価格計算式(R列) |
PriceCalc.txt |
該当箇所 |
UI側の計算ロジック |
💡
注: 利益計算式(U列、行652-655)は修正不要です。
R列の計算が正しくなれば、利益も自動的に正しく計算されます。
9
まとめ
1
問題
手数料・広告費がDDU価格ベースで計算され、関税分が考慮されていない
2
影響
関税15%で+6.5%、関税39%で+18.9%の販売価格差が生じている
3
解決策
分母に t(1+g) × f を追加することで収束解を得る
現在: 分母 = 1 - f - p
修正: 分母 = 1 - f - p - $AF$2 × (1 + $AG$2) × (V + $F$2)
✅
この修正により:
・循環参照なしで正確な販売価格を計算
・利益計算が実際の手数料負担を反映
・関税率の変更にも自動対応
10
利益計算式(U列)の修正
⚠️
重要: 販売価格計算式(R列)だけでなく、利益計算式(U列)も修正が必要です。
現在は利益計算もDDU価格ベースで手数料を計算しているため、実際の利益と表示が一致しません。
利益計算式の比較
❌ 現在の式(DDU価格ベース):
利益 = R × 為替 × (1 - (手数料 + 広告 + Payoneer)) - 仕入れ - 送料
= R × $C$2 × (1 - (V + $F$2 + $Z$2)) - I - T
↓
✅ 修正後の式(DDP価格ベース):
利益 = R × 為替 × (1 - Payoneer) - S × 為替 × (手数料 + 広告) - 仕入れ - 送料
= R × $C$2 × (1 - $Z$2) - S × $C$2 × (V + $F$2) - I - T
・Payoneer手数料: DDU価格(R)に対して課される
・eBay手数料+広告: DDP価格(S)に対して課される
検証3
利益率13%モードでの利益計算検証
📐 販売価格計算(修正後の式)
tariffMultiplier = 1 + 0.15 × (1 + 0.021) = 1.15315
feeAdRate = 0.18 + 0.02 = 0.20
netRate = (1 - 0.02) - 1.15315 × 0.20 - 0.13 = 0.61937
R = (30000 + 2497) ÷ 155 ÷ 0.61937 = $338.50
❌ 現在の利益計算式
利益 = R × 為替 × (1 - 0.20 - 0.02) - I - T
= $338.50 × 155 × 0.78 - 32,497
= ¥52,468 × 0.78 - ¥32,497
| 売上 × (1-手数料等) | ¥40,925 |
| 仕入れ + 送料 | -¥32,497 |
| 計算上の利益 |
¥8,428 |
| 計算上の利益率 |
16.1% |
目標13%に対して3.1%過大表示
✅ 修正後の利益計算式
利益 = R × 為替 × (1 - Payoneer)
- S × 為替 × (手数料 + 広告)
- 仕入れ - 送料
| 売上 | ¥52,468 |
| Payoneer手数料 | -¥1,049 |
| eBay手数料+広告 (DDP×20%) | -¥12,101 |
| 仕入れ + 送料 | -¥32,497 |
| 実際の利益 |
¥6,821 |
| 実際の利益率 |
13.0% ✓ |
目標利益率と正確に一致
📊 利益計算の差額分析
| 項目 |
現在の式 |
修正後の式 |
差額 |
| 手数料+広告の計算基準 |
DDU ¥52,468 |
DDP ¥60,503 |
+¥8,035 |
| 手数料+広告(20%) |
¥10,494 |
¥12,101 |
+¥1,607 |
| 表示利益の差 |
¥8,428 |
¥6,821 |
-¥1,607 |
💡
現在の式では¥1,607の利益が過大表示されています。
これは関税分($51.84 = ¥8,035)に対する手数料+広告(20%)= ¥1,607 が考慮されていないためです。
📁 利益計算式の修正箇所
Part3 行3309(ARRAYFORMULA版)
❌ 現在:
'=ARRAYFORMULA(IF(ROW(U4:U)=4,"利益",IF(R4:R="","",ROUND(R4:R*$C$2*(1-(V4:V+$F$2+$Z$2))-I4:I-T4:T,0))))'
↓
✅ 修正後:
'=ARRAYFORMULA(IF(ROW(U4:U)=4,"利益",IF(R4:R="","",ROUND(R4:R*$C$2*(1-$Z$2)-S4:S*$C$2*(V4:V+$F$2)-I4:I-T4:T,0))))'
Part1 行3349(個別行版)
❌ 現在:
'=ROUND(R' + row + '*$C$2*(1-(V' + row + '+$F$2+$Z$2)) - I' + row + ' - T' + row + ', 0)'
↓
✅ 修正後:
'=ROUND(R' + row + '*$C$2*(1-$Z$2) - S' + row + '*$C$2*(V' + row + '+$F$2) - I' + row + ' - T' + row + ', 0)'
| ファイル |
行番号 |
内容 |
コード_Part3_メニュー・設定関連.gs |
3309 |
利益率モードのARRAYFORMULA(U列全体) |
コード_Part1_価格計算・バッチ処理.gs |
3349 |
バッチ処理用の個別行式(U列) |