コンテンツにスキップ

AMC で広告横断の顧客行動を分析する

このページでは、ACoS / ROAS だけでは見えない「顧客 1 人あたりいくら稼いでくれているか」「広告で増えた顧客が何ヶ月後も買ってくれているか」「飽和してきたキャンペーンはどれか」を、Amazon Marketing Cloud (AMC) のデータで分解できます。SP / SB / SD / DSP を横断した顧客ベースの分析と、ASIN ポートフォリオ・キャンペーン判断・予算配分まで踏み込みます。

項目内容
このページでできることAMC のデータから、LTV / CAC / NTB / 継続率 / 広告タイプ別アトリビューションを顧客視点で分解し、ASIN ポートフォリオ・キャンペーン判断・予算配分の材料を一覧化する。あわせて AMC コンソール用の SQL クエリも生成する
対象AMC(Amazon Marketing Cloud)。SP / SB / SD / DSP を横断し、広告に接触した顧客を 顧客単位 で分析します
必要なデータ・接続AMC インスタンスの連携が必要。集計対象は 100 ユーザー以上のセグメントに限定(AMC のプライバシー保護仕様)。対象が少ない期間 / ASIN / キャンペーンは「集計不可」で返ります
実行範囲大半は分析のみ(読み取り専用)。プロンプト 9・10 は AMC コンソールで実行する SQL クエリの生成のみ(Picaro が AMC 上で SQL を実行することはありません)。いずれも広告設定は変更しません
  • 顧客 1 人あたりの LTV / CAC / 真の ROAS(ブランドハロー込み)を出したい
  • ブランド全体の月次ヘルスチェック(NTB 比率 / 再購入率 / LTV:CAC の推移)を見たい
  • ASIN を役割別(新規獲得 / リピート維持 / 縮小・撤退の検討)に振り分けたい
  • 獲得月別に新規顧客グループの継続率と LTV の伸びを見たい
  • 広告タイプ(SP / SB / SD / DSP)別に NTB 獲得力・CAC を比較して予算配分を決めたい
  • AMC コンソールで実行する SQL クエリを作りたい
  • 接続先のアカウントと AMC インスタンス … 対象アカウントに AMC インスタンスが連携済みか確認します。ダッシュボード利用者は接続済みアカウントを選ぶだけで動きますが、MCP 利用者は接続設定で AMC インスタンスの紐付けが必要です。
  • 対象期間 … プロンプト 1〜8 は AMC 側の仕様により、利用者が任意の期間を指定することはできません(run 固定または月次 report_month 固定。詳しくは上の :::caution を参照)。実際に集計された期間は各プロンプトの出力に明記されるので、そこで確認してください。プロンプト 9・10(SQL 生成)はこの制約の対象外で、生成する SQL に任意の期間を指定できます。
  • 100 ユーザー以上の条件 … 集計対象は 100 ユーザー以上のセグメントに限定されます(AMC のプライバシー保護仕様)。対象が少ない期間 / ASIN / キャンペーンは「集計不可」として返ります。これは仕様であり制限ではありません。
  • プロンプト 9・10 は実行範囲が異なる … この 2 つは AMC コンソールで実行する SQL クエリを生成するだけです。Picaro が AMC 上で任意の SQL を実行することはありません。
やりたいこと分かること・作られるもの設定変更プロンプト
顧客 1 人あたりの LTV / CAC / 真の ROAS を出す顧客数・売上・CAC・LTV(ハローあり / なし)・再購入率・LTV:CAC 比の表分析のみプロンプト 1
ブランド全体の月次ヘルスチェックを見る月次 NTB 比率・再購入率・CAC・LTV・LTV:CAC 比とトレンド判定分析のみプロンプト 2
ASIN 別の NTB(新規顧客)獲得力を見るASIN 別 NTB 比率・広告費・ACoS と拡大 / 縮小ラベル分析のみプロンプト 3
ASIN を役割別(新規獲得 / リピート維持 / 縮小検討)に振り分けるASIN の 3 カテゴリ分類と予算配分の見直し案分析のみプロンプト 4
獲得月別に新規顧客グループの継続率と LTV を見る獲得月別グループの継続率・LTV とトレンド判定分析のみプロンプト 5
購入後のリテンションファネルを見るM+1 / M+3 / M+6 の残存率とキャンペーン別の定着判定分析のみプロンプト 6
広告タイプ別の NTB 獲得力と売上を比較する広告タイプ別 NTB 比率・CAC・ROAS と予算配分の推奨分析のみプロンプト 7
広告タイプ別の M+1 戻り率(顧客の質)を比較する広告タイプ別の戻り率と定着型 / フラッシュ型の分類分析のみプロンプト 8

まず全体像から。顧客 1 人あたりの採算(LTV / CAC / 真の ROAS)と、ブランド全体の健康状態をつかみます。

プロンプト 1: 顧客 LTV / CAC / 真の ROAS を計算する

Section titled “プロンプト 1: 顧客 LTV / CAC / 真の ROAS を計算する”

広告経由で獲得した顧客 1 人あたりの LTV(顧客生涯価値)、CAC(顧客獲得単価)、再購入率、ブランドハロー込みの ROAS を計算します。「広告でクリックされた ASIN」だけでなく、その顧客が同一ブランド内で買った他 ASIN(ブランドハロー効果 = 広告対象 ASIN 以外の同一ブランド商品への波及売上)も売上に含めるかどうかで 2 通りの数字を返します。

こんな時に使う — 広告の採算を、ACoS ではなく顧客 1 人あたりの生涯価値と獲得コストで捉えたいとき。

実行前に必要な情報 — なし。AMC の run(実行)が固定した期間がそのまま使われ、利用者側で対象期間を指定することはできません。

目的:広告投資の長期的な顧客価値対効果を把握し、予算配分の健全性を判断します。
【データ取得】
LTV・CAC・真のROAS・再購入率は get_amc_metric(metric_name="ltv")から取得してください。
このテーブルは売上(ハロー込み total_sales/広告クリックASINのみ promoted_sales)・広告費 total_spend・
購入者数 purchase_uv・新規顧客数 ntb_buyers・再購入率 rpr_pct を同一行に持つため、分母と分子が構造的に揃います。
AMC系ツールは期間引数を持たず、run が固定した report window を返します。期間を任意指定できると想定せず、
返却された report_start_date / report_end_date / run_id を必ず出力に明記してください。
獲得月別のLTV推移が必要な場合のみ get_amc_metric(metric_name="cohort")を併用し、
max_rows_per_table を全行数以上に指定して truncated=false を確認してから集計してください。
AMCが403エラーを返す場合は「このアカウントはAMC権限/契約が無い」と明記し、機能自体が無いとは書かないでください。
【比率を出すときの必須ルール】
1. すべての比率について、分子・分母・対象期間・run_id を明示してください。
2. 分母は「全購入者(purchase_uv)」系統と「新規顧客(ntb_buyers)」系統に分け、
系統をまたいだ比(例:全購入者分母のLTV ÷ 新規顧客分母のCAC)を作ってはいけません。
3. ハロー込み(total_sales基準)とハローなし(promoted_sales基準)を必ず並記してください。
4. 同一分母で計算したLTV:CAC比とROASは定義上同じ値になります。両者を独立した2つの検証として提示しないでください。
5. AMC外のツール(get_dashboard 等)の広告費をCACの分子に混ぜないでください。参照する場合は
AMCの total_spend との乖離幅と理由(DSP計上の有無・集計対象の違い)を必ず明記してください。
6. 複数のAMCツールを併用する場合は run_id と report window が一致していることを確認し、
一致しないものを同じ表・同じ比に混ぜないでください。
7. コホートを比較する場合は観測月数を揃えてください。観測期間の短いコホートのLTVが低いのは
顧客の質ではなく観測期間の差です。観測月数の異なるコホートを合算した値をLTVとして提示しないでください。
8. "below_reporting_floor" はプライバシー閾値による非開示であり0件ではありません。0として集計しないでください。
9. 比率の改善を報告する際は必ず分母・分子の実数も併記し、変化が分母の縮小由来か分子の増加由来かを判別できる形にしてください。
10. 取得できなかった値は「取得不可」と明記してください。他の指標で代用しないでください。
【出力】
広告クリックASINのみ(ハローなし)とブランド全体(ハロー込み)を並べ、
LTV:CAC比が{{健全とみなす閾値(例: 3倍以上)}}を満たすか、分母の系統ごとに判定してください。
系統によって判定が割れる場合は、割れていること自体を結論として明記してください。
最後に次の3点を出力してください。
1. 推奨アクション — 不健全な場合、広告予算配分・ターゲティング見直し案を優先度・期待効果・確信度・リスクとともに提示する(広告経由売上と実数を大きく損なわないことをGuardrail)
2. 実行方法 — 予算配分の変更案は、ユーザーが確認・承認したうえで反映します(本プロンプトでは実行しません)
3. 測定 — 四半期ごとに「施策の効果測定」でLTV:CAC比を再計算し、悪化継続なら「原因診断」でCAC側(新規顧客数の減少か広告費の増加か)とLTV側(初回ATVかリピート率か)を切り分けて深掘りする

変更できる条件 — なし(対象期間は指定できません)。健全とみなす LTV:CAC 比の閾値は変更できます(既定は 3 倍以上)。実際に使われた期間は出力の run_id / report_start_date / report_end_date で確認します。

返ってくる内容 — 顧客数・総売上・広告由来 ASIN 売上・ブランドハロー込み売上・CAC・LTV(ブランドハローあり / なし)・再購入率・ROAS・LTV:CAC 比をまとめた表。LTV:CAC 比が健全水準(3 倍以上)に達しているかの判定コメントも付きます。

このプロンプトで AI がやること

  1. 過去 90 日の AMC データを集計し、広告に接触した顧客を抽出
  2. 顧客 1 人あたりの売上を「広告クリック ASIN のみ」と「ブランド全体(ブランドハロー込み)」の 2 通りで算出
  3. 同期間の広告費を顧客数で割って CAC を算出
  4. LTV ÷ CAC を計算し、健全性(3 倍以上が目安)をコメント
  5. 100 ユニーク顧客に満たないセグメントは AMC 仕様により「集計不可」として除外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — 顧客視点の戦略判断につなげるなら 広告戦略を立案する、結果のレポート化は 報告書を作る を使います。


プロンプト 2: ブランド獲得の月次ヘルスチェック

Section titled “プロンプト 2: ブランド獲得の月次ヘルスチェック”

「今月のブランド全体は健康か?」を 1 枚で見るためのダッシュボード。NTB 比率 / 再購入率 / LTV:CAC の月次推移を並べ、悪化指標を 1 つ警告します。

こんな時に使う — ブランド全体の健全性を毎月同じ指標でモニタリングしたいとき。

実行前に必要な情報 — ブランド名。対象期間は指定できません。直近の確定済み 6 ヶ月(暦月が丸ごと入っている月かつデータ取り込みが完了している月)が自動で対象になります。

