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
Big Dataで価値を生み出すためのSmall Trial & Method
Search
Recruit Technologies
February 13, 2019
Technology
0
290
Big Dataで価値を生み出すためのSmall Trial & Method
2019/02/13 みんなのPython勉強会#42での、河野・内田の講演資料になります
Recruit Technologies
February 13, 2019
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
700
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
How Community Opened Global Doors
hiroramos4
PRO
1
120
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
740
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
15
5.3k
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
150
Delegating the chores of authenticating users to Keycloak
ahus1
0
120
Welcome to the LLM Club
koic
0
190
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
180
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
180
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
220
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
260
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
230
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
Thoughts on Productivity
jonyablonski
69
4.7k
Building Applications with DynamoDB
mza
95
6.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
We Have a Design System, Now What?
morganepeng
53
7.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Facilitating Awesome Meetings
lara
54
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
220
Transcript
1 Big Data で 価値を生み出すため Small Trial & Method 2019-02-13
みんな Python勉強会#42 https://www.pexels.com/photo/adult-apple-device-business-code-340152/
お話しする内容 データを活用したプロダクト開発案件 について ・ど ようなシステムやプロセスを採用したか ・どういう工夫をしてきたか これらを踏まえて、ご紹介いたします。 2
各案件担当者と 共同発表という形でお伝えします 関心 あるトピックが見つかりましたら、ぜひとも交流タイムで各発表者とマッチングして リアルな目線で ディスカッションを楽しんでいただけたらと思います 内田 臣了 共同発表 3
河野 晋策 twitter / @lapis_zero09
1. じめに 2. レコメンド機能開発 3. 不正行為・規約違反行為対策 4. Jupyter Notebook Tips
4
1. じめに 5
今回ご紹介するプロダクト事例 6 婚活 恋活 http://www.recruit-mp.co.jp/service/zexy.html
市場 グロース期 ・米国で 結婚したカップル 1/3がオンラインで 出会い ・他ドメイン 大規模サービスに比べて、チームやプロダクトとして まだ発展途上 フェーズ
7
ほか:スタッフ用 業務管理ツールなど サブシステム システム概略(カスタマー向けアプリ) 8
データ基盤 9
データ基盤 BigQueryというクラウドDWHソリューションを利用 ・他ツールで そ まま再現できない手法も出てきます ・各自 環境に照らしながら聞いていただけれ と思います 10 Google
Cloud 発表資料より引用
データ活用(一部抜粋) 色々やっています 11
本日 これら2つ 案件開発についてご紹介します データ活用事例 12 レコメンド機能 不正行為・規約違反行為対策 http://image.itmedia.co.jp/l/im/ait/articles/1804/23/l_news011_04.jpg https://zexy-koimusubi.net/ https://www.irasutoya.com/2018/07/blog-post_403.html
2. レコメンド機能開発 Trial 13
自己紹介 内田 臣了 (Shinryo Uchida) リクルートテクノロジーズ ITエンジニアリング本部 プロダクトエンジニアリング部 APプロダクト開発グループ 2017年4月
新卒入社 リクルート 運営するサービス 検索改善業務に従事 柴犬が好き 14
Small Trial for Big Data ケーススタディを通してお伝えしたいこと ビッグデータを扱う案件であっても 1つ1つ 小さな分析・検証 積み重
である 15
サービス 16
ご利用 流れ 1. 異性を探す 2. いい !を送る 3. マッチングしたらメッセージを交換 4.
お見合い・デートを申し込み 5. 交際開始(退会) 17
ご利用 流れ 1. 異性を探す 2. いい !を送る 3. マッチングしたらメッセージを交換 4.
お見合い・デートを申し込み 5. 交際開始(退会) 18
おすすめ順 「異性を探す」ステップに関連 検索結果 並び順 ひとつ ユーザー プロフィール内容や行動に基づき スコアを算出しランキング お客様 出会いに大きく影響を与えるため
非常に重要な役割 19
おすすめ順 開発プロセス 今回 おすすめ順 開発プロセス 話をします (ロジック 中身 話 しません)
各工程 開発コストを下げて 高速にサイクルを回す工夫 誰でも 手軽に 開発 • 特定 開発者に縛られない • 素早いリリース • リスク 小さく 20 分析 実装 検証
おすすめ順 開発プロセス 21 分析 実装 検証
1. 分析 22 分析 実装 検証
Google BigQueryとJupyter Notebookによる分析 23 おすすめ順ロジック 改良 直感で なく必ずデータに基づいて行う 主要なデータ(個人情報除く) Google
BigQuery上に格納されており、 分析者 それにアクセスし作業する マッチング率 改善につながる 特徴量 作り込みや 施策 効果 見立てを行う
データ分析ハッカソン 24 4月に入社した新入社員たちを対象に データ分析ハッカソンを開催 入社数か月 新人でも すぐに分析に取りかかれる環境 詳しく こちら:リクルートテクノロジーズ 新人研修特別版(データ分析編) https://recruit-tech.co.jp/blog/2018/05/29/data_bootcamp2018/
2. 実装 25 分析 実装 検証
マイクロサービス化による高速リリース 26 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント サービス
バックエンドから検索エンジンに 直接クエリを投げる で なく、 おすすめ順ロジックを適用する機能をAPIとして切り出しそれを仲介
メリット:更新時 コスト・リスク 軽減 27 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド
クライアント 更新不要 更新不要 更新不要 更新 デプロイ 規模を小さくしてコスト・リスクを軽減 • ロジック 適用・切り戻しが容易 • 万が一 障害時、切り離しが容易 直接検索エンジンにリクエストする経路も用意
メリット:誰でもおすすめ順をカスタマイズ可能 28 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント レコメンド定義をJSONファイルに切り出し
➔ 誰でも容易にロジックを変更可能 • エンジニアに依頼せずとも企画者が直接定義を編集できる (実際にプロダクトマネージャや企画者がロジックを調整している)
3. 検証 29 分析 実装 検証
A/Bテストによる効果検証 30 定義A 定義B A群 B群 それぞれ 群で測定指標を比較 レコメンド API
A群 B群 • マッチング率 • いい !送信率 など • マッチング率 • いい !送信率 など 無作為に分け、異なるロジックを適用 比較 新ロジック適用前にA/Bテストでオンライン評価 ➔ 良い効果が観測された場合、新たなロジックを全適用する もし大きな毀損があった場合 、 即座に測定を中止し元 ロジックに切り戻しを実施
Redashを介したBigQueryクエリ共有 31 比較 測定用 クエリ 即実行可能な状態でRedashで共有 パラメータを指定して ボタンを押すだけで誰でも実行可能 データ基盤チームによる 主要KPI日次レポート
仕組みも存在
まとめ 32 小さく作って小さく試しながら 堅実にレコメンド機能を磨き込んでいる 速く作るために各工程で コストを小さくし 改善サイクルを高速に回す仕組みを整えている 分析 実装 検証
ビッグデータを扱う案件であっても 1つ1つ 小さな分析・検証 積み重 である
3. 不正行為・規約違反行為対策 Trial 33
' $%("!#&(
https://zexy-enmusubi.net/promise/
• • FS • '"$ • FS
• (&#'"$ • 2
• Recruit Technologies Co., Ltd. •
• @lapis_zero09 lapis-zero09 https://www.lapis-zero09.xyz/profile/ 3
4 FS 1 F( • KPI( •
C-E( 2 8G5 • ( 3 A8D • ! ) '" • 8G5'&%A8D( 4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
https://zexy-koimusubi.net/static/promise.html5
6 ! • •
!
8<, 7 42:<9 ! • • "
&%' ! #0<7 42:<9' ! ' #-/17' +<6/*;.3)
1. 8 ;9?B>("+$/! * AKPI %*&,)8B7A .
3B=62@5:1 → A .#-
2. 9
2. 10
3. 4. 3. $' •
$' • ) 11 4. %)( • &#)%)( • (("' F 9 !! http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html (("'https://www.slideshare.net/ShinsakuKono/introduction-to-ensemble-methods-for-beginners
5. Feasibility Study5,6 12 READMEJ) 8:I • ?BQLZ]N=[S\B •
* • -J9I3 OY]U=7F1A • argparse MVP= DI • ! J+A • BOPTJG9 • %&#=[S\B'4 @7<EH/<!A • % B;DB • ^XT\VRMA@I C@ 03 _($J2<".
13 "(! FB
(% &# &# 'KPI
14 FS ( ) 1 F( • KPI( •
C-E( 2 8G5 • ( 3 A8D • ! ) '" • 8G5'&%A8D( 4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
15 FS 1 2
3 " "!
-,03/! " (%/3+1'& 1. )$
2. #!)$ .03!2 16
17 &$,.+',.- p&$,.+#.) - p(%*"+
p"#! p 18
3;/9;:4)+, 1. &0158-" 2. 6;2 79;&* 3. $(#$*
ü0158 ü! ü 19
• ü"#$ ü%#! ü
• 20
%(" 21 $#'(& ! • •
! !!
Amazon EC2 $& * • * •
• )#'DB *!) 22 Web#% (*&
($@&/2?3=: 1. F; • )Deep Learing46>579A8,06*7<9+ 2. DCE;
• ($<: 3. /.1 • ($< -+ • #<!"'%-+ 23
4. Method編 34
35 ご清聴ありがとうございました https://www.pexels.com/photo/adult-apple-device-business-code-340152/