Attention and Engagement-Awareness in the Wild: A Large-Scale Study with Adaptive Notifications
表題はIEEE PerCom 2017に掲載されたYahoo Japanのデータサイエンティストのペーパーです。 日経産業新聞に載ってたのを見て、IEEEに掲載されてたのを知りました。 自分もトップジャーナルとマスメディアに載りたいなーって思いました(´・Д・)」
概要
スマートフォン端末から得られる加速度センサーや操作ログなどから、プッシュ通知が開封されやすいタイミングを予測している。
その予測をもとに、「Yahoo! JAPAN」アプリの一部ユーザーに対して検証を行ったところ、プッシュ通知を開封するまでの反応時間が平均49.7%短縮され、開封率が最大約5.5%向上している。
Yahooクラスのユーザー数であれば、5%の改善はインパクトとして大きいですよね。
System Design
Breakpointの探索
以前はデバイスの使い分けに基づくブレイクポイントの推定を行っていたが、より実際の生活を反映した、身体的活動に基づく推定を行うようになっている。
Google PlayのLocationAPIを利用し、通知の際のユーザーの行動の変化を探索している。
System Architecture
アンドロイドのみ。
取得しているセンサーデータは下記。
これらのデータから独自の経験知により、下記のような特徴量を生成している。
データの取得から通知までの時系列は下図。
予測はLogistic regression(liblinear)を用いている。予測のパラメータはサーバーサイドで生成し、クライアントへダウンロードさせている。
通知を出して10秒以内にクリックしたかどうかをブレイクポイントの正解ラベルとしてアノテーションとしている。10秒の閾値はYahooの実績から判断しているらしい。
Model Training
最初のモデルの学習にはlabメンバーの端末39台にアプリを入れて35日間学習させている。このモデルの精度は94.8%で、主要な特徴量のウェイトは下記。
Evaluation
3週間で680,000ユーザー(アプリユーザーの10%)に対してA/Bテストを行っている。うち半数は全ユーザーからランダムに抽出している。
結果
Trueとラベルされたユーザーの行動の変化(GoogleAPIから取得した)は下記。
StillからTiltingがもっとも多く、これはGoogleの定義によればデスクからデバイスを取ったときや通知を受けたユーザーが立ち上がったとき、とされる。
Notification Delay due to Breakpoint
ブレイクポイントで通知するため、通知を遅らせている。その時間平均236秒でその累積カウントは下図。
プッシュ通知に対するユーザーの反応
対照群の通知開封までの時間は平均1600秒で、コントロール群より49%早く開封させている。
通知の開封率
21日間の平均は1.9%、最大5.5%、平日で2.4%、休日で1%。
長期的なエンゲージメント
Y!Japan独自の指標による評価。よくなってるらしい。
結論
- デバイスのセンサーログから、プッシュ通知が開封されやすいタイミング予測して通知を出すようにすることで、開封率が最大5.5%改善している。
- データとしてGoogle PlayのLocationAPIを用いている。
- ユーザーがブレイクポイントにいるかどうかが重要。
- 気になったのが、累積値でグラフが作成されているので、わからないが、対照群の中で結局開封しなかったユーザーがどのぐらいいるのかが気になる。施策対象のユーザーボリュームがどの程度なのか。
参考
https://www.ht.sfc.keio.ac.jp/~slash/papers/Okoshi2017a_AtteliaYahoo_PerCom2017.pdf