財務可視化サービス構想 - 生成AI連携とメディア出力
現状の課題
現在の比例縮尺コンポーネントはデータをオブジェクトで渡して表示している。このデータ入力部分をユーザーが直接操作できるようにすれば、より実用的なツールになる。
構想概要
1. インプット機能の追加
- データをテキストエリアやフォームで入力できるようにする
- 生成AIが出力したJSONデータをそのまま貼り付けられる
- 入力されたデータをリアルタイムで比例縮尺チャートに反映
2. アニメーション機能
- 時系列データ(例:10期分のBS推移)をアニメーションで表示
- 比例縮尺の変化を視覚的に追跡可能
- 動画としてエクスポート機能
- 静止画としてもエクスポート可能
3. セキュリティ対策
インジェクション攻撃への対策が必要:
- フロントエンドバリデーション
- 定義されたプロパティ以外は受け付けない
- 想定外の値はエラーとして拒否
- Zodなどのスキーマバリデーションを活用
- 許可リスト方式
- 指定したプロパティと値の型のみ受付
- 不正なデータは明確にエラーメッセージを表示
想定ユースケース
生成AIとの連携フロー
- ユーザーが財務諸表のPDFをGeminiなどに渡す
- インプット定義(JSONスキーマ)の例を提示
- 生成AIが財務データを指定フォーマットで出力
- ユーザーが出力をコピペでアプリに入力
- 比例縮尺チャートが自動生成される
メリット
- Excelでの手作業が不要
- 複数期間のデータも一括で処理可能
- 視覚的な財務分析が簡単に
インプットデータ定義(案)
interface FinancialData {
companyName: string;
periods: Period[];
}
interface Period {
label: string; // "2024年3月期" など
balanceSheet: {
assets: {
currentAssets: number;
fixedAssets: number;
};
liabilities: {
currentLiabilities: number;
fixedLiabilities: number;
};
equity: {
shareholdersEquity: number;
};
};
}
サービス構想
命名案
- 「Chat Stories」ではなく、静止画+動画の両方を出力するメディア生成ツールとしての名前が良い
- 「Make Medias」的な複数形のメディアを作るイメージ
- 「Pixel」のような、出力形式を俯瞰した名称
サブドメイン構成(案)
| サブドメイン | 用途 |
|---|---|
chat.xxx.com | チャットストーリー生成 |
fs.xxx.com | Financial Statement(財務諸表)可視化 |
- UIや実装の大部分を共通化できる
- データ入力 → バリデーション → 可視化 → エクスポートの流れは共通
目的・モチベーション
投資教育としての活用
- 数字を動かして頭の中で見れるようになることが目的
- 実際に動かしてみることで理解が深まる
- 静的な数字を見るだけでは身につかない感覚を養う
BS・PLの連動理解
- BSとPLの連動は頭の中でパッと想像しにくい
- アニメーションで動かすことで「違和感」に気づけるようになる
- 例:棚卸資産の回転期間
- 売上が変わっていないのに棚卸資産が増えていく → 違和感
- 在庫が滞留している可能性
- 回転期間の悪化を視覚的に捉える
期待される効果
- 財務諸表の「動き」を体感的に理解
- 数字の変化に対する「違和感センサー」を養う
- 投資判断の質の向上
次のステップ
- インプットコンポーネントのプロトタイプ作成
- バリデーションロジックの実装
- アニメーション機能の検討
- エクスポート機能(画像・動画)の調査
- 生成AI用のプロンプトテンプレート作成
- サービス名の決定とサブドメイン構成の設計