2011-10-26 RTB用のADサーバこそ最強である必要がある件

明日はアドテック東京というデジタルマーケティングのカンファレンスが行われる。
最近広告配信周りでRTB(RealTimeBidding)というシステムがはやりつつあるが、RTB用のADサーバこそ最強である必要があるということを述べてみたいと思う。
RTBの仕組みというのは簡単に言うと下記のような感じになる。
1. 広告サーバ(SSP)に問い合わせがあった場合、バックに接続されたRTBの広告サーバ(以下RTBサーバ)に対して問い合わせをオークション形式で行う
2. RTBサーバは来たリクエストに対していくらで購入ができるかを返し、SSPは最も高い単価をつけた広告をユーザに返し、表示する(CPMというのは広告単価だと思えばいい)
上記の処理を1つの広告表示のたびに行うので、Real Time Bidding(RTB)というわけだ。RTBのエコシステムにおいては自分の都合のよいユーザのアクセスの時にだけ高い単価をつけて在庫を買い付ければよいため、結果として
- 広告主にとっては在庫を安く仕入れることができる
- メディア側は高いインプレッション単価で在庫が売れる
ということが可能になり、理想的には広告主・メディアともに都合よいシステムだといわれている。
ではこの実装について考えてみよう。オークションを開催する広告サーバの実装は比較的簡単だ。単に広告リクエストを非同期に各RTBサーバに投げ、戻ってきたリクエストをオークションして結果を返せばよい。
ではRTBサーバ側の実装はどうだろう?単純に広告サーバからリクエストが来たらその条件にあった最適な広告を妥当な価格で返せばいいので、こちらも一見簡単そうに見える。
それは本当だろうか?
RTBサーバは広告サーバに接続されるRTBの事業者が増えるほど広告を出せるチャンスが少なくなっていくという特徴がある。つまりこういうことだ。
RTB業者が3社しかいない場合、1業者が勝つ確率は単純計算で1/3になる。
RTBが9社に増えた場合、1業者が勝つ確率は1/9になる。
例えばオークションの開催側のアクセスが月間100億impあるようなケースでは下記のようなことになる。
- 全オークションに参加しようと思うと月間100億impを捌く能力の持った広告サーバが必要である
- RTB業者の数が増えると勝つ確率が単純に下がっていく。
- 例えば上記の例のようにRTB業者が3社から9社に増えるとサーバコストは変わらないのに売上が1/3になる。
RTBのサーバはオーディエンスターゲティングなど1ユーザごとのターゲティングでもって単価を上げるという手法をとるケースが多いため、高度な機能を持たせる必要があるが、それに加えてアクセス自体も相当に安く捌けるシステムでないと接続業者の増加に伴って割に合わなくなる。
よってRTB用の広告サーバは今までにもまして強力なサーバソフトウェアである必要があるというのが今回の主張だ。
このあたりのことを半年ほど前にRTBをやってらっしゃる業者さんに聞いてみたところ、「実際RTBに参入するのは4,5社くらいだから大丈夫じゃないですか?」という話だった。しかし実際はもうすでにRTBに参入している業者は5社以上になっていて今後も増加傾向なので、ほんとに大変な時代に突入したなと思う。
(おしまい)
2011-04-11 RailsとCで広告システムを作って起業した話

4/10清澄白河で開催された大江戸ruby会議01で
「RailsとCで広告システムを作って起業した話」と題して話をしてきた。
詳細はスライドに書いてあるが、弊社は全く後ろ盾などないスタートアップにもかかわらず、異様なまでに濃いrubyistを集めることができていて、発表後「どうやってそんなすごい人を集めることができたのか?」という質問をうけた。
実はこれも秘密はなく、「彼らは当時たまたま求職中であったり、転職したがってることをRails勉強会の後の飲み会で聞いたりしたので即スカウトした」というのが実際の所で、ぶっちゃけたところ運がよかったとしか言えない。
せいぜい教訓めいたことを言うならば「恋愛と同じく、振られた直後に隣にいるというのは割と重要だ」あたりだろうか。
大江戸Ruby会議01はとてもよい会議でした。ほんとはエンジニアを集めるのに札束が踊りまくっている昨今、いかに人を集めるかとかそういう話をしようかと思ったのですが、あまりに生々しすぎるのでそれは次の機会にでもしようと思います。
最後になりますが、スタッフの皆さん、asakusa.rbのみなさんお疲れ様でした!
(おしまい)
2010-09-10 30分でわかる広告エンジンの作り方