目的: {{ブランド名(例: Lululun)}} の新規顧客獲得トレンドを月次で監視し、悪化の早期発見に
使うため、AMCデータでブランドの月次ヘルスチェックを出してください。
【対象月の決め方(先に確定させる)】
get_amc_new_customer を呼び、レスポンスの report_start_date / report_end_date と selected_run_id を確認してください。
window の端で暦月が丸ごと入っていない月(先頭月・末尾月)と、get_data_ingestion_status(frequency=monthly) で
completed になっていない月は、**表から除外**してください。除外した月は「参考値・確定前」として表の外に置き、
前月比判定にも「最も懸念される月」の候補にも使わないでください。確定している直近6ヶ月を対象にします。
【月次表】
確定月ごとに、以下を必ず同じ行に並べてください。比率だけを載せてはいけません。
- NTB獲得数(分子: new_customers)とその前月比
- 総顧客数(分母: total_customers)とその前月比
- NTB比率(= 分子 ÷ 分母)とその前月差(pp)
- 前月比判定「改善/横ばい/悪化」は **NTB獲得数(実数)を基準**に行う
- 「比率変化の由来」列に、比率の変化が分子の増減由来か分母の増減由来かを明記する
(例: 分子が減っているのに分母がそれ以上に減って比率が上がった場合は「分母縮小由来の見かけの上昇」と書き、
絶対に『改善』『健全』と表現しない)
総顧客数は get_amc_total_customer に **new_customer と同じ run_id を明示指定**して取得し、
new_customer 側の total_customers と一致するか突き合わせてください。分母が取得できない場合のみ「算出不可(理由)」と書きます。
【月次で取れない指標の扱い】
- CAC / LTV / LTV:CAC比 は AMC に月次内訳が無いため、get_amc_ltv_latest_snapshot の最新スナップショットを別枠で1回だけ提示し、
その run_id と report window を必ず併記してください。
- 再購入率は get_amc_metric(metric_name=retention) では ad_type 別のスナップショットのみですが、
get_amc_metric(metric_name=cohort, max_rows_per_table=5000) の cohort_ltv(cohort_month × 経過月 time_slot)と
cohort_summary の cohort_ntb_buyers を使えば **獲得月別のM1再購入率**を算出できます。算出する場合は経過月を揃え、
M1 窓が window 末尾で打ち切られているコホートは除外してください。累計 repeat_purchase_uv は観測期間長が異なるため
コホート間で直接比較しないでください。
- retention の母集団は「広告起因NTB」で、月次表の母集団(ブランド全体NTB)とは別です。別枠に置き、母集団の違いを明記してください。
- 推測値・仮定値は一切使用せず、算出不可の指標は「算出不可(理由)」と明記してください。
件数が返っても明細が空の場合は「データあり」と扱わないでください。
【run_id の明記】
AMC のツールは run_id を共有していません(あるツールの run_id を別ツールに渡すと0件になります)。
使用した各ツールの selected_run_id と report window を出力に必ず明記してください。
【判定と次アクション】
NTB獲得数の前月比で「改善/横ばい/悪化」を判定し、最も懸念される月を1つ挙げてください。
その月について、NTB比率が同時に上昇していないか確認し、上昇している場合は分子・分母の実数変化を必ず添えて、
比率の上昇を健全化と解釈しない旨を明示してください。
悪化と判定した場合は、プロンプト 7(広告タイプ別の NTB 獲得力と売上を比較する)で要因を掘り下げてください。30日後(対象月が確定月になった時点)に
再実行し、悪化が継続する場合は「原因診断」にエスカレーションしてください。

変更できる条件 — ブランド名のみ(対象期間は指定できません。直近の確定済み 6 ヶ月に固定です)。

返ってくる内容 — 月ごとの NTB 比率・再購入率・CAC・LTV・LTV:CAC 比 の表に、トレンド判定(改善 / 横ばい / 悪化)と最も注意すべき指標のサマリーが付きます。

このプロンプトで AI がやること

  1. 月単位で AMC データを集計
  2. NTB 比率 / 再購入率 / CAC / LTV を月別に計算
  3. 各指標の月次トレンド方向を判定
  4. LTV:CAC 比のトレンドから総合健全性を判定
  5. 最も悪化している指標を 1 つ抽出し警告
  6. 100 ユニーク未満の月セルは AMC 仕様により集計対象外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — 月次レポートに組み込むときは 報告書を作る を使います。


どの ASIN が新規顧客を連れてくるか、どの ASIN を絞るべきかを、商品単位で仕分けます。

プロンプト 3: ASIN 別の NTB(新規顧客)獲得力を見る

Section titled “プロンプト 3: ASIN 別の NTB(新規顧客)獲得力を見る”

ASIN 単位で「新規顧客(NTB: New-to-Brand)を何人連れてきたか」「そのうち広告費に見合っているか」を分解します。新規顧客の獲得とリピーターの維持のどちらに強い ASIN かを判断できます。

こんな時に使う — 広告を絞る候補と拡大する候補を、新規顧客の獲得力で見極めたいとき。

実行前に必要な情報 — 対象月(任意・例: 2026-07)。ASIN 別 NTB は月次(report_month)粒度で、「過去 30 日」のような日数指定はできません。指定した月が未確定の場合は、実際に取得できた最終確定月が代わりに使われます。

目的:ASIN別のNTB(新規顧客)獲得効率を把握し、広告予算の最適配分判断に使います。
【取得と期間】
AMCのNTB by ASINは月次(report_month)固定で、「過去30日」等の任意期間指定はできません。最新runを取得し、冒頭に run_id / run_date / report_start_date / report_end_date を明記してください。
対象月は report_end_date が月末に達している**最終完全月**とします({{対象月(例: 2026-07)}} を想定。実データの最終完全月が異なる場合はそちらを使い、差異を明記)。月途中で終わる月は部分月として除外してください。
全件取得したうえで、LIST総件数 / 選択run件数 / 取得件数 / truncatedの有無を冒頭に明記し、部分取得の場合は順位付けを行わないでください。
【集計ルール(必ず守る)】
1. 1行は ASIN × ad_product_type × report_month です。**ad_product_type をまたいで ASIN 単位に合算**してから表にしてください(合算しないと同一ASINが複数行に分かれます)。
2. `below_reporting_floor` はASINではなく**非開示の集約バケット**です。ASIN別の表と順位付けからは**必ず除外**し、対象月の総購入数・NTB購入数・広告由来売上に占める**割合を必ず明記**してください。0件として扱ってはいけません。
3. `ad_spend` は ad_product_type によって欠測します。**ad_spend が常に0の ad_product_type を実際に数えて明記**してください。ACoS は**分子と分母を揃え、ad_spend > 0 の行だけで(広告費合計 ÷ 同じ行の広告由来売上合計)**算出してください。全ad_product_typeの売上を分母にすると ACoS が過小になります。両方式で差が大きいASINは差分を併記してください。
4. `total_dsp_spend` はブランド全体の単一定数です。ASINに按分・加算しないでください。
5. AMCはプライバシーフロア(distinct user 数の下限)により**一部ASINが export 自体に存在しません**。広告実績上位ASINと突き合わせ、**AMCに存在しない主要ASIN**を名指しで列挙し、その広告費・売上規模を明記してください。
【出力】
ASIN別に 総購入数・NTB購入数・NTB比率・広告由来売上・広告費・ACoS(上記3の方式)を表にしてください。
NTB比率が{{下限(例: 20%)}}未満かつACoSが{{上限(例: 30%)}}超のASINを「縮小候補」、NTB比率上位10かつACoS基準内のASINを「拡大候補」としてください。**該当が0件ならば「0件」と明記し、閾値を勝手に緩めないでください。**
最後に次の3点を出力してください。
1. 推奨アクション — 縮小候補は広告費{{削減率(例: 20%)}}削減、拡大候補は入札強化を優先度・期待効果・確信度・リスクとともに提示する(Orders減少{{許容値(例: -10%以内)}}をGuardrailとする)。あわせて**非開示バケットの比率とAMC欠落ASIN**を根拠に、この判断が及ばない範囲を明記する。
2. 実行方法 — 広告費の増減はユーザーが確認・承認したうえで反映します(本プロンプトでは提案の生成にとどめ、実行しません)
3. 測定 — 30日後に「施策の効果測定」でNTB比率とACoSを再取得し、改善ならKeep、悪化ならRevertを判断する。**再取得時は run を固定し、ACoSの算出方式を今回と揃え、比率の改善が分母(総購入数)の縮小由来でないかを確認する。**

