株式会社ZOZO 推薦基盤チームリーダーの @f6wbl6 です。この記事は「ZOZO Advent Calendar 2024」のカレンダー2の最終回(25日目)です。
この記事では昨年の記事に引き続き、ZOZOの推薦基盤チームで私とチームメンバーがこの一年、サービス面・組織面で取り組んできたものをいくつか取り上げたいと思います。昨年の振り返りについては以下の記事を参照ください。
なおこの記事のタイトルは弊社 CTO 兼執行役員の @sonots が書いた以下の記事のオマージュです。
モジュール並び順パーソナライズ機能のリリース
ZOZOTOWN のホーム画面では「モジュール」と呼ばれる単位で商品が表示されていますが、このモジュールの並び順をユーザーごとにパーソナライズする機能をリリースしました。
これまでは一部のモジュールに表示される商品のパーソナライズにとどまっていましたが、本機能のリリースでモジュールの並び順自体がパーソナライズされるようになり、ユーザーの商品閲覧数増加や滞在時間増加が期待できます。
この機能のリリースに際しA/Bテストを実施したところ受注金額系の指標改善は見られなかったものの、モジュールに掲載されている商品の閲覧数やクリック数は大きく増加しており、よりユーザーの興味を惹く訴求が実現できていることを確認しました。
このプロジェクトに関して Recommendation Industry Talks #4 というイベントで発表し、登壇資料も公開しているため是非ご覧ください!
コスト削減施策実施
ZOZOTOWNで利用される推薦システムが増えるにつれてシステム運用コストも年々増加していたため、2024年は不要なコストを削減する取り組みに注力しました。
コスト削減と言っても小さなことを積み重ねるだけですが、具体的には以下のような施策を実施しています。
- BigQuery に保存されている実験用データセットへの expiration 付与
- BigQuery の料金体系変更(スロット課金 ↔︎ オンデマンド課金)
- Cloud Storage bucket を AutoClass 化
- Cloud Storage オブジェクトの削除・アーカイブポリシー適用
- 再現可能な dev, stg でのバッチジョブ停止
- 推薦商品の遅延読み込み(Lazy loading)機能導入
- etc.
実施した内容を大きくまとめると「不要なデータの削除」「不要なジョブや推薦は実行しない」という2点になります。
MLモデルの開発には大量のデータが必要になりますが、同時に大量の中間データや学習済みモデルといった副産物が生まれるため、こうしたデータを適切なタイミングで自動的に削除する仕組みを利用しています。
コスト削減を進めるにあたって各推薦システムがどの Google Cloud サービスでどの程度コストをかけているのかを把握する必要があり、今回の施策に合わせてコストをモニタリングするための仕組みも作ったため、今後のシステム運用にも有用な仕組み作りになったと考えています。
上記の施策を実施した結果、年間で数千万円単位のコストを削減することができました。
Findy Team+ の運用開始
会社全体での取り組みとして開発生産性の向上を掲げていますが、今年の4月より全社的にFindy Team+の運用が開始されました。
Findy Team+ではGitHubでの行動ログを使って開発生産性を定義していますが、Findy Team+導入後に推薦基盤チームでは特に「PRオープンからレビューまでの時間」が極端に長いことが判明しました。
この課題に対してとったアクションは至ってシンプルな以下の二つです。
- PRの粒度を細分化
- (基本的に)PRレビューを最優先
このような施策を進める上では「指標値を改善することが目的になってしまう」という落とし穴があるため、Findy Team+の指標値改善に固執して開発効率が落ちてしまう状況を避けることを前提として、指標値改善を進めています。
この結果として、弊社の中で唯一 Findy Team+ Award 2024 の「チーム単位での開発生産性スコアが優れたチーム」部門で表彰していただくことに繋がりました。
登壇・テックブログでのアウトプット
今年は外部登壇やテックブログ執筆といったアウトプットが多かったため、推薦基盤チームのメンバーが登壇・公開したものをまとめます。
テックブログ
今年はチームとして6本のテックブログを執筆しました。
外部登壇
今年は5本の登壇を行いました。テックブログ・外部登壇ともにアウトプットしているメンバーに偏りがあるのは否めないので、来年はさらに多くのメンバーにアウトプットしてもらえる仕組みを作っていきます。
今年の総括と今後の話
昨年と比較すると2024年は活動が縮小化しているように見えますがそんなことはなく、ホーム画面のパーソナライズ化に向けて大小様々なプロジェクトに取り組んでいます。
ホーム画面でのパーソナライズプロジェクトを通して短期的に CTR や CVR を改善する手札をいくつか得られた一年だったと感じています。一方で長期的なユーザー体験を改善する手札はまだ持ち合わせておらず、結局ユーザーにとってどのようなZOZOTOWNを提供するのが良いのか、というアンサーは得られていません。
この答えを探すべく、現在推薦基盤チームでは新規性や多様性、セレンディピティといったいわゆる Beyond-accuracy なメトリクスを改善していく方針を立てて施策を実施してます。
来年の今頃にはこの舵取りの成果がどうだったのか報告できるように ZOZOTOWN をさらにアップデートしていきます!