関税による消費者余剰損失の計算ツール
この計算ツールは、関税によって輸入品の国内価格が上昇し、消費者の購入量が減ったときの厚生の低下を測定します。関税導入前後の価格と数量を入力してください。継続して購入される品目への追加支払いと、購入を断念した品目から失われる余剰を分けて示し、小国の線形需要モデルに基づいて両方の面積を合計します。
無料で実行
比較可能な価格と数量を入力してください
関税導入前に消費者が支払った国内市場価格と、導入後のより高い国内価格を使用してください。数量についても、同じ市場、製品、地域、期間における導入前後の消費量を入力します。価格が1個当たりの円、数量が1か月当たりの個数であれば、厚生損失は1か月当たりの円で表示されます。他の通貨や、千または百万単位の数量も利用できますが、前後で単位を統一する必要があります。数量を千単位で入力すれば、損失も千通貨単位になります。本ツールは、対象となる関税の状況を表すため、導入後の価格が上昇し、消費量が減少していることを求めます。価格上昇のうち法定関税による部分や、外国の輸出者が負担した部分を推定するものではありません。観測された、または関税に帰属すると考える国内価格の変化を入力してください。異なる品質の小売価格と輸入価格、あるいは年次消費量と月次数量を混在させると、計算自体はできても経済的な解釈が不正確になります。
長方形と三角形の意味をご確認ください
消費者余剰損失は二つの部分から成ります。第一に、購入を続ける消費者は、関税導入後の各単位に対して以前より高い価格を支払います。グラフでは、この損失は価格上昇を高さ、導入後の購入量を幅とする長方形です。結果では継続購入分の損失として表示されます。第二に、価格上昇によって需要量が減り、一部の購入が行われなくなります。線形需要を仮定すると、断念された単位の余剰は、新しい数量における価格上昇の全額から、元の数量におけるゼロまで均等に減少します。この部分は、価格上昇と数量減少の積の半分に等しい三角形です。長方形と三角形の合計が消費者余剰の総損失です。これは消費の歪みによる三角形だけよりも大きい値です。また、消費者の損失を測るものであり、経済全体の死荷重損失とは同じではありません。市場構造や支払いの受取先によっては、長方形の一部が関税収入や生産者利益になります。
小国モデルとして結果を解釈してください
この計算は、世界価格を所与とする小国を想定しており、その国の輸入需要は外国価格を変化させないものとします。また、観測した価格と数量の範囲で需要曲線が直線であると仮定します。診断用に示す需要の切片価格は、その直線上で需要量がゼロになる価格です。単位の不整合や不自然に急または緩やかな需要反応を見つける参考になりますが、入力範囲から大きく離れた予測には使用しないでください。本ツールが扱うのは消費者余剰のみです。関税収入、国内生産者余剰、生産の歪み、国民純厚生、交易条件、通関費用、報復措置、製品代替、所得効果、家計間の分配差は計算しません。これらには供給、輸入、負担配分に関する追加情報が必要です。シナリオ比較では導入前の値を固定し、一貫した需要仮定の下で導入後の価格と数量を変えてください。消費者の損失すべてを社会的価値の消滅とみなさず、総損失と二つの構成要素を比較することが重要です。APIによる自動計算は1回当たり$0.002です。ブラウザーでも外部データを使わず、同じ決定論的な式を実行します。
活用例
輸入関税案を評価する
国内価格の想定上昇と消費縮小が消費者厚生に与える影響を推定します。
国際経済学の課題を確認する
損失の長方形、消費の三角形、総損失、線形需要の暗黙の切片を検算します。
関税負担のシナリオを比較する
単位を統一し、価格転嫁率や消費反応を変えて結果を比較します。
よくある質問
どの計算式を使用しますか?
総損失は、価格上昇と導入後数量の積に、価格上昇と数量減少の積の半分を加えた値です。
消費者余剰損失は死荷重損失と同じですか?
同じではありません。継続購入分の追加支払いを含み、その一部は関税収入や生産者余剰になる場合があります。
関税後に数量が減る必要があるのはなぜですか?
価格を上げ、右下がりの需要曲線に沿って消費者の購入量を減らす関税を対象としているためです。
結果の単位は何ですか?
価格単位と数量単位の積です。円毎個と個数毎年を入力すれば、結果は円毎年になります。
関税収入も計算できますか?
できません。輸入1単位当たりの関税と導入後の輸入量が必要であり、輸入量は国内消費量と異なる場合があります。
API計算の料金はいくらですか?
APIリクエスト1回当たり$0.002です。決定論的な式であり、外部サービスは使用しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/econ/tariff-consumer-loss \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price_before_tariff":20,"price_after_tariff":26,"quantity_before_tariff":1000,"quantity_after_tariff":760}'const res = await fetch("https://api.kit.forhosting.com/econ/tariff-consumer-loss", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price_before_tariff": 20,
"price_after_tariff": 26,
"quantity_before_tariff": 1000,
"quantity_after_tariff": 760
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/tariff-consumer-loss",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price_before_tariff": 20,
"price_after_tariff": 26,
"quantity_before_tariff": 1000,
"quantity_after_tariff": 760
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/tariff-consumer-loss", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price_before_tariff":20,"price_after_tariff":26,"quantity_before_tariff":1000,"quantity_after_tariff":760}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price_before_tariff":20,"price_after_tariff":26,"quantity_before_tariff":1000,"quantity_after_tariff":760}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/tariff-consumer-loss", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"price_before_tariff": 20,
"price_after_tariff": 26,
"quantity_before_tariff": 1000,
"quantity_after_tariff": 760
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.tariff_consumer_loss",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |