価格下限による死荷重損失の計算ツール
この計算ツールは、線形市場で法定の最低価格が競争均衡価格を上回るときに失われる総余剰を求めます。需要と供給それぞれの切片と傾き、設定する価格下限を入力してください。元の均衡、下限価格での需要量と供給量を算出し、需要量を実際の取引量の上限として扱ったうえで、成立しなくなった取引による厚生損失の三角形を表示します。
無料で実行
線形市場を一貫した単位で表してください
需要は Qd = demand_intercept − demand_slope × price、供給は Qs = supply_intercept + supply_slope × price の形で入力します。傾きはいずれも正の大きさで指定し、需要の負号と供給の正号は計算ツールが適用します。すべての値で単位をそろえてください。価格が1個当たりドル、数量が千個単位なら、切片は千個、傾きは1ドル当たり千個です。この場合、死荷重損失は千ドル単位になります。供給の逆関数から取引量における限界費用を求めるため、供給の傾きは正でなければなりません。推定直線の切片は負でも構いませんが、均衡数量と下限価格での需要量は非負である必要があります。これは、数式上は成立しても経済的に意味のない範囲への外挿を結果として示さないためです。需要の傾きをすでに負の値で入れると想定した曲線が逆転するため、入力は拒否されます。
価格下限に拘束力があることを確認してください
まず需要量と供給量を等しくして競争均衡を求めます。価格下限が取引を変えるのは、その価格が均衡価格を厳密に上回る場合だけです。均衡以下なら買い手と売り手は均衡価格で取引できるため、この拘束的な価格下限モデルは適用されません。拘束力があると需要量は減り、供給量は増えます。政府買入れなど余剰分の買い手がいなければ、市場の短辺が実際の取引を決めるため、取引量は需要量と等しくなります。供給量と需要量の差は余剰供給量として表示されますが、それ自体が死荷重損失ではありません。損失は、減少後の取引量から競争均衡数量までの間で消滅した、双方に利益のある取引から生じます。余剰供給量に規制価格を掛けても、失われた厚生、供給者の損失、保管費用にはなりません。非効率な割当てや政府買入れがある場合は、より広いモデルが必要です。
厚生三角形と前提を読み取ってください
失われた取引について、需要曲線は限界支払意思額、供給曲線は限界費用を表します。最終取引量は需要曲線上にあるため、そこでの支払意思額は価格下限と等しくなります。同じ数量で逆供給曲線を評価し、下限価格から限界費用を引いて厚生のくさびを求めます。三角形の底辺は均衡数量から取引量までの減少分、高さはこのくさびであり、死荷重損失は底辺と高さの積の半分です。結果は決定論的で、表示を安定させるためだけに丸めます。このモデルは、税、補助金、外部性、支持買入れ、廃棄費用、品質変化、闇市場、行政費用のない線形競争市場を前提とします。また、販売される財は評価が最も高い買い手に配分されるとします。透明な部分均衡の推定値として利用し、傾きが不確かな場合は複数の想定を比較してください。自動リクエストの料金は $0.002 で、外部サービスや変動データは使用しません。
活用例
農産物の支持価格を評価する
最低価格が競争均衡を上回る場合の厚生損失と過剰生産を推定します。
経済学の課題を確認する
均衡、下限価格での数量、厚生のくさび、死荷重損失三角形の面積を検算します。
政策案を比較する
同じ線形需要・供給曲線に複数の価格下限を適用し、取引量と厚生の減少を比較します。
よくある質問
死荷重損失にはどの式を使いますか?
取引量の減少分に、新しい取引量での支払意思額と限界費用の差を掛け、その半分を求めます。
取引量が需要量と等しいのはなぜですか?
拘束的な下限価格では需要量が供給量を下回ります。政府買入れがなければ買い手側が成立する取引を制限します。
余剰供給量は死荷重損失と同じですか?
いいえ。前者は下限価格での供給超過、後者は成立しなくなった有益な取引の価値です。
価格下限が均衡価格より低い場合はどうなりますか?
拘束力がなく競争結果を変えません。規制による厚生三角形がないため、この計算では拒否されます。
政府買入れや保管費用も含まれますか?
含まれません。売れ残りは買い取られない前提です。買入れ、保管、廃棄、税、行政費用は別に評価してください。
API での計算料金はいくらですか?
API リクエスト1件の料金は $0.002 です。計算は決定論的で外部サービスを利用しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/econ/deadweight-loss-price-floor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"demand_intercept":120,"demand_slope":2,"supply_intercept":20,"supply_slope":3,"price_floor":30}'const res = await fetch("https://api.kit.forhosting.com/econ/deadweight-loss-price-floor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"demand_intercept": 120,
"demand_slope": 2,
"supply_intercept": 20,
"supply_slope": 3,
"price_floor": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/deadweight-loss-price-floor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"demand_intercept": 120,
"demand_slope": 2,
"supply_intercept": 20,
"supply_slope": 3,
"price_floor": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/deadweight-loss-price-floor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"demand_intercept":120,"demand_slope":2,"supply_intercept":20,"supply_slope":3,"price_floor":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"demand_intercept":120,"demand_slope":2,"supply_intercept":20,"supply_slope":3,"price_floor":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/deadweight-loss-price-floor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"demand_intercept": 120,
"demand_slope": 2,
"supply_intercept": 20,
"supply_slope": 3,
"price_floor": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.deadweight_loss_price_floor",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |