Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

フロア最適化

フロア価格は、注目がその価値より安く売られることからパブリッシャーを守ります——低すぎれば、薄い競争の下でセカンドプライスの約定はゼロに向かってすり減り、高すぎればフィル率——実際に広告が配信されるスロットの割合——が崩壊します。パブリッシャーがこの数字を勘で当てる必要はないはずです。だから Promovolve は測ります。

学習ではなく、掃引

FloorSweepOptimizer は、意図して強化学習ではありません。初期には RL のアプローチ(離散化したフロア水準の上の価値推定)が作られ、評価され、捨てられました。ペーシングとトンプソン・サンプリングがすでにあらゆるフロア変更に適応してしまう環境では、信用割当は絶望的で、エージェントが学ぶのはほとんどノイズでした。取って代わったのは、統制された測定です。

  1. 掃引(スイープ)。 もっともらしい範囲(下限は観測された拒否入札、上限は観測された最良入札)に候補フロアを生成します。各候補を一定のオークションティック数だけ保持し、配信された収益——ペーシング後・選択後の実際の稼ぎであって、理論上の約定価格ではない——を測ります。収益だけが正直な目的関数です。その上流にあるものは何であれ、フロアが相互作用する当のシステムたちに攪乱され得ます。
  2. 搾取(エクスプロイト)。 argmax——最も稼いだフロア——を取り、より長い搾取期間だけ保持します。許容差内の同点は高い方のフロアに解決されます。同じ収益をより少ないインプレッションで挙げており、支配的入札者の価値が上振れしたときにも頑健だからです。オプティマイザーが最低フロアにフェイルオープンするのは証拠が欠けているときだけで、最低インプレッション数のガードが、低トラフィックでまぐれ当たりした候補が一握りのデータ点で勝つのを防ぎます。
  3. 繰り返し。 市場は流れます。サイクルは絶え間なく再走します。

カテゴリー別フロア

サイト全体で1つのフロアには独占の病理があります。裕福なカテゴリーが1つ(たとえば金融の需要が12ドル)あると、そのフロアが他のすべてのカテゴリーの需要を丸ごと締め出すのです。だからフロアはコンテンツカテゴリーごとに走り、各カテゴリーが独立に掃引します。データの足りないカテゴリーはサイトレベルのフロアにフォールバックします。この設計の動機になった病理例——単独の高額入札者がサイトフロアを他の全員より上に押し上げる——は、いまでは1つのカテゴリーだけを12ドルに値付けし、旅行は変わらず3ドルで約定します。

掃引そのものより重要なガードレールが2つあります。

  • フロアを教えるのは承認済みの需要だけ。 承認待ちのクリエイティブは入札します(承認キューに届くために)が、オプティマイザーからは見えません——さもなくば、未承認の、拒否されるかもしれないキャンペーンが、自分より長生きするフロアを吊り上げられてしまいます。
  • 単独入札者はフロアを自分の入札額に釘付けにする。 承認済み入札者が1人なら第二価格は存在せず、掃引するものがありません。フロアは入札額にスナップします(入札者が去れば即座に元へ——両方向とも本番で検証済みです)。そして承認済み需要がゼロなら、フロアは即座に最低値まで畳まれます。値付けの相手がいないフロアは、純粋なフィル率の損害でしかありません。

正直な注意書きを1つ。完全に均質な市場——全入札者が同じ CPM——では、共通入札額を下回るすべてのフロアが同一の収益を挙げ、オプティマイザーはその台地の上のどこかに落ち着きます。それは正しい振る舞いであり、このコンポーネントが何であるかを思い出させてくれます。知能ではなく、止まることのない、よく設計された実験なのです。