FiveVai AI Lab
← 実演一覧に戻る

経営ダッシュボード

HubSpot・Board・freee の 3 サービスを BigQuery に集約し、売上から予実まで 6 画面を毎朝自動更新する。

3 SaaS のデータを手動で突き合わせる作業 → 毎朝 10 時に Looker Studio へ自動反映
見るだけAI難易度 4/5TypeScript / BigQuery / Looker Studio / GitHub Actions

このPoCから得た実装知

  1. 1freee の OAuth refresh token は single-use で 30 日未使用で失効する。CI への自動ローテーション機構を最初から組み込まないと運用が止まる
  2. 2ELT パターン(raw に素のまま蓄積、変換は BigQuery VIEW に閉じ込める)はスキーマ変更への耐性が高い。Extractor を再実行するだけでリカバリできる
  3. 33 サービスを並列同期し、1 つが落ちても他は継続する設計(continue-on-error)が日次の安定稼働に不可欠
  4. 4mart VIEW は SQL ファイルを staging → marts の順でデプロイすればよく、ビルドツールを使わずシェルスクリプト 1 本で管理できる
  5. 5月次レポートは Google Sheets 書き込み → PDF 変換 → Drive 保存 → Slack 通知を自動化し、人がやることを「予算シートの月次入力」だけに絞れる

判断材料

AI 権限レベル
見るだけAI
想定対象部門
経営企画財務・経理営業
扱うデータ
CRM(HubSpot)案件管理(Board)会計(freee)予算(Google Sheets)Slack
人間の承認
不要(閲覧・通知のみ)
失敗時の止め方
全 raw テーブルが full_refresh 戦略のため、再実行で最新スナップショットに置換される。mart は VIEW なので raw が正常なら自動復旧する
導入難易度
4 / 5
初期導入期間
2〜4 週間でパイプライン構築、Looker Studio 接続まで完了
必要な社内担当
エンジニア(TypeScript・BigQuery)各 SaaS 管理者(API 認証情報の発行)経営企画担当(予算シート入力)
連携対象 SaaS
HubSpotBoard(the-board.jp)freee 会計Google SheetsBigQueryLooker StudioSlack
最小構成
1 サービス(例: freee 会計のみ)から始め、P&L ビューを 1 枚作るだけで価値が出る
横展開先
売上・受注管理P&L 月次モニタリング予実管理顧客・商談パイプライン管理案件進捗管理週次サマリー配信

このPoCが向いている会社

以下に1つでも当てはまる会社では、効果が大きい。

  • HubSpot・Board・freee を並行利用しており、データを手動で Excel に転記して報告している
  • 月次の P&L レポート作成に経理・経営企画が半日以上を使っている
  • 売上見込と会計実績の乖離が朝会で即答できない
  • 予算と実績を同じ画面で比較する仕組みがなく、月末にならないと着地が見えない
  • 複数部門が存在し、部門別の損益を月次で把握したい

経営インパクト

Before

3 つの SaaS を個別に開き、CSVやコピペで数字を Excel に集約して経営報告を作る

After

毎朝 10 時に GitHub Actions が 3 サービスを並列同期し、Looker Studio の 6 ページが自動更新される。月次レポートは 5 日に自動生成され Slack に届く

減ったリスク
手動集計の転記ミス・最新データ未反映によるレポートずれの解消
判断の改善
売上・受注・P&L・予実・顧客・案件進捗を 1 つのダッシュボードで横断でき、朝会での意思決定に使えるようになる
横展開できる型
ELT パターン(raw→staging→mart)と GitHub Actions の並列同期フレームはほかの SaaS 追加にそのまま応用できる

このデータがあれば、これができる

最小構成 ─ まずここから
INPUT DATA
  • freee 会計の API 認証情報
  • GitHub Actions シークレット設定
YOU CAN DO
  • 月次 P&L ビュー(Looker Studio)
  • 月次損益レポート自動生成(Sheets + Slack)
