Closed takapy0210 closed 3 years ago
Airbnbで導入した「Experiment Guardrails」のフレームワークをご紹介します。
毎週、何千ものオンライン実験がAirbnbプラットフォーム上で同時に実行され、潜在的な製品変更の影響を測定し、実験ごとに約数十のメトリクスを監視しています。例えば、信頼チームは不正の特定を優先し、体験チームはホームページでのオンライン体験製品の発見を優先することもあります。あるチームの評価基準にプラスの影響を与える実験は、別のチームの評価基準に悪影響を与えることもあり、これらのトレードオフをどのように秤にかけるかは必ずしも明確ではありません。最悪の場合は、他のチームが最近、トレードオフを適切に分析しないまま、重要なメトリクスの1つに大きな損害を与えるような処置を開始したことを発見し、新しい変更をロールバックする必要があるかもしれません。
当社の何十もの実験実行チームが、リリースが当社の最も重要なメトリクスに悪影響を与えないようにするために、当社は2019年に全社的なExperiment Guardrailsシステムを展開しました。このシステムは、リリース前に潜在的に悪影響を及ぼす可能性のあるものを特定することで、重要なメトリクスを保護するのに役立ちます。チームがガードレールを「トリガー」した実験の立ち上げを希望する場合(つまり、当社のガードレールシステムが、治療法が重要なメトリクスに悪影響を与えることを発見した場合、または重要なメトリクスに悪影響を与える実質的なリスクがないことを保証するための根拠が不足している場合)、チームはまずエスカレーションプロセスを経て、利害関係者が透明性を持って結果について議論できるようになります。
ガードレールメトリクスは、会社全体にとって重要なものです。機能が成功しているとみなされるためには、必ずしもガードレールメトリクスを改善する必要はありませんが、すべてのローンチは、ガードレールに実質的なマイナスの影響を与えないようにすることが意図されています。 有用なガードレールメトリクスは、3つのカテゴリのいずれかに当てはまる傾向があることがわかりました。
すべてのチームのお気に入りのメトリクスをガードレールで保護したくなるかもしれませんが、ガードレールの数が多ければ多いほど良いというわけではないということを心に留めておくことが重要です。例えば、20のメトリクスを選択して、0.05レベルで有意な劣化をアラートした場合、AAテストでは92%の確率で少なくとも1つの誤アラートが発生することになります。
私たちのシステムは、エスカレーションなしで実験を開始するために、それぞれが個別に通過しなければならない3つのガードレールで構成されています。
以下では、それぞれの詳細について説明します。
Impact Guardrailは、次の場合に実験をエスカレートします。
ここで変化率は平均値の相対的な変化であり、tはエスカレーションのしきい値である。たとえば、t が 0.5% の場合、-0.5% よりもマイナスの影響を持つ実験はエスカレーションされます。 このブログ記事では、増加が望まれるメトリクス(例えば、収益)で作業していると仮定していることに注意してください。減少が望まれるメトリクスについては、 percent_change との関係を反転させる必要があります (例: percent_change > t の場合、カスタマーサービス・チケットはエスカレーションされるべきです)。
パワーガードレールは実験の実行時間に影響を与えます。これは、変化率の推定値の標準誤差を満たす必要があります。
これは、インパクトガードレールが合理的に良好なパワーと偽陽性率(FPR)を持っていることを確認するためです。実験が単一のメトリックのパワーガードレールを満たしているだけの場合、そのメトリックに対して以下のようなプロファイルを持つことになります。
実験がパワーガードレールで必要とされる時間よりも長く実行される場合、標準誤差が小さくなるため、FPRは小さくなり、-0.8*tのインパクトを検出する力は大きくなります。実験に含まれるメトリクスが多いほど、任意の実行時間での実験レベルのFPRは大きくなります。
定数0.8は、消費電力とFPRの要件をより厳しくしたい場合には下げて調整することができ、消費電力が低くFPRが高くても許容できる場合には上げて調整することができます。定数が低いほど、パワーガードレールを通過するために実験を長く実行しなければならないことを覚えておいてください。パワーガードレールの実用性を評価する良い方法は、バックテストを行うことです。過去6ヶ月間に開始された実験の何パーセントがそのままガードレールを通過したでしょうか?合格しなかった実験については、どれくらいの期間実行する必要があったでしょうか。パワーガードレールを導入することが、組織全体の実験実行時間にどのような影響を与えるかを考えてみましょう。
ここよくわからんかったな
Stat Sig Negative Guardrailは、特定のメトリクスに対して統計的に有意な負の影響を示した場合に実験をエスカレートさせる。
ほとんどの場合、The Stat Sig Negative Guardrail をすべてのメトリクスに適用したくないでしょう。例えば、ページパフォーマンスの0.1%の低下(増加)は望ましくないが、おそらくエスカレーションする価値はないだろう。一方、Airbnbのような規模の会社では、収益が0.1%低下(減少)すると、数百万ドルになる可能性があります。このガードレールは、わずかなマイナスの影響であっても表面化しなければならないトップ指標のための特別な保護装置です。
実験のグローバルカバレッジを、実験に割り振られたairbnb訪問者の%と定義しています。すべての実験が同じパワーガードレールを持っている場合、カバレッジの低い実験はパワーガードレールを通過するのが難しくなります。すべての実験がほぼ同じ時間でパワーガードレールを通過できるようにするために、実験に割り当てられた被験者がカバーしているメトリックの合計値のパーセンテージであるグローバルカバレッジに応じて、次のようにtを変化させることを許可します。 各メトリックにエスカレーション・パラメータTを設定します。これは、常に100%グローバル・カバレッジで実験を開始する割合の変化を表します。次に、エスカレーション閾値Tをカバレッジに応じて変化させます。
インパクト・ガードレールもカバレッジ調整済みのtを使用しているため、パワー・ガードレールを通過しただけのすべての実験では、パワー・ガードレールのセクションで概説されているのと同じパワー/FPRプロファイルが表示されます。 下の表では、変化率とグローバルな影響のエスカレーションのしきい値がカバレッジによってどのように変化するかを見ることができます。これは、パワーガードレールの通過率をカバレッジレベルで同等にするために望ましいことです。一方、グローバルインパクトのしきい値は、カバレッジが小さくなるにつれて減少します。これもまた、グローバルインパクトの観点から、カバレッジの低い実験ではより厳しくする必要があるため、望ましいことです。
3つのガードレールは、重要と判断したネガティブな影響をエスカレートさせることで、最も重要なメトリクスを保護しながら、それを検出するための適切な力を確保しています。視覚的には、メトリックの例として、ポイント推定値と標準誤差の間でガードレールが機能していることがわかります。
パワーガードレールは水平線で表され、より大きな標準誤差を持つ実験は、StdError < 0.8 * tまで実行し続ける必要があります。実験の所有者は、推定実行時間が長すぎる場合、必要な標準誤差に到達する前にエスカレーションを選択することもできます。 インパクトガードレールは-Tの垂直線で表され、-0.5%よりも負のインパクトを持つ実験では、発射前にエスカレーションが必要になります。 最後に、Stat Sig Negative Guardrailは対角線で表され、変化率が負でp値=0.05である。このガードレールを有効にしたメトリクスは、統計的に有意な負の効果を持つ実験をエスカレートさせる。 残りのすべての実験については、意味のある負の影響のリスクが低く、エスカレーションなしで実験を開始できることを確信しています。
エスカレーションが必要な実験のセットを洗練させるために、上のガードレールのいずれかをトリガーにしても自動的に実験を承認するケースをいくつか切り出しました。ここに、私たちが行った2つの主要な改良点があります。
これにより、パワーガードレールに到達する前に、正の点推定による治療を通過させることができます。
このガードレールシステムは非常に設定が可能で、パラメータを調整してニーズに合わせて調整することができます。0.8*tの乗数を調整し、場合によってはガードレールを洗練させる方法について説明してきました。 最も重要なのは、各ガードレールのメトリックのパラメータTを設定することですが、これは科学であると同時に芸術でもあります。Tをタイトに設定すると、より小さな負の影響をキャッチできるようになりますが、パワーガードレールを通過させるのが難しくなります。Tを "どのような衝撃に対してエスカレートする価値があるか?"と "どのような衝撃を検出することが可能か?"の間の2つのうち、大きい方に設定する必要があります。こうすることで、ガードレールの実行時間を大幅に短縮したり、大きさの小さいインパクトでエスカレーションを無駄にしたりすることがなくなります。 ガードレールのメトリクスの数も考慮すべきもう 1 つの要因です。対象とするメトリクスが多ければ多いほど、全体的なエスカレーション率(および誤検出率)が高くなります。組織が頻繁に実験を行っている場合、現実的にレビューできる実験の数には限界があります。エスカレーションを必要とすると、反復と立ち上げのスピードが遅くなるので、メトリクスの保護と迅速な移行のバランスを見極めたい。繰り返しになりますが、決定するための最良の方法は、過去のデータを見て、結果として得られる全体的なエスカレーション率を推定することで、さまざまなメトリクスと T 値のセットを評価し、組織のニーズに最適な構成を決定することです。
Meta
どんなもの?(3行ぐらいで)
所感
参考リンク