mcpField
M
meridian-scenario-planner

meridian-scenario-planner

github.com/googleマーケティング・グロース1.6k57 回インストール1 日前に更新
リポジトリ

meridian-scenario-planner について

フィット済み Meridian モデルから Scenario Planner 用データを作成し、Colab ノートブックへの受け渡し用 proto ファイルとして出力するスキルです。設定を段階的に進め、各段階でユーザーの承認を求めます。

主な機能

  1. 01シリアライズ済み Meridian モデルの読み込み
  2. 02Scenario Planner 仕様の設定
  3. 03proto データの生成と保存
  4. 04Colab ノートブックへの受け渡し
  5. 05チェックポイントごとの承認待ち

活用シーン

  1. 01Scenario Planner 用のモデルデータ準備
  2. 02計画期間と予算変更幅の設定
  3. 03Colab 用 proto ファイルの出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/meridian --skill meridian-scenario-planner

インストール後、Claude Code で/meridian-scenario-plannerを入力して読み込まれたか確認します。

同梱ファイルreferences/script_template.md

詳細

Meridian Scenario Planner の生成

このスキルでは、エージェントが Scenario Planner データを生成し、Colab への受け渡し用に proto ファイルとしてシリアライズし(GCP のセットアップは不要)、Meridian Looker Studio Scenario Planner Colab ノートブックへのリンクを提供できるようにします。

前提条件

  • エージェントが、フィッティング済みの Meridian モデル(meridian_model.binpb としてシリアライズ済み)にアクセスできる必要があります。
  • 重要

    meridian_model.binpb はバイナリファイルです。ファイル表示ツールや grep を使って内容を直接読み取ろうとしないでください。無効な UTF-8 エラーが発生します。必ず Python スクリプトで meridian_serde.load_meridian() を使って読み込んでください。

基本的なワークフロー

対話型チェックポイントのルール

このワークフローでは、重要な対話型チェックポイントが複数回あります。各チェックポイントで、必ず次の操作を行ってください。

  1. 現在提案している設定、パス、またはステータスをユーザーに提示し、承認を求めます。
  2. 利用可能なユーザー対話ツール(例:ask_question)を使って、先に進んでよいかをユーザーに尋ねます。質問は選択式にしてください。チャットに通常のテキストを送信して尋ねてはいけません。
  3. ユーザーの応答を待ってから先に進みます。
    • 必須:最初のプロンプトの指示にかかわらず、すべてのチェックポイントで必ず一時停止してください(ユーザーの依頼に「自律的に実行」「直接実行」「自律的に修正」などの表現が含まれている場合も同様です)。最初の依頼によって、これらの対話型チェックポイントが省略されることはありません。
    • 注:ユーザーがチェックポイントで一般的な承認(例:「進めて」「最善だと思う方法で実行して」)を返した場合は、提案したデフォルト値を使って先に進みます。

1. 初期設定
  • シリアライズ済みモデルファイルのパスをユーザーに尋ねます(デフォルトは meridian_model.binpb)。
  • 出力 proto のパスをユーザーに尋ねます(デフォルト:model_build/scenario_planner_data.binpb)。
  • 生成する Python スクリプトのパスをユーザーに尋ねます。指定がない場合は、model_build/run_scenario_planner.py をデフォルトとして使用します(またはモデルディレクトリからの相対パスにします)。
  • 重要な対話型チェックポイント:収集したパスをユーザーに提示し、spec パラメーターの設定前に確認を得ます。
2. Scenario Planner の Spec を設定し、対話型チェックポイントを実施
  • 次の Scenario Planner spec 設定について、ユーザーに尋ねるか、デフォルト値を確認します。
    • optimization_name(文字列、例:"Scenario Planner")
    • include_non_paid_channels(ブール値、デフォルト:True)
    • 時間の内訳:yearly(デフォルト:False)、quarterly(デフォルト:True)、monthly(デフォルト:False)
    • min_spend_shift_ratio(浮動小数点数 0~1、デフォルト:1.0)
    • max_spend_shift_ratio(浮動小数点数 > 0、デフォルト:1.0)
    • use_optimal_frequency(ブール値、デフォルト:True)
    • max_frequency(浮動小数点数 > 0、デフォルト:10.0)
  • 重要な対話型チェックポイント:提案する Scenario Planner spec の設定をユーザーに提示し、モデルの読み込みを続行する前に承認を得ます。
3. モデル読み込みコードを追加
  • meridian_serde.load_meridian() を使ってモデルを読み込みます。
  • コードテンプレートについては、script_template.md を参照してください。
  • 重要な対話型チェックポイント:モデル読み込みパスの設定と、提案する Python コードスニペットをユーザーに提示し、データ生成を続行する前に承認を得ます。
4. シナリオプランナーのデータ生成と Colab への受け渡しコードを追加する
  • ユーザーが指定した設定を使用して、ModelFitSpec、MarketingAnalysisSpec、および BudgetOptimizationSpec の仕様を作成します。
  • mmm_ui_gen.create_mmm_ui_data_proto() を使用して、リクエストされた時間内訳ジェネレーターを含む proto を作成します。
  • proto をシリアライズしてディスクに保存します(例: model_build/scenario_planner_data.binpb)。
  • 保存したファイルを Meridian Scenario Planner Colab ノートブックにアップロードするよう、ユーザーに指示します: https://colab.research.google.com/github/google/meridian/blob/main/demo/Meridian_Scenario_Planner_Beta.ipynb
  • コードテンプレートについては、script_template.md を参照してください。
  • 重要な対話型チェックポイント:提案するシナリオプランナーの仕様設定とエクスポートコードのスニペットをユーザーに提示し、実行を続ける前に承認を得てください。
5. 実行前チェックポイント
  • 重要な対話型チェックポイント:シナリオプランナーの生成スクリプトを今すぐ実行してよいか、最終確認をユーザーに求めてください。
6. 実行とスクリプトのセットアップ
  • 作成した Python スクリプトを、ユーザーが指定したパスに書き込みます。ファイル書き込みツールで、書き込んだファイルのレビューをユーザーに求められる場合は、そのレビューを依頼しないでください。実行前チェックポイントですでに承認を得ており、追加のプロンプトはワークフローを中断させるためです。
  • ガイドとして、script_template.md にある完全なスクリプトテンプレートを使用できます。
  • google-meridian がインストールされている環境の Python インタープリターでスクリプトを実行します。ユーザーが指定したインタープリターを使用します。指定がない場合は、仮想環境がすでに有効であれば(VIRTUAL_ENV または CONDA_PREFIX が設定されていれば)python3 を使用します。そうでなければ、プロジェクトディレクトリに仮想環境(.venv/ または venv/。例:.venv/bin/python3)があればそれを使用し、なければ python3 を使用します。import meridian に失敗した場合は、マシン内を検索したり、確認なしにパッケージをインストールしたりせず、代わりに使用する環境をユーザーに尋ねてください。
  • スクリプトがバックグラウンドで実行され続ける場合は、終了するまで待ち、結果を報告する前に最終出力を確認してください。
  • 重要:タスクの終了時に、生成されたスクリプト、出力 proto ファイル、または成果物を削除しないでください。これらはユーザーが依頼した成果物であり、保持する必要があります。

コメント