発展構成 ─ ここまでつなぐと強い
INPUT DATA
  • HubSpot API トークン
  • Board API キー
  • freee OAuth
  • Google Sheets(予算データ)
  • GCP サービスアカウント
YOU CAN DO
  • 6 ページ経営ダッシュボード(売上・P&L・顧客・案件・予実・週次)
  • 毎朝 10 時の日次売上見込 Slack 通知(Board 確定・見込・freee 実績の 3 軸)
  • 月 5 日の月次損益レポート(Sheets 書き込み・PDF 生成・Drive 保存・Slack 配信)
  • 部門別 P&L の自動集計

Pain — どんな痛みがあったか

経営者の痛み
  • 今月の売上着地を即答できない
  • P&L と CRM の売上見込の乖離が把握できない
  • 部門別の損益が月末にしかわからない
経営企画・経理の痛み
  • 3 つのサービスを個別に開いて数字を Excel に集約する作業が毎月発生する
  • 予算シートと freee の実績を並べるのに時間がかかる
  • 月次レポートの PDF 作成・配布が手作業
営業の痛み
  • 商談パイプラインと Board 案件の進捗が別画面で分断されている
  • 週次の受注推移を自分で集計しなければならない

Intent — なぜ作ったか

3 つの SaaS を毎回手動で開いて集計する作業をゼロにする。データは BigQuery に集め、変換ロジックは SQL に閉じ込めて、ダッシュボードは自動更新にする。完全な自動化が難しい部分(予算入力)だけ人が担い、あとはパイプラインに任せる設計を徹底した。

Approach / Rationale / Lessons / 改善ログ の続きを読む

Magic Link で 60 秒。クレカ不要・退会即時。

最初の1週間でやること

  • freee の API 認証情報を取得し、月次 P&L を BigQuery に 1 本 raw テーブルで書き込む
  • staging VIEW で最新スナップショットを抽出し、mart_profit_loss を 1 本作る
  • Looker Studio で P&L の折れ線グラフを 1 枚作り、月次の数字が合うか経理と確認する
  • GitHub Actions の cron を設定し、翌朝の自動同期を確認する
  • Slack Webhook を設定し、日次の同期失敗通知を受け取れるようにする

やらないこと

  • 最初から 3 サービス全部を同時に繋ごうとしない。1 サービスの P&L ビュー 1 枚から始める
  • freee OAuth トークンを手動で管理しない。CI への自動ローテーション機構を先に作る
  • mart VIEW を手動の ETL バッチにしない。BigQuery VIEW にすれば raw が更新されると即反映される
  • Looker Studio に raw テーブルを直接接続しない。mart を経由することで集計ロジックが一元管理できる

費用対効果の考え方

  • 月次 P&L レポート作成の手作業削減(集計・Excel 転記・PDF 作成)
  • 売上見込の毎朝プッシュ通知による意思決定の前倒し
  • 予実管理の可視化による月末サプライズの低減
  • 部門別 P&L の自動集計による会議準備コストの削減
このPoCの位置づけ

複数 SaaS を BigQuery で統合する ELT ダッシュボードの実装事例

3 つの SaaS をつないで、毎朝の経営数字を自動で届ける。

導入前チェックリスト

商談前に、自社側でこの 5 点を確認しておくと検討がスムーズに進む。

  • HubSpot・Board・freee のうち、どのサービスを使っているか

    1 サービスからでも開始できる。接続するサービスごとに API 認証情報が必要になる

  • GCP プロジェクトと BigQuery の利用権限があるか

    サービスアカウント(BigQuery Data Editor 権限)を用意する。GCP の初期設定が最初のハードルになりやすい

  • 月次の予算データを管理している Google Sheets があるか

    予実管理機能に使う。なければ予実ページは後から追加できる

  • Looker Studio ダッシュボードを閲覧する対象者(経営者・営業・経理)が決まっているか

    対象者ごとに必要な KPI が変わる。最初から 6 ページ全部を作る必要はない

  • 月次レポートの配信先 Slack チャンネルが決まっているか

    Slack Webhook URL を GitHub Secrets に設定するだけで通知が届く