家計簿アプリの情報をBIツールに入れて家計のダッシュボードを作ってみた

概要

クレジットカードとか銀行とかの情報が自動で取り込まれるのが便利な某家計簿アプリを利用しており、アプリ上でもちょっとした分析ができるようにはなっていたものの、アプリの機能に無いグラフも含め、欲しいグラフが1画面で見れるようなダッシュボードが欲しくなった。
そこで、以下のような感じで情報を取ってきて整えてダッシュボードに表示するような仕組みを作ってみた。
(個別の記事を追加していく予定。すでに書いたものはリンクあり)

  • 家計簿アプリからの情報取得
    Puppeteerで家計簿アプリにアクセスして家計簿アプリのエクスポート機能を叩くようなスクリプトを作成してRundeckで定期的に実行するようにした。

  • 取得した情報の整形
    家計簿アプリ上の情報は、同じ店で払った金額についてのレコードでも支払い方法(クレジットカード、非接触型決済、etc.)によって店名の表記にばらつきがあり、分析に利用できない状態だったため、
    「表記が一致しないが同一の意味をもつ摘要を集約」し、「摘要や口座名等によって利用店舗や受益者等の分析用情報を付加」するツールを作って情報を整えるようにした。

    • 某家計簿アプリからエクスポートしたデータを分析用に整えるツールを作った
  • 家計簿情報をダッシュボードに表示
    これまでBIツールはPowerBI Desktopを使っていたが、個人で気軽に使うにはいちいち学習コストが高く、デスクトップアプリなので分析結果を家族に共有するにも不便だったため、Webで動く使いやすいBIツールを探したところ、Metabaseがちょうどいい感じだったので採用。
    整形後のデータをMetabaseで読み込み、欲しい情報だけが表示されるダッシュボードを作った。

    • Metabaseのダッシュボードを別のアプリに組み込むところで若干手入れが必要だったのでネタはあるが記事にするかは微妙…

構成

TODO: システム構成図を描く

作ったグラフの例

たまに便利だけどほとんど趣味の世界なのは放っておいてほしい。

最近のクレジットカードは〇〇で利用すると還元率○%!それ以外は△%ね!みたいなのばっかなので実際の還元率がみたかった。

f:id:miyataro32:20210117003147p:plain
クレジットカードの利用状況と実際の還元率

投信の積み立て用のプール金が減ってきたときに検知できるように。

f:id:miyataro32:20210117004159p:plain
ジュニアNISA購入用に子供の証券口座に入れてある預け金の残高

この分析によって特定のスーパーの利用を避ければ食費が少し減ることが分かってきた

f:id:miyataro32:20210117002744p:plain
特定期間の店ごとの支出を分析するためのバブルチャート