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
300
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
740
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.6k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
2k
【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
AWS DevOps Agent x ECS on Fargate検証 / AWS DevOps Agent x ECS on Fargate
kinunori
2
190
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
110
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
610
Agile Leadership Summit Keynote 2026
m_seki
1
680
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
490
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
560
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
4
400
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
sira's awesome portfolio website redesign presentation
elsirapls
0
150
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
120
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Accessibility Awareness
sabderemane
0
57
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
470
Balancing Empowerment & Direction
lara
5
900
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
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/