Case04

dbt™CLIデータ開発に

自動テストを導入

機械学習エンジニア×じゃらん

Case04

dbt™CLIでデータ開発に

自動テストを導入

機械学習エンジニア×じゃらん

01Outline
事例のアウトライン
自動車業界は変革期にあり、リース、MaaSなど、カスタマー・クライアントのニーズが多様化しています。『カーセンサー』も顧客のニーズに答えるため様々な施策を行っていますが、その為には、各施策でデータを集め、データから意思決定の速度と精度を最大化する必要がありました。
しかし、乱立する施策により『カーセンサー』のデータがサイロ化し、データマートの開発工数がかかるため品質が上がりにくい状況にありました。その結果、データによる意思決定の速度・精度も上がりにくいという課題に直面していました。
この課題に対して、分析に適したデータモデリングを実施し複雑さを解消すると共に、モジュール分割・テストされたデータパイプラインを導入し、データマート開発時の保守工数を削減しました。
成果として、ダッシュボードを提供するまでにかかるリードタイムを短縮しつつ品質を向上。分析要望を即座に反映できるようになり、組織内で見ている指標を揃えた意思決定を可能にしました。
02Issue
直面していた課題
施策が生まれる度にデータが増え新旧データが混在していました。その為、データの構造が複雑化しアナリストの分析に時間がかかる上、集計ミスも発生しやすい状況でした。また、各アナリストが集計した数値にもズレが生じる状態が続いていました。この課題解決へのチャレンジが、本プロジェクトのテーマです。
03Solution
実現した解決策
施策の際に注視している車両・カーディーラーなどの観点を整理して、各分析用のデータマートを作成しました。アナリストが参照するデータマートが限定されることで、アナリストが分析にかける時間も短縮され、互いに見ている指標を揃え、事業判断ができる状態を作り上げました。
ソリューション 図
04Technical Background
技術的な背景
分析用マートの作成には、dbt™CLIを採用し品質・生産性を大きく向上させました。下記の2つが、大きな技術的なポイントとなりました。
依存関係の自動解決とデータモデリング
分析用マートの作成には150以上のテーブルを利用しています。従来はデータの依存関係が複雑になり、誤ったデータを見てしまったり、データの更新順序を間違えるなどのミスを生んでいました。dbt™CLIによってモデルの依存関係を自動で図式化することで、アナリストがエラーを発見しやすくなり、データモデリングもシンプルに保てるようになりました。
自動テストの導入
分析用マートの作成には合計10,000行以上のSQLが動いています。従来なら変更・更新を行う際に膨大なテスト工数が必要でしたが、テストコードを記述しテストを自動化することで、効率のよい変更・更新の実施を実現しました。集計ミスが発生した場合も、自動テストによってアナリストに即時通知され、素早い対応が可能になりました。
技術的背景 図
05Outcome
得られた成果
dbt™CLIによるデータモデリングとテストの自動化によって、開発リードタイムを大幅に短縮。事業の変化に対してダッシュボードを素早く更新できる状態を実現しました。また、アナリストが提供するダッシュボードの数や質も同時に向上し、BIツールを利用するクライアントは3倍近くに増加しました。
技術的背景 図技術的背景 図技術的背景 図