Skip to main content
Data Quality Dimensions

Data Profiling: The First Step in Any Data Quality Project

Data profiling gives you an objective view of what's actually in your data before you try to fix it. Here's what profiling covers and how to do it efficiently.

Key Takeaways
  • Profiling is exploratory — it discovers problems you didn't know to look for
  • Six activities: structure, content, completeness, uniqueness, patterns/formats, relationships
  • pandas df.info(), df.describe(), df.nunique() give you 80% of what you need in seconds
  • Profiling reveals structural problems and distribution anomalies — it cannot reveal accuracy (requires external verification)
  • Use profiling to identify where to apply more expensive accuracy checks — not as a substitute for them

What Is Data Profiling?

Data profiling is the process of examining a dataset to understand its content, structure, and quality characteristics. It answers the question: "What is actually in this data?" before you make assumptions about what should be there.

Profiling is exploratory — it's how you discover the problems you didn't know to look for.

The Six Profiling Activities

1. Structure analysis How many rows and columns? What are the data types of each column? Are there any unexpected columns or missing expected columns?

2. Content analysis For each column: what are the values? What's the range (min, max)? What's the distribution? For text columns: what are the most common values? Any patterns?

3. Completeness measurement For each column: what % of values are non-null? What % are non-empty strings (a non-null empty string is effectively a missing value)? Is completeness consistent across the dataset or clustered in specific rows?

Sohovi profiles every column in your dataset for completeness and flags the exact rows where values are missing — free to try.

4. Uniqueness measurement For the primary key column: are there duplicates? For other key columns: how many distinct values? What % of the column is unique?

5. Pattern and format analysis For text columns: do values follow consistent patterns? Phone numbers — consistent format? Dates — consistent format? Email addresses — consistent format?

6. Relationship analysis For datasets with relationships: do foreign key values match primary key values in the related table? Are there orphaned records?

Profiling Tools

Python pandas:

  • df.info() — column types and null counts
  • df.describe() — statistics for numeric columns
  • df.nunique() — distinct counts per column
  • df.value_counts() — frequency distribution for a column

SQL:

  • SELECT COUNT(*), COUNT(column_name), COUNT(DISTINCT column_name) FROM table — completeness and uniqueness
  • SELECT MIN(column_name), MAX(column_name), AVG(column_name) — range analysis
  • SELECT column_name, COUNT() FROM table GROUP BY column_name ORDER BY COUNT() DESC — distribution

OpenRefine: GUI tool for profiling and cleaning, no coding required

Soda.io, Great Expectations, dbt tests: Framework-based profiling for automated, repeatable assessment

What Profiling Tells You (and Doesn't)

Profiling reveals: structural problems, completeness, uniqueness, format inconsistencies, and distribution anomalies.

Profiling cannot reveal: accuracy (whether values correctly represent reality). That requires external verification.

Start with profiling. Use it to identify where to apply more expensive accuracy checks.

Frequently Asked Questions

How long does profiling a large dataset take?

With Python or SQL, profiling 1 million rows takes seconds to minutes depending on the number of columns and complexity of analysis. The bottleneck is usually the analyst's time to interpret results, not the computation.

Should I profile data before or after cleaning it?

Profile before cleaning — profiling is how you decide what to clean. Profile again after cleaning to verify the improvements and catch any regressions introduced by the cleaning process.

What's the most important profiling metric to start with?

Null rates per column. This gives you an immediate completeness picture and usually surfaces the most impactful quality problems within the first 60 seconds of analysis.

Selva Santosh

Data quality, for people who ship

Selva writes practical guides on data quality, profiling, and governance to help teams ship better data.

Start for free

Stop guessing. Start knowing your data quality.

Sohovi profiles your datasets in minutes — surfacing completeness gaps, type mismatches, and duplicate patterns before they reach production.

No credit card required · Free forever plan