実験 (プレビュー)
Note
Azure App Configuration での実験のプレビュー フェーズ中にフィードバックをお寄せいただきありがとうございます。チームでは、いただいたフィードバックを使って機能を更新しています。 この間、Experimentation Workspace は一時的に使用できなくなります。
実験とは、ユーザー エクスペリエンスやソフトウェア機能を向上させるために仮説や変更を体系的にテストするプロセスです。 この定義は、すべての実験が 4 つの一般的な手順を持つテクノロジを含むほとんどの科学分野にも当てはまります。
- この実験の目的を文書化するために仮説を立てる、
- 何をどのように測定するのか、セットアップを含む実験の実施方法を概説する、
- 前の手順で定義された測定基準によって測定された結果を観察する、
- 仮説が有効であったか無効であったかに関する結論を導き出します。
実験に関連する概念
バリアント機能フラグ: 機能のさまざまなバージョンまたは構成を表します。 実験では、バリアント機能フラグは、関心のあるメトリックと、アプリケーションの対象ユーザーに割り当てられたトラフィックに関連して比較されます。
テレメトリ: テレメトリは、機能のバリエーションのデータと、その機能を評価するための関連メトリックです。
A/B テスト: A/B テスト (実験とも呼ばれる) は、テクノロジ スタック内の潜在的な変更の影響を評価するための業界標準の手法です。
最小サンプリング サイズ: 統計的に有意な結果を示すために実験の特徴のバリエーションごとに必要なイベントの最小数です。 サンプル サイズが大きいほど、実験の結果の統計的有意性が向上します。
次の例を考えてみましょう。e コマース Web サイトの顧客が、黄色のチェックアウト ボタン (バリアント A) と青色のチェックアウト ボタン (バリアント B) のどちらをクリックする確率が高いかを調べたい場合があります。 この比較を設定するには、機能フラグの 2 つのバリエーション間でトラフィックを分割し、クリック数をメトリックとして使用してパフォーマンスを測定する必要があります。 すべての機能を簡単に測定してすぐに評価できるとは考えにくいので、そこで実験が必要になるのです。 実験を実行するには、関心のあるメトリックに関連する各バリアントのパフォーマンスを比較するこのプロセスのタイムラインを設定する必要があります。 "A/B テスト" と "実験" という用語は、多くの場合、同じ意味で使用されます。実験は基本的に、仮説を体系的にテストする拡張された A/B テストです。
実験を設定する
開始する前に、仮説検出の段階で次の問いを検討してください。実験を実行して、どのような問題に答えようとしていますか? 実験は何で実行する必要がありますか? なぜですか? どこから始めますか? ビジネス ニーズに応じて従う戦略は何ですか? この実験は、アプリケーションのパフォーマンスやビジネスのパフォーマンスをすぐに改善するのに役立ちますか?
完全なリリースの前に実験を実行して、何を達成したいかを特定し、この段階で計画を文書化する必要があります。 実験する機能のバリエーションは何ですか? 関心のあるメトリックの一部は何ですか? データをキャプチャし、測定のためにこれらのメトリックを促すには、ユーザーまたはシステムの対話のどのようなイベントが使用できますか?
実験は、収集するデータと同じくらい適切です。 実験を開始する前に、コントロールとして使用するバリアント (ベースライン バリアント) と、変更を確認するバリアント (比較バリアント) を決定する必要があります。
実験から結論を導く
結論を導き出す (または必要に応じて複数の結論を出す) のは、実験サイクルの最終段階です。 コントロール バリアントに対する比較バリアントの結果と、影響を示す実験の結果を確認できます。 結果には、統計的有意性も示されます。 Statsig 測定は、テレメトリ データとサンプル サイズによって異なります。
結果は、学習と結果を、運用環境にすぐに実装できる実行可能な項目に結び付けるのに役立ちます。 ただし、実験は継続的なプロセスです。 新しい実験を開始して、製品を継続的に改善します。
実験を使用するためのシナリオ
リリース防御
目的: スムーズな移行を確保し、リリースごとに主要なメトリックを維持または改善します。
アプローチ: 実験を実施して、新機能を段階的にロールアウトし、パフォーマンス メトリックを監視し、反復的な改善のためのフィードバックを収集します。
メリット:
- ガードレール メトリックを使用してロールアウトの初期段階で問題を検出し、対処することで、広範囲にわたる問題のリスクを最小限に抑えます。
- リアルタイム データを基にして、情報に基づいて意思決定を行うことで、主要なパフォーマンスとユーザー満足度のメトリックを維持するか向上させるために役立ちます。
仮説をテストする
目的: 製品の機能、ユーザーの行動、またはビジネス戦略について、情報に基づいて意思決定を行うために、仮定と仮説を検証します。
アプローチ: 実験を使用して、さまざまな機能バージョンまたはシナリオを作成して特定の仮説をテストし、ユーザー操作とパフォーマンス メトリックを分析して結果を判断します。
メリット:
- 不確実性を軽減し、戦略的な意思決定を導く、証拠に基づいた分析情報を提供します。
- 実際のユーザー データを使用して仮説を確認または反証することで、より迅速なイテレーションとイノベーションを実現します。
- 機能することが実証されたアイデアに重点を置いて製品開発を強化し、最終的には、より成功したユーザー志向の機能を実現します。
A/B テスト
目的: さまざまな UX バリエーションを比較し、最も効果的な設計を決定することで、ビジネス メトリックを最適化します。
アプローチ: さまざまなユーザー エクスペリエンスの実験を使用して A/B テストを実施し、ユーザーの操作を測定し、パフォーマンス メトリックを分析します。
メリット:
- 経験的な証拠に基づいて UX の変更を実装することで、ユーザー エクスペリエンスを向上させます。
- デジタル製品やサービスのコンバージョン率、エンゲージメント レベル、全体的な有効性を高めます。
インテリジェント アプリケーションの場合 (AI ベースの機能など)
目的: 生成 AI (Gen AI) の導入を加速し、迅速な実験を通じて AI モデルとユース ケースを最適化します。
アプローチ: 実験を使用して、AI モデルをすばやく反復処理し、さまざまなシナリオをテストし、効果的なアプローチを決定します。
メリット:
- 進化するユーザー ニーズと市場傾向に AI ソリューションを適応させる機敏性を高めます。
- AI イニシアティブをスケーリングするための最も効果的なアプローチの理解を促進します。
- 実際のデータとフィードバックに基づいて AI モデルの正確性とパフォーマンスを向上させます。
パーソナル化とターゲット設定の実験
目的: ユーザーの好みや行動に合わせてカスタマイズされたコンテンツとエクスペリエンスを提供します。
アプローチ: 実験を利用して、パーソナライズされたコンテンツをテストし、エンゲージメントを測定し、パーソナル化戦略を繰り返します。
メリット:
- 関連するパーソナライズされたエクスペリエンスを介して、ユーザー エンゲージメント、コンバージョン率、顧客ロイヤルティを向上させます。
- カスタマイズされたメッセージとオファーで対象ユーザーをターゲットにすることで、収益の増加と顧客のリテンション期間を促進します。
パフォーマンス最適化の実験
目的: パフォーマンスの最適化実験を通じて、アプリケーションのパフォーマンスとユーザー エクスペリエンスを向上させます。
アプローチ: パフォーマンスの向上をテストし、主要なメトリックを測定し、成功した最適化を実装するための実験を実施します。
メリット:
- プロアクティブなパフォーマンスの向上を介して、アプリケーションのスケーラビリティ、信頼性、応答性を高めます。
- 効率的な最適化を実装することで、リソースの使用率とインフラストラクチャのコストを最適化します。