ドキュメントメニュー

実験(A/Bテスト)

実験では、メールに加えた1つの変更をコントロールと比較します。問い、その問いに答える1つの数値、参加する人を書き留めると、MailInAppは何かを送信する前にそれらをすべて固定します。そのうえですべてのバージョンを同時に送信し、何が起きたかを測定して、根拠がどれほど強いかを示します。

このページの図では、架空の衣料品店Retro Revivalを例に、架空の数値を使っています。Retro Revivalは、スクラッチカードの下に特典を隠し、送料無料と10%オフのどちらがより売れるかをテストします。

実験とは

実験は1通のメールに属し、1つの問いに答えます。実験には次のものがあります:

  • 仮説:何が起こると予想し、その理由は何か。結果を見る前に書きます。
  • 1つの主要指標:結果を決める数値です(たとえば購入コンバージョン)。それ以外の数値は主要指標を説明するために表示されるだけで、結果を決めることはありません。
  • 2つ以上のバリアント:メールのバージョンです(ウィザードでは「アーム」と表示されます)。そのうち1つがコントロールで、他のすべてのバリアントはコントロールと比較されます。
  • 連絡先のランダムサンプル:一度だけ抽出され、バリアント間で分けられます。2つのバリアントを受け取る人はいません。
  • 観測期間:送信後、クリックと注文を集計する期間です。結果は期間の終了時に確認します。

実験は、サイドバーの実験から新しい実験で始めます。メールの送信ページにあるA/Bボックス、メール一覧の行メニュー、キャンペーンカレンダーの実験として実行からも始められます。

手早いA/B送信で十分な場合

通常のA/B送信は、1回の送信を最大5つのバリアントに分け、それぞれの率を並べて表示します。手早く使え、2つの件名をおおまかに比べるには十分です。ただし、指標、サンプルサイズ、終了時期のどれも事前には固定されません。

答えが重要なときは実験を使いましょう。実験には、手早い送信にはないものがあります:

  • 送信前に決めたサンプルと指標。後から都合のよい解釈を選ぶことはできません。
  • 統計的な検定。区間と、わかりやすい言葉での判定が付きます。
  • 送信そのものが公平だったかのチェック。たとえば、すべてのバリアントが同時に送信されたかを確認します。
  • バリアントごとのストア特典と、注文をそれを生んだバリアントに紐付ける仕組み。
  • 記録された判断。実験と一緒にずっと残ります。

また、実験には直接送信のような200人の上限がありません。実験は専用の処理でバッチに分けて、サンプル全体に送信します。

プラン

実験はLiteプラン以上で利用できます。各プランでできること:

プランバリアント数バランス調整済みランダムサンプルホールドアウト逐次分析
Lite2なしなしなし
Pro4ありありなし
BusinessとEnterprise5ありありあり

ホールドアウトもバリアントの1つとして数えます。

6つのステップ

実験は6つのステップで設定します。ロックするまでは、どのステップにも戻れます。

仮説と指標

まず仮説を書きます。次に、実験の結果を決める唯一の数値である主要指標を選びます。どの指標も、それぞれの母数に対する割合か金額です:

指標数えるもの
購入コンバージョン配信された受信者のうち購入した人の割合。
配信メールあたりの売上アトリビューションされたストア売上を配信メール数で割った値。
ユニーククリック率配信された受信者のうち1回以上クリックした人の割合。
回答率配信された受信者のうち、投票、クイズ、出欠確認、フォームに回答した人の割合。

配信は、送信数からハードバウンスを引いたものです。何回クリックや購入をしても、1件の連絡先は1回として数えます。

副次指標は、主要指標の横に表示されて結果を説明します。結果を決めることはありません。ガードレールは、勝者が悪化させてはいけない指標です(たとえば配信停止率や苦情率)。コントロールを上回っても、ガードレールで明確に悪化したバリアントは勝者になりません。