気づいたらなんだかBlogを書かなくなって1年たとうとしてるので,近況報告も兼ねてのエントリ.
8/22に大森で開催された濱田さん主催のデータマイニング+WEB 勉強会@東京で「30分でわかる広告エンジンの作り方」と題して発表してきた.
濱田さんから「なんか話してくださいよ」といわれて,「じゃあ広告システムってこの勉強会ではなじみがないだろうからさらりと話しますかね」みたいな軽いノリだったのに,当日はその筋(?)の方々がたくさん来ていてえらく恐縮してしまった.
(おしまい)
yamaz的日常
前職を辞め,会社を立ち上げてからもう4年ほどたつがやっとBlogタイトルである「最速配信研究会」というに足る事業をなんとか成立させることができた.これまたえらく大変で思うところもあったので,機会を見つけてエントリを起こしたいと思う.
LukeSilvia
とても面白い資料でした!広告系システムは1セッションに対して都度最適なクリエイティブを選択して返したり、書込み処理が走るという点で、とても特殊で高度なシステムだと感じます。
1. 大量の書込みを処理する工夫
2. いかにインフラコストを抑えてスケールするシステムを構築するか
3. 多くの変数(キーワード、クリエイティブ...)があり、かつデータのリアルタイム性を求められる中、いかに速く「このキーワードにはこのクリエイティブが最適だ」のように判断する読み込み速度の工夫とデータ構造
辺りが気になりました。特に3はキャッシュを作っても直ぐに破棄され、データにおいても、クリエイティブ×キーワード、クリエイティブ×メディア等多数の組み合わせに対して、それぞれクリック数等を保存しないといけないので、非正規化された同じようなテーブルが大量にできるのかなと考えています。
そこ言ったら商売成り立たないよ!的な質問ですみません。。。もしお答えできる部分がありましたら、伺ってみたいです。
yamaz
id:LukeSilvia RDBベースでの構築は可能ですが、全く速度を担保できないので実装上は独自データ構造になります。とあるエンジンの実装は検索エンジンをベースにしているという話も聞きます。なおエンジンのみの提供もやってますので、ビジネス的に興味があればご連絡ください:-)
LukeSilvia
おぉ。データ構造も独自実装とは想像していなかったです。ありがとうございます!
hamadakoichi
素敵なトーク、ありがとうございました!
yamaz
id:hamadakoichi またネタを見つけて話しますので、よろしくお願いします
2009-11-27 帰ってきた日本cucumberの会 (忘年会) 2009

Rails+テストな人でcucumberが気になってて
たまたま今週末空いてるようなひとはどぞー(@東京 2009/11/29 13:00 to 18:00)
# やっと時間が捻出できるようになったので,参加です.
2009-07-10 iTunesでiPhone(アイフォン)との同期が終わらないのを回避する方法

