【登壇資料】「データ品質を壊しながらSnowflakeのAIに分析させてみた」というタイトルで登壇しました #devio2026

【登壇資料】「データ品質を壊しながらSnowflakeのAIに分析させてみた」というタイトルで登壇しました #devio2026

データ品質をぐちゃぐちゃにしながらSnowflakeのAIであるCortexに分析して様子を見てみました。AIは非常に頭が良くて正確なSQLを生成します。しかしデータ自体が悪くなっていれば、その結果に意味なんてないのです。データ品質、だいじ。
2026.09.30

データ事業本部の川中子(かわなご)です。

先日クラスメソッド大阪にてDevelopersIO 2026 Osakaというイベントがありました。
幅広くIT技術について語らい合うオフラインイベントです。

https://events.classmethod.jp/study-club/connpass-400604/

その中で 「データ品質を壊しながらSnowflakeのAIに分析させてみた」 というタイトルで登壇したので、
発表した内容について、こちらでも簡単に紹介させていただきます。

なぜこの話をしようと思ったか

毎年このDevelopersIOの大阪開催は9月頃に実施されており、
登壇のタイトルや内容は7月頃に内部で募集がかけられます。

登壇内容の募集がかかる1ヶ月ほど前にデータマネジメント関連の登壇をしており、
そこで「より具体の話も聞きたい」とコメントをいただいていたのを思い出して、
データ品質のもう少し実装寄りの話をしようかなと思いました。

https://dev.classmethod.jp/articles/data-quality-metadata-management-webinar/

またAIと絡めた内容にしたのは、自分自身も興味があったからです。

最近はAIエージェントを利用したデータ分析もどんどん広まってきていて、
そこにデータ品質がどこまで影響があるのか気になってました。

なのでデータ品質がAIによる分析に与える影響について触れつつ、
最近触れることの多いSnowflakeでデータ品質をやってみようという内容になりました。

データ品質がAIに与える影響

検証は以下のような構成イメージです。

一般的なメダリオンアーキテクチャ上で、GOLD層にSemantic Viewを作っています。
そのViewを参照してCortex AnalystがSQLを生成しているような構成です。

image_1

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

image_2

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

image_3

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

image_4

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

image_5

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

image_6

実行しているSQLは正しくても、データ自体の品質が悪ければ結果は伴いません。
AIが誤った結果を生成してしまうと、ユーザーに誤った示唆を与えてしまうリスクがあります。

ただ今回の検証は意図的にこういったケースを選んでいるので、
内容によってはしっかり気付いて指摘してくれるケースもありました。

SnowflakeのSemantic Viewについては、テーブルやカラム、関係性の説明はありますが、
データ品質に関する情報は持っていないため、別の仕組みでデータ品質を守る必要があります。

image_7

Snowflakeのデータ品質関連の機能について

Snowflakeではデータ品質を守るための機能としてDMF(Data Metric Functions)があります。

https://docs.snowflake.com/ja/user-guide/data-quality-intro

テーブルやカラムに対して、データ品質観点の値を返す関数を設定できるもので、
スケジュールやデータ変更を検知したタイミングでの実行が可能です。

また併せてExpectations(期待値)を設定することで、
事前に設定した閾値を下回った場合などに通知をするような仕組みを作れます。

image_8

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

image_9

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

image_10

dbtとの使い分けについて

この資料をまとめているとき何度も思ったことがあります。
それは「これdbtのtest機能でよくない?」ということです。

Snowflakeの開発環境ではデータ変換ツールとしてdbtを使っているケースも多く、
実装するうえで各モデルに詳細なテストを持たせていることが基本だと思います。

dbtを使っている場合には、dbtのtest機能で基本的なデータ品質は担保されると思います。
またdbtであればコードで管理ができるので、エンジニア視点ではdbtの方がメリットが大きそうです。

ただSnowflakeのデータ品質機能を利用する一番のメリットは、
ネイティブにHorizon Catalogと連携されているという点だと思います。

image_11

dbt coreではtestの結果がGUIでどこかに表示されるわけではないので、
データを利用するユーザーからはデータの品質がどういった状態か分かりません。

SnowflakeのDMFや異常検出は結果がカタログ上に表示されるため、
データを利用するユーザーに品質の状態を公開できます。

データ利用者と、データ品質の目標値を合意しているような組織では、
上記の点だけでもdbtと併用するメリットがあるのではないかと思います。

さいごに

AIによるデータの分析・利用は非常に先進的でインパクトがあって、
業務効率化の策として取り組むことに前向きな組織は多いと思います。

反対にデータ品質の管理は非常に泥臭く、地味な作業になるため、
データの活用に追いついていないケースも多く見られます。

データの品質は分析の基礎であり前提になるものなので、
ツールは何であれ、まずはデータ品質の状態を把握する仕組みづくりが重要です。
DMFは非常に簡単に設定ができるものなので、ぜひ使ってみてください。

今回のイベントにご参加いただいた皆さま、ありがとうございました。
登壇の発表内容、また本記事が少しでも参考になれば幸いです。

本記事を最後まで閲覧いただき、ありがとうございました。


Snowflakeの導入支援はクラスメソッドに!

クラスメソッドでは Snowflake の導入を支援しております。
製品の詳細や支援の内容についてお気軽にお問い合わせください。

Snowflakeの詳細を見る

この記事をシェアする

カジュアル面談受付中

関連記事