![[Presentation Material] I gave a presentation titled "Let's Have Snowflake's AI Analyze Data While Breaking Data Quality" #devio2026](https://devio2024-media.developers.io/image/upload/f_auto,q_auto,w_3840/v1790758605/user-gen-eyecatch/sidmcbh1yxyyvjoejhsj.png)
[Presentation Material] I gave a presentation titled "Let's Have Snowflake's AI Analyze Data While Breaking Data Quality" #devio2026
This page has been translated by machine translation. View original
This is Kawanago from the Data Business Division.
Recently, there was an event called DevelopersIO 2026 Osaka held at Classmethod Osaka.
It is an offline event where people discuss a wide range of IT technologies.
I gave a presentation there titled "Let Me Break Data Quality and Have Snowflake's AI Analyze It,"
so I would like to briefly introduce the content of my presentation here as well.
Why I Decided to Talk About This
This DevelopersIO Osaka event is held around September every year,
and proposals for presentation titles and content are solicited internally around July.
About a month before the call for presentations, I had given a talk on data management,
and I remembered receiving a comment saying "I'd like to hear more concrete discussions,"
so I thought I would talk about data quality from a more implementation-oriented perspective.
I also chose to tie it in with AI because I was personally interested in the topic.
Lately, data analysis using AI agents has been spreading rapidly,
and I was curious about how much data quality affects that.
So the content ended up covering the impact of data quality on AI-driven analysis,
while also trying out data quality practices in Snowflake, which I have been working with a lot recently.
The Impact of Data Quality on AI
The verification setup looks something like this.
On a typical medallion architecture, a Semantic View is created on the GOLD layer.
The configuration has Cortex Analyst generating SQL by referencing that View.

The target of analysis is an order table like this.

When I asked about August sales in a normal state, it answered 915,900 yen.

From this state, I broke the data quality in various patterns.
In the following pattern, the August data is simply duplicated.

When I asked the same question in this state, the amount came out to twice that of the normal state.

I also tested about two more error cases, and the results were similar.

Even if the SQL being executed is correct, the results will not hold up if the data quality itself is poor.
If AI generates incorrect results, there is a risk of giving users misleading insights.
However, since I intentionally selected these kinds of cases for this verification,
there were also cases where it properly noticed and pointed out the issues depending on the content.
Snowflake's Semantic View provides descriptions of tables, columns, and relationships,
but does not hold information about data quality, so a separate mechanism is needed to maintain data quality.

About Snowflake's Data Quality-Related Features
Snowflake has DMF (Data Metric Functions) as a feature for maintaining data quality.
It allows you to set functions that return data quality values for tables and columns,
and execution can be triggered on a schedule or when data changes are detected.
Additionally, by setting Expectations together,
you can create a mechanism to send notifications when values fall below a pre-configured threshold.

Many DMFs are available out of the box and easy to configure,
and the fact that they are natively integrated with Horizon Catalog is extremely convenient.

Also, although it is in preview, an anomaly detection feature has been implemented as well.
The sensitivity can be selected from three levels, so it seems capable of handling a reasonable range of use cases.
This is a feature I would definitely want to use in cases where it is difficult to determine normal thresholds in advance.

On How to Distinguish Use Cases from dbt
While putting together this material, there was something I kept thinking about.
That was: "Couldn't you just use dbt's test feature for this?"
In Snowflake development environments, dbt is often used as a data transformation tool,
and I think it is standard practice to have detailed tests for each model during implementation.
If you are using dbt, I believe basic data quality can be ensured through dbt's test feature.
Also, since dbt allows code-based management, it seems to have more advantages from an engineer's perspective.
However, I think the biggest advantage of using Snowflake's data quality features is
that they are natively integrated with Horizon Catalog.

With dbt core, test results are not displayed in a GUI anywhere,
so users who consume the data have no way of knowing the state of data quality.
Since DMF and anomaly detection results in Snowflake are displayed in the catalog,
you can expose the quality status to data consumers.
For organizations that have agreed on data quality targets with data consumers,
I think that point alone provides a reason to use it alongside dbt.
In Closing
AI-driven data analysis and utilization is extremely cutting-edge and impactful,
and I think many organizations are positive about pursuing it as a means of improving operational efficiency.
On the other hand, data quality management tends to be very unglamorous and tedious work,
and there are many cases where it has not kept pace with data utilization efforts.
Since data quality is the foundation and prerequisite for analysis,
regardless of the tools used, it is important to first build a framework for understanding the state of data quality.
DMF is very easy to configure, so please give it a try.
Thank you to everyone who participated in this event.
I hope the content of my presentation and this article are of some use to you.
Thank you for reading this article through to the end.
