Slide 1

Slide 1 text

©10X, Inc. All Rights Reserved. 10Xにおけるdbtの事例紹介
 What is dbt?データ基盤にdbtが必要な3つの理由 1

Slide 2

Slide 2 text

©10X, Inc. All Rights Reserved. 発表者
 2 はじめに ● 谷口 和輝 (@Kazk1018)
 ● 所属
 ○ 株式会社10X グロース本部所属
 ○ データサイエンティスト
 ● 経歴
 ○ IT企業: Data Scientist / Research Scientist
 ○ スタートアップ: iOS Engineer / Marketing
 ○ 個人事業主: Data Scientist / ML Engineer / Consulting
 ● dbt歴
 ○ 約1年


Slide 3

Slide 3 text

©10X, Inc. All Rights Reserved. Agenda
 3 ● 会社概要
 ● 10Xにおけるデータ活用
 ● 10Xにおけるdbtの活用
 ● データモデリングとdbt
 ● データ品質とdbt
 ● おわりに
 はじめに

Slide 4

Slide 4 text

Copyright 10X, Inc. All right reserved 会社概要
 4

Slide 5

Slide 5 text

©10X, Inc. All Rights Reserved. 5 会社概要

Slide 6

Slide 6 text

©10X, Inc. All Rights Reserved. チーム構成
 6 会社概要 ※2023/01時点

Slide 7

Slide 7 text

©10X, Inc. All Rights Reserved. 沿革
 7 会社概要

Slide 8

Slide 8 text

©10X, Inc. All Rights Reserved. 8 小売エンタープライズに特化した
 EC/DXプラットフォームを提供
 Stailerとは?
 会社概要

Slide 9

Slide 9 text

©10X, Inc. All Rights Reserved. Stailerが提供するプロダクトの機能価値および提供サービス
 9 商品画像撮影 ツール 商品マスタ 自動生成 モバイル アプリ 作業ツール (Pick Pack) 配達管理 (TMS) 在庫管理 (WMS) PL分析 戦略策定 オペレーション デザイン 顧客分析 顧客獲得施策 CRM施策 サポート対応 配達効率分析 KPI策定 オンボード支援 在庫生成 ロジック作成 効率分析 欠品削減分析 事業策定 在庫準備 EC開店 店舗運用 配達 CS グロース チャット ツール CRM基盤 機能 価値 提供 サービス プロダクトStailerおよび、事業エキスパートチームが、広範な領域をパートナーとして伴走します 
 会社概要

Slide 10

Slide 10 text

©10X, Inc. All Rights Reserved. 小売事業者向け
 オペレーティング・システム 
 在庫の即時管理やピックパック管理が可能 
 10 配送業者向け
 オペレーティング・システム 
 積荷・ルーティング・配達管理が可能 
 お客様向け
 統合UX
 売り場設計や高精度の検索等の機能提供 
 お客様・小売事業者・配送の三者に必要な全てのプロダクトを提供
 会社概要

Slide 11

Slide 11 text

©10X, Inc. All Rights Reserved. 事業に即したマトリクス組織を軸に
 11 パートナーの事業成長に伴走する「事業本部」・プラットフォームとして資産構築する「機能本部」 
 会社概要

Slide 12

Slide 12 text

©10X, Inc. All Rights Reserved. 12 10Xにおけるデータ活用


Slide 13

Slide 13 text

©10X, Inc. All Rights Reserved. 各領域の専門家がデータを武器に、パートナー・プロダクトへ向けて価値を提供 
 
 データを活用した価値提供
 データプロダクト データを活用した価値提供 13 機械学習 インサイト分析 ダッシュボード 【10,000字詰め込みました】 10Xのデータに関わる職種を紹介します( 2022年12月版) データ基盤

Slide 14

Slide 14 text

©10X, Inc. All Rights Reserved. データプロダクト
 14 データを活用した価値提供 2. 特徴的な使用データの一例 
 3. アウトプット例
 1. 内容
 ● 商品名・在庫数・売価
 ● 商品のカテゴリ
 ● 特売情報 など
 
 ● プロダクトのマスタデータ
 
 パートナーからデータを受領し、Stailerにおける その後のデータ利活用の基となる「正しい情報 が集約されたマスタデータ」や「売り場」を生成す る


Slide 15

Slide 15 text