変更できる条件 — 対象月(月次 report_month 単位。日数での期間指定はできません)。NTB 比率の下限・ACoS の上限・広告費の削減率などの閾値。

返ってくる内容 — ASIN ごとの 総購入数・NTB 購入数・ユニーク顧客数・NTB ユニーク顧客数・NTB 比率・広告由来売上・広告費・ACoS の表。「縮小推奨」「拡大推奨」のラベル付き。

このプロンプトで AI がやること

  1. AMC データから ASIN 別の購入数と新規顧客数を抽出
  2. NTB 比率(NTB 顧客 ÷ 全顧客)と NTB あたりの広告費を算出
  3. NTB 獲得効率(NTB ÷ 広告費)で ASIN をランク付け
  4. 上位 10 ASIN(拡大余地)と下位(縮小推奨)を分けて提示
  5. 100 ユニーク顧客未満の ASIN は AMC 仕様により集計対象外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — ASIN の分類ルールを整えるには ラベルと命名ルールで広告を分類する、役割別の仕分けは プロンプト 4 を使います。


プロンプト 4: ASIN を役割別に振り分ける(新規獲得 / リピート維持 / 縮小・撤退の検討)

Section titled “プロンプト 4: ASIN を役割別に振り分ける(新規獲得 / リピート維持 / 縮小・撤退の検討)”

各 ASIN を「新規顧客の獲得に強い ASIN」「リピーターの維持に貢献している ASIN」「ROI が悪く、縮小・停止・撤退の検討対象となる ASIN」の 3 カテゴリに分類します。ASIN ポートフォリオ全体の役割整理に使います。3 つ目のカテゴリは「即時停止すべき ASIN」ではなく、データを根拠に縮小・停止・撤退を 検討する候補 です。

こんな時に使う — ASIN ポートフォリオ全体の役割を整理し、予算配分の方針を立てたいとき。

実行前に必要な情報 — 対象月数(任意・例: 直近 3 か月)。AMC の NTB by ASIN は月次(report_month)粒度のデータで、日数での期間指定はできません。当月分は月末から 2〜3 週間ほど遅れて確定するため、直近の未確定月は対象外になります。

過去 90 日の AMC データで、SP / SB / SD で広告配信中の ASIN を
「新規顧客の獲得に強い ASIN」「リピーターの維持に貢献している ASIN」
「ROI が悪く、縮小・停止・撤退の検討対象となる ASIN」の 3 カテゴリに分類して。
分類基準(NTB 比率 / 広告 ROI / リピート購入数)を明示し、
各カテゴリの上位 5 ASIN とその指標を併記。
予算配分の見直し案を提示して。

変更できる条件 — 対象月数(月次 report_month 単位。日数での期間指定はできません。実際に取得できた月は出力に明記されます)。

返ってくる内容 — ASIN ごとの カテゴリ・NTB 比率・広告 ROI・リピート購入数・推奨アクションの表。各カテゴリの上位 5 ASIN リストと予算配分の見直し案も付きます。

このプロンプトで AI がやること

  1. ASIN 別に NTB 比率 / 広告 ROI / リピート購入数を抽出
  2. 3 軸スコアで 3 カテゴリに自動分類(基準は明示してから判定)
  3. 各カテゴリの上位 5 ASIN を抽出
  4. 予算をどの ASIN グループに振るべきかの方針を提案
  5. 100 ユニーク未満の ASIN は AMC 仕様により集計対象外

設定変更 — 分析・提案のみ(読み取り専用)。広告設定は変更しません。

次にすること — 予算配分の具体案づくりは 広告戦略を立案する、結果のレポート化は 報告書を作る を使います。


一度買った顧客がその後も買い続けているかを、獲得した月ごと・経過月ごとに追います。

プロンプト 5: 獲得月別に新規顧客グループの継続率と LTV を見る

Section titled “プロンプト 5: 獲得月別に新規顧客グループの継続率と LTV を見る”

「同じ月に初めて買ってくれた新規顧客」をひとつのグループとして扱い、その後の M+1 / M+3 / M+6 でどれだけ買い続けているかを獲得月ごとに集計します。「最近獲得した顧客のほうが定着率が高いのか / 低いのか」「いつ離反するか」が可視化できます。

こんな時に使う — 獲得時期ごとに顧客の定着ぐあいが変わっているか、月次トレンドで確かめたいとき。

実行前に必要な情報 — なし。獲得月別コホートは AMC の run(実行)が持つ期間がそのまま使われ、利用者が任意の期間を指定することはできません(run を切り替えたい場合のみ、利用可能な run_date の一覧から選べます)。

