
【登壇資料】「データ品質を壊しながらSnowflakeのAIに分析させてみた」というタイトルで登壇しました #devio2026
データ事業本部の川中子(かわなご)です。
先日クラスメソッド大阪にてDevelopersIO 2026 Osakaというイベントがありました。
幅広くIT技術について語らい合うオフラインイベントです。
その中で 「データ品質を壊しながらSnowflakeのAIに分析させてみた」 というタイトルで登壇したので、
発表した内容について、こちらでも簡単に紹介させていただきます。
なぜこの話をしようと思ったか
毎年このDevelopersIOの大阪開催は9月頃に実施されており、
登壇のタイトルや内容は7月頃に内部で募集がかけられます。
登壇内容の募集がかかる1ヶ月ほど前にデータマネジメント関連の登壇をしており、
そこで「より具体の話も聞きたい」とコメントをいただいていたのを思い出して、
データ品質のもう少し実装寄りの話をしようかなと思いました。
またAIと絡めた内容にしたのは、自分自身も興味があったからです。
最近はAIエージェントを利用したデータ分析もどんどん広まってきていて、
そこにデータ品質がどこまで影響があるのか気になってました。
なのでデータ品質がAIによる分析に与える影響について触れつつ、
最近触れることの多いSnowflakeでデータ品質をやってみようという内容になりました。
データ品質がAIに与える影響
検証は以下のような構成イメージです。
一般的なメダリオンアーキテクチャ上で、GOLD層にSemantic Viewを作っています。
そのViewを参照してCortex AnalystがSQLを生成しているような構成です。

こんな感じの注文テーブルを分析の対象としています。

正常な状態で8月の売上について質問してみると、915,900円と答えてくれました。

この状態から、色んなパターンでデータ品質を壊していきます。
以下のパターンでは8月のデータをそのまま重複させています。

この状態で先ほどと同じ質問をしてみると、正常な状態と比べて2倍の金額が出ました。

他にも2つほどエラーケースを検証してみましたが、結果は同じようなものでした。

実行しているSQLは正しくても、データ自体の品質が悪ければ結果は伴いません。
AIが誤った結果を生成してしまうと、ユーザーに誤った示唆を与えてしまうリスクがあります。
ただ今回の検証は意図的にこういったケースを選んでいるので、
内容によってはしっかり気付いて指摘してくれるケースもありました。
SnowflakeのSemantic Viewについては、テーブルやカラム、関係性の説明はありますが、
データ品質に関する情報は持っていないため、別の仕組みでデータ品質を守る必要があります。

Snowflakeのデータ品質関連の機能について
Snowflakeではデータ品質を守るための機能としてDMF(Data Metric Functions)があります。
テーブルやカラムに対して、データ品質観点の値を返す関数を設定できるもので、
スケジュールやデータ変更を検知したタイミングでの実行が可能です。
また併せてExpectations(期待値)を設定することで、
事前に設定した閾値を下回った場合などに通知をするような仕組みを作れます。

デフォルトですぐに使えるDMFが多く用意されており、設定自体も簡単で、
かつHorizon Catalogともネイティブに連携されている点が非常に便利です。

またプレビューではありますが、異常検出の機能も実装されています。
感度も3段階から選べるのである程度のユースケースには対応できそうです。
事前に正常な閾値を判断するのが難しいケースではぜひ使いたい機能ですね。

dbtとの使い分けについて
この資料をまとめているとき何度も思ったことがあります。
それは「これdbtのtest機能でよくない?」ということです。
Snowflakeの開発環境ではデータ変換ツールとしてdbtを使っているケースも多く、
実装するうえで各モデルに詳細なテストを持たせていることが基本だと思います。
dbtを使っている場合には、dbtのtest機能で基本的なデータ品質は担保されると思います。
またdbtであればコードで管理ができるので、エンジニア視点ではdbtの方がメリットが大きそうです。
ただSnowflakeのデータ品質機能を利用する一番のメリットは、
ネイティブにHorizon Catalogと連携されているという点だと思います。

dbt coreではtestの結果がGUIでどこかに表示されるわけではないので、
データを利用するユーザーからはデータの品質がどういった状態か分かりません。
SnowflakeのDMFや異常検出は結果がカタログ上に表示されるため、
データを利用するユーザーに品質の状態を公開できます。
データ利用者と、データ品質の目標値を合意しているような組織では、
上記の点だけでもdbtと併用するメリットがあるのではないかと思います。
さいごに
AIによるデータの分析・利用は非常に先進的でインパクトがあって、
業務効率化の策として取り組むことに前向きな組織は多いと思います。
反対にデータ品質の管理は非常に泥臭く、地味な作業になるため、
データの活用に追いついていないケースも多く見られます。
データの品質は分析の基礎であり前提になるものなので、
ツールは何であれ、まずはデータ品質の状態を把握する仕組みづくりが重要です。
DMFは非常に簡単に設定ができるものなので、ぜひ使ってみてください。
今回のイベントにご参加いただいた皆さま、ありがとうございました。
登壇の発表内容、また本記事が少しでも参考になれば幸いです。
本記事を最後まで閲覧いただき、ありがとうございました。