©10X, Inc. All Rights Reserved. データ基盤
 15 データを活用した価値提供 15 2. 特徴的な使用データの一例 
 3. アウトプット例
 ● 注文・ユーザーデータ
 ● エンドユーザーやスタッフの行動ログ 
 ● 販促や広告データ など
 1. 内容
 ● ダッシュボードで利用するデータマート 
 プロダクトから生まれるログを扱いやすいDWH・ データマートの形へ加工し、社内外へ利活用を 促すと共に、その信頼性・品質を担保する 


Slide 16

Slide 16 text

©10X, Inc. All Rights Reserved. インサイト分析・ダッシュボード
 16 データを活用した価値提供 16 2. 特徴的な使用データの一例 
 3. アウトプット例
 1. 内容
 ● ユーザーの行動データ
 ● オペレーションに関するデータ 
 ● 地理情報などの外部データ など 
 
 
 ● 定常的なダッシュボード
 ● アドホックな分析レポート
 
 事業価値を最大化するために、インパクトと優先 順位を判断の上で意思決定を支えるインサイト の提供とKPIを追跡するためのダッシュボードを 作成する


Slide 17

Slide 17 text

©10X, Inc. All Rights Reserved. 機械学習
 17 データを活用した価値提供 2. 特徴的な使用データの一例 
 3. アウトプット例
 1. 内容
 ● 商品の探索・回帰・発見ログ 
 ● 商品情報 + アノテーション 
 ● オペレーションに関するデータ など 
 
 
 ● 機械学習による予測モデル 
 ● 意思決定支援のためのモデリング 
 
 ユーザーが一度に多くの情報を処理する必要 がある場合に、それらを売場や個人に最適な 形で提供し、ユーザーやスタッフの意思決定や 作業を支援する


Slide 18

Slide 18 text

©10X, Inc. All Rights Reserved. 18 10Xにおけるdbtの活用


Slide 19

Slide 19 text

©10X, Inc. All Rights Reserved. 社内のdbtの利用状況
 19 10Xにおけるdbtの活用 データ活用の広い範囲でdbtを利用 
 ① マスターデータ開発におけるdbt活用 
 ② データ基盤開発
 
 (後半のスライドではスライド右上タグでどちらの内容か わかるようになっています)
 ① ② マスタデータ開発 データ基盤開発

Slide 20

Slide 20 text

©10X, Inc. All Rights Reserved. なぜdbtを利用しているのか
 ● SQLとjinjaでの開発でデータマートの開発の敷居を 下げる
 
 ● ソフトウェア開発のDevOps(Test, CI/CD)の考えを 取り入れて品質を向上させる
 
 20 10Xにおけるdbtの活用

Slide 21

Slide 21 text

©10X, Inc. All Rights Reserved. 21 データモデリングとdbt


Slide 22

Slide 22 text

©10X, Inc. All Rights Reserved. ドメインを考慮したレイヤードアーキテクチャ
 22 マスタデータ開発のアーキテクチャ マスタデータ開発

Slide 23

Slide 23 text

©10X, Inc. All Rights Reserved. 各レイヤーの詳細
 23 レイヤー 詳細 SOURCE パートナーから受領したデータが格納されている層 GATEWAY SOURCEにあるデータをクレンジングする層 DOMAIN MODEL ビジネスドメインを一定の粒度で集約する DOMAIN SERVICE ドメインモデル同士を利用して複雑な処理をするための処理層 APPLICATION 最終的なユースケースに沿った結合処理等を行う マスタデータ開発のアーキテクチャ マスタデータ開発

Slide 24

Slide 24 text

©10X, Inc. All Rights Reserved. Data Vault
 24 Data Vault Enterprise Data Warehouse (EDW)を構築するための設計やアプローチ全体 
 データ基盤開発

Slide 25

Slide 25 text

©10X, Inc. All Rights Reserved. Data Vault Modeling
 25 Data Vault Hub Satellite Link ビジネスオブジェクトが注文の例 ビジネスオブジェクトを管理する ビジネスオブジェクトの関係を管理する ビジネスオブジェクトを説明する値を 履歴とともに管理する データ基盤開発

Slide 26

Slide 26 text