目的: 新規顧客の定着トレンドを把握し、獲得施策の継続/見直し判断に使うため、AMC の獲得月別コホートで
{{cohort_metric}} の継続指標と累積売上を出してください。
【データ源と run の固定】
get_amc_metric(metric_name="cohort", max_rows_per_table=5000) を使い、レスポンスの
selected_run_id / report_start_date / report_end_date / generated_at を必ず冒頭に明記してください。
このツールは run_date 引数を取ります(省略時は最新 run を自動選択)。存在しない run_date を渡すと
metadata.tables[*].available_runs に選択可能な run_id / run_date / report 期間が列挙されて返るので、
run を固定したいときはそこから選んでください。ただし任意の分析期間を指定する引数はありません。
report 期間は run 側で決まるので、期間を指定したことにせず、run が返した期間をそのまま分析対象期間として
宣言してください。 別 metric(retention 等)は run の採番系列が別で、cohort と同じ run_date が存在しない
ことがあります(cohort の最新 run の run_date を retention に渡すと 0 件で返ります)。したがって
本分析の数値と同じ表に混ぜないでください。混ぜる必要がある場合は両者の run_id と期間を併記し、
比較不能である旨を明記してください。
【行数の突合】
突合は「選択 run の row_count と returned_rows が一致し、truncated が false であること」で行ってください。
metadata.tables.*.list_row_count は週次 run が累積した LIST 全体の行数であり、選択 run の総行数では
ありません。これを突合対象にしないでください。不一致または truncated=true のときのみ「未確定」と明記します。
【コホートサイズ】
cohort_ltv.cohort_ntb_buyers は null です。コホートサイズは必ず cohort_summary.cohort_ntb_buyers を
cohort_month で join して取得してください。
【頻度合算の扱い】
purchase_frequency({{frequency_buckets}})を cohort_month × time_slot で合算し、合算前後の行数を提示して
ください。ただし repeat_purchase_uv の合算値をユニーク顧客数として扱わないでください。
バケットが排他か累積かはツール仕様に記載がなく判別できません。継続指標は
「repeat 購入 UV 合算 ÷ コホート NTB 数」と定義を明記し、「継続率」と断定しないでください。
売上(repeat_product_sales)の合算は加算で構いません。
【🔴 観測期間の打ち切りの扱い(最重要)】
1. 各コホートの最終 time_slot は report_end_date で打ち切られた部分期間です。確定値として使わず、
集計から除外してください。(除外した slot を明示すること)
2. 獲得月そのものが部分月になる先頭・末尾の cohort_month(report 期間の端にかかる月)を除外して
ください。 コホートサイズが他月と比較できません。
3. 観測期間の異なるコホートを同じ表で横並びにしないでください。 全 time_slot を合算した「累積LTV」を
獲得月順に並べる表は作らないでください。直近コホートほど小さく出るのは観測窓が短いためで、
定着悪化ではありません。
4. 比較は必ず 「獲得後 N ヵ月時点」で揃えて行ってください(N = {{align_months}})。
完全な time_slot 数が N に満たないコホートは表に載せず、「観測期間不足」と明記してください。
【出力】
上記を満たした表を、獲得月 × コホートサイズ × 各 N ヵ月時点の repeat 購入 UV 率 × N ヵ月累積売上÷NTB で
提示してください。除外したコホート・除外した time_slot・算出不可の指標は「取得不可(理由)」として
表外に列挙してください。推測値・概算値・欠測の 0 埋めは一切行わないでください。
below_reporting_floor 相当のフラグが無いため、小セルの非開示と 0 は区別できません。0 と断定しないでください。
【判定】
観測時点を揃えた比較のうえで、獲得月が新しいコホートの定着指標が古いコホートより高いか低いかを判定して
ください。期間の揃っていない数値を根拠に悪化・改善を述べないでください。 判定に必要な観測期間が
そろっていない場合は「判定不能(観測期間不足)」と明記し、いつ判定可能になるかを示してください。
【Next Action】
観測時点を揃えたうえで悪化が確認できた場合のみ、プロンプト 6(購入後のリテンションファネルを見る)でキャンペーン別要因を
掘り下げてください。ただし retention 系テーブルは cohort_month の軸を持たず別 run・別期間になるため、
コホート別の要因分解には使えない旨を確認したうえで実施してください。
【確定データ境界】
取込が未完了の月(get_data_ingestion_status で fully_missed / in_progress)を確定値として
扱わないでください。

変更できる条件 — なし(対象期間は指定できません)。使用された run の期間は出力に必ず明記されます。

返ってくる内容 — 獲得月ごとの グループサイズ・初購入の 1 / 3 / 6 ヶ月後の売上・グループ別 LTV と月次トレンド判定。グループサイズが 100 顧客未満の月は AMC 仕様により表示されません。

このプロンプトで AI がやること

  1. 獲得月ごとに「広告経由で初購入した新規顧客」をグループ化
  2. 各グループが M+1 / M+3 / M+6 にどれだけ売上を生んだかを集計
  3. 月をまたいだグループ別 LTV の推移をトレンド化(改善 / 悪化 / 横ばい)
  4. 100 ユニーク未満のグループは AMC 仕様により集計対象外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — 経過月ごとの残存率をキャンペーン別に見たいときは プロンプト 6、レポート化は 報告書を作る を使います。


プロンプト 6: 購入後のリテンションファネルを見る

Section titled “プロンプト 6: 購入後のリテンションファネルを見る”

「初回購入から N ヶ月後に何 % の顧客が戻ってきたか」をスロット別(M+1 / M+3 / M+6 など)で集計します。獲得キャンペーンで分けることで「どのキャンペーンが定着しやすい顧客を連れてきたか」も判定できます。

こんな時に使う — 顧客がどの時点で離脱しやすいか、どの獲得キャンペーンが定着しやすい顧客を連れてくるかを見たいとき。

実行前に必要な情報 — 対象期間(既定は過去 6 ヶ月)。ただし AMC 側で必ずしもこの期間どおりに絞り込めるとは限らず、実際に集計された期間は出力に明記されます。

