AIマーケティングPDCAサイクル自動化とは、キャンペーンの計画(Plan)・実行(Do)・評価(Check)・改善(Act)をAIが自律的に実行するシステムである。2026年現在、「1日で20回PDCAを回す」という次元の高速化が実現しつつあり、先行企業は従来3ヶ月サイクルだった施策改善を数時間単位で回している。本記事では、renueが自社プロダクトとして実装している`CampaignAnalyzer`・`PDCAAutomation`・`CampaignRecommender`の3クラス構成をもとに、本番品質のAI PDCA自動化を実装するためのパターンを解説する。
AI PDCA自動化の5つのコア機能
| 機能 | 担当クラス | 役割 |
|---|---|---|
| 1. KPI計算 | CampaignAnalyzer | ROI/CTR/CVR/CPC/CPA等を自動算出 |
| 2. 強み・弱み分析 | CampaignAnalyzer | 目標達成率からパフォーマンスを定性判定 |
| 3. サイクル管理 | PDCAAutomation | サイクル番号の自動採番、前回参照 |
| 4. AI Plan生成 | PDCAAutomation | LLMで次サイクルの計画を自動立案 |
| 5. キャンペーン推薦 | CampaignRecommender | 新規キャンペーンの提案 |
機能1: CampaignAnalyzer によるKPI自動計算
PDCAのCheckフェーズを自動化するには、まずKPI計算を機械化する必要がある。renueの実装では以下の指標を1関数(`calculate_metrics`)で全て算出する。
算出する指標
- duration_days: キャンペーン期間日数
- budget_utilization: 予算消化率 (実績 / 予算 × 100)
- ROI: 投資収益率 ((売上 - コスト) / コスト × 100)
- CTR: クリック率 (クリック / インプレッション × 100)
- conversion_rate: コンバージョン率 (CV / クリック × 100)
- CPC: クリック単価 (コスト / クリック)
- CPA: 獲得単価 (コスト / CV)
- target_achievement: 目標達成率(impressions/clicks/conversions/revenueの4軸)
ゼロ除算の防止
本番実装で最もハマる罠がゼロ除算である。KPI計算では以下の分母が0になる可能性がある。
- インプレッション0(キャンペーン開始直後)
- クリック0(広告が反応されていない)
- コンバージョン0(成約まで時間がかかる業界)
- 予算0(計画未定のキャンペーン)
renueの実装では、全ての分母チェックを明示的に行い、0の場合は該当指標を`None`のままにする。これによりダッシュボードで「データ不足」を正しく表示できる。
機能2: 強み・弱み自動判定
目標達成率から「強み」「弱み」を自動判定する。renueの実装では以下の4段階評価を採用している。
| 達成率 | 評価 |
|---|---|
| 100%以上 | 目標達成(強み) |
| 70〜99% | 順調 |
| 40〜69% | 標準 |
| 40%未満 | 要改善(弱み) |
強み・弱みの活用
この判定はLLMに渡すコンテキストとして使う。単に「CTR 2%でした」と伝えるより、「CTRは目標の45%で要改善」と伝える方がLLMは改善策を提案しやすい。
機能3: PDCAAutomation によるサイクル管理
PDCAは1回で終わるものではない。renueの実装では`PDCACycle`テーブルで全サイクルを永続化し、継続的に改善を追跡する。
サイクル番号の自動採番
新しいサイクルを作成する際、最新のサイクル番号を取得して+1する。これによりサイクル間の時系列関係が明確になる。
- cycle_number=1: 初回計画
- cycle_number=2: 初回結果を踏まえた改善計画
- cycle_number=3: 2回目の結果を踏まえた改善計画
前サイクル参照による学習
新しいPlanを生成する際、**前サイクルの結果を必ず参照する**ことが重要である。renueの実装では以下のフローで前サイクルを取得する。
- 現在のサイクル番号を確認
- 番号>1 の場合、`cycle_number - 1` で前サイクルを取得
- 前サイクルの`act_summary`(改善施策の要約)をLLMのコンテキストに含める
- LLMは前回の施策の成否を踏まえて新しい計画を立てる
この「前サイクル参照」が、単発の分析ではなく**継続的な学習**を実現する鍵である。
機能4: AI Plan生成 — LLMによる計画立案
PDCAのPlanフェーズを自動化するには、現在の分析結果をLLMに渡して計画を生成させる。
LLMに渡すコンテキスト
以下をプロンプトに含めることで、具体的で実行可能な計画が得られる。
- キャンペーン情報(名前・タイプ・予算・目標値)
- 現在のパフォーマンス(ROI/CTR/CVR/予算消化率)
- 強み・弱みの定性評価
- 前サイクルの改善施策(cycle_number > 1 の場合)
プロンプト例
system_prompt = "あなたはデジタルマーケティングの専門家です。キャンペーンの分析結果に基づいて、具体的な改善計画を立案してください。"
context = f'''
キャンペーン情報:
- 名前: {campaign.name}
- タイプ: {campaign.campaign_type}
- 予算: {campaign.budget}円
- 目標インプレッション: {campaign.target_impressions}
- 目標クリック: {campaign.target_clicks}
- 目標コンバージョン: {campaign.target_conversions}
- 目標売上: {campaign.target_revenue}円
現在のパフォーマンス:
- ROI: {metrics.get('roi', 'N/A')}%
- CTR: {metrics.get('ctr', 'N/A')}%
- コンバージョン率: {metrics.get('conversion_rate', 'N/A')}%
- 予算消化率: {metrics.get('budget_utilization', 'N/A')}%
強み: {', '.join(strengths) if strengths else 'なし'}
弱み: {', '.join(weaknesses) if weaknesses else 'なし'}
'''
if previous_cycle and previous_cycle.act_summary:
context += f"
前回の改善施策: {previous_cycle.act_summary}"
機能5: CampaignRecommender による新規推薦
既存キャンペーンの改善だけでなく、「次にどんなキャンペーンを実施すべきか」をAIに提案させる。renueの実装では`CampaignRecommender`クラスが担当する。
推薦の入力データ
- 過去の全キャンペーンの成績
- キャンペーンタイプ別の平均ROI
- 季節性・トレンド
- 現在のリード状況(未対応リード数、未成約リード数)
推薦の出力形式
- 推奨キャンペーンタイプ
- 推奨予算
- 推奨期間
- 推奨目標KPI(前回データを元に算出)
- 類似過去キャンペーンとの差分
- 期待ROI(予測値)
LiteLLMによるモデル切替
本番運用では、タスクによって最適なLLMが異なる。renueの実装では`litellm`ライブラリを使ってモデルを抽象化している。
from litellm import completion
from src.shared.lib.litellm_model_compat import resolve_litellm_model
response = completion(
model=resolve_litellm_model(self.model),
messages=[...],
)
モデル選定の指針
- KPI計算(非LLM): SQL/Pandasで高速処理
- 強み弱み判定(非LLM): ルールベースで決定的
- Plan生成: `claude-haiku-4-5` (コスパ重視、高速)
- 複雑な戦略提案: `claude-opus-4-6` (精度重視)
- 大量バッチ分析: `gpt-4o-mini` (低コスト)
renueの実装ではデフォルトで`claude-haiku-4-5`を使い、必要に応じて別モデルに切り替えられる設計になっている。
PDCAサイクル高速化の実践
「1日で20回PDCAを回す」ためには、人間の介在を最小化する必要がある。renueの実装で採用しているポイント。
自動トリガー
- キャンペーン期間中、毎日定期的にKPI計算(Cron/Celery)
- 目標達成率が一定値を下回ったら自動アラート
- 週次でPDCAAutomation.generate_planを自動実行
- 生成された計画はドラフト状態で保存、人間が承認
人間の役割
- AIが生成した計画のレビュー・承認
- 例外的な判断(ブランド方針との整合性確認)
- クライアントとのコミュニケーション
AIがPlan-Check-Actを担当し、人間は承認と例外対応に集中する設計が最も効果的である。
業界別の適用パターン
| 業界 | 主要KPI | PDCA頻度 |
|---|---|---|
| EC/D2C | ROAS, CVR, 客単価 | 日次 |
| BtoB SaaS | MQL, SQL, CAC | 週次 |
| 金融 | 申込率, LTV | 週次 |
| 不動産 | 問い合わせ率, 成約率 | 月次 |
| 採用 | 応募率, 書類選考通過率 | 週次 |
データモデルの設計
PDCA自動化を実装するには、以下のテーブルが必要である。
- Campaign: キャンペーン基本情報(名前/タイプ/予算/目標)
- PDCACycle: サイクル情報(cycle_number/plan/do/check/actの4段階)
- UnifiedOrder: キャンペーン期間中の注文データ
- GeneratedContent: キャンペーンで生成したコンテンツ
- Lead: リード情報(ステータス管理)
PDCACycleのカラム設計
- `cycle_number`: サイクル番号
- `plan_date` / `plan_summary`: 計画フェーズ
- `do_start_date` / `do_end_date` / `do_summary`: 実行フェーズ
- `check_date` / `check_summary` / `check_metrics(JSON)`: 評価フェーズ
- `act_date` / `act_summary`: 改善フェーズ
- `status`: サイクルステータス(planning/doing/checking/acting/completed)
renueの実装特徴
renueは「Self-DX First」の方針のもと、AIマーケティングPDCA自動化を自社プロダクトとして開発している。社内12業務を553のAIツールで自動化済み(2026年1月時点)であり、PDCA自動化はその中核の一つである(全て公開情報)。
技術スタック
- 言語: Python 3.11
- ORM: SQLAlchemy 2.0
- LLMクライアント: LiteLLM(複数プロバイダー抽象化)
- デフォルトモデル: claude-haiku-4-5(コスパ重視)
- バックエンド: FastAPI
- 非同期ジョブ: Celery
- DB: MySQL (Azure) / BigQuery (分析用)
導入時のよくある失敗パターン
- ゼロ除算の防止を忘れる: KPI計算がエラーで止まる
- 前サイクル参照なしでPlan生成: 同じ失敗を繰り返す
- サイクル番号を自動採番しない: 時系列関係が失われる
- 人間の承認工程を省略: AIの誤提案が本番に反映される
- 強み・弱みの定性評価なし: LLMが改善提案を出せない
- LLMモデルを固定: コストと精度のバランスが取れない
- 自動トリガーがない: 結局手動運用になる
AI PDCA高速化がもたらす変化
2026年現在、先行企業では「1日で20回PDCAを回す」レベルの高速化が実現している。これはゲームチェンジャーと言えるレベルの変化である。
従来: 3ヶ月サイクル
- 月初: キャンペーン計画
- 1ヶ月目: 実行
- 月末: データ収集
- 2ヶ月目: 分析会議、改善案作成
- 3ヶ月目: 次サイクル開始
AI自動化後: 数時間サイクル
- AIが毎時KPIを自動集計
- 異常検知で即座にアラート
- AIが改善案を数分で生成
- 承認されれば数時間で反映
この差により、競合との差は指数関数的に開く。先行者利益が極めて大きい領域である。
よくある質問
AIが提案した計画をそのまま実行して良い?
本番運用では必ず人間の承認工程を挟むべき。特に大規模予算のキャンペーンでは、AI提案がブランド方針や法規制と整合しているかをレビューする必要がある。renueの実装でも、PDCA.generate_planの出力はドラフト状態で保存される。
LLMコストはどれくらい?
claude-haiku-4-5で1サイクルあたり数十円程度。月間100キャンペーンで月額数千円〜数万円。この費用で数十人月分の分析作業が自動化できるため、ROIは極めて高い。
どのKPIから自動化すべき?
ROI/CTR/CVRの3つから始めるのが推奨。これらは業界を問わず重要で、計算ロジックも標準化されている。その後、業界固有の指標(ROAS/LTV/MQL等)を追加する。
前サイクル参照の効果は?
非常に大きい。前サイクルの失敗を踏まえた計画は、同じ失敗を繰り返さないため成功率が明確に向上する。renueの実装では`act_summary`を必ずコンテキストに含める設計になっている。
導入後に最も改善するKPIは?
「PDCAサイクル完了までの時間」が最も劇的に改善する(3ヶ月 → 数時間)。次いで「キャンペーン全体ROI」「人間の分析工数」「改善施策の実施回数」が改善する。これらを導入前のベースラインと比較することでROIを定量化できる。
