Skip to main content

Glossary

What is data profiling?

Last updated Monday, Aug 3, 2026

Data profiling is the process of examining a table's actual data to understand its shape: how many values are null, how many distinct values a column has, what the minimum and maximum look like, and what patterns show up in the data. It answers "what does this table actually contain" before you write a transform or a quality check against it.

What a profile typically includes

A profile usually reports, per column: null rate, count of distinct values (cardinality), a sample of the most common values, minimum and maximum for numeric or date columns, and an inferred data type based on the values seen rather than just the declared schema. Some profilers also detect patterns, flagging that a text column looks like it holds emails or phone numbers, which is a hint toward what kind of data it actually is.

Why it matters

A profile catches problems before they reach a dashboard: a column that's supposed to be required but is 40% null, a "boolean" column that actually has five distinct values, an ID column with duplicates where you expected uniqueness. It also informs what to build next: cardinality and null rates are exactly the inputs that shape which quality expectations are worth writing for a table.

How OptimaFlo profiles tables

OptimaFlo runs a DuckDB-powered profiler service that computes these statistics directly against a table: cardinality, null rates, value distributions, min and max, inferred data type, and pattern detection, with a configurable sample size so a profile can run against a subset of a large table instead of scanning it in full. It can profile a table at any layer, Raw, Clean, or Ready, not just at connect time when a source's schema is first inferred.

Related terms

  • Data quality monitoring: The ongoing checks a profile's findings often feed into, turning a one-time statistic into a standing expectation.
  • Data ingestion: The step that lands data in a table before profiling can examine it.

Frequently asked questions

OptimaFlo runs a DuckDB-powered profiler service that computes column statistics against a table: null rates, cardinality, value distributions, min and max, inferred types, and pattern detection. It can run against Raw, Clean, or Ready tables and takes a sample size as a parameter rather than always scanning the whole table.

No. Profiling describes what a table looks like right now: its statistics and shape. Data quality monitoring checks that data meets defined expectations, like a column never being null, and alerts when it doesn't. Profiling is often the step that tells you which expectations are worth writing.

Schema inference at connect time determines column names and types so ingestion can run. Profiling goes further: it runs after data has landed and reports statistics like null rates and value distributions, not just the type, and can be re-run any time a table's contents might have changed.

Browse every term or see the AI data team roles.

Staffed, not self-serve

See AI teammates work on your own data.

Now in early beta. One flat plan, no per-query tax. Runs in your cloud, and your tables stay in your account.