輸出を1行足し忘れて、日本経済が3割縮んだ

モデルが動くようになって、最初のグラフを描いた。
2027年度のGDPが522兆円になっていた。

日本経済シミュレーターをつくる第1回 / 全9回目次

経済のモデルというのは、要するに連立方程式の塊だ。
人口が労働力を決めて、労働力と設備と技術が「これだけは作れる」という上限を決める。
その一方で、家計がいくら使い、企業がいくら投資し、政府がいくら支出し、外国がいくら買うかで、実際に作られる量が決まる。
この2つの差が需給ギャップで、そこから物価が動き、物価から金利が動き、金利から為替と株価と国の利払費が動く。

ひととおり書き終えて、2026年度から2050年度までを回してみた。
出発点は名目GDP686兆円。ここは実績なので動かない。
その翌年、2027年度が522兆円だった。

1年で164兆円が消える国は無い

リーマン・ショックのとき、日本の名目GDPは1年で6%ほど落ちた。
東日本大震災の年でも数%だ。
164兆円、率にして24%が1年で消えるというのは、戦争でも起きない。

こういう壊れ方をしてくれるのは、実はありがたい。
本当に怖いのは「それらしい数字」が出てしまうバグのほうで、そちらは最後まで気づけない。

まず需要の内訳を全部そのまま印刷してみた。

C(消費)     375.1
H(住宅) 23.3
I(設備投資) 120.9
G(政府消費) 149.5
Ig(公共投資) 31.6
X(輸出) 169.8
M(輸入) 177.5

足し引きすると692.7兆円になる。
なのに実質GDPは522.8兆円。差はちょうど169.8兆円で、輸出の額と一致していた。

犯人はこの1行だった

let realGdp = domesticDemand - imports;

内需から輸入を引いている。輸出を足していない。
GDPは「消費+投資+政府支出+輸出−輸入」なので、最後の項が丸ごと抜けていた。

直すのは1文字ぶんの仕事だった。

let realGdp = domesticDemand + exports - imports;

ばかばかしい間違いだと思う。
ただ、書いている最中の私にはまったく見えていなかった。
内需を組み立てるのに何十行も使って、そのすぐあとに輸出を計算する行があって、頭の中では「もう足した」ことになっていた。

テストでは見つからなかったと思う

このバグを見つけたのは、テストではない。
25年ぶんの経路を表にして印刷する、というだけのスクリプトだった。

単体テストは「消費税を上げたら税収が増えるか」のような向きの検証には強い。
でも「その世界の姿がまともかどうか」は判定できない。
522兆円という数字がおかしいと思えるのは、人間が持っている桁の感覚のほうだ。

なので、モデルを1行でも触ったら必ずこの表を出して眺める、という手順を先に用意した。
いま見ているのは、名目GDP・実質成長率・潜在成長率・需給ギャップ・物価・賃金・実質賃金・失業率・政策金利・長期金利・為替・株価・税収・社会保障給付・基礎的財政収支・債務比率・人口・出生率・平均給与・実質手取りの20列だ。
2年おきに1行、13行に収まる。

そのあと、物価が上下限に張り付いていないか、失業率が10%を超えていないか、為替が100円を割っていないかを毎回目で確かめている。
このどれかが起きていたら、たいてい実績値ではなく係数のほうが間違っている。

ちなみに、この表を出す仕組みを作ったあと、モデルはもっと派手に壊れた。
次はその話を書く。

スタンプラリーに挑戦する 行った場所・気になる場所は、現地チェックインでスタンプに残せます。 みんなのコースを見てみる 会員が作ったスポット巡りのコースを都道府県から探せます。自分だけのコースも作れます。 運営者の個人noteも書いています AI活用やサイト運営で気づいたことを、もう少し個人の視点で掘り下げています。

※運営者が個人で書いているnoteです。

技術ブログ一覧へ戻る