見出し画像

【JKI】010_Retiring_Early_FIREを想いつつ

【JKI_010】課題を確認

Just KNIME It! (JKI)

今回の挑戦はこちら

DeepL翻訳を一部編集して以下に示します。

課題10:早期リタイア
レベル 簡単
説明 あなたの同僚があなたに向かって、退職するつもりだと言っています。彼女は30歳なので、あなたは笑っています。彼女は真剣です。
彼女がどのようにしてこの決断に至ったかを理解するために、あなたは「Financial Tracker_YOURNAME」(YOURNAMEをあなたの名前に置き換えてください)という名前のKNIMEコンポーネントを作成することになります。このコンポーネントは、ウィジェットを使用して、次の入力を取得する必要があります。

その人の毎月の支出額 (monthly_expenditure_amount)
定年退職の目標年齢 (target_age)

このコンポーネントの出力は、目標年齢で退職するためにどれだけのお金が必要か (amount_to_retire)ということです。簡単のために、コンポーネントにはこの式を使用します。

amount_to_retire = (100 - target_age) * monthly_expenditure_amount * 12

このコンポーネントを使って、同僚が毎月4,000ドル使っているとして、200万ドルが退職するのに十分かどうかを考えてみましょう。この課題をシンプルにするために、インフレ、複利、退職後のパートタイム労働は考慮しないでください。
この計算式がどのようにしてできたのか、興味はありませんか?Trinityの研究をご覧ください。この研究では、参加者が30年間生き残るためには、年間支出額の約25倍が必要で、成功率は95%でした。

【FIRE!】

JKIは課題の選定が面白いですよね。今回はFIRE (Financial Independence, Retire Early) を取り上げたのですね。

私はむしろ生涯現役に惹かれはしますが、働くことも働かないこともできると言うのは確かに自由だと思います。まさに

We are dreamers

ということでいきなり道草ですが今日のテーマソングForceはTOMORROW X TOGETHERの「STILL DREAMING」より「Force」

実は歌詞のFighterをFIREだと思いこんで聴いていました。

【変数入力コンポーネント】

技術的には下記の記事を参考にさせていただきました。

ウィジェットノードのコンポーネントを作成する

の内容などもうそのまま使えそうです。下記の通りKNIME workflow (WF)を組みました。

設定:

初期値は下記のサイトを参考に設定しました。

サイトの題名「生活基盤の安定を図る生活設計」が生々しいです。

30歳でFIREですか。どんな人生になるんだろう。

【必要額を算出】

今回は変数でのMath Formula(Variable)を利用してみました。計算結果も変数で出力されます。

また、算出値のほかに各種入力値も見たくなるのではと思ったので、下記の通りにComponent Outputでの出力設定をしています。

【FIRE可否判断】

実際に使って200万ドルでFIREできるかを考えてみました。
Resetされている初期状態からは右クリックして下記のメニューを選択します。

すると下記の画面が出て入力ができます。

2022年4月の日本だとおそらく3000ドルあったら生活はできると思います。

入力後ウィンドウ右下のCloseを選んで、下図の通りApplyしてやれば計算されます。

さて結果を見てみました。
30歳から100歳までで257万400ドル支出する計算となります。

今回は人類最大の発明である複利を考慮しなかったので200万ドルの単なる切り崩しとなり厳しいですね。

資本主義の未来を信じることができるなら、もう少し明るい可能性を見積もることができます。

僕らの明日はまだ見ぬ光
挫けることもあるけど
抜け出そう迷宮

TXT「Force」

課題への解答はここまでで完了。WFはアップロードしました。


おまけ①:

【より自由に生きる】

FIREならどこに住むかも自由ですから、いろいろと可能性の拡げ方はありますよね。

個人的には沖縄は憧れの土地です。
FIRE後にお勧めの居住地とかシャイン社員さんに深堀りしてもらえないかなぁ。

FIREするからにはより自由にはばたく人もいるのでしょうね。

楽しく夢を見させていただきました。


おまけ②:

【JKI_009感想戦】

先週のJKIは一応目的は達成したと思ったのですが、公式解答と見比べると結構違いがありますね。勉強になります。

以下は印象に残ったポイントを紹介しておきます、ほぼ全てです。

A)   データ型での削除カラム群指定
文字列データを全て削除して機密情報を隠していました。私の想定より多くの情報削減を行ってますが、効率はいいと思います。

B)   Target Shuffling
公式解答を少しだけ作り変えましたが、Column List Loop Startでカラム名を変数として各カラムを処理するので、Target Shufflingという私が知らなかったノードだと、RowIDと関係なくカラム内のデータがシャッフルされるのでノードは一つでいいです。

C)   カラム名変更は正規表現で定義して一括変換

(.+)は任意の1文字以上の文字列を正規表現で表しています。( ) 記号なしでも、すなわち「.+」としても動くようですがわかりやすいようにしているのでしょうか。いろいろ興味深かったです。


記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。