目的:定着しやすい獲得キャンペーンを特定し、来期の予算配分判断に使います。
## 取得
1. AMCのリテンション指標をキャンペーン粒度で取得してください(全行取得すること。先頭サンプルで集計しない)。
2. 同時に、リテンションと**同一runの**キャンペーン別アトリビューション(広告費・ROAS・NTB購入数)と、その月次内訳も取得してください。
3. **AMCの指標は指標ごとに別のrun・別の集計期間が選ばれることがあります。** 取得したテーブルごとに run と集計期間(開始日・終了日)をレスポンスから読み取り、冒頭に必ず明記してください。**集計期間が一致しないテーブル同士を結合・比較しないでください。**
4. 期間を{{対象期間(例: 過去6ヶ月)}}に限定できない場合は、実際に返ってきた集計期間をそのまま採用し、「要求した期間は指定できず、実期間は◯◯〜◯◯である」と明記してください。
## 件数の検証
5. キャンペーン別テーブルの行数を、同一runのブランド別(広告タイプ別)テーブルの人数合計と突き合わせ、網羅率を示してください。**メタデータの累積行数(list_row_count)を分母にしないでください**(週次runの累積であり、選択runの総行数ではありません)。合計が100%を超える場合は重複計上の可能性として明記してください。
## 表の作成
6. 初回購入から1/3ヶ月後の残存顧客数(初回購入者のうち期間内に再購入した人数と定義)・残存率を、獲得キャンペーン別の表にしてください。残存率はAMCが返した値をそのまま使い、独自に再計算しないでください。
7. M6残存率・平均再購入間隔が該当テーブルのスキーマに無い場合は「算出不可」と明記し、**代用しないでください**。ブランド単位でのみ取得できる指標を、キャンペーン別の判定に流用しないでください。
## 判定(3つのガードを必ず適用)
8. 次はいずれも**判定対象外**とし、除外理由と規模を別途報告してください。
- 集計下限を下回った非開示バケット行(キャンペーン名ではなく「reporting floor」等の集約行)。**0人として扱わず実数を示し**、広告タイプ別のシェアも出してください。個別キャンペーンではないため予算操作の対象になりません。
- キャンペーン名が空の行
- NTB購入者数が{{最小NTB(例: 500)}}未満の行(標本が小さく残存率が不安定なため)
9. **観測期間の打ち切りガード(必須)**:残存率のテーブルに獲得月が無い場合、集計期間の全期間の顧客が1行に混ざっており、**直近に獲得した顧客は3ヶ月後を観測する時間が無いまま分母に入り、M3残存率を押し下げます。** 月次内訳を使って各キャンペーンの「直近3ヶ月に獲得したNTBの割合」を算出し、{{直近偏り上限(例: 30%)}}を超えるキャンペーンは**「判定保留」として予算縮小の対象から必ず除外**してください。定着良好群と定着不良群それぞれの中央値も併記し、打ち切りが判定を歪めている度合いを示してください。この診断に使う月次データの範囲が残存率の集計期間より短い場合は、推定が上限寄りである旨を明記してください。
10. 残った対象のうち、M3残存率が{{下限(例: 10%)}}以上を「定着良好」、それ未満を「定着不良」としてください。
## 出力
最後に次の3点を出力してください。
1. 推奨アクション — 定着不良キャンペーンの予算縮小案を、優先度・期待効果・確信度・リスクとともに提示する。**期待効果は同一runのアトリビューションから結合した実際の広告費で金額を示す**こと。縮小率など仮定を置いた数値は「AMCの返却値ではなく仮定である」と明示する。**残存率が低くてもROASが著しく高いキャンペーンは別枠で示し、縮小ではなくリピート導線の追加を先に検討する対象として扱う**こと。「判定保留」に分類したキャンペーンは縮小案に含めず、再判定時期とともに別表で示す。
2. 実行方法 — 予算縮小案はユーザーが確認・承認したうえで反映します。本プロンプトでは予算・入札を一切変更しません。
3. 測定 — 30日後に「施策の効果測定」でM3残存率とNTB購入数を再取得し、NTB購入数-10%超ならRevertを判断する。**再取得時はrunが進み集計期間ごとスライドするため、前回と同じ母集団の比較にならない。** 比較するrun・集計期間を両時点について必ず記録し、期間差を明示したうえで判断してください。ベースラインとして今回のrun・期間・数値を表で残してください。

変更できる条件 — 対象期間(例: 2025-10 以降。指定どおりに取得できない場合は実際の集計期間が代わりに使われます)/獲得キャンペーン別に分けるか 全体のみ で見るか。

返ってくる内容 — 初購入からの経過月ごとの 残存顧客数・残存率・平均再購入間隔 の表。キャンペーン別に分けたときは「定着しやすい / しにくい」のラベル付きで上位・下位を提示します。

このプロンプトで AI がやること

  1. AMC データから初回購入顧客を抽出
  2. スロット(M+1 / M+3 / M+6 など)ごとに再購入の有無を集計
  3. 残存率カーブ(離脱ポイント)を可視化
  4. キャンペーン別指定時は獲得経路ごとに集計し、定着率の差をランク付け
  5. 100 ユニーク未満のセグメントは AMC 仕様により集計対象外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — 定着しやすい広告タイプを比べたいときは プロンプト 8、レポート化は 報告書を作る を使います。


SP / SB / SD / DSP のどれが効率よく新規顧客を連れてくるかを比べ、予算配分の判断材料にします。

プロンプト 7: 広告タイプ別の NTB 獲得力と売上を比較する

Section titled “プロンプト 7: 広告タイプ別の NTB 獲得力と売上を比較する”

SP / SB / SD / DSP の広告タイプごとに「何人の購入者を連れてきたか」「そのうち NTB 比率はどれか」「広告由来売上はいくらか」を比較します。広告タイプ間の予算移動の判断材料になります。

こんな時に使う — どの広告タイプが効率よく新規顧客を連れてくるかを比べ、予算の振り先を決めたいとき。

実行前に必要な情報 — なし。既定では約 2 年間のローリング累積データが返り、利用者が期間を指定することはできません(短期の動きは月次テーブルで別途確認しますが、広告費が無いため NTB ROAS / NTB CAC はそちらでは算出できません)。

