0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コード0行で作る定期分析Bot — Claude Code × Routines × MCPで採用広告分析を自動化した話

0
Last updated at Posted at 2026-04-30

はじめに

ある日、採用チームから「各媒体の広告数値を手動でまとめて分析してるんだけど、自動化できない?」と相談されました。

話を聞くと、n8nで各媒体からスプレッドシートにデータが溜まるところまでは構築済み。ただ、そこから先の「数値を見て、分析して、レポートにまとめてSlackに投げる」がずっと手作業だったと。

やりたいことはシンプルなんですが、こっちもがっつりリソースを割ける状況ではなかった。なので「最速で作れて、渡した後に採用チーム自身でPDCAを回せる方法」を考えることにしました。

まずは検証として仕組みを作って渡して、向こうで回してみてもらう。精度が微妙なら別のアプローチを提案すればいい、という割り切りです。

なぜClaude完結にしたか — GAS / n8n拡張 / Python との比較

自動分析の仕組みを作る選択肢はけっこうあります。

方法 実装コスト メンテナンス 非エンジニアが触れるか
GASで分析ロジックを書く 中〜高 コード修正が必要 厳しい
n8nにClaude APIノードを追加 n8nフロー編集が必要 微妙
Pythonスクリプト + cron コード修正が必要 無理
Claude Code + Routines + MCP スプシ編集だけ できる

決め手は2つ。

1. 実装コストが圧倒的に低い
コードを1行も書かずに動くものができる。MCP認証して、Routinesのプロンプトを書くだけ。数時間で検証まで終わりました。

2. 非エンジニアが自分でチューニングできる
ここが一番大きかった。GASやPythonで作ると、「分析の観点を変えたい」ってなった瞬間にエンジニアへの依頼が発生する。Claude完結なら、スプレッドシートの「分析設定」シートを書き換えるだけでレポートの内容が変わる。Routines再設定すら不要。

要するに、作って渡したら、あとは採用チームだけでPDCAを回せる。少なくとも狙いとしてはそう。実際にどこまで回るかはこれからの検証次第ですが、仕組みとしてそうなっているのが大事でした。

全体アーキテクチャ

仕組み自体はシンプルです。

Google Sheets(広告データ + 分析設定)
    ↓ Claude Code が Routines で自動読み取り
    ↓ 「分析設定」シートの指示に従って分析
    ↓
Slack に分析レポートを自動投稿

使っている技術要素:

  • Claude Code の Routines/schedule): 定期実行のスケジューラー。Anthropicのクラウド上で動くのでPCがオフラインでもOK
  • MCP(Google Drive): スプレッドシートの読み取り
  • MCP(Slack): レポートの投稿

n8nで各広告媒体からデータを収集してスプシに溜める部分は、採用チーム側で構築済みだったので、自分は「スプシ → 分析 → Slack投稿」のパイプラインだけ作ればよかった。

肝: 分析設定シート = プロンプトをスプシで管理する

この仕組みの一番のポイントは、分析ロジックをコードではなくスプレッドシートで管理していること。

スプシに「分析設定」というシートを1枚追加して、こんな感じで管理しています:

項目 設定値
分析観点 各媒体のCPFを比較し、前週比で+10%以上悪化した媒体を異常値として検出する
改善提案 CPFが高い媒体の改善アクション、予算配分の最適化案を3つ提案する
出力形式 サマリー → 異常値検出 → 好調な媒体 → CPF改善アクション提案 の4セクション構成
Slackチャンネル C0XXXXXXXXX
補足指示 応募数が少ない媒体は費用対効果が悪いため、予算シフトを積極的に提案すること

Routinesで実行されるプロンプトは「スプシを読み取って、分析設定シートの指示に従って分析して、Slackに投稿して」だけ。分析の具体的な観点・出力形式・投稿先は全部スプシ側で持っている。

だから、分析の切り口を変えたくなったらスプシを書き換えるだけ

# 例: コスト削減重視にしたい場合
補足指示 → 「CPFが平均より高い媒体は予算削減を最優先で提案すること」

# 例: 新媒体を評価から除外したい場合
補足指示 → 「掲載開始から2週間以内の媒体はCPFが安定していないため、異常値判定から除外すること」

これ、よく考えるとプロンプト = 分析基準そのものなんですよね。

人間がスプシを見て判断するときも、「何を見るか」「何を異常とするか」は頭の中にある。それを言語化してスプシに書いただけ。むしろ分析基準が可視化・共有されている分、属人化しにくい。チーム内で「何を基準に判断してるか」がズレないのは地味にデカい。

セットアップ手順

実際の手順を書いておきます。

Step 1: MCP認証

Claude Codeで /mcp を実行して、Google DriveとSlackを認証。これでスプシの読み取りとSlack投稿ができるようになる。

Step 2: スプシに「分析設定」シートを追加

データが溜まるスプシに「分析設定」シートを追加して、分析観点・改善提案・出力形式・Slack投稿先・補足指示を記入。

