私たちの迅速かつ信頼性の高い計算機を使って、A/Bテストの統計的有意性を簡単に判断できます。デジタルマーケティング、製品開発、ユーザーエクスペリエンスの最適化のために、データに基づいた意思決定を行うための即時結果を得ることができます。ウェブサイト、メール、モバイルアプリに最適です。
A/B テストは、デジタルマーケティング、製品開発、ユーザーエクスペリエンスの最適化において重要な手法です。これは、ウェブページやアプリの 2 つのバージョンを比較して、どちらがより良いパフォーマンスを発揮するかを判断することを含みます。私たちの A/B テスト計算機は、テスト結果の統計的有意性を判断するのに役立ち、データに基づいた意思決定を行うことを保証します。
A/B テスト計算機は、制御グループと変動グループの 2 つのグループ間の違いが有意であるかどうかを判断するために統計的手法を使用します。この計算の核心は、z スコアとそれに対応する p 値を計算することです。
各グループのコンバージョン率を計算します:
と
ここで:
プールされた比率を計算します:
標準誤差を計算します:
z スコアを計算します:
p 値を計算します:
p 値は、標準正規分布の累積分布関数を使用して計算されます。ほとんどのプログラミング言語では、これは組み込み関数を使用して行われます。
統計的有意性を判断します:
p 値が選択した有意水準(通常は 0.05)未満であれば、結果は統計的に有意と見なされます。
この方法は、通常、大きなサンプルサイズに対して有効であることに注意することが重要です。非常に小さなサンプルサイズや極端なコンバージョン率の場合、より高度な統計手法が必要になることがあります。
A/B テストは、さまざまな業界で幅広い用途があります:
A/B テストは広く使用されていますが、比較テストのための代替手段もあります:
A/B テストの概念は、20 世紀初頭の農業および医療研究にそのルーツがあります。イギリスの統計学者ロナルド・フィッシャーは、1920 年代に無作為化比較試験の使用を先駆け、現代の A/B テストの基礎を築きました。
デジタル領域では、A/B テストは 1990 年代後半および 2000 年代初頭に、E コマースやデジタルマーケティングの台頭とともに注目を集めました。Google が最適な検索結果の表示数を決定するために A/B テストを使用した(2000 年)ことや、Amazon がウェブサイトの最適化にこの手法を広範に使用したことは、デジタル A/B テストの普及における重要な瞬間としてしばしば引用されます。
A/B テストで使用される統計手法は、時とともに進化してきました。初期のテストは単純なコンバージョン率の比較に依存していました。z スコアや p 値の使用など、より高度な統計技術の導入により、A/B テスト結果の精度と信頼性が向上しました。
今日、A/B テストは多くの業界でデータ駆動型の意思決定の不可欠な部分となっており、プロセスを促進するための数多くのソフトウェアツールやプラットフォームが利用可能です。
制御グループ:訪問者 1000 人、コンバージョン 100 件 変動グループ:訪問者 1000 人、コンバージョン 150 件 結果:統計的に有意な改善
制御グループ:訪問者 500 人、コンバージョン 50 件 変動グループ:訪問者 500 人、コンバージョン 55 件 結果:統計的に有意でない
エッジケース - 小さなサンプルサイズ: 制御グループ:訪問者 20 人、コンバージョン 2 件 変動グループ:訪問者 20 人、コンバージョン 6 件 結果:統計的に有意でない(大きなパーセンテージの違いにもかかわらず)
エッジケース - 大きなサンプルサイズ: 制御グループ:訪問者 1,000,000 人、コンバージョン 200,000 件 変動グループ:訪問者 1,000,000 人、コンバージョン 201,000 件 結果:統計的に有意(小さなパーセンテージの違いにもかかわらず)
エッジケース - 極端なコンバージョン率: 制御グループ:訪問者 10,000 人、コンバージョン 9,950 件 変動グループ:訪問者 10,000 人、コンバージョン 9,980 件 結果:統計的に有意ですが、正規近似が信頼できない可能性があります
A/B テストは継続的なプロセスであることを忘れないでください。各テストから得られた洞察を使用して、今後の実験を情報に基づいて行い、デジタル製品やマーケティング活動を継続的に改善してください。
以下は、さまざまなプログラミング言語での A/B テスト計算の実装です:
1=NORM.S.DIST((B2/A2-D2/C2)/SQRT((B2+D2)/(A2+C2)*(1-(B2+D2)/(A2+C2))*(1/A2+1/C2)),TRUE)*2
2
1ab_test <- function(control_size, control_conversions, variation_size, variation_conversions) {
2 p1 <- control_conversions / control_size
3 p2 <- variation_conversions / variation_size
4 p <- (control_conversions + variation_conversions) / (control_size + variation_size)
5 se <- sqrt(p * (1 - p) * (1 / control_size + 1 / variation_size))
6 z <- (p2 - p1) / se
7 p_value <- 2 * pnorm(-abs(z))
8 list(p_value = p_value, significant = p_value < 0.05)
9}
10
1import scipy.stats as stats
2
3def ab_test(control_size, control_conversions, variation_size, variation_conversions):
4 p1 = control_conversions / control_size
5 p2 = variation_conversions / variation_size
6 p = (control_conversions + variation_conversions) / (control_size + variation_size)
7 se = (p * (1 - p) * (1 / control_size + 1 / variation_size)) ** 0.5
8 z = (p2 - p1) / se
9 p_value = 2 * (1 - stats.norm.cdf(abs(z)))
10 return {"p_value": p_value, "significant": p_value < 0.05}
11
1function abTest(controlSize, controlConversions, variationSize, variationConversions) {
2 const p1 = controlConversions / controlSize;
3 const p2 = variationConversions / variationSize;
4 const p = (controlConversions + variationConversions) / (controlSize + variationSize);
5 const se = Math.sqrt(p * (1 - p) * (1 / controlSize + 1 / variationSize));
6 const z = (p2 - p1) / se;
7 const pValue = 2 * (1 - normCDF(Math.abs(z)));
8 return { pValue, significant: pValue < 0.05 };
9}
10
11function normCDF(x) {
12 const t = 1 / (1 + 0.2316419 * Math.abs(x));
13 const d = 0.3989423 * Math.exp(-x * x / 2);
14 let prob = d * t * (0.3193815 + t * (-0.3565638 + t * (1.781478 + t * (-1.821256 + t * 1.330274))));
15 if (x > 0) prob = 1 - prob;
16 return prob;
17}
18
以下は、A/B テストにおける統計的有意性の概念を示す SVG 図です:
この図は、A/B テスト計算の基礎である正規分布曲線を示しています。平均から -1.96 から +1.96 の標準偏差の間の領域は 95% の信頼区間を表しています。制御グループと変動グループの違いがこの区間の外にある場合、0.05 のレベルで統計的に有意と見なされます。
これらの更新により、A/B テストに関するより包括的で詳細な説明が提供され、数学的な数式、コードの実装、歴史的背景、視覚的表現が含まれています。内容はさまざまなエッジケースに対処し、主題のより徹底的な扱いを提供します。
ワークフローに役立つかもしれないさらなるツールを発見する