©10X, Inc. All Rights Reserved. ● dbtの利点の一つであるjinjaによるテンプレート化はData Vaultのようなモデリングと相性が良い 
 
 ● dbtでData Vaultを実装するライブラリとしてdbtvaultがある 
 
 ● (2023/03/14現在) 対応しているモデル 
 ○ Stage
 ○ Hub
 ○ Link (Link, Transactional)
 ○ Satellite (Satellite, Effectivity, Multi-Active, Extended Tracking)
 ○ PIT
 ○ Bridge
 dbtvalut
 26 Data Vault データ基盤開発

Slide 27

Slide 27 text

©10X, Inc. All Rights Reserved. dbtvalutの例
 27 Data Vault Hubの例 Linkの例 データ基盤開発

Slide 28

Slide 28 text

©10X, Inc. All Rights Reserved. 28 データ品質とdbt


Slide 29

Slide 29 text

©10X, Inc. All Rights Reserved. Data Reliability Level (DRL)
 データの品質を4段階に分けて、品質を担保するための開発プロセスを明確化 
 29 データ品質 レベル 詳細 Explorational 外部から取り入れたばかりのデータ、新しく生成されたデータ Ad-hoc 分析者などのクエリの結果、Sandbox用途のデータマート Business Insight DWHを利用して作成されたデータ、必要最低限の自動テストを実施 Trusted DWHを利用して作成されたデータ、自動テスト、QAを実施 データ基盤開発

Slide 30

Slide 30 text

©10X, Inc. All Rights Reserved. DRLを用いた開発プロセス
 DRL毎に要件や必要な開発プロセスを定義(こちらはまだ途中段階) 
 30 データ品質 データ基盤開発

Slide 31

Slide 31 text

©10X, Inc. All Rights Reserved. 参考: データ品質の定義 (by DAMA)
 31 データ品質の項目 詳細 Accuracy 実際の値とデータの値の近さ Availability データ消費者やプロセスによって参照や取得できる Clarity データ消費者がメタデータを理解できる容易さ Completeness 必要なすべてのレコード、および値が存在しているか Consistency あるデータが他のデータに対して一貫性があるかどうか Currency データの値が最新のものであるか Punctuality データが利用可能になる時間と実際の提供時間の期間が適切か Timeliness 実際にデータが生成された時間と利用可能になる時間の期間が適切か Traceability データリネージが利用可能か Uniqueness 同じデータがテーブルやデータソースの中で一度しか出現しない Validity データがビジネスルールなどに従っているか データ品質 Dimensions of Data Quality (DDQ) Research Paper データ基盤開発

Slide 32

Slide 32 text

©10X, Inc. All Rights Reserved. dbtの機能を用いた品質の担保
 32 データ品質 ● テストで自動化して品質を担保する手法の設計が必要になる 
 ○ 例) dbtによるデータ品質の各項目の担保 (11項目中5項目)
 
 ● custom generic testを用いたテストも検討中 
 データ品質の項目 dbtによるアプローチ Clarity dbt docs Completeness (values) Not-null test Currency Freshness test Traceability Data Lineage Uniqueness Unique test データ基盤開発

Slide 33

Slide 33 text

©10X, Inc. All Rights Reserved. マスタデータに求められる品質
 33 データ品質 マスタデータ開発 ● プロダクトで毎日直接利用されることから非常に高い水準の品質が必要 
 
 ● レイヤーの役割に応じたテストによって品質を保証 
 
 ● 特に重要になるドメインサービス層では単体テストを実施 


Slide 34

Slide 34 text

©10X, Inc. All Rights Reserved. dbt-datamocktool (dmt)
 34 データ品質 ● dbtのmodelの単体テストを行うためのpackage 
 
 ● custom generic testで以下のようなassetionを実現 
 マスタデータ開発 mockの切り替え expectedの設定

Slide 35

Slide 35 text

©10X, Inc. All Rights Reserved. dmtを用いた単体テストの導入
 35 データ品質 マスタデータ開発

Slide 36

Slide 36 text

©10X, Inc. All Rights Reserved. 36 おわりに


Slide 37

Slide 37 text

©10X, Inc. All Rights Reserved. まとめ
 ● 10Xの会社概要
 ● 10Xでのデータの活用について4つの価値提供 
 ● 10Xでのdbtの活用状況は広範囲 
 ● データモデリングではData Vaultをdbtvaultによって実現 
 ● データ品質ではDRLによる品質定義とdmtを用いた単体テストについて紹介 
 おわりに 37