AppleのiTunes(アイチューンズ)とiPhone(アイホン,アイフォン,アイフォーン)を同期(Sync,シンク)しようとしたら,
CPU使用率が100%になり,いつまでたっても同期が終わらない状態になった.
インストールをやり直したりiPhoneをリセットしてみたりしても改善しなかったが,
下記の方法でひとまず同期を行うことができた.
起きている現象
AppleのiTunes(アイチューンズ)とiPhone(アイホン,アイフォン,アイフォーン)を同期(Sync,シンク)しようとしたら,
CPU使用率が100%になり,いつまでたっても同期が終わらない.また外から見た感じだと同期処理が単に遅いようにも見える.
対象となるソフトウェアの状態
- iTunesのバージョン 8.2
- OSはWindowsXP Home Edition SP3対応済み
回避,解消方法
iTunesを最小化する.
実際のところiTunesはフリーズしているように見えるので,最小化ボタンを押しても反応しません.
なので,Windowsキー+dキーの同時押しで最小化を行う必要があります.
最小化を行うとなぜかCPUの使用率は下がり,最小化したままでしばらく待っていると同期は完了します.
iTunesの最小化を元に戻すとまたCPUの使用率は上がってしまうので,同期の終了確認はiPhone側で行います.
これだけのために足かけ3日ほどつぶしてしまったので,困った人が検索で引っかかりやすいようにSEOを意識した書き方になってます.なおウィンドウを最小化するとなぜ現象が解消されるのかがわかってない(再描画の問題?)のと,最小化を元に戻すとやっぱり現象は再発するので,根本的な解決にはなっていません.どなたか解消する方法を知っていたら教えてください.
参考URL:
iTunes7 シンクが遅い問題 その後
http://plaza.rakuten.co.jp/rxt06400/diary/200609140001/
追記 2009/07/11 Apple推奨の「アイフォーン」の記述を追加(苦笑)
2009-05-31 〜今日からはじめるArduino〜に参加してきたよ.

ものすごく遅いレポートですが,Cerevoさん,チップワンストップさん主催のブロガーイベント「オープンソースハードウェアセミナーVol1 〜今日からはじめるArduino〜」に参加してきました.
にあるようにマイコン開発を超簡単にしてくれるハードウェアとそのIDEのことを差す.
スタパ先生がおっしゃるように本来PICやAVRなどのマイコン(チップ?)を使おうと思うと
のそれぞれの知識などが必要になる.だから「赤色LEDをペカペカ点滅させる」というたったそれだけのことをするにもえらく大変なんだけど,ArduinoはJavaベースのIDEとArduino自体のがんばりにより,
- C言語ライクな言語で開発
- コンパイルしたプログラムをUSBで転送
- 起動
という3ステップで,いままでとても敷居が高かったいろんなことをバツっと省略できるようになってる.
実際セミナーではArduinoを起動したらTwitterに投稿するシステムを15分くらいで作成してくれました.
httpを話すプログラムはサンプルプログラムが最初から用意されていたので,あっという間にできてとても感動しました.
今までちょっと今まで時間が取れなかったのですが,多少時間の余裕が出てきたので,電子工作の世界に足を踏み入れようと思います.全くの素人なのですがArduinoでPongにあったArduino Pongをまずの目標にしてみようと思いました.
参考リンク
2009-04-01 「それでも戦場へ行け」と私は伝えた

私には年が離れた弟がいて,幸いにして国家試験に受かり4/1より医者になる.その弟から以前どの科目の医者になればいいのかの相談を受けた.
医学部においては先方とのマッチング問題があるとはいえ,基本どの科(内科とか小児科とか形成外科とか)の医者になることができる.彼曰く望めばいきなり月60万オーバーでかつ超楽な仕事もあれば,知的好奇心は満たせるけど給料安いなどいろいろ幅がありすぎて選びきれないというのだ.
私の前職は某サイトの広告システムエンジニアで,当時1日12.5億〜PVあるサイトの広告配信および画像配信およびログ集計の責任を直接負う立場にあった.この数字は当時としては本Blogタイトルである「最速配信研究会」という名に足る数字で,またお金を直接稼いでいることもあって非常にタフな仕事であったと思っている.
私はそこそこタフな仕事をしてきた自負と,色々思うところがあり,
「仕事が専門的すぎると状況一つで,いきなりつぶしがきかなくなる可能性がある」
「てっぺんを見ておくには越したことはない」
という自分の経験から,
「楽は後でもできるから,いろいろ学べて一番きついのをやっておけ」
というアドバイスをした.その後彼はとある地方の救急医療病院に就職を決め,地域の救急医療に従事するという旨を伝えてきた.
今の医療,特に救急医療の現場は
- レジデント初期研修用資料さん
- 新小児科医のつぶやきさん
などのBlogをひもとくまでもなく悲惨の一言で,「一番きついのをやっておけ」などと軽く言えるモノではない.数日前,彼が国家試験の合格報告を私にしてきたとき,
「おまえの選んだ職場はおそらくは戦場で,いいことも悪いことも高密度で見ることになると思う.ほんとにいろいろあると思うけど,作戦は"いのちをだいじに"で行け」となんだかバカっぽいアドバイスをした.
「いろいろ学べて一番きついのをやっておけ」というアドバイスは今の医療現場において正しいアドバイスなのかは正直わからない.でも私は彼に伝えた.
「それでも戦場に行け」と.
2009-02-13 今回のPayPerPost騒動で一番被害を被ったのはCyberBuzz

