NTT DATA

DATA INSIGHT

NTT DATAの「知見」と「先見」を社会へ届けるメディア

キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
2022.8.22技術トレンド/展望

データエンジニアから見たデータ分析案件のコツ

データ分析プロジェクトの成功には、必要なデータを見極め、適切な形で供給する「データエンジニア」の存在が必要不可欠だ。本稿では、データエンジニアとして数々のプロジェクト経験から得た教訓のうち、特に重要だと感じた2つの心構えについて紹介する。
目次

はじめに

データ分析が企業の意思決定に大きな影響を及ぼす中で、より多くのデータ分析プロジェクトを成功に導くためには、データサイエンティストにデータを供給するデータエンジニアの役割が不可欠です。

本記事では、我々が数々のプロジェクト経験から得た教訓のうち、特に重要だと感じたデータエンジニアの心構えについて2つ紹介します。

  • 1.データサイエンティストが行う「分析」以外の作業を巻き取る
  • 2.プロジェクトの試行錯誤の段階は自由を提供し、定期処理になったら高品質を提供する

以降では、この2つの心構えを実際のプロジェクトでどのように実践し、成功に導いたかをPoC(実証実験)から商用化までのフェーズ毎に紹介します。

図1:事例の案件における3つのフェーズ

PoC発足フェーズ

課題

まず課題として挙がったのは、分析に使うデータの抽出や加工をデータサイエンティスト自身が行うことによる負担増加です。加えてデータサイエンティスト毎に個別で作業を行っているため、各処理の品質や生産性にばらつきがありました。

解決策

上記の課題は、データサイエンティスト⾃⾝があらゆる作業を実施していたことに起因します。そこでデータエンジニアチームを発足し、処理の作成やデータ管理者との調整を行うことで解決を図りました。具体的にはデータサイエンティストの要望を聞き、データ加工パイプラインの構築やデータの内容について管理者へのヒアリングを実施しました。

効果

結果、データの抽出や加工をデータサイエンティスト自身が実施する負担を減らすことで、分析作業のみに集中できる環境を作ることができました。また、各処理に関してガバナンスが効くようになり、品質のばらつきも改善しました。
このようにデータサイエンティストが本業であるデータ分析以外の作業に追われ、稼働が逼迫するという例は非常に多いです。データエンジニアは、分析環境の整備など「分析」以外の作業を巻き取ることが重要です。

図2:PoC発足フェーズにおける課題と対策

PoC本格化フェーズ

課題

データサイエンティストが分析に集中できる環境が整ったことで分析のスピードも向上しました。そこで課題となったのが、データサイエンティストとデータエンジニアのコミュニケーションミスによる手戻りの発生です。PoCが本格化し逐次要件変更が行われる中で、「データ仕様が誤って伝わってしまう」「口頭や独自フォーマットでの依頼による抜け漏れが発生する」などの連携ミスが発生するようになりました。

解決策

そこで、コミュニケーションの標準化を行うことで解決を試みました。具体的には要件をヒアリングするときはテーブル定義のひな形を渡し、それを埋めてもらうようにしました。データサイエンティストにテーブル定義を埋めてもらった後に、データエンジニアは実際のデータを使って加⼯後のデータの例を Excel で作成し、イメージとあっているか確認しました。

効果

標準化自体は低コストで実現可能ですが、大きな効果を発揮しデータエンジニアとデータサイエンティストのコミュニケーションロスの低減につながりました。これによって、データ加工要件を早く正確に整理し、データをスピーディーに連携することができるようになりました。
データサイエンティストの実験の速度は精度向上、ひいてはPoC成功につながるため、自由に試行錯誤できる環境作りが重要です。

図3:PoC本格化フェーズにおける課題と対策

商用化フェーズ

課題

PoCが成功し商用化のフェーズになると、データサイエンティストが分析以外の作業をすることによる負担が再び増加しました。具体的には、モデルのデプロイやエラー結果の調査です。また、商用環境に移行するとモデルの予測値に明らかな間違いがでるようになりました。

解決策

そこでMLOpsの仕組みを導入し、自動テストや自動リリースといった自動化を実現しました。また、異常値に対してアラートを上げる仕組みの導入や非機能観点のテストを実施しました。
[補足]本来、これらの仕組みの導入や対処についてはMLエンジニア(機械学習エンジニア)が担います。特に商用化など大規模なプロジェクトの際は役割を整理し、各々が適切な作業に集中できるように体制を整えることが望ましいです。

効果

結果、データサイエンティストの負担軽減や手動による人的ミスを減らすことができました。また、PoC時に考慮しきれていなかった、商用化に耐えうる品質の担保も実現することができました。データエンジニアは、プロジェクトの試行錯誤の段階では自由を提供し、商用化などの定期処理では高品質を提供することが重要です。

図4:商用化フェーズにおける課題と対策

まとめ

本稿では、データ分析案件を成功に導くために、データエンジニアが実践すべきコツとフェーズ毎の具体例をご紹介しました。一見するとデータエンジニアリングの範囲を超えていることでも、データサイエンティストを支えPoCの成功や商用化に至るためには重要な要素であると考えています。データエンジニアは現場で今起きている課題を捉えデータサイエンティストが「分析」に集中できる環境を整備しつつ、商用化を見据えた高品質な開発をすることが求められます。
NTTデータでは、今回ご紹介した内容以外にもデータエンジニアリングのノウハウを日々拡充し、お客さまのデータ分析プロジェクトに貢献していきます。

お問い合わせ