19-ab-test-setup-global について
マーケティングの A/B テストを設計・評価するスキルです。検証可能な仮説、サンプル数、結果の解釈に加え、期間や有意性、テスト案、専用ツールを使わない設定方法を扱います。
主な機能
- 01数値予測を含む仮説の作成
- 02テストごとに変数を一つに限定
- 03サンプル数と期間の見積もり
- 04有意性に基づく結果の解釈
- 05多変量テストと設定方法の案内
活用シーン
- 01ランディングページの見出しや CTA のテスト
- 02メール件名ごとの開封率の比較
- 03広告クリエイティブや対象オーディエンスの評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ minhnv0807/ ai-business-skills --skill 19-ab-test-setup-globalインストール後、Claude Code で/19-ab-test-setup-globalを入力して読み込まれたか確認します。
詳細
A/B テストの設定(グローバル)
ノイズではなく、意思決定につながる実験を実施しましょう。マーケティングにおける「A/B テスト」の多くは、検出力が不十分で、途中で結果を確認し、仮説の立て方も不適切です。その結果、チームは何も学べず、声の大きいバリエーションを公開してしまいます。
初心者向け
有効な A/B テストが答えるのは、次の 1 つの問いです。「この変更によって実際に改善したのか、それともノイズを見ているだけなのか?」
信頼できる答えを得るには、次の 4 つが必要です。
- 数値による予測を含む具体的な仮説
- 変更する変数は 1 つだけ(それ以外はすべて同一)
- 関心のある効果を検出するのに十分なサンプル数
- 勝者と判断する前に統計的有意性を確認すること(通常、p < 0.05)
どれか 1 つでも欠けていれば、それは A/B テストではありません。手順を少し増やしただけのコイン投げです。
初心者によくある間違い: 3 日間テストを実施し、バリエーション B が 40%高いのを見て、勝利と判断して公開することです。曜日による影響を吸収するには 3 日では短すぎます。また、サンプル数が少ないと数値は大きく変動します。14 日目には、バリエーション B の効果が元に戻る(または逆転する)可能性があります。
ステップ 0 — コンテキストを確認する
.agents/product-marketing-context.md が存在する場合は、内容を確認します。オーディエンスの規模、平均トラフィック、現在のコンバージョン率によって、そもそもテストが実施可能かどうかが決まります。
ステップ 1 — 情報収集
最大 4 つの質問をします。
- 何をテストしますか?(広告の見出し/ランディングページのセクション/メールの件名/価格表示/CTA ボタン/動画クリエイティブ)
- 主要指標は何ですか?(CTR/コンバージョン率/CPM/CPA/売上/開封率/返信率)
- テスト対象への 1 日あたりのトラフィックはどれくらいですか?(サンプルサイズと期間の算出に必要です)
- テストの目的は何ですか?(主要指標を X%向上させる/N 個の候補から勝者を選ぶ/戦略的仮説を検証する)
有効な A/B テストの 7 原則
1. 変更する変数は 1 つだけにする
これが最も重要なルールです。同時に 2 つ変更すると、結果の原因を特定できません。
- 悪い例:「見出し、ヒーロー画像、CTA の色を変更しました。」→ どの要素が効果をもたらしたのか、何も分かりません。
- **良い例:**見出しだけを変更します。画像、CTA、レイアウト、トラフィックソース、オーディエンスのターゲティングはすべて同一にします。
複数の変更をテストする必要がある場合は、**多変量テスト(MVT)**を使用します。ただし、より多くのトラフィックが必要です(単一の A/B テストの 4~8 倍になることもよくあります)。
2. 数値を使って仮説を立てる
形式:「[X を変更]すると、[理由]により、[指標 Y]が[Z%]向上する。」
- 良い例:「CTA を『登録する』から『無料デモを申し込む』に変更すると、行動を具体的に示す表現によって曖昧さが減るため、コンバージョン率が 15%向上します。」
- 悪い例:「新しいコピーのほうが良くなる。」(指標も数値も因果関係の説明もなく、検証できません。)
「理由」が重要なのは、仮説が間違っていても、推論に妥当性があれば、他にも応用できる学びが得られるからです。
3. 十分なサンプルサイズを確保する
早期に終了しないでください。統計的検定でシグナルとノイズを区別するには、十分なデータが必要です。
- **最低限の目安:**バリエーションごとにコンバージョン 100 件(訪問者 100 人ではありません)
- **より良い方法:**ベースラインのコンバージョン率と最小検出効果に基づいて、あらかじめサンプルサイズを計算します(以下の計算式を参照)
4. 十分な期間を設ける
テストは丸一週間単位で実施し、3 日や 10 日で終わらせないでください。曜日によってオーディエンスの行動は異なります。月曜日の B2B トラフィックと土曜日の DTC トラフィックは同じではありません。
- **最低期間:**7 日間
- **推奨期間:**14 日間
- **注意するもの:**祝日、給料日、月次請求サイクル、広告費の増額
5. 途中で結果を確認しない
結果を 1 時間ごとに確認し、「B のほうが良さそう」と思った時点で終了するのは、マーケティング実験で最もよくある間違いです。早期の確認と早期終了を組み合わせると、偽陽性率が大幅に高まります。
- 終了日を事前に決め、その日を守ります。
- どうしてもモニタリングが必要な場合は、そのために設計された逐次検定の手法を使用します(Optimizely の Stats Engine のようなベイズフレームワークや、逐次検定用の制御機能が組み込まれたプラットフォームなど)。
6. 統計的有意性:p < 0.05
ほとんどのマーケティングチームは、基準として 95% の信頼度(p 値 < 0.05) を使用します。
- p 値 < 0.05 → 観測された差が偶然である確率は 5% 未満です
- p 値 0.05–0.10 → 示唆的ですが結論には至りません。テストを延長します
- p 値 > 0.10 → 効果を示す証拠はありません。対照群を維持するか、別の項目をテストします
重要度の高いテスト(価格設定、ブランディング)では、99% の信頼度(p < 0.01)を検討してください。
7. すべてを記録する
以下を書き留めます。
- 仮説(数値を含む)
- 開始日/終了日
- 達成したサンプルサイズ
- 主指標、副指標
- 結果 + p 値
- 決定 + 理由
- 次にテストする内容
テスト履歴を記録しておくと、すでに失敗したことをチームが再テストしたり、過去の決定の理由を忘れたりするのを防げます。
サンプルサイズの計算
簡易式
Sample size per variant ≈ 16 × p × (1 − p) / MDE²
where:
p = baseline conversion rate (e.g. 0.03 = 3%)
MDE = minimum detectable effect, in absolute terms
(e.g. 0.006 = lift from 3% to 3.6%)
この式では、検出力 80%、信頼度 95%、50/50 の分割を前提としたサンプルサイズが得られます。これは、ほとんどのマーケティングテストで妥当なデフォルト設定です。
計算例 A — ランディングページの CRO
現在のコンバージョン率は 3% です。相対的な 20% の上昇(3% から 3.6%)を検出したいとします。
- p = 0.03
- MDE(絶対値) = 0.20 × 0.03 = 0.006
- バリアントごとのサンプルサイズ = 16 × 0.03 × 0.97 / 0.006² = 12,933 人の訪問者
- 合計:約25,866人の訪問者。1日あたり500人の場合、約52日です。
時間がかかります。実行する(変更に価値がある場合)、予想される上昇幅がより大きい項目をテストする、またはテスト対象へのトラフィックを増やす、のいずれかを選びます。
計算例 B — メールの件名
現在の開封率は 25% です。相対的な 10% の上昇(27.5% まで)を検出したいとします。
- p = 0.25
- MDE = 0.025
- バリアントごとのサンプルサイズ = 16 × 0.25 × 0.75 / 0.025² = 4,800 通
- 合計:メール1通あたり9,600通です。通常は1回のキャンペーンで達成可能です。
実施可能性の早見表
| 1日のボリューム | コンバージョン率 | 必要日数 | テストの実施可能性 |
|---|---|---|---|
| < 100 | 任意 | 2か月以上 | 見送る — まずトラフィックの増加に注力する |
| 100–500 | 2–5% | 3–6週間 | 可能ですが、時間がかかります |
| 500–2K | 2–5% | 2–3週間 | 可能 — 理想的な範囲 |
| 2K–10K | 2–5% | 1–2週間 | 可能 — 迅速に反復できます |
| 10K+ | 任意 | 数日 | 可能 — 複数群のテストも実施可能 |
ボリュームが1日あたり100未満の場合、A/B テストは統計的に無駄になります。実験を実施する前に、トラフィックの増加に注力してください。
複数群テストと多変量テスト
単純な A 対 B を超える手法:
- 複数群テスト(A/B/C/D): 3つ以上のバリアントを一度にテストします。サンプルサイズは群の数にほぼ比例して増加します。
- 多変量テスト(MVT): 複数の要素を同時にテストします(見出し × 画像 × CTA = 8通りの組み合わせ)。サンプルサイズは乗算的に増加します。非常に多くのトラフィックがある場合にのみ実施可能です。
- 逐次テスト/ベイズ最適化(Thompson Sampling): パフォーマンスの高いバリアントに、より多くのトラフィックを動的に割り当てます。Optimizely、Google Optimize の後継サービス、Meta の自動最適化で使用されています。
ほとんどのチームは、テスト対象の1日あたりのトラフィックが約10Kを超えるまでは、A/B にとどめてください。
テストする項目(優先順位順)
1. 見出し — 最も影響が大きい
訪問者の約80%が見出しを読み、本文を読むのは20%です。見出しを最適化すると、作業量あたりで最大の上昇効果が期待できます。
試すバリエーション:
- 質問形式と断定形式
- 具体的な数値と一般的な表現(「3,247人の創業者が信頼」対「創業者に信頼されています」)
- 成果重視と機能重視
- 短文(5~7語)と長文(12~15語)
2. CTA ボタン
変更が簡単で、多くの場合、5~25%の上昇が期待できます。
バリエーション:
- テキスト:「サインアップ」対「無料デモを受ける」対「無料トライアルを開始」対「料金を見る」
- 色:ブランドのメインカラー対コントラスト色(通常、コントラストの高い色が優れています)
- サイズ:標準対大
- 位置:ファーストビュー対固定表示対ページ末尾
3. ヒーロービジュアル
- 製品画像対ライフスタイル画像
- 静止画対動画
- 創業者の顔写真対匿名モデル
- デモの画面録画対お客様の声の動画
4. 価格表示
- 月払い対年払いをメインに表示
- 取り消し線付きの割引価格対シンプルな価格
- 数値の表記($299 対 $299.00 対 $299/mo)
- 価格のアンカリング(3段階の価格を示し、中央のプランを強調)
5. ソーシャルプルーフの配置
- 数字と詳細なレビュー
- ロゴ一覧と顧客数
- CTA の上と下
- 動画の推薦コメントとテキストの推薦コメント
6. フォームの入力欄
- 3 項目と 5 項目と 7 項目(項目が少ないほど、ほぼ常にコンバージョン率は高くなりますが、リードの質が低下する場合があります)
- ラベルの位置(上と左)
- 1 ステップと複数ステップ
- 任意項目に印を付けるか、必須項目に印を付けるか
7. メールの件名
- 質問形式とメリットの提示
- パーソナライズと一般的な内容
- 絵文字ありとなし(地域や対象者によって異なります)
- 長さ(40 文字未満と 60 文字以上)
8. 広告クリエイティブ
- 最初の 3 秒のフックのバリエーション
- UGC スタイルと洗練されたブランドスタイル
- 形式:静止画とカルーセルと動画と Reels 向けネイティブ形式
- クリエイティブ上の見出しとコピー欄の見出し
ツールのおすすめ
| ツール | 最適な用途 | 費用 |
|---|---|---|
| Meta Ads built-in A/B test | Meta でのクリエイティブ、オーディエンス、配置 | 無料 |
| TikTok Ads Split Test | TikTok 広告のクリエイティブとオーディエンスのテスト | 無料 |
| Google Ads Experiments | Google Ads キャンペーンと広告コピー | 無料 |
| Optimizely Web | エンタープライズ向けのウェブ実験、逐次テスト | $$$ エンタープライズ |
| VWO | ミッドマーケット向けウェブ A/B テスト+ヒートマップ | $199+/月 |
| Convert.com | プライバシー重視のウェブテスト | $99+/月 |
| PostHog | プロダクトの機能フラグ+実験+分析 | 無料プラン、充実した内容 |
| GrowthBook | オープンソースの A/B テストプラットフォーム | 無料/ホスト型プラン |
| Statsig | 機能フラグを使ったプロダクト実験 | 無料プラン |
| AB Tasty | ウェブ実験+パーソナライズ | $$$ |
| Unbounce / Instapage | ランディングページ向けの組み込み A/B テスト | $90+/月 |
| Custom (split URL) | 2 つのページ、50/50 のリダイレクト、GA4/Pixel のアトリビューション | 無料 |
注: Google Optimize は 2023 年 9 月にサービスを終了しました。移行先としては、GA4+サードパーティのプラットフォーム(Optimizely、VWO、Convert)、またはプロダクト主導のチーム向けの PostHog/GrowthBook があります。
専用ツールを使わないセットアップ
1. Build two versions of the page: /landing-a and /landing-b
2. Split traffic 50/50:
- Meta Ads: 2 ad sets, identical audience, different destination URLs
- Google Ads: 2 ads in the same ad group, identical targeting, different URLs
- Email: list-split feature in your ESP
3. Track conversions per variant:
- Meta Pixel custom event with parameter: page_version = "A" / "B"
- GA4 event with custom dimension
- PostHog feature flag exposure event
4. Run for the planned duration. Don't peek mid-test.
5. Export raw counts. Run significance test (calculator below).
結果の分析
統計的有意性
計算ツールを使います。おすすめ:
- Evan Miller's calculator —
evanmiller.org/ab-testing/chi-squared.html - AB Testguide —
abtestguide.com/calc/ - Optimizely's calculator — プラットフォームに組み込み
- Survey Monkey calculator — テスト前のサンプルサイズ算出用
入力値:
- バリアント A:訪問者数+コンバージョン数
- バリアント B:訪問者数+コンバージョン数
出力値:
- p 値(95% の信頼度には < 0.05 が必要)
- 向上率の信頼区間
- 向上率 %(相対値または絶対値)
判定マトリクス
| p 値 | 向上率 | 判定 |
|---|---|---|
| < 0.05 | > 5% | B の勝ち — 導入して記録する |
| < 0.05 | < 5% | 有意だが小さい — 導入コストを考慮する |
| 0.05–0.10 | > 10% | 境界域 — 可能であればテストを延長する |
| > 0.10 | any | 根拠なし — A を維持するか、より強力なテストを設計する |
よくある落とし穴
- 途中で結果を確認して早期終了する。 偽陽性の最も一般的な原因です。3 日目にプラットフォームが「B が勝っています」と表示しても、そのプラットフォームは誤解を招いています(逐次テスト向けに特別に設計されている場合を除きます)。
- 分割比率が不均等。 分割比率が意図した 50/50 ではなく 30/70 の場合、配信インフラに不具合があります。結果を信頼する前に調査してください。
- 季節性。 平日のみのテストと週末を含むテストでは、結果が異なります。必ず丸 1 週間実施してください。
- 新奇性効果。 新しいバリアントは最初の 2~3 日間は注目を集めますが、その後、パフォーマンスは低下します。十分な期間テストすれば、この影響を吸収できます。
- サンプル比率の不一致(SRM)。 50/50 に分割する想定でも、訪問者数が大きく乖離している場合(例:8,400 対 11,600)、トラッキングまたは割り当てに不具合がある可能性が高いです。PostHog や Optimizely などのツールは、これを自動的に検出します。
- テスト中にトラフィックソースを混在させる。 テストの途中で新しい広告キャンペーンを追加しないでください。オーディエンスの構成が変わります。
- 多重比較の問題。 20 件のテストを同時に実施すると、偶然だけで約 1 件が「有意」に見えることになります。しきい値を調整する(ボンフェローニ補正)か、仮説を事前登録してください。
出力テンプレート
# A/B Test: [test name]
Created: [YYYY-MM-DD]
Owner: [name]
## 1. Hypothesis
"If we [change X], [metric Y] will increase by [Z%] because [reason]."
## 2. Variants
- Variant A (Control): [current state description]
- Variant B (Challenger): [changed state description]
- Single change: [the one element that differs]
## 3. Metrics
- Primary: [e.g. conversion rate]
- Secondary (guardrails): [e.g. bounce rate, time on page, AOV]
## 4. Sample size & duration
- Baseline (p): [%]
- Minimum detectable effect (MDE): [%]
- Sample needed per variant: [N]
- Daily traffic to test surface: [N]
- Estimated days to complete: [N]
## 5. Setup
- Tool: [Optimizely / VWO / PostHog / Meta built-in / custom]
- Variant A URL or asset: [...]
- Variant B URL or asset: [...]
- Tracking events: [list]
- Split ratio: 50/50
## 6. Timeline
- Start: [date]
- End (planned): [date]
- Review meeting: [date]
## 7. Results (filled in after test ends)
| Variant | Visitors | Conversions | Rate | Lift vs A |
|---------|----------|-------------|------|-----------|
| A | | | | — |
| B | | | | +X% |
p-value: [x]
95% CI on lift: [lower%, upper%]
Significant (p < 0.05): [Yes / No]
## 8. Decision
[Ship B / Keep A / Inconclusive — extend or redesign]
## 9. Action
[Implement variant B globally / Roll back / Schedule next iteration]
## 10. Lessons
[What this teaches generalizable for future tests]
品質チェックリスト
- 変更する変数は必ず 1 つだけ
- 仮説が具体的で、数値による予測を含んでいる
- サンプルサイズを事前に計算済み(バリアントごとに最低 100 件の会話)
- 期間は最低 1 週間、できれば 2 週間
- 途中で結果を確認しない — 終了日を定め、それを守る
- 勝者を決める前に p 値を算出済み(目標は p < 0.05)
- 結果を記録済み(勝者の有無にかかわらず、どちらも学びになります)
- 副次指標を確認済み(ガードレール違反がない)
- サンプル比率を検証済み(SRM の危険信号がない)
- 今回のテストから得た学びに基づき、次のテストを特定済み