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
Ubieのデータ品質の検査・維持・向上への取り組み
Search
okiyuki
August 22, 2023
Technology
3
2.1k
Ubieのデータ品質の検査・維持・向上への取り組み
2023-08-22 データ基盤管理の考え方 〜dbtの極意〜 Lunch LT の登壇資料です
okiyuki
August 22, 2023
Tweet
Share
More Decks by okiyuki
See All by okiyuki
191016_KDD2019_Reading
okiyuki99
3
2k
190928_TokyoR81_Shiny
okiyuki99
3
2k
Other Decks in Technology
See All in Technology
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
540
5分でわかるDuckDB
chanyou0311
10
3.2k
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
600
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
560
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
110
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
490
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
130
podman_update_2024-12
orimanabu
1
280
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
UI State設計とテスト方針
rmakiyama
2
620
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
KATA
mclloyd
29
14k
Agile that works and the tools we love
rasmusluckow
328
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Become a Pro
speakerdeck
PRO
26
5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Visualization
eitanlees
146
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Transcript
Ubieのデータ品質の検査・維持・向上への取り組み データ基盤管理の考え方 〜dbtの極意〜 Lunch LT 2023 / 08/ 22 Motoyuki
Oki / @okiyuki99
2 自己紹介 Motoyuki Oki X(Twitter): @okiyuki99 今:Ubie 株式会社のアナリティクスエンジニア。 誰もが早く・正確に・安全にデータ利活用できるように、 データ整備
/ データマネジメント / データガバナンス をやっています 最近の関心:引っ越し準備
3 テクノロジーで人々を 適切な医療に案内する 創業背景となる課題意識: • 患者が最適なタイミングで最適な医療機関を 受診できていない • 医師が目の前の患者の病気を熟知しているとは限らない •
医師が最新・最適な治療を知っているとは限らない ミッション
4 toC 主要プロダクト AI問診エンジンをコア技術として、一般生活者・医療機関それぞれへのプロダクトを展開 症状から受診の手がかりがわかる toB 診察事務を1/3に効率化 導入施設 47都道府県 1,400超
利用者数 月間 万人超 700
5 ケーススタディ:希少疾患の患者発見プロジェクトにおける実際の事例 製薬企業との協業で、実際に希少疾患の患者を適切な医療に案内できた事例も出始める ユビー利用による”適切な医療への案内 ” ユーザーのプロファイル • 30代女性 • 20歳の頃から3か月に1回程度激しい
腹痛や下痢に悩まされていた • 手足や顔が腫れることも多く皮膚科を 受診したこともあるが原因はわからず Google検索 ユビー利用 関連病名確認 受診 治療開始 いつもの症状が 出現し不安になり 「手足 腫れる」で検索 ユビーというサービスを発見。 関連病名が調べられるらしい。 早速問診に回答してみる とある難病の可能性が出現。 専門医がいることを知る 長年原因不明だったこともあり、 早速専門医を受診。 どうやらユビーで出てきた病気らしい 薬を処方され、10年以上 悩まされていた症状が 緩和傾向。寛解を目指す
6 Ubieはデータの会社 データの価値 = 事業価値 • データ利活用によるプロダクト改善・グロース活動以外に、顧客レポーティングのようにデータ自体が顧客価値と密接 • (自分目線で)高品質なデータ基盤の構築にエンジニアのリソースを厚く投下している データ品質への思い
• 統計情報だけでなく、一人ひとりのユーザーの行動データ分析が重要 ◦ 1件の数値ズレが情報としての価値を大きく毀損する可能性がある • レポート先が社外であり、顧客との信頼関係の構築も求められる ◦ 社内分析での利活用とは異なり、求められる品質水準が極めて高い →今日はデータ品質の検査・維持・向上の取り組みについて話します
7 (簡単に)Ubie の データ利活用部分アーキテクチャ DWHとしてはBigQuery / dbt は OSSのdbt-coreのみ利用 /
BIツールとしてLightdashを導入中
8 データの品質の検査 ~ dbt test~ データのテスト(not_null / unique / accepted_values
/ …. ) により、期待したデータになってるか検査 Case 1: 特定の期間だけ担保したいときなど、 特定の条件下でのnot_null test ref: データ品質を支える dbt test ~Ubieの事例を添えて~
9 データの品質の検査 ~ dbt test~ データのテスト(not_null / unique / accepted_values
/ …. ) により、期待したデータになってるか検査 Case 2: 意図した数値範囲のデータか test ref: データ品質を支える dbt test ~Ubieの事例を添えて~
10 データの品質の検査 ~ dbt test~ データのテスト(not_null / unique / accepted_values
/ …. ) により、期待したデータになってるか検査 Case 3: 複数カラムで unique testにより テーブル構造の担保・理解しやすくなる ref: データ品質を支える dbt test ~Ubieの事例を添えて~
11 データの品質の維持 dbt testの結果をデータマート開発プロセス上で確認できるように、 CIを整備している 開発時 ref: Ubie Tech Talk
で、「2021/12/14 dbt 運用の7つの疑問と対策」という発表をしました。
12 データの品質の維持 定常業務として、日々・週次の運用を継続して回している 日次 dbt build が毎日キックされるので、エラーがあると Slackに投稿される。エラー時に、 Analytics Engineer
で当番制で確認・1 次対応を行う 週次 Data Engineer + Analytics Engineer の週次MTGのメトリクスとして確認 • elementary の dbt packageを利用。alerts_dbt_models / alerts_dbt_tests のデータを使って独自ダッシュボード構築 • 直近週のエラー結果から見落としないか / 改善できないかの確認 • (dbt以外にも)BigQuery コストや 不適切な利用がないかも確認
13 データの品質の維持 そもそもデータ品質を維持するダッシュボード明瞭化のために dbt exposuresを活用。運用に組み込んでいる 運用例: • ダッシュボード構築系のPBIのチケットテンプレートでサブタスクに明示的に追加 • ダッシュボードオーナーの明示化
◦ チームSlackメンショングループと対応させる • ダッシュボードだけでなく、データマートの変更があったら伝えてほしいチームを明瞭化 ◦ Github PRレビューに入れるなどの判断に利用 • elementary の dbt package の dbt_exposures を使って、ダッシュボードまとめダッシュボードも作れる • 四半期の最終週は、ダッシュボードの棚卸し ◦ 古くなったダッシュボードは exposuresは削除するなど
14 データの品質の向上 データ品質の向上には、データ取得の段階から手をいれるのが肝。各ドメインチームのエンジニアへの浸透が重要。 1.dbt test の エラー時に • testの各エンジニアとの認識合わせ ◦
test実施の浸透 ◦ 別のログを条件にtestした方がよいかどうか 2.データマート開発時に • そのマートをメインで利用するチームのエンジニアへレビュー ◦ 元データが欠損するとどこのtestが落ちるかを理解・浸透 • 新規データの配置やデータ追加については、各チームのエンジニアが実施している(ドキュメント拡充) ◦ 個人情報の確認 ◦ column description ◦ 簡単なdbt testテストの実装
15 データの品質の向上 3.ログ取得の時に • ログテンプレート(Notion)を活用して、野良ログが無くなるように ◦ not null条件やaccepted values テストで制御するための情報
◦ 例:どの画面で発火するか / どういう操作をしたときにログが発火するか / …. • デザインレビュー時には、取得方法や保存方法についてData / Analytics Engineerとのアライン データ品質の向上には、データ取得の段階から手をいれるのが肝。各ドメインチームのエンジニアへの浸透が重要。
16 今後やっていきたいこと オーナーシップ醸成 • Analytics Engineerが初手対応せずとも、各チームが主でデータ品質の向上が進むように • 新しいデータ導入後、dbt test実装まで装着できるように データ利活用のセルフサービス化
• dbtを中心としたデータ利活用の一貫した体験を作るために、Lightdashを用いてセルフサービス化を推し進める • データカタログやデータプライバシー周りとの接合も進行中
17 We are hiring! データ系職種複数募集中です。データ関連職種ページ(QRコード)も最近更新しましたのでぜひご覧ください! カジュアル面談もよければ!