前提知識:企業の費用・価格設定・競争 · 情報の非対称性と契約
ある店舗がもう1人の雇用を増やすことを検討しており、求職者も仕事、通勤、介護の手配を比較している。賃金は価格のように見えるが、労働取引には技能のマッチング、労働条件、長期的な関係、不完全な契約も含まれる。まずは具体的な選択の1つから始め、なぜ同じ失業率の低下が全く異なる変化を意味し得るのかを見ていこう。
本稿の前半では採用と賃金の条件を説明し、後半では個人の移動を雇用統計に位置づける。数値は学習用の設定であり、統計定義については、明確な例として米国のBLS(労働統計局)のCPS(労働力調査)の説明を用いる。各国の年齢範囲や調査規則はそれぞれ確認する必要がある。
企業が1人追加雇用することで何が増えるか
価格受容型の小店舗を想定し、製品単位の収入を5とする。設備と店舗は当日固定である。異なる雇用者数における産出量は以下の通りであり、人数は同じシフトにおける同等の労働単位とする。
| 雇用者数 | 総産出量 | 追加産出量 | 追加売上高 |
| 0 | 0 | — | — |
| 1 | 10 | 10 | 50 |
| 2 | 18 | 8 | 40 |
| 3 | 24 | 6 | 30 |
| 4 | 28 | 4 | 20 |
1人あたりのシフト賃金が35の場合、1人目の追加収入は50、2人目は40であり、どちらも追加賃金より高い。3人目はわずか30しか増加しないため、これらの条件下では2人を雇用する。共通固定コストを含まない残高を直接照合すると、1人の場合は15、2人の場合は20、3人の場合は15となる。
追加売上高は労働の限界収入生産物(MRP)と呼ばれる。これは追加の物理的産出量と販売条件によって共同で決定されるものであり、1人がチーム、設備、顧客から切り離された後の「固有の価値」ではない。製品需要の増加、新ツール、または組織の改善は、企業の採用意欲を変化させる可能性がある。
ここでは追加製品が固定価格で販売できると仮定している。市場支配力がある場合、追加販売量が他の販売単位の価格を押し下げる可能性があり、製品価格ではなく限界収益を用いて計算する必要がある。また、各ポジションが表のように個人の貢献を正確に分離できるとは述べていない。
求職者が比較するのは表示賃金だけではない
1日あたり30多く支払われる仕事でも、通勤時間が2時間増え、交通費が20かかれば、純粋な貨幣的な改善は10にとどまり、時間コストは未計上である。賃金がやや低い別の仕事でも、介護に合わせられるか、研修を提供するものであれば、受諾する価値があるかもしれない。
したがって、労働供給は代替可能な仕事、家族の状況、健康状態、税引後所得、非貨幣的条件の影響を受ける。職を失った人がすぐにあらゆる空席を受けられるわけではない。職業、場所、労働時間、資格がマッチしない可能性がある。採用と求職が同時に存在しているからといって、それが単に労働を望まない人々や企業の需要不足を証明するものではない。
賃金が高いことは、離職の減少、採用の改善、労働への意欲向上をもたらす可能性がある。監督が不完全な場合、企業は必ずしも人が来るだけの最低賃金まで賃金を引き下げようとするわけではない。これは情報と契約の章で続いている:労働契約は将来のすべての行動を網羅することは難しく、真の賃金形成には制度と組織の背景が必要である。
条件の変化:雇用主に買い手側市場支配力がある場合
多くの独立した雇用主が同種の労働を競合するモデルでは、拘束力のある最低賃金を引き上げることが、企業が雇用しようとする人数を減少させる可能性がある。しかし、求職者が仕事を換えにくく、地元の雇用主が少ない場合、1つの企業が上方傾斜の労働供給曲線に直面する可能性がある。つまり、1人追加雇用するには賃金を上げる必要があり、既存の従業員にも一律の賃上げが必要になることがある。
この場合、追加労働コストは最後の1人の賃金よりも高くなる可能性があり、雇用主は雇用を制限する。適切に設計された最低賃金は、一定の範囲内で賃金と雇用の両方を高める可能性がある。高すぎれば依然として雇用を減少させる可能性がある。2つのメカニズムの仮定が異なるため、需給図1本を見て、現実の最低賃金調整が常に同方向に動くと断じてはならない。
実際の政策を判断するには、影響を受けるポジション、雇用主の集中度、元の賃金分布、労働時間、福利厚生、価格、参入・退出などを見比べ、単なる雇用者数の変化だけを見てはならない。賃金は企業のコストであると同時に家庭の所得でもある。この所得が他の企業にどのように伝播するかは、マクロ変動の章で引き続き議論する。
求職経験から3つの統計状態へ
所定の参照期間と統計対象人口において、まず雇用(E)、失業(U)、非労働力(N)に分ける。米国のCPSを例にとると、主に16歳以上の施設に入所していない民間人口を対象とする。雇用には、参照週に働いた者や、仕事を持ちながら休暇などで一時的に休んでいる条件を満たす者が含まれ、失業は通常、無職であり、過去四週間に積極的に職探しを行い、就労可能であることが要求される(一時解雇され、呼び戻しを待つ者には求職活動要件の例外がある)。
働きたいが積極的な職探しを停止した人は、主要な失業指標であるUにカウントされなくなる可能性がある。退職、在学中、または介護者はNに含まれる可能性があり、具体的には調査の行動と条件によって決まり、単なる身分ラベルではない。無償の家事労働は生活にとって重要だが、この市場雇用統計における有給ポジションとして直接扱うことはできない。
計算を容易にするため、100人の固定されたグループを用い、初期状態を雇用60、失業10、非労働力30とする。労働人口は E+U=70 であり、失業率は U/(E+U)=14.29%、労働参加率は (E+U)/100=70%、雇用者比率は E/100=60% となる。
「失業が5人減少」と同じでも、結果が異なる理由
| 初期からの独立した変化 | E | U | N | 失業率 | 労働参加率 | 雇用者比率 |
| 初期状態 | 60 | 10 | 30 | 14.29% | 70% | 60% |
| 失業していた5人が職を得た | 65 | 5 | 30 | 7.14% | 70% | 65% |
| 失業していた5人が職探しを中止した | 60 | 5 | 35 | 7.69% | 65% | 60% |
| 非労働力だった5人が職探しを始めた | 60 | 15 | 25 | 20% | 75% | 60% |
第1と第2の変化はどちらも失業率を低下させるが、雇用を増やすのは第1の変化のみである。第3の変化は失業率を上昇させるが、これは元々労働市場から離れていた人々が機会を再び見出したことを含み得る。単一の比率は、分子、分母、および人口の移動と一緒に読み解く必要がある。
図を準備しています
条件を変えて結果を確かめる100人中、就業60、失業10、非労働力30が基準。就職・求職停止・開始で人数と分母を比較する。
{"id":"economics-19","title":"条件を変えて結果を確かめる","summary":"100人中、就業60、失業10、非労働力30が基準。就職・求職停止・開始で人数と分母を比較する。","height":750,"html":"<div class=\"controls\"><label for=\"scenario\"><span data-i18n=\"scenario\"></span><select id=\"scenario\"><option value=\"0\" selected data-i18n=\"baseline\"></option><option value=\"1\" data-i18n=\"hired\"></option><option value=\"2\" data-i18n=\"exit\"></option><option value=\"3\" data-i18n=\"entry\"></option></select></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=19,DEFAULTS={\"scenario\": 0};\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":{"baseline":"基準のまま","employment":"就業者数","entry":"5人が求職開始","erate":"就業人口比率 / %","exit":"5人が求職停止","figure":"現在の条件による図。正確な値は下の結果に示す。","hired":"5人が就職","outside":"非労働力人口","participation":"労働参加率 / %","reset":"基準に戻す","result":"計算結果","scenario":"変化を選ぶ","scope":"100人中、就業60、失業10、非労働力30が基準。就職・求職停止・開始で人数と分母を比較する。","unemployment":"失業者数","urate":"失業率 / %"}}
各切り替えは、3つのイベントを順に積み重ねるものではなく、同じ初期グループから出発する。どの分母が変化するかをまず予測し、次に色付きのブロックと比率を確認する。失業率20%を、100人中20人が失業していると誤読してはならない。この場合、それは15/75である。
総体としての改善には何を見るべきか
雇用者数が増加しても、1人あたりの労働時間が大幅に減少すれば、総労働投入量は必ずしも増加しない。職を得たとしても、収入や技能がマッチしていないポジションである可能性がある。労働時間、賃金、長期失業、雇用不足、および集団間の差異をさらに詳しく見ることにより、単一の雇用率の盲点を補完できる。
逆に、1つの企業が人員整理を行っても、それが全国の純雇用を同量減少させるわけではない。他の企業が労働力を受け入れる可能性がある。全国の雇用が増加したからといって、元の失業者がすべてより良い職を見つけたわけではないことを意味する。個人の経験、企業の採用、および総体統計は異なるレベルにあり、同じ人々のグループ、または明確に比較可能なグループを用いて接続する必要がある。
新着ニュースを読む
報道では失業率が低下したが、雇用者数は変わらず、労働参加率が低下している。これを直接「企業の採用拡大」と解釈できるか? どの観察を補う必要があるか?
推論を展開
できない。これは労働市場から退出した一部の失業者と整合する。雇用、失業、非労働力間の移動、人口変化、職探しの状態、および統計の参照期間を確認する必要がある。可能であれば、同じグループの移動を見る。下降する失業率に「良いニュース」というラベルを貼るよりも、分子と分母を最初に照合する方が情報量が多い。
店舗の表で賃金が35から45に変わり、製品価格と産出量の関係が変わらない場合、企業は何人を選ぶか? この結果を直接、全経済の賃金政策の効果として代表できるか?
推論を展開
この表では、1人目の追加収入は50、2人目は40しか増加しないため、1人を選ぶ。直接一般化すべきではない。これは固定需要、設備、競争条件下における1つの企業の局所的な選択であり、家庭所得のフィードバック、異なる雇用主、参入・退出、または労働市場の支配力を組み込んでいない。結論を拡大するには、モデルと証拠の範囲をそれに応じて拡大しなければならない。
参考資料
以下は概念・統計定義の参考資料です。数値例と図は独自の教材用設定です。
CORE · The Firm: Employees, Managers, and Owners · BLS · How Unemployment Is Measured