Gunosyデータ分析ブログ

Gunosyで働くデータエンジニアが知見を共有するブログです。

施策の優先順位付けのために分析Dayを実施しました

こんにちは、Gunosy Tech LabのMedia MLチームでマネージャーをしている id:skozawa です。 もう年末、早いですね。

こちらの記事は Gunosy Advent Calendar 2021の2日目の記事です。昨日の記事は加藤さんのチーム再編とCompany Betsでした。

今日はMedia MLチームで施策の優先順位付けのために分析Dayを実施した話です。Gunosyでは6月から期が始まり、12月からは下期となります。そこで下期にやることの案出しと、出てきた施策案に対して優先順位の見積もりをするために分析Dayを実施しました。

分析Day

分析Dayは2日間行いました。今は在宅勤務中なので1日目はリモートで行い、2日目だけオフィスに集まって実施しました。分析Dayの2日間は通常業務はせず、施策の効果などを見積もるための分析を分担しながら行いました。基本はSlackでやりとりしながら、たまにmeetsやオフラインで集まって進捗を確認しながら進めました。

施策の見積もり

分析Dayを行う前に、施策の案出しを行いました。Miroを使い、各自施策案を出し、だいたい30程度の施策案が出たので、これらの優先順位を見積もります。

施策の優先順位を評価するための指標としてRICEスコアを利用しました。 RICEスコアはReach、Impact、Confidence、Effortからなるスコアで、以下の式で計算されるスコアです。

スコア = Reach x Impact x Confidence ÷ Effort

www.productplan.com

それぞれをどのように評価したかを説明します。

Reach

施策が影響を与えるユーザー数を見積もります。 グノシーアプリの改善施策のReachの見積もりでは、トピックタブ(グノシーアプリを開くと最初に表示されるタブ)で記事をインプレッションするユーザー数を1とし、そのユーザー数に対する比率をReachとしました。例えば、エンタメタブのインプレッションがトピックタブの5割と仮定した場合、エンタメタブを改善する施策のReachは0.5となります。

Impact

施策の効果を見積もります。 Gunosyではこれまでに様々なA/Bテストを行ってきているため、過去の施策の効果や、現状のユーザーの状況などを分析し、Impactの数値を見積もります。

RICE ではImpactを5段階で

  • 3 = massive impact
  • 2 = high impact
  • 1 = medium impact
  • 0.5 = low impact
  • 0.25 = minimal impact

としており、最初はこれを参考にしていましたが、定性的で人によってブレが発生しそうだったため、KPIの改善幅で具体化して見積もりました。 例えば、CTR改善をする施策の場合は以下のようにしました。

  • 3 = 5%改善
  • 2 = 3%改善
  • 1 = 1%改善
  • 0.5 = 変化なし

ただし、施策のなかには運用改善やコストカットなど直接的にはKPIに影響しない施策もあります。そういった施策に他のKPI改善施策と同等にImapctを見積もると、どうしてもKPI改善の施策が優先されてしまうため、運用改善やコストカットに繋がる施策には別途 0.5 の加点をするようにしています。

Confidence

施策の確度を見積もります。 過去のA/Bテストの結果や、論文での実験結果などを参考にし、Confidenceを0〜1の間で見積もります。

できるだけ根拠を持って評価したいですが、以前ブログで紹介したKDD2019のチュートリアルでは、「私達はアイデアの価値を評価することができない」と主張されていたりもして、Confidenceをどの程度重視するかは難しいなと感じます。

data.gunosy.io

Effort

施策の労力を見積もります。 1人月を1とし、分析から開発、A/B開始までにかかる工数を見積もります。

上記の項目をスプレッドシートに記入し、以下のように各施策のスコアを見積もっていきました。

f:id:skozawa:20211130144205p:plain

見積もりの見直し

施策のRICEの見積もりは分担して行ったため、見積もりが終わってから、全員で集まり、見積もりをした人がどういうふうに分析しながら見積もりの数値をつけたかを説明し、違和感なさそうかを確認しました。

RICEの使い方

施策の優先順位を評価するためにRICEスコアを試算しましたが、RICEのページにもあるように、必ずしもRICEスコアの高い順に施策を行わなければならないものではありません。 RICEスコアも参考にしながら、他のステークホルダーと調整しつつ、総合的に実施する施策を決定します。

やってみての感想と課題

上期は施策のRICEスコアの見積もりを自分一人でしていたのですが、下期はチーム全員で見積もりを試してみました。チームメンバーからは良かったという感想もでており、やってみて良かったかなと思います。

一方、RICEの見積もりについては、

  • 施策案の解像度を高める必要がある
    • 施策案が解像度が低いと見積もりの解像度や精度も低くなる
  • Confidenceがブレやすい
    • Confidenceは分担せずにつけたほうがよかった
    • 0〜1で見積もったが、3段階くらいでよいかも
  • Reachの定義
    • 今回はReachを施策の影響を受けるユーザー数としたが、施策の効果を受けるユーザー数とすると、見積もりの精度が少し変わりそう

のような課題や感想を持ち、まだまだ改善の余地はありそうだなと思いました。

おわりに

本記事では、施策の優先順位を見積もるために分析Dayを実施したことについて話しました。施策そのものの解像度や施策の効果の見積もり精度を上げるためにも定期的に分析Dayをしていこうと思います。

明日は内田さんのpyproject.tomlの話です。お楽しみに!