Android版エキサイトニュースの一覧表示順ロジックをちょっと変更してCTRを5%向上させた話

このエントリーは、エキサイト Advent Calendar 2016 の 12/16 の記事です。

ニュース技術の斉藤です。よろしくお願いします。


今回はAndroid版エキサイトニュースの一覧表示順を変更して、
CTRを向上させたことについて書きます
f0364156_17522630.png


1.結果


f0364156_17555635.png




図1.ロジック変更前後のCTR表

カテゴリによって差はあれど全体で約5%向上しました!


超注目は弊社の担当が編成している枠なので今回のロジック変更の対象にはしませんでした
コネタ等の自社媒体も今回のロジック変更の対象にはしませんでした


2.なにをしたか

この改善を行う前は配信されてきたニュースを新着順に表示していただけでした
他社様から配信していただいているニュースはどれも素晴らしいのですが、玉石混交なのは否定できません


そこで"ユーザーによっていいニュース(と思われる)"をニュースを一覧の上位に表示させよう!
f0364156_18341777.jpg

ということで、以下の特徴を用いて一覧表示順をソートすることにしました

スコアリングに採用するニュース記事の特徴
  • 弊社の編成担当が採用したか
  • トレンドワードが含まれるか
  • 新しい記事か
  • 各種SNSのシェア数
  • 直近のPV,SV

実装としては上記の値などを正規化して重みをかけ足し合わせて、
各ニュースに対してスコアリングしてソートするというものを実装しました


技術的にはさほど難しくありません

SNSのシェア数は公式が用意しているもので計測できますし、PVやSVも各種アクセス解析ツールで取得することができるでしょう

正規化も単純な最小値を0,最大値を1にするか、もしくは最小値を-1,最大値を1にするというシンプルな実装です

それぞれの特徴に対する重みはメディア運営の経験で人間がつけています

これらの実装で約5%向上となりました



3.最初から大掛かりな実装をするか、プロトタイプから育てていくか

エンジニアの皆様であれば、上記の重みは
学習をさせたり、
最適化のアルゴリズムにかけて計算したくなったり、
ユーザーに合わせてパーソナライズしたくなったり
すると思います


昨今、機械学習などの導入は簡単にはなってきていますが、

各種特徴値の計測とその値の保存

結果であるCTRの計測と保存

さらにそれらを利用して学習させたり、最適化するアルゴリズムを実装して…

となるとまだ数日で実装して試してみるとはなれないと思います

例えば2ヶ月かけて学習が含まれているものを実装しました->選択した特徴がいまいちで結果がでませんでした
では目も当てられません


そうなってしまうより、
「さくっとプロトタイプをつくり、結果が良ければ大きく育てていく」
という開発の流れも選択肢としてありです


プロトタイプで試してみることのメリットはいくつもあります
  • 実施までのスピードがはやい
  • 試してみることで、さらに有益なデータが集まる
  • 失敗のダメージが少ない
などなど


今回であればプロトタイプから
抜き出すべき特徴はあながち間違っていなかったことやカテゴリごとに重みは分けるべきなどがわかりました

これらは今後のロジック修正、新規のアルゴリズム設計にも使えるはずのとても有益なデータです

もしCTRがさがってしまうような失敗でも工数に対するダメージは少なく、実装も簡単なので抜き出す特徴を変えてみるというのもすぐに試せます



4.まとめ

アプリの記事一覧表示順を変更してCTR5%向上

機械学習などの導入は簡単になってきているが、今もプロトタイプで試してみることのメリットはある

ほんのすこしエンジニアリングを入れるだけでも向上することはある


5.最後に

エンジニアとして「これってもう少し良くできないかな?」と常に考えながら、サービスを向上させていきたいですね

本音としては機械学習や重みを最適化していくアルゴリズムの導入もやってみたいです!!!

導入した際はこのエンジニアブログで紹介したいと思います


以上、ニュース技術の斉藤でした


明日のAdvent Calendarは、本気の言語処理です。お楽しみに!


エンジニア募集

エキサイトではエンジニアとして一緒に働いてくださる方を
新卒採用中途採用で募集しています。
詳しくは、こちらの採用情報ページをご覧ください。


[PR]
by ex-engineer | 2016-12-16 00:00