🟠

年金をもらい始める最適なタイミングを計算してみた

2024/05/26に公開

はじめに

お久しぶりです。社会人になってようやく落ち着いてきて、FP3級の勉強を始めました。そこで出てきた年金の話で何歳に貰えば損しないのかという疑問が出たので解決しようと思います。

本題

老齢年金は2種類あって、国民保険の老齢基礎年金と、会社員の人が入っている、老齢厚生年金があります。そして、年金は働きながらももらえるらしいです。

基礎年金は給与に関わらず全額、厚生年金は給与と年金の合計を48万円以下に抑えないと、全額もらえないので注意です。

・基本年金月額 + 総報酬月額相当額が50万円以下の場合 →全額支給

・基本月額 + 総報酬月額相当額が50万円を超える場合

→基本月額 -(総報酬月額相当額+基本月額-50万円)× 1/2

65歳を基準とし、もらえる額は年収や納めた期間などによって変わるため、自分がもらえる額を調べてみてください。)

この時、もらい始めるタイミングを早めるか遅くするかで毎月もらえる額が変わってきます。

もらうのを早めることを繰上げ受給といい0.4%減額されます。

もらうのをおそめることを繰下げ受給といい0.7%増額されます。

今回は、65歳時に毎月15万円もらえる人が、いつもらい始めるのがベストか計算します。

例 80歳に死を迎えると想定して、それまでにもらえる合計を総支給額とします。xはもらい始める年齢です。

x 60歳 65歳 70歳 75歳
80-x 20年 15年 10年 5年
毎月の支給額 11.4万円 15万円 21.3万円 27.6万円
年間の支給額 136.8万円 180万円 255.6万円 331.2万円
総支給額 2736万円 2700万円 2556万円 1656万円

お気づきの人もいると思いますが、実は65歳よりも、60歳からもらい始めた方が、総支給額が大きいですよね。そして増額するからと言って、貰うのを遅くしてしまうと逆に得する前に死を迎えてしまうという事態になります。

もう少し詳しくみていきましょう。具体的にどのタイミングがベストなんだと。

死ぬ年齢を変化させて、最適な貰うタイミングを計算してみました。

死ぬ年齢 もらい始める年齢 総支給額
75歳 60歳 2052万円
80歳 62歳 2773.44万円
85歳 69歳 3847.68万円
90歳 71.5歳 5148.18万円

pythonコード

!pip install japanize-matplotlib
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib 
%matplotlib inline
# 関数の定義
def f_x(x, max_x):
    if x >= 65:
        return ((x - 65) * 12 * 0.007 + 1) * 15 * (max_x - x) * 12
    else:
        return (1 - (65 - x) * 12 * 0.004) * 15 * (max_x - x) * 12

# max_xの値をリストで定義
max_x_values = [75, 80, 85, 90]
# グラフのプロット
plt.figure(figsize=(10, 6))

for max_x in max_x_values:
    x_values = np.arange(60, max_x+0.5, 0.5)  # 6ヶ月単位(0.5年刻み)
    y_values = np.array([f_x(x, max_x) for x in x_values if x <= max_x])
    
    # 最大値を探す
    max_index = np.argmax(y_values)
    max_x_val = x_values[max_index]
    max_y_val = y_values[max_index]
    
    # 関数のプロット
    plt.plot(x_values[x_values <= max_x], y_values, label=f'max_x={max_x}')
    
    # 最大値のプロット
    plt.scatter(max_x_val, max_y_val, color='black')
    print(max_x,'歳',max_x_val,'歳', max_y_val,'万円')

plt.axvline(x=65, color='red', linestyle='--', label='x = 65')
plt.xlabel('年金を受け始める年齢')
plt.ylabel('総支給額')
plt.title('65歳で毎月15万を基準とした時の受け取るタイミングによる総支給額の変化')
plt.legend()
plt.grid(True)
plt.show()

まとめ

今回は15万で計算してみましたが、pythonコードの15を自分の額に変えれば計算できるので試してみてください。pythonわからないという方は、難しく考えずにgoogle colabと検索して上記のコードをコピペでいけます。

今回、年金は仕事を辞めてからしかもらえないと思っていたので、年金について勉強してよかったと思いました。また、65歳が基準なので65歳からもらい始めそうですが、65歳は最大値ではないので、自分の死のタイミングを予想してもらい始めましょう。そんなことできるのかという問題はありますが...

参考文献

Discussion