2つの指標には独自の制限があります:

  • 開封率は参考値としてのみ使えます。Apple Mailのプライバシー保護がメールを自動で開封するため、主要指標にもガードレールにもできません。
  • 観測された開封演出率と結果表示後のクリック率には、メールアプリから記録された結果表示が必要ですが、MailInAppはまだそれを記録していません。今のところ、これらは選ばないでください。また、結果表示後のクリックは誰が結果を表示したかに左右されるため、その指標はランダム化された比較ではありません。

有意水準は、差を認めるために必要な根拠の強さです。通常は5%(両側)を選びます。分析は固定期間(期間の終了時に一度だけ確認)か、Businessプラン以上では逐次(期間中に、より厳しい基準で確認)です。違いは期間を固定する理由で説明しています。

統計では、さらにいくつかの選択をこの時点で確定します。こうしておけば、結果に合わせて後から選び直すことはできません。送信前に分かっていた情報による補正、売上の通貨、非常に大きな注文の上限、任意のマージンが対象です。それぞれの内容は実験結果の読み方で説明しています。

アームとコンテンツ

各バリアントはメールの1つのバージョンです。それぞれにラベルとサンプルの割合を設定し、1つをコントロールに指定します。均等に分割を使うと、割合が等しくなります。

バリアントでは、件名、送信者、コンテンツを変えられます。コンテンツには2つの方法があります:

  • このメール(このアームの変更を適用)。スタジオでメールを開き、ツールバーのバリエーションメニューでバリアントを選んで、変更するブロックを編集します。それ以外はすべてのバリアントで共有されます。こうすると、テストする部分以外はバリアント間でまったく同じになります。
  • 別のメール。バリアントがまったく別のメールを送信します。その結果も、この実験に集計されます。

いくつかの設定は、回答や支払いの検証方法を決めるため、バリアント間で変えられません。たとえばクイズの正解や商品の価格です。バリアントで変えられるフィールドはスタジオに表示されます。

バリアントA

件名
ヒーロー画像
商品カルーセル
スクラッチの賞品10%オフ
ショップボタン
フッター

バリアントB

件名
ヒーロー画像
商品カルーセル
スクラッチの賞品送料無料
ショップボタン
フッター
バリアント間でメールの何が異なるか
メールの部分バリアントAバリアントB
件名同じ同じ
ヒーロー画像同じ同じ
商品カルーセル同じ同じ
スクラッチの賞品10%オフ送料無料
ショップボタン同じ同じ
フッター同じ同じ
どちらのバリアントにも同じメールが届きます。異なるのはスクラッチの下の賞品だけなので、購入の差は特典によるものと考えられます。

テストでコンテンツに手を加える必要はありません。次の例では、2つのバリアントが1通のメールを共有し、件名だけが異なります:

バリアントA (コントロール)

件名

The October restock is here

バリアントB

件名

Back in stock: the 3 cameras you asked for

異なるのは件名だけです。メールの中身はどちらのバリアントも同じです。

Proプラン以上では、バリアントの1つをホールドアウトにできます。ホールドアウトの連絡先には何も送信しません。他のバリアントをホールドアウトと比べると、メールがなくても購入したはずの人数がわかります。そのため、主要指標は購入か売上である必要があります。

オーディエンスとサンプル

連絡先リストを選び、フィルターのルールでターゲットを決めます。保存済みセグメントから開始を使うと、セグメントのフィルターが実験にコピーされます。実験側で編集しても、セグメントは変わりません。

オーディエンス数のカードは、送信時と同じルールで4つの段階を数えます:

  1. リスト内:リストのすべての連絡先。
  2. 送信可能:そもそもメールを送れる連絡先。それ以外の連絡先を送れない理由は、除外の一覧に表示されます。理由は、配信停止またはバウンス、無効と確認されたアドレス、マーケティングの同意なし、購読の未確認、このメールのトピックの配信停止、別の実験に参加中のいずれかです。
  3. ターゲット:送信可能な連絡先のうち、フィルターに一致するもの。
  4. 実験対象:サンプルです。バリアント間で分けられます。
  1. リスト内50,874
  2. 送信可能46,320

    除外

    • 配信停止またはバウンス · 2,870
    • マーケティングの同意なし · 704
    • 無効と確認されたアドレス · 612
    • 購読を確認していない · 236
    • このメールのトピックを配信停止 · 98
    • アドレスがない、または形式が不正 · 34
  3. ターゲット6,420

    ロック/オルタナティブかつ1990年代

  4. 実験対象4,000
    • バリアントA · 10%オフ · 2,000
    • バリアントB · 送料無料 · 2,000
