コントロール対バリアント
メニューを表示するにはスワイプしてください
A/Bテストはプロダクト分析における基本的な手法であり、新しい機能や変更が現状の体験に与える影響を比較することができます。A/Bテストでは、ユーザーをコントロールグループとバリアントグループの2つのグループに分けます。コントロールグループは通常通りのプロダクトを体験し、バリアントグループはテストしたい新機能や変更を受け取ります。
例えば、ECアプリで新しいチェックアウトボタンの色をテストする場合を考えてみましょう。コントロールグループは元のボタンの色を見て、バリアントグループは新しい色を見ます。購入完了数などの成果を測定することで、新しいボタンの色がユーザー行動に対してプラス、マイナス、または影響がないかを判断できます。
注記
コントロールグループとバリアントグループへのランダムな割り当ては、偏りのない結果を確保するのに役立ちます。これにより、観察される違いがユーザー間の既存の違いではなく、テストされている変更によるものである可能性が高くなります。
12345678910111213141516171819202122232425262728293031323334import numpy as np import pandas as pd # Simulate 2000 users np.random.seed(42) user_ids = np.arange(1, 2001) # Randomly assign users to control or variant groups = np.random.choice(["control", "variant"], size=2000) # Simulate conversion: higher for variant group conversion_prob = np.where(groups == "control", 0.12, 0.15) converted = np.random.binomial(1, conversion_prob) # Simulate purchase value for those who converted purchase_value = np.where(converted == 1, np.random.normal(loc=np.where(groups == "control", 45, 47), scale=5), 0) # Create DataFrame ab_test_results = pd.DataFrame({ "user_id": user_ids, "group": groups, "converted": converted, "purchase_value": purchase_value }) # Show summary statistics summary = ab_test_results.groupby("group").agg( users=("user_id", "count"), conversion_rate=("converted", "mean"), avg_purchase_value=("purchase_value", lambda x: x[x > 0].mean()) ) print(summary)
A/Bテストを実施してデータを収集した後、コントロールグループとバリアントグループの結果を比較します。注目すべき主要な指標は、コンバージョン率と平均購入額です。新機能が実際に影響を与えていることを示唆する有意な差を探します。バリアントグループでコンバージョンや収益が高く、割り当てがランダムであれば、変更が改善の要因であるとより自信を持って判断できます。
1. A/Bテストにおいてランダムな割り当てが重要なのはなぜですか?
2. 空欄を埋めてください:
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 2