周回遅れもいいところですが,私も一言.
GoogleのPPPキャンペーン騒動で意見がいろいろ出ている.
GoogleのPayPerPost騒動の議論に思うこと など.
思うに今回一番被害を被ったのはCyberBuzzだと思う.
海外事情は余り詳しくないけれど,いままでGoogleがペナルティ(という表現もなんだが)に際して行ってきたことは
1. 「これはやってはいけない」というガイドラインの提示
2. ガイドラインに沿ったサーチ結果の操作
であって,「ここの企業がやっているプロモーション手法はダメ」という名指し行為はしてこなかったと思う.今回の騒動で具合がよくないなと思うのは,Google日本法人が自社のガイドラインに沿わなかったばっかりに「CyberBuzzが行った今回の手法はGoogle的にはNGなんだよ」ということを間接的に名指ししてしまったという点だ.
CyberBuzzの手法に対していろんな意見はあるけれど,今後もBlogマーケティングは進化していくと思うので私個人としては意見を持たない.ただ今回の騒動を見てみるとGoogle自体が傷ついたのは自業自得として,とばっちりを食って一番被害を被ったのはCyberBuzzで,あわせてBlogマーケティング自体も被害を被ったという印象だ.ただまぁ起こったしまったことはしょうがないので,逆にこれをきっかけとして「Blogマーケティング」が再々考され,もっともっといいものになっていけばいいなぁと思った.
(おしまい)
2009-01-27 Re: ゲームとは何か?

ゲームとは何か?というエントリを読んだ.
私が持つ「ゲームとは何か?」の答えは
「アクションをすると何かしらの反応が返ってきて,その反応が楽しいと思えるもの」
というものだ.
この定義に従うと,下記はゲームになる.
- コントローラの操作というアクションを通じて,何かを楽しむテレビゲーム
- おしゃべり
- 子供と一緒にすりガラス越しに手を合わせあう
- 植物菜園
また下記は楽しいけど,ゲームではおそらくない(インタラクティブ性がないから?)
- 映画観賞
- 食事
また下記などは楽しいと思えるかどうかでゲームだったりなかったりしうる
- 仕事
- 掃除
- 漢字ドリル
これは任天堂の岩田社長か,宮本さんが基調講演か任天堂の決算説明会の時かなにかで話していた言葉なんだけど,えらく本質を突きすぎていて,感動した覚えがある.こんな目線で世の中を見続けていれば,DSやWiiが出てきたのも納得いくし,そりゃおもしろいゲームを作れるはずだよとも思った.
なお上記定義の引用元を探そうと思ったけれど,うまく探せなかったので,どなたかご存じの方がいれば教えていただけるとうれしいです.
(おしまい)
yamaz的日常
物事の本質をついた言葉というのはその言葉が十分にその事象を説明していて,かつ短ければ短いほど力を持つと思う.今作っているオンライン広告システムも「オンライン広告システムとはどうあるべきものなのか?」というものをずっと考え続けて作ったものだ.自分の頭の中では「たぶんこれだろう」というのがあって,今ある実装も最終形に近づきつつあるので,検証の後に世の中に問うてみたいと思う.
yamaz的疑問
今このBlogの横にははてなブックマークのモジュールがついてるんだけど,ブログタイトルがあるのが冗長だなぁと思ってます.ふろむださんのページみたいに人気ブックマークを表示しつつ,ブログタイトルを抜く方法があればいいのですが,あるんでしょうか?あとブログパーツタイプでなくてSSIタイプだとなおうれしいです.
fromdusktildawn
ぼくのは、手でHTMLを書いているだけです。
人気エントリは、そうそう入れ替えがないので、そんなに手間でもないですよ。
yamaz
ご本人だ!なるほど!そうだったんですね > 手でHTMLを書いているだけ
わざわざありがとうございます.
peroon
>アクションをすると何かしらの反応が返ってきて,その反応が楽しいと思えるもの
わたしもそう思います。
娯楽で「映画」「お笑い」を考えてみると、どちらもこちらの反応に対応しない。
「お笑い」の場合、お笑い芸人がライブ中に、
私の発言を全て注意深く聞いていて、それに反応してお笑いを進めてくれるのなら、
それもゲームだと思います。
ゲームには、自分でこのストーリーを選んだという感覚がある。
面白いゲームを作るには、面白い反応を考えればいいのかもしれない。
2009-01-14 ヤフーがyimg.jpを使う本当のワケ