オーディエンスの各段階の連絡先数
段階連絡先
リスト内50,874
送信可能46,320
ターゲット6,420
実験対象4,000
除外: 配信停止またはバウンス2,870
除外: マーケティングの同意なし704
除外: 無効と確認されたアドレス612
除外: 購読を確認していない236
除外: このメールのトピックを配信停止98
除外: アドレスがない、または形式が不正34
バリアントA · 10%オフ2,000
バリアントB · 送料無料2,000
各段階は前の段階を絞り込みます。まず、メールを送れない連絡先が除外されます。次に、フィルターで両方の興味を持つ連絡先が残り、その中からサンプルが抽出されてバリアント間で分けられます。

フィルターの横にあるオーディエンスの内訳では、ターゲットの連絡先を、リストのフィールド、購入履歴、エンゲージメントスコアで分けて確認できます。どの内訳にも、そのフィールドがない連絡先の値なしの区分があります。サンプルを抽出する前に確認してください。値のない連絡先が多ければ、そのフィールドでバランスを取ってもあまり効果はありません。

次にサンプルの方法を選びます:

  • ターゲット全員:ターゲットの連絡先全員が参加し、バリアント間でランダムに分けられます。
  • ランダムサンプル:ターゲットの連絡先からランダムに抽出したサンプルを、ランダムに分けます。
  • バランス調整済みランダムサンプル(Pro以上):選んだフィールドの値ごとに個別に抽出するため、すべてのバリアントが同じ構成になります(たとえば顧客と見込み客)。
  • セグメント全体:ルールで選ばれたすべての連絡先です。ルールによる選択でランダムサンプルではないため、結果はそのセグメントだけを表します。バリアントの割り当ては引き続きランダムです。

ターゲットの連絡先

バリアントA · 10%オフバリアントB · 送料無料
  • 顧客
  • 見込み客

点ひとつが連絡先80件を表します。

バリアントごとの連絡先数(バランス調整済みランダムサンプル)
バリアント顧客見込み客顧客区分なし
バリアントA · 10%オフ7201,24040
バリアントB · 送料無料7201,24040
一度の単純なランダム抽出でのバリアントごとの点の数
バリアント顧客見込み客
バリアントA · 10%オフ1114
バリアントB · 送料無料718
バランス調整済みランダムサンプルは顧客区分ごとに抽出するため、バリアントは同じ構成で始まります。単純なランダムサンプルは平均すれば公平ですが、抽出のたびに偏りが出ることがあります。

別の実験に参加中の連絡先を除外を使うと、実験どうしが重なりません。対象は、ロック済みの実験、まだ観測期間中の実験、特典がまだ利用できる実験です。これにより、以前のテストの特典がこの実験に紛れ込むことはありません。

サンプルサイズプランナーは、何かを送信する前に、テストに必要な連絡先の数を計算します。出発点はご自身の履歴で、そのリストでの過去の実験か、最近の送信を使います。検出したい最小の上昇幅と、求める検出力を入力すると、推奨サンプルが示されます。オーディエンスが小さすぎる場合は、代わりに確実に検出できる最小の上昇幅が表示されます。

バリアントあたりの連絡先

02,0004,0006,0008,0001.01.52.02.53.0検出可能な最小差(ポイント)1.3ポイントにはバリアントあたり3,943件が必要バリアントあたり2,000件検出可能:約1.9ポイント
検出可能な最小差ごとのバリアントあたりの必要な連絡先数
検出可能な最小差バリアントあたりの連絡先
1.0ポイント6,444
1.5ポイント3,027
2.0ポイント1,793
2.5ポイント1,206
3.0ポイント877
サンプルサイズプランナーは、ベースライン3.7%、検出力80%、配信率98%からこの曲線を描きます。見たい差が小さいほど、多くの連絡先が必要です。