目的:広告タイプ別のNTB(新規顧客)獲得効率を比較し、予算配分の見直し判断に使います。
【一次ソース】
get_amc_metric(metric_name="ads_attribution", max_rows_per_table=5000) を使ってください。
このテーブルは広告タイプ(ad_product_type)を行の粒度とし、比較に必要な値を単一ソース・単一期間で返します。
広告費を別ツールから集めて窓を手で揃える必要はありません。
使うフィールド: ad_product_type / purchase_uv / ntb_uv / ntb_uv_pct / ntb_purchases / ntb_purchase_pct /
cost(広告費)/ product_sales / ntb_sales / ntb_sales_pct / roas / ntb_roas / cpp_uv / ntb_cpp_uv(NTB CAC)/ atv / ntb_atv / clicks_uv
【run と期間の明記(必須)】
AMC には任意期間の引数がなく、run に固定された期間しか返りません。selected_run_id /
report_start_date / report_end_date / generated_at を冒頭に必ず明記し、「これは指定期間でなく
約二年のローリング累積である」ことを書いてください。行数の突合は選択 run の row_count /
returned_rows / truncated で行い、週次 run が累積した list_row_count を分母にしないでください。
【出力】
広告タイプ(SP / SB / SD / DSP)別に次を表にしてください。比率はすべて分子と分母の実数を併記します。
- 購入者数(purchase_uv)/ NTB購入者数(ntb_uv)/ NTB比率(ntb_uv_pct)
- 広告費(cost)/ NTB由来売上(ntb_sales)
- NTB ROAS(ntb_roas) ← Primary KPI。MCP が返す値をそのまま使い、ntb_sales ÷ cost を自分で再計算しない
- NTB CAC(ntb_cpp_uv) ← 併記する補助 KPI。これも返却値をそのまま使う
- 参考: 全体 ROAS(roas)/ ATV(atv)/ NTB ATV(ntb_atv)
【判定】
NTB ROAS が全体平均の{{下限(例: 70%)}}を下回る広告タイプを「縮小候補」として提示してください
(NTB ROAS は高いほど良い指標です)。あわせて NTB CAC が全体平均の{{上限(例: 130%)}}を超えるタイプも
併記し、両指標の判定が食い違うタイプは「判定不一致」と明記して縮小候補に入れないでください
(NTB 由来売上の大きさと獲得単価の安さは別のことを言っているためです)。
【制約の明示(必須)】
1. 広告タイプは排他的ではありません(同一顧客が複数タイプで NTB 判定されうる)。
タイプ間の相対比較にのみ使い、4タイプを合計してブランド全体を語らないでください。この制約を出力に明記します。
2. ここでの NTB は「広告起因NTB」で、ブランド全体の新規顧客数とは母集団が別です。混用しないでください。
ブランド全体の NTB 売上を参考に併記する場合は get_amc_new_customer の ntb_revenue を使い、
run_id と window が異なり上表と直接結合できない旨を添えてください。
3. 約二年累積なので、直近の施策変更はこの数値にほとんど反映されません。短期の動きを見たい場合は
ads_attribution_monthly(report_month 粒度。ad_product_type 別に purchase_uv / ntb_uv / ntb_sales を返す)を
別表で使い、月次テーブルには cost がないので月次の NTB ROAS / NTB CAC は算出できないことを明記してください。
report_end_date が月末に達していない月は部分月として除外します。
4. 推測値・代用は禁止です。取得できない指標は「取得不可(理由)」と明記してください。
【ASIN 単位の掘り下げは本プロンプトの範囲外】
ASIN 別の NTB 効率はプロンプト 3(ASIN 別の NTB(新規顧客)獲得力を見る)で確認してください。
ASIN 別テーブル(NTB by ASIN)は ad_spend が広告タイプによって丸ごと欠落するため、
広告タイプ別の費用比較には使わないでください。
最後に次の3点を出力してください。
1. 推奨アクション — 縮小候補の予算再配分案を優先度・期待効果・確信度・リスクとともに提示する。
金額の根拠に使ったのが「約二年累積の実績広告費」であって「予算枠」でも「直近の月額」でもないことを明記する。
Guardrail: NTB獲得数が{{許容低下率(例: -15%)}}を超えて減る場合はシフト非推奨とする。
2. 実行方法 — 予算シフト案はユーザーが確認・承認したうえで反映します(本プロンプトでは予算・入札を一切変更しません)
3. 測定 — 感度で指標を分ける。NTB獲得数は ads_attribution_monthly で{{短期評価期間(例: 30日)}}で判定できる。
NTB ROAS / NTB CAC は約二年累積のため短期では動かないので、{{長期評価期間(例: 3ヵ月)}}以降に再取得する。
再取得時は run_id と report 期間を記録し、同じ幅の窓どうしで比較してから改善/悪化を判定する。

変更できる条件 — なし(対象期間は指定できません。約 2 年累積のため直近の施策変更はほとんど反映されません)。NTB ROAS / NTB CAC の縮小候補判定に使う閾値は変更できます。

返ってくる内容 — 広告タイプごとの 購入者数・広告由来売上・NTB 比率・NTB 1 人あたり CAC・NTB ROAS の表と予算配分の推奨。DSP を配信していないアカウントでは SP / SB / SD のみで返ってきます。

このプロンプトで AI がやること

  1. AMC データを広告タイプ別に分けて購入者と売上を集計
  2. NTB 比率と NTB 単位 CAC を算出
  3. NTB ROAS(NTB 売上 ÷ 広告費)で広告タイプをランク付け
  4. 予算配分が偏っていないか(特定タイプへの過集中)をチェック
  5. 100 ユニーク未満の広告タイプは AMC 仕様により集計対象外

設定変更 — 分析・提案のみ(読み取り専用)。広告設定は変更しません。

次にすること — 戦略レベルの配分は 広告戦略を立案する を使います。


プロンプト 8: 広告タイプ別の M+1 戻り率(定着率)を比較する

Section titled “プロンプト 8: 広告タイプ別の M+1 戻り率(定着率)を比較する”

「どの広告タイプが定着しやすい顧客を連れてくるか」を 1 ヶ月後の戻り率で比較します。NTB 数だけでは見えない “顧客の質” を測ります。

こんな時に使う — 新規獲得数だけでなく、連れてきた顧客が定着するかどうか(顧客の質)で広告タイプを比べたいとき。

