前提知識:分業・比較優位・交換 · 市場価格と弾力性
朝食の価格上昇により、売り手が受け取る追加の金額は社会的損失なのか?政府が1食あたり2元の税を徴収し、その税収は再び損失としてカウントされるのか?答えを出すには、まず「ある個人がどれだけ損をしたか」と「取引両者の合計でどれだけ損をしたか」を区別する必要がある。
本稿では、同じ市場において無税状態、課税状態、補助金状態を比較する。評価の基準は、当面の間、貨幣換算された買い手の評価額から売り手の機会費用を引いたものとし、第三者への影響、徴税コスト、異なる所得者にとっての1元あたりの効用(価値)の違いは含まない。この基準は取引の得失を説明できるが、社会的厚生のすべてを捉えるものではない。
1つの取引における支払いと余剰
買い手の最高支払意思額は12元、売り手の機会コストは4元、取引価格は7元とする。買い手が得る正味の便益は 12−7=5 であり、これを消費者余剰と呼ぶ。売り手については 7−4=3 であり、これを生産者余剰と呼ぶ。合計は8となり、これはちょうど評価額12からコスト4を引いたものに等しい。
価格が8に変更された場合、買い手の余剰は4に、売り手の余剰は4になり、合計は依然として8である。価格の変化は1単位の余剰を買い手から売り手に移転させるが、商品が取引されるかどうかや、真の資源コストには変化がないため、この移転自体が取引総余剰の損失となるわけではない。
売り手の収入7を生産者余剰7と混同してはならない。コストがまだ控除されていないからである。また、消費者余剰と総営業収入を合計して純利益と呼んではならない。重複計算を避けるためには、まず各金額にもう一方の対応する項目を見つける必要がある。
誰が取引するかによって、総便益が実現するかどうかが決まる
4人の買い手の評価額は12、10、8、6、4人の売り手のコストは2、4、6、8であり、各人は最大1食まで取引する。高い評価額の買い手と低いコストの売り手を順にマッチングさせると、最初の3取引の取引便益はそれぞれ10、6、2となり、合計18となる。4番目の取引では評価額6がコスト8を下回るため、強行取引すると総余剰が2減少する。
同じ数量であっても、結果が異なる場合がある。評価額12の買い手から評価額6の買い手に取引を移した場合、売り手のコストは変わらないが、総余剰は6減少する。したがって、「3食取引されたからといって」必ずしも効率的であるとは限らない。商品が誰に、誰によって提供されるかを知る必要がある。競争モデルにおける効率的なマッチングは明確な条件に依存しており、任意の列や配分結果を自動的に当てはめることはできない。
高い支払意欲は購買力にも影響される。貨幣余剰が最大だからといって、最も貧しい人が朝食を食べられるわけではない。評価目標に基本的な保障を含める場合は、分配の重み付けとルールを別途説明する必要がある。効率性と分配を別々に記述することで、政策が何を交換しているのかを明確にできる。
2元の税が同じ価格システムにどのように組み込まれるか
前回の大きな市場に戻ろう:Qd=120−10Pb、Qs=20+10Ps。Pbは買い手が実際に支払う価格、Psは売り手が税後に受け取る純収入である。無税時、両者はともに5で、数量は70である。1食あたり2元の税が課されると、両者は Pb−Ps=2 を満たさなければならない。
Pb=Ps+2 を売買数量が一致する条件 120−10(Ps+2)=20+10Ps に代入すると、売り手の純収入は4、買い手の支払いは6、数量は60となる。税を売り手が政府に納付する場合、表面上は6を受け取り2を差し引くが、経済的には依然として4しか残らない。
| 指標 | 無税 | 1食あたり税2 |
| 買い手支払 Pb | 5 | 6 |
| 売り手純収 Ps | 5 | 4 |
| 取引量 Q | 70 | 60 |
| 政府税収 | 0 | 120 |
法律が買い手の申告・納税に変更された場合でも、市場、執行、取引コストなどの他の条件が変わらなければ、買い手の総支出と売り手の純収入は同じ税のくさびによって決定される。法的な納税者と、最終的に価格変化を負担する人は同一ではない。
損失を移転分と消失した取引に分ける
まず、依然として取引される60食を見てみよう。買い手は1食あたり1元多く支払うため60元減少し、売り手は1食あたり1元少なく手元に残るため、これも60元減少する。これら2つはちょうど政府税収120元となる。政府を含めると、この部分は主体間の移転となる。
次に、取引されなくなった61〜70食を見てみよう。無税時、これらの限界取引には正の便益があった。税により買い手価格が上昇し、売り手の純収入が低下したため、両者は同時に取引に応じなくなった。この例の線形関係において、この10食の元の評価額とコストの差は2から0まで徐々に低下し、平均は1、合計で10の損失が生じた。
各主体ごとに確認することもできる。買い手の余剰減少は 60×1+10×1/2=65、売り手の余剰減少も65であり、合計で130減少する。そのうち120は政府に入り、残りの10は誰にも得られず、これを死荷重と呼ぶ。これは本来有益だった取引が消失したことに由来するもので、税収120からさらに120を引くものではない。
図を準備しています
条件を変えて結果を確かめる課税前は価格5、数量70。反応が同じなら税2で買値6、手取り4、数量60。需要の反応を変え負担を比べる。
{"id":"economics-08","title":"条件を変えて結果を確かめる","summary":"課税前は価格5、数量70。反応が同じなら税2で買値6、手取り4、数量60。需要の反応を変え負担を比べる。","height":750,"html":"<div class=\"controls\"><label for=\"response\"><span data-i18n=\"response\"></span><select id=\"response\"><option value=\"5\" data-i18n=\"low\"></option><option value=\"10\" selected data-i18n=\"equal\"></option><option value=\"20\" data-i18n=\"high\"></option></select></label><label for=\"tax\"><span data-i18n=\"tax\"></span><output id=\"out-tax\" for=\"tax\"></output><input id=\"tax\" type=\"range\" min=\"0\" max=\"4\" step=\"0.5\" value=\"2\"></label></div><button id=\"reset\" type=\"button\" data-i18n=\"reset\"></button><div id=\"graphic\"></div><div id=\"results\" class=\"results\" role=\"status\" aria-live=\"polite\" data-i18n-label=\"result\"></div><p class=\"scope\" data-i18n=\"scope\"></p>","css":"body{padding:20px}h2{font-size:19px;margin:0 0 14px}.controls{display:grid;gap:16px}label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;font-size:15px}select,input{grid-column:1/-1;width:100%;min-width:0;font:inherit}select{padding:10px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:6px;white-space:normal}input{accent-color:var(--accent)}button{min-height:44px;margin:16px 0;font:inherit}.plot{display:block;width:100%;max-width:560px;height:auto;margin:auto}.plot text{fill:var(--ink);font-size:14px}.legend{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0;font-size:14px}.legend i{display:inline-block;width:16px;height:3px;margin-right:5px;vertical-align:middle}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.metric{border:1px solid var(--rule);padding:10px;border-radius:6px;min-width:0}.metric span{display:block;font-size:14px;min-height:3.5em;overflow-wrap:anywhere}.metric strong{font-size:22px;font-weight:600}.barrow{margin:14px 0;font-size:15px}.barlabel{display:flex;justify-content:space-between;gap:10px}.bar{height:16px;background:var(--surface);margin-top:5px}.bar i{display:block;height:100%;background:var(--accent)}.stack{display:flex;height:35px;margin:15px 0}.stack span{display:flex;align-items:center;justify-content:center;color:var(--paper);font-size:13px}.scope{font-size:14px;color:var(--muted);margin:14px 0 0;line-height:1.65}@media(max-width:380px){body{padding:14px 10px}.results{gap:6px}.metric{padding:8px}.metric strong{font-size:19px}}.accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account{border:1px solid var(--rule);border-radius:8px;padding:12px;min-width:0}.account h3{font-size:16px;margin:0 0 12px}.account dl{margin:0}.account dt{font-size:13px;overflow-wrap:anywhere}.account dd{margin:2px 0 12px;font-variant-numeric:tabular-nums}.account .changed{font-weight:700;color:var(--accent)}.area-legend{font-size:14px;line-height:1.7}.area-legend span{display:block}.area-legend i{display:inline-block;width:12px;height:12px;margin-right:6px}@media(max-width:480px){.accounts{grid-template-columns:1fr}}","js":"const N=8,DEFAULTS={\"response\": 10, \"tax\": 2};\n/* Pure, deterministic teaching models. Values are synthetic, not estimates. */\nfunction economy(n,p){\n if(n===6){const q=p.remaining,P0=10,P1=12,Q0=100;return{metrics:{oldRevenue:P0*Q0,newRevenue:P1*q,retainedGain:(P1-P0)*q,lostRevenue:P0*(Q0-q),elasticity:Math.abs(((q-Q0)/((q+Q0)/2))/((P1-P0)/((P1+P0)/2)))},revenueAreas:{remaining:q,oldPrice:P0,newPrice:P1,oldQuantity:Q0}};}\n if(n===5){const shift=p.scenario===1?20:0,supply=p.scenario===2?-20:0,P=(100+shift-supply)/20,Q=20+supply+10*P;return{metrics:{price:P,quantity:Q},plot:{xmax:140,ymax:14,x:'quantity',y:'price',lines:[{key:'demand',points:[[0,(120+shift)/10],[120+shift,0]]},{key:'supply',points:[[Math.max(0,20+supply),0],[140,(120-supply)/10]]},{key:'base',points:[[0,5],[140,5]],dash:true}],dot:[Q,P]}};}\n if(n===8){const b=p.response,bs=10,t=p.tax,Pb=5+bs*t/(b+bs),Ps=5-b*t/(b+bs),Q=70-b*bs*t/(b+bs);return{metrics:{buyer:Pb,seller:Ps,quantity:Q,revenue:t*Q,loss:.5*t*(70-Q)},plot:{xmax:100,ymax:20,x:'quantity',y:'price',areas:[{key:'revenue',points:[[0,Ps],[Q,Ps],[Q,Pb],[0,Pb]]},{key:'loss',points:[[Q,Ps],[Q,Pb],[70,5]]}],lines:[{key:'demand',points:[[0,5+70/b],[Math.min(100,70+5*b),Math.max(0,5+(70-100)/b)]]},{key:'supply',points:[[20,0],[100,8]]},{key:'base',points:[[0,5],[100,5]],dash:true},{key:'wedge',points:[[Q,Ps],[Q,Pb]]}],dot:[Q,Pb]}};}\n if(n===18){let index=100+p.weight*p.rise/100;return{metrics:{index,inflation:index-100},bars:[{key:'base',v:100},{key:'new',v:index}],max:180};}\n if(n===19){let E=60,U=10,N=30;if(p.scenario===1){E+=5;U-=5;}if(p.scenario===2){U-=5;N+=5;}if(p.scenario===3){U+=5;N-=5;}return{metrics:{employment:E,unemployment:U,participation:100*(E+U)/100,urate:100*U/(E+U),erate:E},stack:[E,U,N],stackKeys:['employment','unemployment','outside']};}\n if(n===20){const step=p.scenario;let reserves=100,loan=0,deposit=80,equity=20,br=0,bd=0;if(step!==0){loan=60;deposit=140;}if(step===2){reserves-=60;deposit-=60;br=60;bd=60;}if(step===3){loan=40;deposit=120;}const vals={reserves,loan,deposit,equity,bankBreserves:br,bankBdeposits:bd,borrowerDeposit:step===2?0:loan,borrowerGoods:step===2?60:0,borrowerDebt:loan,merchantDeposit:bd,merchantGoods:step===2?0:60};const prev=step>1?economy(20,{scenario:1}).accounts:economy20initial();return{metrics:{reserves,loan,deposit,equity,bankBreserves:br,bankBdeposits:bd,assets:reserves+loan,liabilities:deposit+equity},accounts:vals,ledger:[['bankA',['reserves','loan','deposit','equity']],['bankB',['bankBreserves','bankBdeposits']],['borrower',['borrowerDeposit','borrowerGoods','borrowerDebt']],['merchant',['merchantDeposit','merchantGoods']]].map(([title,keys])=>({title,items:keys.map(key=>({key,value:vals[key],delta:vals[key]-prev[key]}))}))};}\n if(n===22){const c=p.consume,shock=p.shock,rounds=Array.from({length:8},(_,k)=>shock*c**k);return{metrics:{total:shock/(1-c),shown:rounds.reduce((a,b)=>a+b,0),multiplier:1/(1-c)},bars:rounds.map((v,k)=>({label:String(k+1),v})),max:100,rounds};}\n if(n===25){const e=p.rate;return{metrics:{importBill:10*e,exportBill:70/e,debtBill:100*e},bills:true};}\n if(n===26){const A=p.tech,s=p.save/100,d=.1,k=(s*A/d)**2,y=A*Math.sqrt(k),trajectory=[];let current=25;for(let t=0;t<=60;t++){const output=A*Math.sqrt(current),investment=s*output,depreciation=d*current;trajectory.push({t,k:current,y:output,consumption:(1-s)*output,investment,depreciation});current+=investment-depreciation;}return{metrics:{capital:k,output:y,consumption:(1-s)*y},trajectory,plot:{xmax:60,ymax:Math.max(10,...trajectory.map(a=>a.y))*1.1,x:'period',y:'perPersonFlow',lines:[{key:'baselineConsumption',points:[[0,7.5],[60,7.5]],dash:true},{key:'outputPath',points:trajectory.map(a=>[a.t,a.y])},{key:'consumptionPath',points:trajectory.map(a=>[a.t,a.consumption])}]}};}\n throw Error('Unknown lesson');\n}\nfunction economy20initial(){return{reserves:100,loan:0,deposit:80,equity:20,bankBreserves:0,bankBdeposits:0,borrowerDeposit:0,borrowerGoods:0,borrowerDebt:0,merchantDeposit:0,merchantGoods:60};}\nif(typeof module!=='undefined')module.exports={economy};\n\nfunction renderTeachingView(r,el){\n if(r.ledger){\n el.innerHTML='<div class=\"accounts\">'+r.ledger.map(a=>'<section class=\"account\"><h3>'+escape(viz.t(a.title))+'</h3><dl>'+a.items.map(v=>`<dt>${escape(viz.t(v.key))}</dt><dd class=\"${v.delta?'changed':''}\">${viz.number(v.value)} (${v.delta>0?'+':''}${viz.number(v.delta)})</dd>`).join('')+'</dl></section>').join('')+'</div><p class=\"scope\">'+escape(viz.t('delta'))+'</p>';\n $('#results').hidden=true;\n }\n if(r.revenueAreas){const a=r.revenueAreas,x=q=>45+q*2.65,y=p=>213-p*14,q=a.remaining;\n let s=`<svg class=\"plot\" viewBox=\"0 0 360 270\" role=\"img\" aria-label=\"${escape(viz.t('figure'))}\"><path d=\"M45 28V213H322\" fill=\"none\" stroke=\"var(--rule)\"/>`;\n const rect=(x0,x1,p0,p1,c)=>`<rect x=\"${x(x0)}\" y=\"${y(p1)}\" width=\"${(x1-x0)*2.65}\" height=\"${(p1-p0)*14}\" fill=\"${c}\" fill-opacity=\".48\" stroke=\"${c}\"/>`;\n s+=rect(0,q,0,10,'#5277ab')+rect(0,q,10,12,'#247756')+rect(q,100,0,10,'#b56838');\n for(const p of[0,10,12])s+=`<text x=\"37\" y=\"${y(p)+4}\" text-anchor=\"end\">${p}</text>`;\n for(const v of[0,50,100])s+=`<text x=\"${x(v)}\" y=\"235\" text-anchor=\"middle\">${v}</text>`;\n s+=`<text x=\"45\" y=\"20\">${escape(viz.t('price'))}</text><text x=\"310\" y=\"261\" text-anchor=\"end\">${escape(viz.t('quantity'))}</text></svg>`;\n el.innerHTML=s+'<div class=\"area-legend\">'+[['retainedBase','#5277ab'],['retainedGain','#247756'],['lostRevenue','#b56838']].map(([k,c])=>`<span><i style=\"background:${c}\"></i>${escape(viz.t(k))}</span>`).join('')+'</div>';\n }\n}\n\nconst $=s=>document.querySelector(s),col=['var(--accent)','var(--second)','#7581ae','#b36b47'];\nconst escape=s=>String(s).replace(/[&<>\"']/g,c=>({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''}[c]));\nfunction render(){\n let p={};for(const k of Object.keys(DEFAULTS)){p[k]=Number($('#'+k).value);let o=$('#out-'+k);if(o)o.textContent=viz.number(p[k]);}\n const r=economy(N,p);document.body.dataset.result=JSON.stringify(r.metrics);document.body.dataset.params=JSON.stringify(p);\n $('#results').innerHTML=Object.entries(r.metrics).map(([k,v])=>`<div class=\"metric\"><span>${escape(viz.t(k))}</span><strong data-metric=\"${k}\">${viz.number(v,2)}</strong></div>`).join('');\n const el=$('#graphic');el.replaceChildren();\n if(r.plot){const a=r.plot,x=q=>48+q/a.xmax*278,y=v=>205-v/a.ymax*164;\n let svg=`<svg class=\"plot\" viewBox=\"0 0 360 258\" role=\"img\" aria-label=\"${escape(viz.t('figure'))}\"><path d=\"M48 30V205H333\" fill=\"none\" stroke=\"var(--rule)\"/>`;\n for(const q of [0,a.xmax/2,a.xmax])svg+=`<text x=\"${x(q)}\" y=\"226\" text-anchor=\"middle\">${viz.number(q,1)}</text>`;\n for(const v of [0,a.ymax/2,a.ymax])svg+=`<text x=\"39\" y=\"${y(v)+4}\" text-anchor=\"end\">${viz.number(v,1)}</text>`;\n svg+=`<text x=\"48\" y=\"20\">${escape(viz.t(a.y))}</text><text x=\"326\" y=\"251\" text-anchor=\"end\">${escape(viz.t(a.x))}</text>`;\n (a.areas||[]).forEach((region,j)=>{svg+=`<polygon points=\"${region.points.map(([xx,yy])=>x(xx)+','+y(yy)).join(' ')}\" fill=\"${j===0?'#4c8c9d':'#bd7446'}\" fill-opacity=\".30\"/>`;});\n a.lines.forEach((l,j)=>{svg+=`<polyline fill=\"none\" stroke=\"${col[j]}\" stroke-width=\"${l.key==='wedge'?5:2.5}\" ${l.dash?'stroke-dasharray=\"5 4\"':''} points=\"${l.points.map(([xx,yy])=>x(xx)+','+y(yy)).join(' ')}\"/>`;});\n if(a.dot)svg+=`<circle cx=\"${x(a.dot[0])}\" cy=\"${y(a.dot[1])}\" r=\"5\" fill=\"var(--ink)\"/>`;\n el.innerHTML=svg+'</svg><div class=\"legend\">'+a.lines.map((l,j)=>`<span><i style=\"background:${col[j]}\"></i>${escape(viz.t(l.key))}</span>`).join('')+(a.areas||[]).map((a,j)=>`<span><i style=\"height:10px;background:${j===0?'#4c8c9d':'#bd7446'}\"></i>${escape(viz.t(a.key))}</span>`).join('')+'</div>';\n }else if(r.bars){el.innerHTML=r.bars.map(b=>`<div class=\"barrow\"><div class=\"barlabel\"><span>${escape(b.key?viz.t(b.key):viz.t('round')+' '+b.label)}</span><strong>${viz.number(b.v)}</strong></div><div class=\"bar\"><i style=\"width:${Math.abs(b.v)/Math.max(r.max,...r.bars.map(a=>Math.abs(a.v)))*100}%\"></i></div></div>`).join('')+(N===22?`<p class=\"scope\">${escape(viz.t('negative'))}</p>`:'');\n }else if(r.stack){el.innerHTML='<div class=\"stack\">'+r.stack.map((v,j)=>`<span style=\"width:${v}%;background:${col[j]}\">${v}</span>`).join('')+'</div><div class=\"legend\">'+r.stackKeys.map((k,j)=>`<span><i style=\"background:${col[j]}\"></i>${escape(viz.t(k))}</span>`).join('')+'</div>';}\nrenderTeachingView(r,el);\n}\nfor(const k of Object.keys(DEFAULTS))$('#'+k).addEventListener('input',render);\n$('#reset').addEventListener('click',()=>{for(const[k,v]of Object.entries(DEFAULTS))$('#'+k).value=v;render();});render();\n","audio":false,"strings":{"base":"基準","buyer":"買い手支払 / 単位","demand":"需要","equal":"同じ:10","figure":"現在の条件による図。正確な値は下の結果に示す。","high":"強い:20","loss":"死荷重","low":"弱い:5","price":"単価 P","quantity":"数量 Q","reset":"基準に戻す","response":"需要量の反応係数","result":"計算結果","revenue":"税収","scope":"課税前は価格5、数量70。反応が同じなら税2で買値6、手取り4、数量60。需要の反応を変え負担を比べる。","seller":"売り手手取り / 単位","supply":"供給","tax":"1単位当たり税額","wedge":"税のくさび"}}
まず双方の反応係数を同じにして観察し、その後、需要側の反応係数だけを変更する。図中の売買価格の間隔は常に1食あたりの税に等しく、数量が税収面積を決定する。楔に沿って取引が行われなくなる範囲を見つけ、下の正確な値で照合する。図形の拡張は簡略化された関係であり、本稿では関連する数量区間の変化のみを用いて損失を説明し、局所的な直線を現実の朝食生産技術に外挿しない。
どちらの側が調整しにくいか、どちらがより多くの負担を負うか
買い手が価格に対して反応しにくい(需要弾力性が低い)場合、価格上昇後も離脱は少ない。売り手は他の生産へ転換しやすいため、大幅な価格下落を長期的に受け入れることを強制されにくい。そのため、税負担は買い手に及ぶ可能性が高い。
相互作用の中で需要反応係数を10から5に変更し、無税の基準を5、70に固定し、供給係数は10のままとする。税が2の場合、買い手価格は約6.33、売り手の純収入は約4.33、数量は約63.33となる。買い手は1食あたり約1.33を負担し、売り手は約0.67を負担し、両者の合計は依然として2である。需要反応係数を20に変更すると、負担の方向は逆になる。
これは同じ基準点のもとで相対的な反応を比較するものであり、異なる座標スケールを隔てて「どちらの線がより平らかによってどちらが負担するか」と言うことはできない。実際の税負担は時間とともに変化する。短期間では店舗の立地や設備が固定されており、長期的には企業の参入・退出が可能である。具体的な税制政策を推定するには、現地の市場と制度に関する証拠が必要である。
補助金にも完全な計算が必要である
1食あたり2元の補助金に変更した場合、売り手の純収入は買い手の支払いより2高くなり、すなわち Ps=Pb+2 となる。同じ関係式から Pb=4、Ps=6、Q=80 が得られ、政府支出は 2×80=160 となる。
買い手は価格下落により余剰が 70×1+10×1/2=75 増加し、売り手も75増加し、合計150となる。政府は160を支出するため、純差額は −10 となる。外部性がなく、元の無税均衡が効率的なこのモデルにおいて、新たに追加された10食の取引では、限界資源コストが買い手の評価額を超えているため、損失が生じる。
しかし、これが「すべての補助金が悪い」ということを意味するわけではない。消費に計上されていない公衆衛生上の便益がある場合、または情報障壁が存在する場合、元の民間取引量は過小となっていた可能性がある。政策目標が特定世帯の支援である場合、分配上の便益も別途評価する必要がある。まず何が欠けていたかを問い、それを明確に追加するのであって、「現実は複雑だ」と一言で済ませて計算表を飛ばしてはならない。
財政資金の調達にもコストがかかる。ここでは1元の政府支出を1元として扱っており、調達、徴税、その他の公共プロジェクトの機会コストは含まれていない。現実の政策においては、これらのコストと実際の便益を同じ期間と単位で比較するべきである。
新しいルールで理解を確認する
政府が売り手に対して1食あたり2元の税を課す。売り手は「税はすべて私が納付するので、買い手は負担していない」と言う。この文が何を見落としているかを、本稿の基準を用いて説明せよ。
推論を展開
無税時、買い手は5を支払っていたが、有税時には6を支払う。買い手はすでに高い価格を通じて1食あたり1元を負担している。売り手は純収入が5から4に減少し、もう1元を負担している。税を税務当局に送金する者が誰であるかは法的責任の問題であり、実際の支払いまたは純収入の変化が経済的帰結である。比較には一貫した無税の対照を用いなければならず、税前の表示価格、税後の表示価格、売り手の純収入を1つの変数として混同してはならない。
あるプロジェクトが160元の補助金を支払い、買い手と売り手に貨幣余剰150をもたらす。さらに検証可能な第三者の便益が30ある。同じ貨幣評価基準を用い、他のコストを無視した場合、純便益はいくらか?これに基づいて、すべての住民が恩恵を受けると言えるか?
推論を展開
純便益は 150+30−160=20 である。誰もが恩恵を受けるとは言えない。補助金の負担者が誰であり、買い手、売り手、第三者がそれぞれ誰であるかによって、個人の結果は依然として決定される。第三者の便益が単なる検証されていない推測に過ぎない場合、30を実現済みの収入として扱うことはできない。総量評価、分配評価、証拠の質はそれぞれ別途説明する必要がある。
参考資料
以下は概念・統計定義の参考資料です。数値例と図は独自の教材用設定です。
CORE · Firms and Markets for Goods and Services · CORE · Public Policy for Fairness and Efficiency · OpenStax · Price Elasticity