Retro Revivalは、購入が3.7%から5.0%に上がることを期待していました。この1.3ポイントの上昇を検出するには、プランナーによるとバリアントあたり3,943件の連絡先が必要です。合計4,000件では、確実に検出できるのは約1.9ポイントの上昇です。それより小さい本当の差は見逃されやすいため、サンプルの大きさは開始後ではなく開始前に、用意できる規模で計画してください。プランナーの使い方はA/Bテストに必要な連絡先の数を知るで順を追って説明しています。

特典とアトリビューション

各バリアントに個別のストア特典を設定するか、特典なしにします。特典は割合割引、定額割引、送料無料から選べます。公平に比較できるよう、すべてのバリアントに特典を付けるか、どれにも付けないかのどちらかにします。また、すべてのバリアントのコードは同じ日数だけ有効です。

各受信者には、その人に紐付いた1回限りのコードが届きます。メールでは{{discount_code}}と{{discount_url}}のマージタグで表示します(たとえばスクラッチカードの賞品とリンクの中)。どれかのブロックに特典が表示されるまで、ロックはできません。

先に準備しておくことがあります:

  • コードは、実験の連絡先リストに接続したShopifyまたはWooCommerceのストアで発行されます。ストアがない場合、コードを発行できないという警告がこのステップに表示されます。
  • WooCommerceでは、送料無料のコードを使うために、有効な送料無料クーポンを条件とするFree Shippingの配送方法が必要です。ストアにない場合は、このステップに警告が表示されます。
  • 送料無料の場合は、注文あたりの平均送料を入力します。送料無料の注文ごとに、プロモーション費用として計上されます。

注文のアトリビューションは、ストアの各注文をバリアントに紐付けます。次の順番で、最初に一致したルールが適用されます:

  1. 割引コード:注文でバリアントのコードが使われた。数日後でも最も確実な一致です。
  2. トラッキングリンク:購入者がメールのタグ付きリンクから訪れた。
  3. メール内チェックアウト:購入者が商品ブロックのチェックアウトで支払った。
  4. メールアドレス(推定):購入者のアドレスが、期間中にクリックした受信者と一致した。これらの注文は推定として報告されます。

最初の3つのルールは既定でオンです。**メールアドレス(推定)**は選ぶまでオフのままで、ホールドアウトの注文を紐付けられる唯一のルールです。ホールドアウトにはメールが届かないためです。コードとルールの詳細はバリアントごとに異なる特典、特典のテスト全体の流れはスクラッチカードのA/Bテストで、よく売れる特典を見つけるで説明しています。

メールにスクラッチカードがある場合、スクラッチの CTAでショップボタンの位置を表示された賞品の中かカードの下から選びます。それぞれの位置で何を測定できるかは、スクラッチの効果を測定するで説明しています。

スケジュールと期間

開始後すぐか指定した時刻を選びます。すべてのバリアントは同じ時間帯に交互に送信されます。実験では送信時最適化がオフになるため、バリアント間の差が送信時刻の違いから生じることはありません。

観測期間は、送信後にクリックと注文を集計する期間で、1〜60日の範囲で設定します。結果は期間の終了時に一度だけ確認します。多くの人が行動するまでにかかる期間と、特典の有効期間を含む長さを選んでください。

結果を残りに送信を使うと、まずサンプルでテストし、その後オーディエンスの対象のうち残り全員に1つのバリアントを送信します。送信先となる残りを確保するため、ランダムサンプル(ステップ3)が必要です。ポリシーを選びます:

  • 有意な勝者を送信:判定時点までに主要指標で勝ったバリアントが残りに送信されます。勝者がなければ、残りにはコントロールが送信されます。
  • トップのアームを送信(利益重視ポリシー):判定時点で最も良く見えるバリアントが、有意かどうかにかかわらず残りに送信されます。バリアントの差が小さいときは得になりますが、どれかが優れているという根拠にはなりません。

