税収がバブル期なみらしいですが本当ですか？


個人的には全く体感してない景気の良さげなニュースが入ってきました．

```
税収は59兆790億円。１兆3670億円増え、バブル期の1991年度（59.8兆円）以来の高水準となった。
```
[18年度予算が成立　過去最大97.7兆円: 日本経済新聞](https://www.nikkei.com/article/DGXMZO2869027028032018MM8000/?n_cid=SNSTW001)

でも1991年(平成3年)ってほぼ30年前ですよね？日本円の価値の変化を考慮してない値を持ち出されても信用出来ないわけです．実際，景気の良さを体感していなですから．．．(私だけかもしれませんが)
そこで，日本円の価値の変化を補正して，実際に税収が1991年水準になってるのか計算してみます．

計算過程は下記においております．
[jupyter notebook](http://nbviewer.jupyter.org/urls/bitbucket.org/Shinaji/public_ipython/raw/745e1bea6f4061238d60b0a94515c89154cef075/2018%E4%BA%88%E7%AE%97%E7%A8%8E%E5%8F%8E.ipynb)

## 日本円の価値の測り方と補正

[日本銀行](https://www.boj.or.jp/announcements/education/oshiete/history/j12.htm/)の説明を参考にすると，企業物価指数と消費者物価指数がお金の価値を測る1つの指標とされているそうです(ニュースでよく聞く単語ですね，恥ずかしながら意味を今回はじめて理解しました)．これら物価指数は，その時期における貨幣価値となるため，下記のように現在と過去の物価指数の比が価値の補正係数となります．

![Kobito.dpwltZ.png](https://qiita-image-store.s3.amazonaws.com/0/65106/e55f88c6-27c0-df3f-323c-703f161e339f.png "Kobito.dpwltZ.png")
この場合，企業物価指数基準において昭和40年の1万円は平成28年の2万円に相当することになります．

## データを収集
物価指数の現在値と1991年当時の値を入手します．企業物価指数は[日本銀行・時系列統計データ検索サイト](http://www.stat-search.boj.or.jp/index.html)から，消費者物価指数は[政府統計の総合窓口(e-Stat)](https://www.e-stat.go.jp)から入手できます．

### 企業物価指数取得
日本銀行のサイトからデータを取得します．エンジニアの皆さんなら悲しくなるかもしれません．sjisのcsvファイルで提供されています．ちなみに英語版の文字コードはasciiです．api使ってjson形式取得できれば楽ですが，古典的にいきましょう．
![Kobito.RIMpkY.png](https://qiita-image-store.s3.amazonaws.com/0/65106/499fddd9-a2bc-4422-44ae-d00eb1abceae.png "Kobito.RIMpkY.png")

1980年1月から2018年2月までの企業物価指数の遷移が以下のように得られました．2008年のリーマンショック前の上昇が急峻ですね．リーマンショックがなければ今頃はどうなってたのでしょうか？

```python
data = org_data["PR01'PRCG15_2200000000"]
cgpi_time = [dt.datetime.strptime(d, data.DatetimeFormat) for d in data.Datetime ]
cgpi_value = np.array(data.Data).astype(np.float)
cgpi_ds = pd.Series(data=cgpi_value, index=cgpi_time)
cgpi_ds.plot(fontsize=15)
```

![Kobito.q4QG4h.png](https://qiita-image-store.s3.amazonaws.com/0/65106/72e832e3-98c4-fec2-2fce-84fa16e60051.png "Kobito.q4QG4h.png")

### 消費者物価指数取得
政府統計の総合窓口から消費者物価指数を取得します．こちらは，apiを使ってjsonで形式でデータを取得できます．apiの仕様書は長いですが，下記のようにブラウザで必要な項目を選択すると対応するapiリクエストURLを生成してくれて便利です．

![Kobito.CM5Ae3.png](https://qiita-image-store.s3.amazonaws.com/0/65106/463b6283-d213-f3ee-6108-7653d814e1f9.png "Kobito.CM5Ae3.png")

企業物価指数に消費者物価指数を重ねたら以下のようになりました．やはり，1991年(平成3年)と現在では明らかに違いがあるようですね．

```python
fontsize = 20
cgpi_ds.plot(fontsize=fontsize, label="Corporate Goods Price Index")
cpi_ds.plot(fontsize=fontsize, label="Consumer Price Index")
plt.legend(fontsize=fontsize)
plt.ylabel("Index", fontsize=fontsize)
plt.vlines(dt.datetime.strptime("1991", "%Y"), 60, 120, linestyle="-.")
plt.xlim(dt.datetime.strptime("1980", "%Y"), dt.datetime.strptime("2020", "%Y"))
plt.ylim(30, 120)
plt.annotate("1991", xy=(dt.datetime.strptime("199110", "%Y%m"), 80),
             xytext=(dt.datetime.strptime("1995", "%Y"), 80),
             arrowprops=dict(facecolor='black'),
             fontsize=fontsize
            )
plt.show()
```

![Kobito.sFiyU2.png](https://qiita-image-store.s3.amazonaws.com/0/65106/09a36add-6097-d126-de28-265214b4512b.png "Kobito.sFiyU2.png")

## 1991年の日本円の価値を基準とした2018年度予算税収の算出

### 税収値取得
[予算書・決算書データベース](http://www.bb.mof.go.jp/hdocs/bxsselect.html)から正確な税収値を取得しました．アクセスするとわかるように，このデータベースは驚くほど人が読むことしか想定してないですね．はっきり言って解析に使えません．よく探せばeSTATのどこかに同様なデータベースがあるのでしょうか？時系列データを作成するのは苦労しそうなため以下のようにしました．

```python
h3_incom = 59_820_384_491_810  # from http://www.bb.mof.go.jp/server/1991/dlpdf/DL199172001.pdf
h30_incom = 59_079_000_000_000 # from http://www.bb.mof.go.jp/server/2018/dlpdf/DL201811001.pdf
```

### 1991年度および 2017年度物価指数
 1991年4月から1992年3月まで(H3年度)の月次物価指数の平均を1991年の物価指数とし，
 2017年4月から2018年2月まで(H29年度)の月次物価指数の平均を現在の物価指数とします．
 
```python
h3_cpi = cpi_ds['1992-03':'1991-04'].mean()
h29_cpi = cpi_ds['2018-02':'2017-04'].mean()
print(f"H3_CPI: {h3_cpi:.3f} %")
print(f"H29_CPI: {h29_cpi:.3f} %")
h3_cgpi = cgpi_ds['1991-04':'1992-03'].mean()
h29_cgpi = cgpi_ds['2017-04':'2018-02'].mean()
print(f"H3_CGPI: {h3_cgpi:.3f} %")
print(f"H29_CGPI: {h29_cgpi:.3f} %")
```
H3_CPI: 94.658 %
H29_CPI: 100.645 %
H3_CGPI: 105.792 %
H29_CGPI: 99.236 %

### 2018年度から1991年度への補正係数算出
上述したように物価指数の比が価値の補正係数となります．消費者物価指数(CPI)と企業物価指数(CGPI)それぞれの補正係数の平均も求めておきました．平均だと30年前とほとんど円の価値は変化していないみたいですね．

```python
coef_cpi_h29_to_h3 = h3_cpi / h29_cpi
coef_cgpi_h29_to_h3 = h3_cgpi / h29_cgpi
coef_ave = (coef_cpi_h29_to_h3 + coef_cgpi_h29_to_h3) / 2 
print("coef_cpi", coef_cpi_h29_to_h3)
print("coef_cgpi", coef_cgpi_h29_to_h3)
print("coef_ave", coef_ave)
```
coef_cpi:  0.941
coef_cgpi:  1.066
coef_ave:  1.003

### 2018年度税収値(予算)の1991年度基準での補正結果
2018年度予算において59兆790億円である税収は1991年度の物価で補正すると

* 消費者物価指数基準のとき 55兆5646億円  (1991年度税収より -4.256兆円)
* 企業物価指数基準のとき 62兆9816億円  (1991年度税収より +3.161兆円)
* 消費者・企業平均物価指数のとき 59兆2731億円  (1991年度税収より -0.547兆円)

消費者物価指数基準だと，まだ1991年度税収より4.256兆円少ないようです．ただし，企業物価指数基準だと3.161兆円増収ですね．平均値基準では1991年度税収より-0.547兆円でほぼ同水準ですね．

```python
h30_incom_cpi_corre = h30_incom * coef_cpi_h29_to_h3
h30_incom_cgpi_corre = h30_incom * coef_cgpi_h29_to_h3
h30_incom_ave_corre = h30_incom * coef_ave
c = 1_000_000_000_000
print(f"1991年度消費者物価指数基準税収\n {h30_incom_cpi_corre / c:.4f}兆円", "1991年度税収との差", f"{(h30_incom_cpi_corre-h3_incom)/c:.3f}兆円")
print(f"1991年度企業物価指数基準税収\n {h30_incom_cgpi_corre / c:.4f}兆円", "1991年度税収との差", f"{(h30_incom_cgpi_corre-h3_incom)/c:.3f}兆円")
print(f"1991年度消費者企業平均物価指数基準税収\n {h30_incom_ave_corre /c:.4f}兆円","1991年度税収との差", f"{(h30_incom_ave_corre-h3_incom)/c:.3f}兆円")
```
1991年度消費者物価指数基準税収
 55.5646兆円 1991年度税収との差 -4.256兆円
1991年度企業物価指数基準税収
 62.9816兆円 1991年度税収との差 3.161兆円
1991年度消費者企業平均物価指数基準税収
 59.2731兆円 1991年度税収との差 -0.547兆円

結論
====
物価指数の時系列変化をみると，1991年では企業物価指数と消費者物価指数は乖離していましたが近年は，ほぼ同様な値を示していることから，税収は1991年度と同水準か増収傾向なのではないのでしょうか．そのため，世間の景気はいいように思われます．
私のように景気の良さをまったく感じられない人は消費者物価指数の影響を強く受ける環境に生きてるからと認識し，この環境から脱出するアイディアをQiitaに投稿して皆で脱出しましょう．

参考文献
-------------
[18年度予算が成立　過去最大97.7兆円: 日本経済新聞](https://www.nikkei.com/article/DGXMZO2869027028032018MM8000/?n_cid=SNSTW001)
[昭和40年の1万円を、今のお金に換算するとどの位になりますか？: 日本銀行](https://www.boj.or.jp/announcements/education/oshiete/history/j12.htm/)
[日本銀行・時系列統計データ検索サイト](http://www.stat-search.boj.or.jp/index.html)
[政府統計の総合窓口](https://www.e-stat.go.jp/)
[予算書・決算書データベース](http://www.bb.mof.go.jp/hdocs/bxsselect.html)