🤖

A/Bテスト前に行うオフラインテストは、doubly robust よりシンプルな手法で十分なのではという提案

2022/10/21に公開

A/Bテスト投入前にはオフラインテストをする

Netflixなどの企業では、レコメンドエンジンなどのA/Bテスト前にオフラインテストにより実際に顧客に試す前にコンバージョンレートなどの点で効果がある施作なのかどうかを判断するということが行われている。

現状のオフラインテストの手法

大きく分けて2つの手法がある。
一つは古典的な offline replay という手法で、ランダムな要素をユーザーに提示して、そこで実際に発生した遷移を正解データとして用いる手法である。Netflix などが採用しているようだ。
https://arxiv.org/abs/1003.5956
この手法の欠点はランダムな要素をユーザーに提示する際、ユーザーの満足度が低下する点である。

もう一つは、これを改良した doubly robust estimators などの新しい手法である。ただ、実装するのが面倒という欠点がある。

もっとシンプルなオフラインテストで十分なのではという提案

結局、offline replay で実現したいのは既存のモデルのバイアスがない(そしてバリアンスの低い)遷移データなのだから、ページ遷移を x_i, x_{i+1}, x_{i+2} とすれば、既存のレコメンドモデルなどの影響を受けた遷移が微小量と仮定できるとするならば、遷移データを x_i, x_{i+2} からとるだけで十分なのではないか(微小量の2乗なので)。理論上バイアスを0にするアルゴリズムも考えたが、計算が重くなるしこれで十分と思えるが、どうだろう?

まとめ

  • A/Bテストをいきなりやっている場合は、オフラインテストをしよう
  • オフラインテストの方法は、遷移を一つ飛ばしでデータをとることで十分なのではないか?

Discussion