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 の心臓部はセカンドプライスです。勝者は自分が提示した額ではなく、勝つのに必要だった額を払います。しかし勝敗を決めるスコアは engagement × CPM^α であって裸の入札額ではないので、クリアリング価格も品質調整されなければなりません。

配分はサンプルで、価格は平均で

選択は意図的にサンプリングされた(ノイズの乗った)値を使います。価格決定はそうであってはなりません。ランダムな引きに依存する価格は、同一のインプレッションに違う値段を付けてしまいます。だからシステムはサンプルで配分し、事後平均で価格を付けます。勝者が決まったあと、次点のスコアを平均エンゲージメント率から計算し直し、勝者は「それでも勝てていた最小の CPM」を払います。

clearingCPM = (runnerUpScore / winnerEngagement)^(1/α)

これがスロットのフロアと勝者自身の入札額の間にクランプされます。直感で言えば、スコア式を逆算して「君のエンゲージメント率なら、次善の候補に勝てる一番安い入札額はいくら?」と尋ねているのです。

ここから2つの性質が転がり出てきます。

  • 品質は割引になる。 読者が反応するクリエイティブは、順位を保つのに必要な CPM が低くて済みます。つまり同額で入札する凡庸なクリエイティブより安く払うのです。広告主は、広告を良くすることで自分の価格を良くできます。
  • 入札は正直でいられる——競争があるかぎり。 必要以上に入札額を上げても価格は上がりません(価格は次点が決めます)。下げれば負けるリスクだけが増えます。フロアはこれを損なうどころか補強します。競争のあるカテゴリーではフロアは第2位入札額より下に制限されるので、あなたと次点のあいだに割り込んであなたの価格になることができないのです。計算すべきビッドシェーディング戦略が存在しない(シェーディング:払い過ぎを避けるために本当の価値より安く入札すること——ファーストプライスオークションの日々の宿題)からこそ、Promovolve はキャンペーン側の入札最適化ツールを用意しません——この仕組みには、それがやることが残されていないのです。正直な例外を1つ。カテゴリーの独占者は、自分が入札した額のおよそ99%を払います。フロアがその入札額を追いかけるからです(フロア最適化参照)。これは設計上のファーストプライス的挙動——価格を決める次点が存在しない場所での完全な取り立て——であり、2人目の入札者が現れるちょうどその瞬間まで続きます。

次点は勝者と同じコンテンツカテゴリーから取られます。だから価格は「この種のページ」への実際の競争を反映し、偶然のカテゴリー横断比較にはなりません。

エッジケース

  • 探索はたいていフロア価格になる。 履歴ゼロの勝者にも同じ平均式で値段が付きます。使われるのはコールド事前分布のエンゲージメント——カテゴリー親和度、フォールド事前分布、新参ボーナス。ボーナスがエンゲージメントを水増しするので、逆算された価格はたいていフロアまでクランプされます。強い同カテゴリー次点と向き合うコールドな勝者は、フロアより上で約定することもあります。
  • 次点なしなら、フロア。 単独の候補はフロアを払います。(一社入札の市場でフロアが崩れ落ちるのを防ぐのはフロア最適化——フロア最適化参照——で、フロアを単独入札者の入札額の99%に釘付けにします。この価格規則と組み合わさって、「独占者は自分が提示した額を払う」は実装されています。入札額を直接請求するコードはどこにもありません。フロアがそこまで歩いて登り、次点なしの経路がフロアで値付けするのです。)
  • ピンによる再会は無料。 ドッグイヤーされたクリエイティブが、しおりを付けた読者に配信されるとき、約定価格はゼロです。読者の記憶は在庫ではありません。

消化額はクリアリング価格で記録される

予算の確保も、ペーシングも、帳簿も、入札額ではなく約定した価格を使います。薄い競争に8ドルで入札したキャンペーンの実際の支払いは1,000回あたり2.10ドルかもしれません——予算はその分だけ長持ちし、広告主のレポートには実際に払った価格が載ります。すべての消化イベントは、バッファリングされ重複排除された at-least-once の記録を通って、マイクロドル(100万分の1ドル——整数演算なので帳簿に丸め誤差が積もりません)建ての複式簿記の台帳に流れ込みます。精算は総額をプラットフォームマージン(ベーシスポイント——1万分の1、つまり0.01%——単位の料率で、日付き改定が可能)とパブリッシャー収益に分割します。広告主×キャンペーン×サイト×日ごとに、冪等な行が1行ずつ。

帳簿はひとつの通貨で、画面はどの通貨でも

ここまでのすべて——入札、フロア、約定価格、台帳——は米ドル建てで、これからもそうです。通貨は、システムが静かに自分に嘘をつきやすい場所のひとつです。書き込み時に換算すれば帳簿は為替の揺れをそのまま抱え込み、取引ごとに換算すれば、元の台帳が持っていない精度をまとった第二の台帳を捏造することになります。Promovolve はどちらもしません。帳簿が知っている通貨はひとつだけです。

換算されるのは画面のほうです。各ユーザーは設定で表示通貨を選べ、読み取り専用の金額——消化額、数字としての予算、収益、ウォレット残高——は1日ひとつの参考レートで一律に換算されて表示されます。換算されたすべての数字には ≈ が付き、換算が行われるページにはレートとその日付が明示されます。昨日の収益が明日は少し違って読める——それは正直さの表れです。換算後の数字はもともと事実ではなく、ドル建ての事実が今日いくらに相当するかでしかないからです。

3つのものは意図して換算されません。入力欄(予算はドルで入力し、換算値は隣に表示されます——円建てのつもりの15,000をドル欄に打ち込む事故を防ぐため)、オークションの価格詳細(フロアと CPM はマーケットプレイス自身の算術です)、そして運営者のページ(帳簿を運用する者は帳簿そのものを読みます)。将来パブリッシャーが自国通貨で支払いを受けるとき、その換算は支払い時点で銀行が行い、実際に起きたこととして記録されます——表示上の概算ではなく、銀行取引の事実として。