判定までの時間は、サンプルの最後のメールが送信された時点から数えます。その時点でイベントが30件未満のバリアントがあれば、最大待機時間の時点でサンプルをもう一度確認します。それでも足りなければ、残りにはコントロールが送信されます。これは残りに何を送るかを選ぶだけです。実験そのものの判断は、引き続き観測期間全体の終了を待ちます。

確認とロック

最後のステップでは計画がまとめて表示され、ロック前に修正が必要な項目が一覧されます。事前登録をロックすると、仮説、指標、オーディエンス、バリアントが固定され、サンプルが抽出されます。どの連絡先が参加し、それぞれがどのバリアントを受け取るかが確定します。

開始するまでは、実験の名前、送信時刻、各バリアントのラベル、件名、送信者、コンテンツを変更できます。開始すると、送信全体の分を月間の送信枠から確保してから、送信を予約します。ホールドアウトは送信枠を使いません。開始後に変更できるのは名前だけです。

開始時、MailInAppは各バリアントのメールを実際に送信される形で組み立てます。あるバリアントのメールに別のバリアントのスクラッチの特典が表示されている場合は、開始を拒否します。スクラッチに対応しないメールアプリで表示されるフォールバックも対象です。このチェックで何が見つかるかは、2種類の特典を実験でテストするで説明しています。プリフライトチェックリストは保存したとおりのメールを確認するため、スタジオのバリエーションメニューで各バリアントもプレビューしてください。

実行中

  1. 下書き
  2. ロック済み
  3. 予約済み
  4. 送信中
  5. 観測中
  6. 分析中
  7. 決定済みまたは結論なし
  8. 終了

勝者を展開

判断の後に行う別の送信で、ステータスではありません。

実験のステータスの順序
ステップステータス
1下書き
2ロック済み
3予約済み
4送信中
5観測中
6分析中
7決定済み
7結論なし
8終了
流れの外勝者を展開
ロックすると、何かを送信する前に計画が固定されます。判断を記録すれば、実験の問いへの答えが出ます。勝者をより多くの人に送るのは別のステップです。

開始後、実験のステータスは自動で進みます:

  • 送信時刻までは予約済み、すべてのバリアントを送信している間は送信中です。
  • 観測期間中は観測中です。数時間ごとに中間分析が実行されます。その結果には中間結果であることが示されます。中間結果で判断しないでください。
  • 期間が終わると分析中になります。最終分析は約1時間後に出ます。
  • 判断を記録すると決定済みまたは結論なしになり、実験を終了すると終了になります。

実行中に変更できるのは名前だけです。実験をキャンセルすると、判断の前ならいつでも実験を止められます。元に戻すことはできません。同じメールの他の送信では、この実験に参加中の連絡先が除外されます。別の経路から2つ目のバージョンが届くことはありません。

実験を削除できるのは、下書きのとき、終了した後、キャンセルした後です。結果と割り当ても一緒に削除されます。

制限と測定されないもの

  • 受信トレイでの結果表示はまだ記録されません。 スクラッチやスピン抽選の結果表示はメールアプリの中で起き、MailInAppはまだそれを記録していません。代わりに、賞品リンクのクリックと購入を測定してください。
  • 開封は参考値です。 Apple Mailのプライバシー保護や画像プロキシがメールを自動で開封するため、開封率は高めに出て、メールアプリによって変わります。
  • 各バリアントは開始時にチェックされます。 送信ページのプリフライトは保存したとおりのメールを確認し、バリアントごとのバージョンは確認しません。
  • モバイルアプリにはまだ対応していません。 MailInAppのモバイルアプリには実験が表示されません。

APIから使う

独自のコードや自動化ツールは、APIキーで実験を読み取れます。また、実験の判断が記録されたときや結果が出たときは、Webhookで通知を受け取れます。できるのは読み取りだけで、ロック、開始、判断はできません。詳しくは実験の結果を取得するをご覧ください。

関連ページ