Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
タイミーのレコメンドにおける ABテストの運用
Search
ozeshun
September 19, 2024
Technology
900
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
タイミーのレコメンドにおける ABテストの運用
ozeshun
September 19, 2024
More Decks by ozeshun
See All by ozeshun
タイミーのBraze活用 ~PUSH通知を活用したレコメンド~
ozeshun
2
1.1k
タイミーにおける H3を活用したレコメンドの改善事例
ozeshun
5
4.3k
Other Decks in Technology
See All in Technology
キャリアLT会#3
beli68
2
280
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.6k
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.6k
QA・ソフトウェアテスト研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.3k
ダッシュボード"開発"について 〜使われるダッシュボードのつくりかた〜
kimichan
0
230
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
0
110
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
オートマトンと字句解析でRoslynを読む
tomokusaba
0
100
信頼できるテスティングAIをどう育てるか?
odan611
0
120
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
120
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
330
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
730
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
200
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Facilitating Awesome Meetings
lara
57
7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Scaling GitHub
holman
464
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Site-Speed That Sticks
csswizardry
13
1.4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
The World Runs on Bad Software
bkeepers
PRO
72
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
2024/09/18 GENBA #4 データサイエンティストの現場 株式会社タイミー Shunsuke Ozeki タイミーのレコメンドにおける ABテストの運用 @ozeshun_
自己紹介 2 小関 俊祐(Shunsuke Ozeki)/ @ozeshun_ - お仕事 - 2022年にDSとしてタイミーに入社
- MLモデルの改善、ML pipelineの構築、 推薦API基盤の運用など幅広くやってます - 最近検索にも手を出し始めました - 趣味 - 野球全般。ロッテ、レンジャースが好き - 海外旅行 - 個人開発
目次 • サービス紹介 • レコメンド機能におけるABテスト • ABテストの設定方法 • ABテストで計測する指標のモニタリング •
ABテストの仮説と分析結果の管理方法 • まとめ
サービス紹介
None
6
レコメンド機能におけるABテスト
タイミーのレコメンド機能 さがすタブ おきにいりタブ おすすめのお仕事 アプリの「さがすタブ」と「おきにいりタブ」に表示されるバナーをタップすると、 パーソナライズされたおすすめの仕事が表示されるという形で、レコメンド機能は実装されています 8
レコメンド機能におけるABテスト レコメンド・プロダクト全体の指標を向上させるために、レコメンド機能に適用するアルゴリズムを高頻度 でアップデートしてABテストによるオンライン評価を実施しています 9 レコメンド機能 既存アルゴリズム 新規アルゴリズム VS
ABテストで計測している指標 AB テストの対象になったワーカーで下記指標を主に計測し、両群での差異を比較しています - レコメンド画面での指標 - レコメンド経由のお気に入り数 - レコメンド経由の申込数 -
全体の指標 - お気に入り数 (レコメンド経由のお気に入り数 + レコメンド経由以外のお気に入り数) - 申込数 (レコメンド経由の申込数 + レコメンド経由以外の申込数) 10 レコメンド機能のフロー
ABテストの設定方法
レコメンドシステムのアーキテクチャ データ基盤があるGoogle Cloudにアイテム推薦APIを立て、その中でABテストの振り分けを設定しています - プロダクト本体の基盤があるAWS上のリソースを変更せずに、DS組織内でABテストの設定が完結出来 るようになっています ABの振り分けはここで設定
アイテム推薦APIにおけるABテストの設定方法 下記のようなyamlファイルがアイテム推薦APIのソース内にあり、 設定したいABの内容を追記してデプロイする事で新規ABが簡単に開始出来るようにしています ab_tests : - duration : start_at :
'2024-09-01 00:00:00' # ABテストの開始時間 (JST) end_at: '2024-09-30 23:59:59' # ABテストの終了日 (JST) key: ab_240901_240930 # ABテスト名 variants : - algorithm_name : alg_a # A群のユーザーに割り当てるアルゴリズム weight: 0.5 # A群にどれぐらいの割合のユーザーを割り当てるか group: display: 1 # 割り当てたユーザーをどれくらい表示群にするか hidden: 0 # 割り当てたユーザーをどれくらい非表示群にするか - algorithm_name : alg_b # B群のユーザーに割り当てるアルゴリズム weight: 0.5 # B群にどれぐらいの割合のユーザーを割り当てるか group: display: 1 # 割り当てたユーザーをどれくらい表示群にするか hidden: 0 # 割り当てたユーザーをどれくらい非表示群にするか ab_tests : - duration : start_at : '2024-09-01 00:00:00' # ABテストの開始時間 (JST) end_at: '2024-09-30 23:59:59' # ABテストの終了日 (JST) key: ab_240901_240930 # ABテスト名 variants : - algorithm_name : alg_a # 割り当てるアルゴリズム weight: 1 # どれくらい の割合のユーザーを割り当てるか group: display: 0.5 # 割り当てたユーザーをどれくらい表示群( A群)にする か hidden: 0.5 # 割り当てたユーザーをどれくらい非表示群 (B群)にす るか alg_aとalg_bを5:5で割り振るABを設定する時 alg_aを表示群と非表示群に5:5で割り振るABを設定する時
ABテストで計測する指標のモニタリング
計測したい指標のモニタリング方法 下記のようなLooker Studioで計測したい指標を出来る限り可視化してモニタリングしています - 毎日確認したいグラフ(KPIをA群B群で比較したグラフ等)はslackに毎日通知するようにしています - 週に2回程可視化した指標を同期的に見る時間を作って、モデルが意図通りの推論をしているかを確認 したり、次の打ち手はどうすべきかを話したりしています ※ダミーデータを使用しています
モニタリングのためのDWH, DM設計 確認したい指標をすぐ見られるよう各種指標を集計したDMを構築しています - BIツールがDMを参照することで、クエリのスキャン量も削減する事が出来ます
ABテストの仮説と分析結果の管理方法
ABテストの仮説と分析結果の管理方法 仮説と実験結果をまとめたドキュメントは、NotionのDBで管理しています - アナリストのチームが、プロダクト組織横断で効果検証のドキュメントを管理するDBを構築してくれ ました (参考) ドキュメントには以下の項目を書くようにしています 1. TL;DR 2.
確かめたいこと 3. 仕様 4. 実験設計 → 詳細は右画像 5. 結果 6. 考察 7. 新たな疑問、次に確かめたいこと
ドキュメントを活用したABテスト前の仮説立て - 「確かめたいこと」に今回考えている仮説を書く - 「仕様」に今までのアルゴリズムが抱えていた課題と新規アルゴリズムで行った変更を書いておく アルゴリズムA アルゴリズムB アルゴリズムB: 中央値 アルゴリズムA:
中央値
まとめ
まとめ レコメンド機能におけるABテスト - タイミーにおけるレコメンド機能と実施しているABテストの概要について説明しました ABテストの設定方法 - レコメンド全体のアーキテクチャを紹介しながら、ABテストを簡単に開始できる仕組 みにしていることを紹介しました ABテストで計測する指標のモニタリング -
日々のモニタリング体制とモニタリング用のデータの管理方法について紹介しました ABテストの仮説と分析結果の管理方法 - ABテストで実施した内容をまとめたドキュメントの管理方法や活用事例について紹介 しました
データ系職種積極的に採用中です! 22 https://product-recruit.timee.co.jp/data
Thank you