meridian-scenario-planner について
フィット済み Meridian モデルから Scenario Planner 用データを作成し、Colab ノートブックへの受け渡し用 proto ファイルとして出力するスキルです。設定を段階的に進め、各段階でユーザーの承認を求めます。
主な機能
- 01シリアライズ済み Meridian モデルの読み込み
- 02Scenario Planner 仕様の設定
- 03proto データの生成と保存
- 04Colab ノートブックへの受け渡し
- 05チェックポイントごとの承認待ち
活用シーン
- 01Scenario Planner 用のモデルデータ準備
- 02計画期間と予算変更幅の設定
- 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()を使って読み込んでください。
基本的なワークフロー
対話型チェックポイントのルール
このワークフローでは、重要な対話型チェックポイントが複数回あります。各チェックポイントで、必ず次の操作を行ってください。
- 現在提案している設定、パス、またはステータスをユーザーに提示し、承認を求めます。
- 利用可能なユーザー対話ツール(例:
ask_question)を使って、先に進んでよいかをユーザーに尋ねます。質問は選択式にしてください。チャットに通常のテキストを送信して尋ねてはいけません。 - ユーザーの応答を待ってから先に進みます。
- 必須:最初のプロンプトの指示にかかわらず、すべてのチェックポイントで必ず一時停止してください(ユーザーの依頼に「自律的に実行」「直接実行」「自律的に修正」などの表現が含まれている場合も同様です)。最初の依頼によって、これらの対話型チェックポイントが省略されることはありません。
- 注:ユーザーがチェックポイントで一般的な承認(例:「進めて」「最善だと思う方法で実行して」)を返した場合は、提案したデフォルト値を使って先に進みます。
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 ファイル、または成果物を削除しないでください。これらはユーザーが依頼した成果物であり、保持する必要があります。
コメント
Markdown 対応