使いすぎた項目が分からない
毎月お金が残らないと感じても、何に使いすぎているのかを明細だけで判断するのは困難です。
SPENDOPS DASHBOARD
PayPayやカードの利用明細から支出を分かりやすく振り返る
SpendOps Dashboardは、PayPay、JCB、三井住友VISAの明細をまとめて確認できる支出分析ダッシュボードです。
AWSを活用している企業へのアピールとして、AWSのサービスを基盤に開発・運用できることを示すために制作しました。
キャッシュレス決済を使う機会が増える一方で、PayPayやクレジットカードなど、支払い方法ごとに明細が分かれています。そのため、「何に、どれくらい使っているのか」をまとめて把握しにくいと感じました。
そこで、複数の決済サービスから出力したCSVをまとめて読み込み、月別・カテゴリ別に支出を可視化するダッシュボードを開発しました。自分の過去や匿名化された利用者平均と比較し、月ごとの支出の変化も確認できます。
想定ユーザー
将来のために貯金をしたいと考えているものの、複数のキャッシュレス決済を利用しており、毎月「なぜかお金が残らない」と感じている。
自分の支出を振り返り、改善点が分かれば行動へ移せる人を想定しています。
毎月お金が残らないと感じても、何に使いすぎているのかを明細だけで判断するのは困難です。
PayPayとカードの明細が別々に出力され、月全体の支出傾向を把握しにくい状態です。
他人の利用先や金額をそのまま共有すると、プライバシー上の問題が生じます。
PayPay・JCB・三井住友VISAのCSVを共通形式へ変換する
月別・カテゴリ別・支払い方法別に支出を集計する
自分の過去や匿名化された利用者平均との差を比較する
他人の生明細は見せず、匿名化した集計値だけを使う
完全自動化より、CSVから正確に取得できる範囲を優先する
CSV取込、正規化、集計、比較、認証、保存、データ保護を実装しています。
| 企画書で設定した内容 | 状態 | 現在の実装内容 |
|---|---|---|
| Cognitoでログインし、利用者を分ける | 達成 | usersとadminsのグループを分離 |
| 3種類のCSVをアップロードする | 達成 | PayPay・JCB・三井住友VISAに対応 |
| CSVを共通形式へ正規化する | 達成 | 文字コードと列構成を判定して正規化 |
| 月別・カテゴリ別に集計する | 達成 | 月別・直近12か月・全期間を表示 |
| 本人と匿名化された平均を比較する | 達成 | 利用者平均、自分の過去、参考値を切替 |
| CSV原本と他人の生明細を保存しない | 達成 | 必要最小限の正規化済みデータだけを送信 |
CSV原本はブラウザー内で解析し、AWSには画面復元と集計に必要な正規化済みデータだけを送ります。
文字コードや列構成を判定し、共通形式へ正規化します。
原本はブラウザー内で解析し、必要なデータだけを送ります。
利用者を認証し、本人のデータだけを取得できる境界を設けています。
他利用者の生明細を表示せず、条件を満たす月別集計だけを比較します。
カテゴリ修正を、次回以降も本人専用の分類として反映します。
AWS環境をコードで管理し、同じ構成を再現できます。