ヤフーの画像はなぜyimg.jpドメインなのか? サイト高速化の手法とヤフーの失敗例
でヤフーがなぜドメインを変えて画像サーバを運用しているかが書かれている.「静的なコンテンツに対してクッキーフリードメインを使うことによって速度向上を狙う」というのが理由とあって,これはこれでもちろん正しいのだけれど,これはどちらかというと副次的な理由で本当の理由は違う.
クッキーフリードメインを使うことで悪意あるFlashコンテンツなどから自社ドメインのクッキーを守るためというのが本当の理由で,これはあちこちで使われているテクニックだ.Flashコンテンツは外部の業者さんに作ってもらったり,広告の入稿素材として入ってくるので,信頼できないデータとして取り扱う必要があり,万一まずいデータがアップされることがあっても大丈夫にしておく必要がある.
最近ユーザからの任意のコンテンツを受けつけて同一ドメインで配信しているCGMサイトがあったりしますが,割と危険だと思うので,今一度問題ないか確認してみるといいでしょう.
「えぇ?!そんなこといまさら言われても,もうあちこちのHTMLに埋め込まれちゃって変更は無理なんだけど」
という方もいるでしょう.そんな人はこんな方法で対応できます.
- 新しいドメインを取ってDNS的にCNAMEを割り振る.
- 下記のようなrewriteルールを適用して旧ドメインへのアクセスを新ドメインへリダイレクトする.
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_FILENAME} \.swf$
RewriteRule ^/(.*) http://newdomain.com/$1 [R]
(実際はセキュアイメージなどもあるので,もうちょっと複雑なルールになるでしょう)
3. 以後は新ドメインでの運用を周知する.
ご参考まで.
(おしまい)
yamaz
SilverLightなどがどうなってるいくかわからないですが,運用の手間として問題にならないならOKだとおもいます.






分からない事も多いながら、色々勉強になりありがとうございます。
ご都合が良い時、
http://blogs.yahoo.co.jp/ansund59/folder/1033052.html
http://blogs.yahoo.co.jp/ansund59/folder/1034265.html
などをご覧になりご一報頂けないでしょうか?
色々困ってますが、、、
突然お手数をかけて申し訳ないですがよろしくお願いいたします。
P.S.
家ではいつも表示、投稿できますが、外出先では表示されない時が多い、(これは確認済)
私のブログを訪問したらIPが盗まれると言われたり、
アクセスしたらPCが壊れるなど言われてますので
無理がない範囲でよろしくお願いいたします。