Claude Code Media
連載 5/6この記事は「case-studies」シリーズの第 5 回 / 全 6シリーズ全体を見る →
72,147中級

KPIレポートを Claude Code で自動化するモデルケース(週4時間→1時間未満の試算)

公開ブログ記事を参考に、GA4・DB・スプレッドシートを横断する週次KPIレポート作成を Claude Code で自動化するモデルケースを編集部が再構成。週4時間かかる作業を1時間未満に短縮できる実装手順を解説。数値は編集部による概算です。

By Claude Code Media 編集部Reviewed by Claude Code Media 編集部

TL;DR

  • 公開記事で紹介された手法を参考に、毎週月曜4時間かかるKPIレポートを Claude Code で1時間未満に短縮できるモデルケース(※編集部概算で約75%削減)
  • GA4 API・DB接続・前週比計算・異常値検出・スプレッドシート出力をスキルコマンド /analyze 一発で自動実行
  • 「設計段階で Claude と壁打ち → 実装」の流れが定着すれば、固定品質で毎週繰り返し実行できる状態になる

Before:手作業のフロー

毎週月曜日の午前中に4時間を費やす、データ集計と分析の連鎖作業。

① GA4 管理画面でユーザー行動データを手動確認(60〜70分)

GA4 の管理画面にログインし、先週のセッション数・離脱率・コンバージョン率などを画面から手動でコピーする。複数の指標・複数セグメントを繰り返し確認するためページ遷移が多く、見落としも発生しやすい。

② DB から事業KPIを手動取得(30〜40分)

SQL を手打ちしてDB から注文数・売上・MAUなどのビジネス指標を取得する。クエリの書き方を都度思い出す作業も加わり、ミスが混入しやすい。

③ スプレッドシートへの貼り付けと前週比計算(50〜60分)

GA4 と DB のデータを定型フォーマットのスプレッドシートに貼り付け、前週比・前月比を EXCEL 数式で計算する。コピペの順序ミスや数式の参照ずれが起きると再確認に追加時間がかかる。

④ 異常値の目視判定と原因調査(40〜50分)

数値を眺めて「先週と比べて大きく変動している指標」を目視で探す。異常と判断したら可能性のある原因(キャンペーン・障害・季節性)を記憶から手繰り寄せる。

⑤ アクションプラン作成(20〜30分)

分析結果をもとに「今週どう動くか」を文章化してレポートに記述する。毎週同じような文章を書いていても、ゼロから書くと時間がかかる。

合計 週4時間。月換算で約16時間を占める定型作業であり、「本来注力すべき分析・意思決定の時間」を圧迫していた。


After:Claude Code 導入後のフロー

/analyze コマンドを実行するだけで、データ取得から出力まで全工程が自動実行される。

/analyze コマンドを実行(10秒)

/analyze

② 自動処理(45〜55分)

Claude Code が以下を順番に実行する:

  1. GA4 API に接続し、先週のセッション・離脱・CVR 等を取得
  2. DB に接続し、注文数・売上・MAU 等のビジネス KPI を取得
  3. 前週比・前月比を自動計算
  4. 統計的外れ値検定で異常値を自動検出
  5. 異常値に対してアクションプランの候補を自動生成
  6. 定型フォーマットのスプレッドシートに結果を書き出し

③ レビューと承認(5〜10分)

生成されたレポートを確認し、アクションプランを最終調整して完了。合計 1時間未満

補足: 初回のみ CLAUDE.md への API キー設定と処理ルールの記述が必要。一度整備すれば毎週コマンド一発で再現できる。


実装ステップ(コピペで動く)

1. CLAUDE.md の準備

プロジェクトルートに CLAUDE.md を作成し、KPI レポートエージェントの設定を記述する。

# KPIレポート自動化エージェント設定

## データソース
- GA4: Project ID: ${GA4_PROJECT_ID}(環境変数)
- DB: PostgreSQL(.env の DATABASE_URL 参照)
- 出力: Google Spreadsheet(SPREADSHEET_ID 参照)

## 処理ルール
1. GA4 API から先週月曜〜日曜のセッション・直帰率・CVR を取得
2. DB から同期間の注文数・売上・MAU を取得
3. 前週比・前月比・3ヶ月移動平均を計算
4. 前週比で ±20% 超の指標を「異常値候補」とフラグ
5. 異常値ごとに考えられる原因と対策案を3点列挙
6. 結果をスプレッドシートの「weekly_kpi」シートに書き出す

## 出力フォーマット
| 指標 | 先週実績 | 前週比 | 前月比 | 3ヶ月平均 | 異常フラグ |
|---|---:|---:|---:|---:|---|

2. Subagent の作成

.claude/agents/kpi-analyzer.md に KPI 分析専用のサブエージェントを定義する。

---
name: kpi-analyzer
model: claude-sonnet-4-5
description: GA4とDBからKPIを自動取得し、前週比計算・異常値検出・アクションプラン生成・スプレッドシート出力まで一気通貫で実行するKPI分析エージェント
---