実行前に必要な情報 — なし。常に約 24 ヶ月のローリング累積データが返り、利用者が期間を指定することはできません。

{{ブランド/アカウント}}のAMC広告アトリビューションデータで、SP/SB/SD/DSP経由のNTB顧客のM+1(獲得1ヶ月後)戻り率を比較して。
【前提:期間は選択できない】
AMCのretentionテーブルは期間指定を受け付けず、常に約24ヶ月ローリングの累積値を1行で返す。任意期間(90日など)での戻り率は取得できないので、期間を絞ろうとしないこと。代わりに、実際に返ってきた run_id・report_start_date・report_end_date をそのまま明示し、「これは指定期間ではなく約24ヶ月累積である」と冒頭に書くこと。
【手順】
1. 広告タイプ別のNTB獲得数・M+1戻り顧客数・M+1戻り率を取得する。戻り率はMCPが返した値をそのまま使い、独自に再計算しない。取得件数/総件数・truncationの有無を明示する。総行数の突合は選択runのrow_count/returned_rows/truncatedで行い、週次runの累積であるlist_row_countは使わない。
2. NTB CACは広告アトリビューションテーブルのNTB単価(ntb_cpp_uv)から取る。**戻り率と同じrun_id・同じreport期間から取ったことを確認して明記する。**metricごとにrunも窓も異なるため、別runの数値を横並びにしない。
3. 【必須】観測期間バイアスを検査する。累積テーブルには獲得月の軸が無く、report_end_date直前に獲得されたNTBはM+1を観測し終えていない。月次アトリビューションテーブルのNTB数から、広告タイプごとに「直近2ヶ月の獲得数 / 全期間の獲得数」=打ち切り率を算出し、以下を必ず併記する。
- 素の戻り率(下限)
- 打ち切りコホートの戻りを0と仮定して母数から除いた補正後戻り率(上限)
検算として、月次NTB数の合計が累積NTB数とほぼ一致することを確認する。一致しなければ月次テーブルが全期間をカバーしていないので、その旨を明記して補正を断念する。
4. 素の順位と補正後の順位を比較し、**入れ替わるペアは「判定不能」と明記する**。順位が変わらないペアだけを結論に使う。
5. 最も定着率が高い広告タイプを判定する。差が1pp未満なら「実質同等」と書き、定着率のみを根拠に優劣を断定しない。その場合はNTB CACを併せて判断根拠にする。
【データ品質の必須確認】
・「Below reporting floor」等の集約行を0扱いしない。実数を持つので、集計に含まれているかを確認して明記する。
・ad_type欄が空の行を推測で特定タイプに分類しない。件数を明記して未分類のまま除外する。
・戻り顧客数0の行を実績0と断定しない。打ち切り・新規キャンペーン・集計下限のいずれかでないかを確認する。
・対象が0件の広告タイプがあれば「該当0件」と明記し、実績0と断定する前にデータ取得状況を確認する。取得できなかった広告タイプは「取得不可」と明示し、他タイプのみで判定する。
・**広告タイプは排他的ではない**(同一顧客が複数タイプでNTB判定されうる)。タイプ間の相対比較にのみ使い、4タイプを合計してブランド全体を語らない。この制約を出力に明記する。
・ここでのNTBは「広告起因NTB」であり、ブランド全体の新規顧客数とは母集団が別。混用しない。
・当月は部分月なので推移の最終点として扱わない。データ取込状況を確認し、未確定月を確定値として扱わない。
【制約】
・本結果は分析のみ。予算変更は実行しない。書き込み系ツールを呼ばない。
最後に次の3点を出力してください。
1. 推奨アクション — 定着率が高い広告タイプへの予算シフト額の目安({{シフト率(例: 10%)}})・理由・優先度・期待効果・確信度・リスクを明記する。金額の根拠に使ったのが「実績広告費」であって「予算枠」ではないことを明記し、予算枠は別途確認が必要と添える。期待効果を平均CACから外挿する場合は、シフト先の支出規模が何倍になるかを示したうえで「限界CACの悪化を織り込まない上限値であり予測ではない」と断る。Guardrail: NTB獲得数が{{許容低下率(例: -15%)}}を超えて減る場合はシフト非推奨。
2. 実行方法 — この配分変更提案は「予算を調整する」カテゴリの承認・実行プロンプトへ渡す。渡す際の申し送り事項を書く。
3. 測定 — 感度で指標を分けること。NTB獲得数は月次アトリビューションから{{短期評価期間(例: 30日)}}で判定できる。M+1戻り率は約24ヶ月累積のため短期では動かず、**{{長期評価期間(例: 3ヶ月)}}以降**に再取得する。再取得時は必ずrun_idとreport期間を記録して同じ幅の窓どうしで比較し、毎回打ち切り補正を計算し直してから比較する。改善ならKeep・悪化ならRevertと判定する。

変更できる条件 — なし(対象期間は指定できません。約 24 ヶ月累積のため直近の施策変更はほとんど反映されません)。予算シフト率の目安は変更できます。

返ってくる内容 — 広告タイプごとの NTB 獲得数・1 ヶ月後の戻り数・戻り率に、「定着型」「フラッシュ型」の分類が付きます。DSP を配信していないアカウントでは SP / SB / SD のみで返ってきます。

このプロンプトで AI がやること

  1. 広告タイプ別に NTB 顧客を抽出
  2. 各 NTB が M+1 までに 2 回目購入したかを判定
  3. 戻り率を広告タイプ別にランク付け
  4. 「定着型(戻り率高)」「フラッシュ型(戻り率低)」を分類
  5. 100 ユニーク未満の広告タイプは AMC 仕様により集計対象外

設定変更 — 分析のみ(読み取り専用)。広告設定は変更しません。

次にすること — 定着型が多い広告タイプへの予算配分は 広告戦略を立案する、レポート化は 報告書を作る を使います。


AMC コンソール用の SQL を生成する

Section titled “AMC コンソール用の SQL を生成する”

Picaro に分析させるのではなく、AMC コンソールで自分で実行するための SQL クエリを作ります。ここだけ実行範囲が「SQL 生成のみ」になります(Picaro が AMC 上で SQL を実行することはありません)。