CTRという指標は何者か

たまにはお仕事に近い話も書いておきますか。

 今所属しているチームのお仕事の1つに「ウェブサービスの成果についてきちんと指標をとって、適切に評価したり問題を検知できるようにしようね」というものがある。必要そうな指標を洗い出して、ひとつひとつ計算式や実装方法を具体化するということをしています。超地道な作業。その中で出てきた指標の1つに CTR というものがあり、これの具体的な計算式、あるいはこの指標の意味するものはなにか、という確認作業をしていました。この確認作業において、指標1つにも歴史があるなと感じた実体験について書いていこうと思います。方法論とかは別の How to本を読んで下さい。

 まずは CTR という指標は何かということなのですが、Click Through Rate の略称のことで、ざっくりと言うと「ユーザーが見た回数に対する、ユーザーがクリックした割合」になります。たとえば Google 検索で単語を入力して検索をかけて表示された検索結果の画面上で、検索結果のどこかのリンクをクリックすれば、リンクの表示回数は1回、リンクのクリック回数1回、リンクのCTR は 1クリック/1回表示 * 100 = 100% みたいな計算になります。クリック率、といった呼ばれ方もしますね。同時にいくつもリンクが検索結果に表示されますが、各リンクごとに CTR が求められる場合もあれば、ページ全体の CTR といった考え方もあります。GoogleAnalytics といったメトリクスツールをすでに使っている場合は、ツールがすでに「CTR」という名前で数値を示しているかもしれません。ウェブサービスを提供する側としては、利用者に自身のサービス(あるいはサイト)内でクリックをたくさんしてもらうほうが、結果的に収益につながるというのは、なんとなくイメージが湧くかと思います。広告のリンクをクリックしてもらえれば、紹介料のお金が入るし、「購入」ボタンを押してもらえれば利用者からお金が直接入るなどなど。CTRという指標はサービスの成果をみる上で重要な指標となることが多いです。

 では、このCTRという指標についてもう少し深く話をしていきましょう。「ユーザーが見た回数に対する、ユーザーがクリックした割合」を具体的な計算式に落とし込まなければなりません。計算式に落とし込むにあたり、曖昧な表現があれば、関係者とその言葉の示す意味について認識を合わせるといったことをします。そしてCTRにおいてその曖昧な表現とは「ユーザーが見た」という部分です。「これのどこが曖昧なんだ?」と思われるかもしれませんが、システム側からするとなかなか厄介なのです。「見た」という表現にもいろいろあって、英語でも look, watch, see, view など、状況によって意味が異なってきます。今回の場合「自分たちのウェブサービスがユーザーの視界に入る」という意味になるわけですが、「本当に視界に入っていたのか?」という正確な判断は、常に相手の顔を認識していない限りほぼ不可能です。そのため、現実的な線引として「画面上に表示された」というのを「ユーザーの視界に入った」とみなすことがほとんどです。

 これで指標の計算が進められるかと思いきやそうもいきません。次に考慮しなければならないのは「画面上に表示された」というのを、機械的にログとして落とせるか、という点です。少し昔話になるのですが、スマホがまだない時代であれば、パソコンの画面への表示が1つの区切りとなっていたので、1ページ目、2ページ目と、ページ単位でコンテンツが要求され、要求(request)回数がそのまま表示(impression)回数としてみなすことができました。そのため、クリック回数/要求回数 = CTR という求め方ができ、比較的容易に CTR を算出できます。しかしその後スマホが誕生し、同時に「スクロール」という操作の概念が生まれます。これが指標界隈をざわつかせました。スクロールという操作を想定してコンテンツを作る場合、スマホの画面に表示されるコンテンツ以外にも、スクロールの操作で表示できるように、画面外でコンテンツを用意しておかなければならないという状況が生まれます。画面外のコンテンツは、要求されてはいるが画面外なので「ユーザーの視界に入っていない」と判断すべきであり、要求回数が表示回数とみなすことができなくなりました。そのため、今度はスクロールしたときにコンテンツが画面に映ったということを判別できるログを落とすようにします。このログがいくつ発生したかを数えることで、画面表示(viewable)回数というのを算出し、これを表示回数とみなすことで、クリック回数/画面表示回数 = CTR というのを新たに CTRの定義として用いるといった変遷が、以前所属していたチームではありました。

 さて、今所属するチームで CTR として用いるのは、画面表示回数を用いた CTR だろうなと予想していたのですが「要求回数を用いた CTR, 画面表示回数をもちいた CTR の両方を用意しよう」という話になりました。例えば、要求回数を用いた CTRと画面表示回数をもちいた CTRにひらきがあった場合、要求回数と画面表示回数にひらきがあるわけで(クリック数は同じため)、その場合はそもそもコンテンツの構成が悪いか、システムのバグによって表示できていないと判断できそうだ、という文脈からでした。このケースは稀だとは思いますが、偉い人が確信を持って欲しいといった指標なのだから用意せざるをえません。正直面倒だなと思いつつも、CTRの定義についてしっかりと意味を考えた上で選んでいることは非常に好印象でした。

 こういった指標の細かい事についてしっかりと認識を合わせておくことが、後々大きなトラブルを発生させなくて済むのです。「この数字はどのようにとっていますか?」と聞かれたときに、チームの誰に聞いても同じ定義を返答でき、その経緯についても説明できることが理想ですが、これが非常に難しい。数年頼りにしていた指標が、実は数字の取りかたや計算の仕方が誤っており、これまでこの数字を見て判断していたことはすべて間違っていた、といったこともざらにあります。この数字によって数百万、あるいは数千万といったお金が動くこともあると考えると、ひとつも手を抜くことができません。

 つらつらと書いてみましたが、何を言いたいのか、あまりまとまりのない文章になり、指標関連に精通していない人が読むにはつらいものではないかなと思います。実際にCTRについてチーム内では2時間くらい確認作業をしており、ここに書いたものは概要でしかありません。とりあえず時間がかかりましたが 、CTR について定めることができたので、ようやく次の指標の確認に進めます。あと残っている指標は・・・100近くありますね。そんなにいりますか?いるんですか、そうですか。