## ミッション
週次KPIレポート作成の工数を最小化し、担当者が「分析・意思決定」に集中できる環境を作る。

## 入力
- GA4 API(環境変数 GA4_PROPERTY_ID / GOOGLE_APPLICATION_CREDENTIALS)
- PostgreSQL DB(環境変数 DATABASE_URL)
- 対象期間: 直近の月曜〜日曜

## 処理フロー
1. GA4 API で先週のユーザー行動指標を取得
2. DB で先週のビジネス KPI を取得
3. 前週比・前月比・移動平均を計算
4. 外れ値検定(IQR法)で異常値を検出
5. 異常値ごとにアクションプラン候補を3点生成
6. Google Sheets API でスプレッドシートを更新
7. Slack に完了通知を送信(SLACK_WEBHOOK_URL)

## 品質ルール
- 計算式は必ずコメントを残す(「誰でも検算できる」状態を維持)
- 異常値判定の根拠(前週比 ±X%)を必ず明記
- DB クエリは実行前に EXPLAIN ANALYZE でコストを確認
- スプレッドシート書き込みは既存セルを上書きしない(append mode)

3. Hook の組み込み

.claude/hooks/post-kpi-notify.sh を作成し、レポート完成時に Slack 通知を自動送信する。

#!/bin/bash
# KPIレポート完成時のSlack通知フック

WEBHOOK_URL="${SLACK_WEBHOOK_URL}"
SPREADSHEET_URL="https://docs.google.com/spreadsheets/d/${SPREADSHEET_ID}"

PAYLOAD=$(cat <<EOF
{
  "text": "📊 週次KPIレポートが生成されました",
  "attachments": [{
    "color": "#36a64f",
    "fields": [
      {"title": "レポート", "value": "<${SPREADSHEET_URL}|スプレッドシートで確認>", "short": true},
      {"title": "生成日時", "value": "$(date '+%Y-%m-%d %H:%M')", "short": true}
    ]
  }]
}
EOF
)

curl -s -X POST -H 'Content-type: application/json' \
  --data "$PAYLOAD" "$WEBHOOK_URL"

.claude/settings.jsonhooks セクションに PostToolUse として登録する。

4. 動作検証

# 必要な環境変数を設定
export GA4_PROPERTY_ID="your-property-id"
export GOOGLE_APPLICATION_CREDENTIALS="./credentials.json"
export DATABASE_URL="postgresql://user:pass@localhost:5432/mydb"
export SPREADSHEET_ID="your-spreadsheet-id"
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxx"

# テスト実行(先週分のKPIを生成)
/analyze

# 生成されたレポートの確認
# → スプレッドシートの weekly_kpi シートが更新される
# → Slack に完了通知が届く

前週比で大きく変動した指標に「⚠️ 異常値候補」フラグが付き、各異常値に対してアクションプランが3点提示されることを確認する。


KPI 変化(編集部によるモデルケース試算)

下表は引用元記事を参考に編集部が一般的なケースとして試算した想定値です。実測値ではありません。

指標BeforeAfter削減
週次KPIレポート工数240 分60 分未満約75%(※編集部概算)
月間工数(×4週)960 分240 分未満約75%(※編集部概算)

発展:完全自動化への道

launchd(macOS)や cron(Linux)で毎週月曜朝8:00に自動実行するよう設定すれば、出勤時にはすでにレポートが完成している状態を実現できる。

# cron 設定例(毎週月曜 8:00 に /analyze を実行)
0 8 * * 1 cd /path/to/project && claude -p "/analyze" >> ~/logs/kpi-report.log 2>&1

GA4 と DB のほかに Salesforce・HubSpot・Stripe などの SaaS を MCP 経由で接続すれば、複数ソースを横断するより広いKPIをカバーできる。詳細は Claude Code MCP 連携ガイド を参照。


引用元

本記事は上記の公開記事で示された手法を参考に、編集部が一般的なモデルケースとして再構成したものです。記事内の数値は引用元記事に基づく編集部の概算であり、引用元著者・所属企業の公式な実績値を示すものではありません。

この記事の著者

claude-code-media 編集部Claude Code 専門編集チーム

Claude Code の非エンジニア向け業務効率化メディア『claude-code-lab.jp』を運営。フリーランス・中小企業・個人開発者向けに、実装テンプレ・業務自動化テクニック・Vibe Coding 入門を配信。

Claude Code 完全ガイドVibe CodingAI 業務効率化非エンジニア向け AI 教育MCP(Model Context Protocol)
ByClaude Code Media 編集部

AI支援で執筆 — 本記事は Claude Code エージェントによる執筆支援を受け、編集部が事実確認・編集を行っています。 数値・引用元は記事更新日時点で確認済みですが、最新情報は各公式サイトでご確認ください。

Related

続けて読む

すべての記事 →