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
分析基盤のコストを削減した話
Search
miraoto@mybest
October 13, 2023
Technology
1
780
分析基盤のコストを削減した話
2023.10.13 (Fri.) に開催されたハッカー鮨のLTです
https://hackermeshi.com/parties/457
miraoto@mybest
October 13, 2023
Tweet
Share
More Decks by miraoto@mybest
See All by miraoto@mybest
株式会社マイベストKaigi on RailsスポンサーLT
miraoto
0
31
会社のフェーズに合わせた”CTOの役割の変化” への向き合い方
miraoto
0
200
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Engineer Career Talk
lycorp_recruit_jp
0
160
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
380
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Building an army of robots
kneath
302
43k
Why Our Code Smells
bkeepers
PRO
334
57k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Building Your Own Lightsaber
phodgson
103
6.1k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Building Applications with DynamoDB
mza
90
6.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
It's Worth the Effort
3n
183
27k
Transcript
分析基盤のコストを年間数百万削減した話 ハッカー鮨 update Oct 13, 2023
渡邊 直登 Naoto Watanabe 取締役 CTO 兼 執行役員|プロダクト開発部 部長 SIerにてエンジニア/ディレクターの経験後、事業会社で正社員向けサービスの開発
に携わる。その後、医療系の新規事業の立ち上げを経験を経て 2017年にマイベスト 入社。 現在は、業務委託を含めたエンジニアのマネジメント、マーケ・営業系施策の開発サ ポート、Enablingミッションのリード、データ分析基盤の運用を担当。 プロフィール
マイベストの分析基盤について Index 1 当時の状況について 2 どうやって解消したのか? 3 これから 4
マイベストの分析基盤について ETL(trocco) + DWH(BigQuery) + BI(Redash / Looker) 画像
ETL(trocco) + DWH(BigQuery) + BI(Redash / Looker) マイベストの分析基盤について データ分析基盤構成
データソース・データウェアハウス・データマートに分類して処理 マイベストの分析基盤について データ基盤 データレイク (生データ) アクセスログ、イベントログ、購買データ etc データウェアハウス (分析元データ) URL
x 日別クリックログ、URL x EC別収益ログ データマート (分析データ≒BIデータ) 直近30日のCVボタンクリックログ
すべての処理・フローはtroccoに集約 マイベストの分析基盤について データワークフロー
分析用データマートは非エンジニアが作成 マイベストの分析基盤について BI
データレイク (生データ) エンジニアが作成 データウェアハウス (分析元データ) エンジニアが作成 データマート (分析データ≒BIデータ) 非エンジニアが作成 分析用データマートは非エンジニアが作成
マイベストの分析基盤について BI
当時の状況について データ分析基盤が活用開始からコスト増まで 画像
活用していたのはプロダクトを改善する部署に限定されており、金額も 1-3万程度 当時の状況について データ分析基盤は2021年から存在していた
データ分析基盤の積極的な活用が始まる 01 UA提供終了に伴う利用 ログの変更 02 データ活用部署の増 加 03 データ活用用途の 多様化
UA/GAは詳細分析の際にデータがサンプリングされてしまうので、 PrimeNumber社のWeb行動ログ収集SDKにリプレイス UA提供終了に伴う利用ログの変更 UAが7月で提供終了するタイミングでデータソースを生ログに変える
GAの分析画面が利用できなくなることもあり、各部署がデータ活用のためのダッシュボードを作成する データ活用部署の増加 色々なダッシュボードが爆誕する Lookerを本格活用 マーケティング部が各部のニーズをヒアリング し作成。中にはGA4のデータを活用したような 重めのダッシュボードも...
Lookerから発行されたSQLがBQのプロジェクト履歴に流れる データ活用用途の多様化 意図しないクエリが増える 不穏なクエリが大量に発行 “GA4のアクセスログすべて” とか ”指定期間 の生データ” みたいなクエリが1クエリで1テラバ イトを超えていた
1.2 TB 1.1 TB
すると...
コストが跳ね上がる... 本格活用前までは月 3万程度だった料金が 月55万程度まで増える
利用してもらえることは良いこと
ただ、このままだとコストが原因で 本格稼働前に見直しが入りかねない...
どうやって解消したのか? 可視化から仕組み化まで
具体的なアプローチは3つ 01 可視化 02 権限・クエリ整理 03 アラート設定
ユーザー毎とクエリ毎で課金額を調査。そもそも原因が特定し辛い状況になっていることに気づく 可視化 ボトルネックとなるクエリを特定 原因が特定しづらかった理由 どのアカウントでクエリを発行しているのか?は わかったが、人が書いたものか or サービスが 発行したものかが分からなかったのでボトル ネックとなるクエリを見てもすぐに打ち手にはた
どり着けなかった。
用途に合わせてアカウントを調整 権限・クエリ整理 クエリ発行者を管理 アカウントはツールごとに Lookerで利用するアカウントは部のメーリング リスト。BigQueryで利用するアカウントは個人 のものと分けることで、発行クエリで人・用途の 判別がしやすくなった
曖昧だったデータウェアハウス作成の定義を見直し。一部を汎用集計テーブルとして再定義 権限・クエリ整理 データ基盤を整備し、不要なデータウェアハウスを統合 汎用集計テーブルにすることで、一部データ ウェアハウスの参照するデータ量が大幅に削 減(ページビュー系:1.04 TB→20.36 GB、イベ ント系:183.9 GB→16.11
GB) 汎用集計テーブルを作成
月額の利用想定から閾値を設定。日次で超えた場合には Slackに通知→クエリ発行者に確認のフローを作成 アラート設定 コストの閾値を決めアラートを設定 1. #trocco-alerts に通知がくる(通知例) 2. 前日のユーザー・クエリ単位での BQの利用状況を確認する
3. そのクエリが個人アカウントで発行されているものはスルー、メーリスで発行されているものは純増になるのでクエリを見 直す 通知例
その結果...
大幅なコスト削減に成功! 月 55万 月 7万
これでまたガンガン使えそう...! めでたしめでたし
これから マイベストのデータ活用の未来 画像
データを活用した改善の 頻度と精度を上げたい 今は改善活動のための基盤ができただけの状態。 これからは、基盤を活用してプロダクト・コンテンツの改善をデータ観点から改善できるような体 制・環境を作り上げたい
マーケティング部が主体となり、データ活用の啓蒙や環境整備を実施 利用範囲が広がっています 部署を横断したデータ活用が動き始めています
オペレーションに利用している JIRA、kintoneなども連携または連携準備中 利用範囲が広がっています オペレーションもデータドリブンに改善できるように仕込み中
ABテスト改善、検索・マッチング精度改善、施策評価、効果試算などはまだまだ道半ば。データ活用には伸び代しかない! 一方で... 精度の改善にはまだ多くの余地がある ABテスト自体をもっと信頼できるものに改善し ていきたい... アクションプランを立てるうえでインパクトを見積 もりたい... ユーザーのフィードバックを効果的に サービスに反映したい ...
施策の優先度をデータドリブンで判断できるよう になるといいな...
分析基盤はデータベースを強みとする mybestのData Opsの中心。興味ある方はぜひ懇親会で話しましょう! つまり データの蓄積から活用のフェーズに アクセス イベントログ 分析 順位 データ
パーソナライズ プロダクト 検証 情報 改善 購買 データ 用途に応じたデータの活用 データの蓄積とルールの整備 これから これまで データ基盤
ご清聴ありがとうございました