いきなり書くのが難しければ、Claudeにスプシを読み込ませた上で「このデータで定期分析レポートを自動化したい。ヒアリングしながら分析設定シートを一緒に作って」と頼むと、対話しながら作れます。

Step 3: 手動テスト

まずは手動でこう実行:

スプレッドシート(ID: XXXXX)を読み取って、「分析設定」シートの指示に従って
データを分析し、指定されたSlackチャンネルに投稿して

Slackにレポートが投稿されたら、内容を確認。おかしければ分析設定シートを調整。

Step 4: Routines設定(/schedule

手動テストでOKだったら、Routinesを設定:

以下の処理を毎週月曜9時に実行するRoutineを設定して:

1. Google Drive MCPでスプレッドシートを読み取る(ID: XXXXX)
2. スプシ内の「分析設定」シートに記載された分析観点・改善提案・補足指示に従ってデータを分析する
3. 分析設定シートの「出力形式」に従ってレポートを構成する
4. 分析設定シートの「Slackチャンネル」に指定されたチャンネルにSlack MCPで投稿する

これで完了。

分析精度の話 — 「AIの分析って大丈夫?」への答え

「プロンプトで分析して精度出るの?」って聞かれることがあります。

正直なところ、まだ検証段階なので「完璧に出ます」とは言えない。ただ、構造的にチューニングしやすい仕組みにはなっているかなと。

そもそも人間が手動で分析してたときも、「CPFが前週比で10%以上悪化してたら要注意」みたいな基準は暗黙的に頭の中にあったわけです。それを分析設定シートに言語化して書き出しただけ。基準が可視化されている分、「何がズレてるか」が特定しやすく、調整もしやすい。

なので、導入時のアプローチはこうしています:

  1. 最初の数週間は自動レポートと人間の判断を並走させる
  2. 「自動レポートではこう言ってるけど、自分の判断とズレてるな」があれば分析設定シートを調整
  3. PDCAを回すコストはスプシを編集するだけなのでほぼゼロ

精度が根本的に足りなければ、GASやn8n + Claude APIでもっと構造化されたパイプラインに切り替える選択肢もある。ただ、まずはこの軽い仕組みで「分析基準を言語化して回す」サイクル自体を立ち上げるのが先かなと。

注意点・ハマりどころ

構築・検証の過程でわかった注意点をいくつか。

Tips: Claude Codeの定期実行は2種類ある

Claude Codeで「定期実行」を組む方法は2つあって、特性がまったく違う。今回は Routines を使ったが、知らずに /loop で作ると挙動が変わるので整理しておきます。

/schedule(Routines) /loop(セッション内スケジュール)
スケジュール定義 cron式(3 9 * * 1-5 など) cron式(同じ)
実行環境 Anthropicクラウド ローカル(セッション内)
PCオフライン 動く 動かない
有効期限 なし(永続) 7日で自動期限切れ
用途 本番の定期実行 短期的な繰り返しタスク

どちらも「cron式」でスケジュールを定義するので紛らわしいが、仕組みは別物。/loop はセッションに紐づくので、セッションを閉じたり7日経つと止まる。「あれ、動いてない?」ってなったらだいたいこれ。

長期で安定運用するなら Routines(/schedule)一択

参考: Scheduled tasks - Seven-day expiry

MCP認証トークンの期限切れ

Google DriveやSlackのMCP認証トークンが切れることがある。切れた場合は /mcp で再認証すればOK。

スプシのカラム構成を変えたら分析設定も更新

n8n側で収集するデータのカラム構成を大きく変えた場合は、分析設定シートの分析観点も合わせて更新しないと、古いカラム名を参照して分析が壊れる。

まとめ

「採用チームの広告分析を自動化してほしい」という相談に対して、まずは検証用にClaude Code の Routines × MCP だけで仕組みを作って渡した話でした。

ポイントをまとめると:

  • コードは0行。MCP認証 → 分析設定シート作成 → Routines設定の3ステップで動く
  • 分析ロジックはスプシで管理。プロンプト = 分析基準という発想で、非エンジニアでもチューニングできる
  • 向こうでPDCAを回せる仕組みにする。精度の調整もスプシ編集だけで完結するので、エンジニアが張り付かなくていい

「分析基準を言語化して、スプシで管理して、自動で回す」というサイクル自体は立ち上がった。精度が足りなければGASやn8n + Claude APIへの切り替えも視野に入れつつ、まずはこの軽さで回してみるフェーズです。

この仕組み、採用チームに限った話じゃなくて、定期的にスプシのデータを見て判断する業務なら同じパターンで試せます。営業の数値分析、マーケのキャンペーン効果測定、経理の異常値検出……スプシにデータが溜まっていて、分析の観点が言語化できるなら、検証のハードルはかなり低い。

「自動化したいけどエンジニアのリソースが足りない」って状況はけっこう多いと思います。まずは軽く作って渡して、向こうで回してもらう。Claude Code + Routines + MCP は、そういう「まず試す」にフィットする選択肢でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?